From abf34f1fc449f7fe08078ab493b2a3f45b21747f Mon Sep 17 00:00:00 2001 From: Maschga <88616799+Maschga@users.noreply.github.com> Date: Fri, 20 Jun 2025 17:33:52 +0200 Subject: [PATCH] chore: Typescript: Rewrite utils (#21660) Co-authored-by: Michael Geers --- .../Battery/BatterySettingsModal.vue | 6 +-- .../components/ChargingPlans/ChargingPlan.vue | 2 +- .../ChargingPlans/PlanStaticSettings.vue | 6 +-- .../ChargingPlans/Preview.stories.ts | 12 +++--- .../js/components/ChargingPlans/Preview.vue | 7 ++-- .../js/components/Energyflow/Energyflow.vue | 13 +++++-- .../GlobalSettings/UserInterfaceSettings.vue | 6 +-- assets/js/components/Loadpoints/Loadpoint.vue | 13 +++++-- .../js/components/Loadpoints/Loadpoints.vue | 4 +- .../components/Loadpoints/SettingsModal.vue | 6 +-- assets/js/components/Site/Site.vue | 5 ++- .../js/components/Tariff/SmartCostLimit.vue | 16 +++++--- .../components/Vehicles/LimitEnergySelect.vue | 10 ++--- assets/js/components/Vehicles/Status.vue | 7 ++-- assets/js/components/Vehicles/Vehicle.vue | 6 +-- assets/js/types/evcc.ts | 19 +++++++++ assets/js/units.js | 39 ------------------- assets/js/units.ts | 32 +++++++++++++++ .../js/utils/{deepEqual.js => deepEqual.ts} | 2 +- .../{energyOptions.js => energyOptions.ts} | 24 +++++++++--- assets/js/utils/{fatal.js => fatal.ts} | 8 ++-- assets/js/utils/{native.js => native.ts} | 4 +- assets/js/utils/smartCostAvailable.js | 5 --- assets/js/utils/smartCostAvailable.ts | 5 +++ package-lock.json | 6 +-- package.json | 2 +- 26 files changed, 154 insertions(+), 111 deletions(-) delete mode 100644 assets/js/units.js create mode 100644 assets/js/units.ts rename assets/js/utils/{deepEqual.js => deepEqual.ts} (50%) rename assets/js/utils/{energyOptions.js => energyOptions.ts} (62%) rename assets/js/utils/{fatal.js => fatal.ts} (59%) rename assets/js/utils/{native.js => native.ts} (74%) delete mode 100644 assets/js/utils/smartCostAvailable.js create mode 100644 assets/js/utils/smartCostAvailable.ts diff --git a/assets/js/components/Battery/BatterySettingsModal.vue b/assets/js/components/Battery/BatterySettingsModal.vue index 5eb510ae6..76bac76e3 100644 --- a/assets/js/components/Battery/BatterySettingsModal.vue +++ b/assets/js/components/Battery/BatterySettingsModal.vue @@ -258,11 +258,11 @@ import SmartCostLimit from "../Tariff/SmartCostLimit.vue"; import CustomSelect from "../Helper/CustomSelect.vue"; import GenericModal from "../Helper/GenericModal.vue"; import formatter, { POWER_UNIT } from "@/mixins/formatter"; -import collector from "@/mixins/collector"; +import collector from "@/mixins/collector.js"; import api from "@/api"; import smartCostAvailable from "@/utils/smartCostAvailable"; import { defineComponent, type PropType } from "vue"; -import type { Battery, SelectOption } from "@/types/evcc"; +import type { Battery, SelectOption, SMART_COST_TYPE } from "@/types/evcc"; export default defineComponent({ name: "BatterySettingsModal", @@ -276,7 +276,7 @@ export default defineComponent({ batteryDischargeControl: Boolean, battery: { type: Array as PropType, default: () => [] }, batteryGridChargeLimit: { type: Number, default: null }, - smartCostType: String, + smartCostType: String as PropType, tariffGrid: Number, currency: String, }, diff --git a/assets/js/components/ChargingPlans/ChargingPlan.vue b/assets/js/components/ChargingPlans/ChargingPlan.vue index b66c70dec..6d3e6ff91 100644 --- a/assets/js/components/ChargingPlans/ChargingPlan.vue +++ b/assets/js/components/ChargingPlans/ChargingPlan.vue @@ -111,7 +111,7 @@ import Arrival from "./Arrival.vue"; import formatter from "@/mixins/formatter"; import collector from "@/mixins/collector"; import api from "@/api"; -import { optionStep, fmtEnergy } from "@/utils/energyOptions"; +import { optionStep, fmtEnergy } from "@/utils/energyOptions.ts"; import { defineComponent, type PropType } from "vue"; import type { CURRENCY, Timeout, Vehicle } from "@/types/evcc"; import type { StaticPlan, StaticSocPlan, StaticEnergyPlan, RepeatingPlan } from "./types"; diff --git a/assets/js/components/ChargingPlans/PlanStaticSettings.vue b/assets/js/components/ChargingPlans/PlanStaticSettings.vue index 23d7f2448..0598bfbfb 100644 --- a/assets/js/components/ChargingPlans/PlanStaticSettings.vue +++ b/assets/js/components/ChargingPlans/PlanStaticSettings.vue @@ -182,7 +182,7 @@ import "@h2d2/shopicons/es/regular/checkmark"; import { distanceUnit } from "@/units"; import formatter from "@/mixins/formatter"; -import { energyOptions } from "@/utils/energyOptions"; +import { energyOptions } from "@/utils/energyOptions.ts"; import { defineComponent } from "vue"; import PreconditionSelect from "./PreconditionSelect.vue"; @@ -233,10 +233,10 @@ export default defineComponent({ const options = energyOptions( 0, this.capacity || 100, - this.socPerKwh, this.fmtWh, this.fmtPercentage, - "-" + "-", + this.socPerKwh ); // remove the first entry (0) return options.slice(1); diff --git a/assets/js/components/ChargingPlans/Preview.stories.ts b/assets/js/components/ChargingPlans/Preview.stories.ts index 07c8cddab..3bc47a2c5 100644 --- a/assets/js/components/ChargingPlans/Preview.stories.ts +++ b/assets/js/components/ChargingPlans/Preview.stories.ts @@ -1,4 +1,4 @@ -import { CURRENCY, type Rate } from "@/types/evcc"; +import { CURRENCY, SMART_COST_TYPE, type Rate } from "@/types/evcc"; import Preview from "./Preview.vue"; import type { StoryFn } from "@storybook/vue3"; @@ -32,7 +32,7 @@ const co2Data = { ].map((value, i) => createRate(value, i)), duration: 8695, plan: [createRate(213, 4), createRate(336, 11), createRate(336, 12)], - smartCostType: "co2", + smartCostType: SMART_COST_TYPE.CO2, targetTime: createDate(14), }; @@ -40,7 +40,7 @@ const fixedData = { rates: [createRate(0.442, 0, 50)], duration: 8695, plan: [createRate(0.442, 12, 3)], - smartCostType: "price", + smartCostType: SMART_COST_TYPE.PRICE_DYNAMIC, currency: CURRENCY.EUR, targetTime: createDate(14), }; @@ -55,7 +55,7 @@ const zonedData = { ], duration: 8695, plan: [createRate(2.39, 13, 3)], - smartCostType: "price", + smartCostType: SMART_COST_TYPE.PRICE_FORECAST, currency: CURRENCY.DKK, targetTime: createDate(17), }; @@ -64,7 +64,7 @@ const unknownData = { rates: co2Data.rates.slice(0, 16), duration: 8695, plan: [createRate(213, 4), createRate(336, 11), createRate(336, 12)], - smartCostType: "co2", + smartCostType: SMART_COST_TYPE.CO2, targetTime: createDate(14), }; @@ -74,7 +74,7 @@ const dynamicData = { ), duration: 8695, plan: [createRate(0.23, 2, 5)], - smartCostType: "price", + smartCostType: SMART_COST_TYPE.PRICE_DYNAMIC, currency: CURRENCY.EUR, targetTime: createDate(13), }; diff --git a/assets/js/components/ChargingPlans/Preview.vue b/assets/js/components/ChargingPlans/Preview.vue index e954211e5..8dcb4c470 100644 --- a/assets/js/components/ChargingPlans/Preview.vue +++ b/assets/js/components/ChargingPlans/Preview.vue @@ -37,9 +37,8 @@