From 914ac751670908f140da39f81d5ea7f14774c2ec Mon Sep 17 00:00:00 2001 From: Michael Geers Date: Sun, 25 May 2025 23:08:35 +0200 Subject: [PATCH] Config UI: add user-defined devices (#20966) Co-authored-by: andig Co-authored-by: andig --- assets/js/components/Config/ChargerModal.vue | 427 +++++++------- .../components/Config/DeviceModal/Actions.vue | 69 +++ .../Config/{ => DeviceModal}/Modbus.vue | 13 +- .../SponsorTokenRequired.vue | 0 .../Config/DeviceModal/TemplateSelector.vue | 92 +++ .../Config/DeviceModal/YamlEntry.vue | 57 ++ .../js/components/Config/DeviceModal/index.ts | 126 ++++ .../js/components/Config/LoadpointModal.vue | 5 +- assets/js/components/Config/MeterModal.vue | 405 +++++++------ assets/js/components/Config/PropertyField.vue | 4 +- assets/js/components/Config/TestResult.vue | 31 +- assets/js/components/Config/VehicleModal.vue | 551 +++++++++--------- assets/js/components/Config/YamlEditor.vue | 5 + .../components/Config/YamlEditorContainer.vue | 66 +++ assets/js/components/Config/YamlModal.vue | 29 +- .../Config/defaultYaml/charger.yaml | 77 +++ .../components/Config/defaultYaml/meter.yaml | 50 ++ .../Config/defaultYaml/vehicle.yaml | 42 ++ assets/js/components/Config/utils/test.ts | 55 ++ assets/js/types/evcc.ts | 2 + assets/js/views/Config.vue | 1 - cmd/helper.go | 12 + cmd/setup.go | 65 ++- i18n/de.json | 11 + i18n/en.json | 11 + plugin/config.go | 5 + server/db/settings/setting.go | 4 +- server/http_config_device_handler.go | 36 +- server/http_config_helper.go | 49 +- server/http_global_settings_handler.go | 3 +- templates/definition/charger/tessie.yaml | 1 - templates/definition/vehicle/offline.yaml | 7 +- tests/config-aux.spec.js | 182 +++++- tests/config-loadpoint.spec.js | 78 ++- tests/config-tariffs.spec.js | 41 +- tests/config-vehicles.spec.js | 106 +++- tests/utils.js | 19 - tests/utils.ts | 40 ++ 38 files changed, 1920 insertions(+), 857 deletions(-) create mode 100644 assets/js/components/Config/DeviceModal/Actions.vue rename assets/js/components/Config/{ => DeviceModal}/Modbus.vue (95%) rename assets/js/components/Config/{ => DeviceModal}/SponsorTokenRequired.vue (100%) create mode 100644 assets/js/components/Config/DeviceModal/TemplateSelector.vue create mode 100644 assets/js/components/Config/DeviceModal/YamlEntry.vue create mode 100644 assets/js/components/Config/DeviceModal/index.ts create mode 100644 assets/js/components/Config/YamlEditorContainer.vue create mode 100644 assets/js/components/Config/defaultYaml/charger.yaml create mode 100644 assets/js/components/Config/defaultYaml/meter.yaml create mode 100644 assets/js/components/Config/defaultYaml/vehicle.yaml create mode 100644 assets/js/components/Config/utils/test.ts delete mode 100644 tests/utils.js create mode 100644 tests/utils.ts diff --git a/assets/js/components/Config/ChargerModal.vue b/assets/js/components/Config/ChargerModal.vue index 128d4392c..31ab948d0 100644 --- a/assets/js/components/Config/ChargerModal.vue +++ b/assets/js/components/Config/ChargerModal.vue @@ -5,195 +5,155 @@ :title="modalTitle" data-testid="charger-modal" :fade="fade" + :size="modalSize" @open="open" @close="close" >
- - - + + + + - -

{{ $t("config.general.templateLoading") }}

- - - - - - - + + + + - - - - - - -
- - - -
- diff --git a/assets/js/components/Config/YamlModal.vue b/assets/js/components/Config/YamlModal.vue index e728a95c9..8f7c5172c 100644 --- a/assets/js/components/Config/YamlModal.vue +++ b/assets/js/components/Config/YamlModal.vue @@ -1,5 +1,5 @@