From 45742d731d5d55a8ebe64cdbc614feea6ebe084e Mon Sep 17 00:00:00 2001 From: Jan Date: Wed, 3 Sep 2025 15:59:02 +0200 Subject: [PATCH] FRONTEND/BACKEND: Refactor destination editing and input components; add `startCalculation` method to `PremiseEditStore`, implement `Properties` and `BulkUpload` components, introduce case-insensitive deserialization for `DimensionUnit` and `WeightUnit`, improve UI handling and modularity across input fields, and revise DTO and repository logic for improved state handling and validation. --- src/frontend/src/components/UI/Dropdown.vue | 25 +- src/frontend/src/components/UI/InputField.vue | 6 +- .../src/components/UI/ToogleSwitch.vue | 125 +++++++ .../layout/bulkedit/BulkEditRow.vue | 19 +- .../components/layout/config/BulkUpload.vue | 15 + .../layout/config/CountryProperties.vue | 20 ++ .../components/layout/config/Properties.vue | 151 +++++++++ .../src/components/layout/config/Property.vue | 317 ++++++++++++++++++ .../layout/config/StagedChanges.vue | 110 ++++++ .../components/layout/edit/MaterialEdit.vue | 25 +- .../components/layout/edit/PackagingEdit.vue | 14 +- .../src/components/layout/edit/PriceEdit.vue | 8 +- .../components/layout/edit/SupplierView.vue | 9 +- .../edit/destination/DestinationEdit.vue | 2 + .../DestinationEditHandlingCost.vue | 10 +- .../destination/DestinationEditRoutes.vue | 9 +- .../layout/material/SelectMaterial.vue | 2 +- .../components/layout/node/CreateNewNode.vue | 8 +- .../src/components/layout/node/SelectNode.vue | 30 +- .../src/pages/CalculationMassEdit.vue | 96 +++--- .../src/pages/CalculationSingleEdit.vue | 12 +- src/frontend/src/pages/Config.vue | 71 +++- src/frontend/src/router.js | 1 + src/frontend/src/store/country.js | 157 +++++++++ src/frontend/src/store/premiseEdit.js | 23 +- src/frontend/src/store/properties.js | 162 +++++++++ src/frontend/src/store/propertySets.js | 150 +++++++++ src/frontend/src/store/stage.js | 122 +++++++ .../configuration/PropertyController.java | 8 +- .../destination/DestinationUpdateDTO.java | 2 +- .../properties/SetPropertyDTO.java | 14 + .../avatic/lcc/model/utils/DimensionUnit.java | 21 ++ .../de/avatic/lcc/model/utils/WeightUnit.java | 20 ++ .../properties/PropertyRepository.java | 56 +++- .../properties/PropertySetRepository.java | 6 + .../lcc/service/access/PropertyService.java | 7 +- .../access/PropertyValidationService.java | 14 +- .../CalculationExecutionService.java | 2 +- .../execution/CalculationStatusService.java | 2 +- .../generic/DimensionTransformer.java | 94 +++--- .../premise/PremiseTransformer.java | 7 +- 41 files changed, 1775 insertions(+), 177 deletions(-) create mode 100644 src/frontend/src/components/UI/ToogleSwitch.vue create mode 100644 src/frontend/src/components/layout/config/BulkUpload.vue create mode 100644 src/frontend/src/components/layout/config/CountryProperties.vue create mode 100644 src/frontend/src/components/layout/config/Properties.vue create mode 100644 src/frontend/src/components/layout/config/Property.vue create mode 100644 src/frontend/src/components/layout/config/StagedChanges.vue create mode 100644 src/frontend/src/store/country.js create mode 100644 src/frontend/src/store/properties.js create mode 100644 src/frontend/src/store/propertySets.js create mode 100644 src/frontend/src/store/stage.js create mode 100644 src/main/java/de/avatic/lcc/dto/configuration/properties/SetPropertyDTO.java diff --git a/src/frontend/src/components/UI/Dropdown.vue b/src/frontend/src/components/UI/Dropdown.vue index 71d4e60..7d3d777 100644 --- a/src/frontend/src/components/UI/Dropdown.vue +++ b/src/frontend/src/components/UI/Dropdown.vue @@ -3,9 +3,10 @@