@gridsuite/commons-ui 0.283.0 → 0.285.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/components/ui/reactHookForm/utils/HelperPreviousValue.js +1 -1
- package/dist/features/index.js +51 -7
- package/dist/features/network-modification-table/index.js +3 -1
- package/dist/features/network-modification-table/network-modifications-table.d.ts +3 -5
- package/dist/features/network-modification-table/network-modifications-table.js +13 -7
- package/dist/features/network-modification-table/renderers/cell-renderers.js +3 -3
- package/dist/features/network-modification-table/renderers/name-cell.js +5 -2
- package/dist/features/network-modification-table/renderers/root-network-chip-cell.d.ts +3 -3
- package/dist/features/network-modification-table/renderers/root-network-chip-cell.js +24 -49
- package/dist/features/network-modification-table/row/drag-row-clone.js +5 -1
- package/dist/features/network-modification-table/utils.d.ts +12 -1
- package/dist/features/network-modification-table/utils.js +29 -0
- package/dist/features/network-modifications/battery/modification/BatteryDialogTabsContent.d.ts +2 -2
- package/dist/features/network-modifications/common/index.js +2 -5
- package/dist/features/network-modifications/common/measurements/PowerMeasurementsForm.js +3 -9
- package/dist/features/network-modifications/common/measurements/branchActiveReactivePowerForm.utils.d.ts +4 -17
- package/dist/features/network-modifications/common/measurements/branchActiveReactivePowerForm.utils.js +0 -8
- package/dist/features/network-modifications/common/measurements/index.js +1 -2
- package/dist/features/network-modifications/common/measurements/injectionActiveReactivePowerForm.utils.d.ts +6 -9
- package/dist/features/network-modifications/common/measurements/measurement.type.d.ts +7 -1
- package/dist/features/network-modifications/common/measurements/powerWithValidity.utils.d.ts +3 -3
- package/dist/features/network-modifications/common/reactiveLimits/index.js +1 -3
- package/dist/features/network-modifications/common/reactiveLimits/reactiveCapabilityCurve/index.js +1 -3
- package/dist/features/network-modifications/common/reactiveLimits/reactiveCapabilityCurve/reactiveCapability.utils.d.ts +0 -4
- package/dist/features/network-modifications/common/reactiveLimits/reactiveCapabilityCurve/reactiveCapability.utils.js +0 -8
- package/dist/features/network-modifications/common/reactiveLimits/reactiveLimits.type.d.ts +1 -0
- package/dist/features/network-modifications/generator/modification/GeneratorDialogTabsContent.d.ts +2 -2
- package/dist/features/network-modifications/hvdcLine/index.d.ts +7 -0
- package/dist/features/network-modifications/hvdcLine/index.js +47 -0
- package/dist/features/network-modifications/hvdcLine/vsc/common/characteristics/VscHvdcLineCharacteristicsPane.d.ts +8 -0
- package/dist/features/network-modifications/hvdcLine/vsc/common/characteristics/VscHvdcLineCharacteristicsPane.js +235 -0
- package/dist/features/network-modifications/hvdcLine/vsc/common/characteristics/index.d.ts +8 -0
- package/dist/features/network-modifications/hvdcLine/vsc/common/characteristics/index.js +11 -0
- package/dist/features/network-modifications/hvdcLine/vsc/common/characteristics/vscHvdcLineCharacteristicsPane.utils.d.ts +67 -0
- package/dist/features/network-modifications/hvdcLine/vsc/common/characteristics/vscHvdcLineCharacteristicsPane.utils.js +106 -0
- package/dist/features/network-modifications/hvdcLine/vsc/common/converterStation/VscConverterStationPane.d.ts +12 -0
- package/dist/features/network-modifications/hvdcLine/vsc/common/converterStation/VscConverterStationPane.js +198 -0
- package/dist/features/network-modifications/hvdcLine/vsc/common/converterStation/index.d.ts +8 -0
- package/dist/features/network-modifications/hvdcLine/vsc/common/converterStation/index.js +13 -0
- package/dist/features/network-modifications/hvdcLine/vsc/common/converterStation/vscConverterStationPane.utils.d.ts +156 -0
- package/dist/features/network-modifications/hvdcLine/vsc/common/converterStation/vscConverterStationPane.utils.js +199 -0
- package/dist/features/network-modifications/hvdcLine/vsc/common/form/VscHvdcLineDialogHeader.d.ts +6 -0
- package/dist/features/network-modifications/hvdcLine/vsc/common/form/VscHvdcLineDialogHeader.js +106 -0
- package/dist/features/network-modifications/hvdcLine/vsc/common/form/VscHvdcLineDialogTabs.d.ts +9 -0
- package/dist/features/network-modifications/hvdcLine/vsc/common/form/VscHvdcLineDialogTabs.js +129 -0
- package/dist/features/network-modifications/hvdcLine/vsc/common/form/VscHvdcLineDialogTabsContent.d.ts +10 -0
- package/dist/features/network-modifications/hvdcLine/vsc/common/form/VscHvdcLineDialogTabsContent.js +139 -0
- package/dist/features/network-modifications/hvdcLine/vsc/common/form/VscHvdcLineForm.d.ts +11 -0
- package/dist/features/network-modifications/hvdcLine/vsc/common/form/VscHvdcLineForm.js +43 -0
- package/dist/features/network-modifications/hvdcLine/vsc/common/form/index.d.ts +11 -0
- package/dist/features/network-modifications/hvdcLine/vsc/common/form/index.js +13 -0
- package/dist/features/network-modifications/hvdcLine/vsc/common/form/vscHvdcLine.utils.d.ts +8 -0
- package/dist/features/network-modifications/hvdcLine/vsc/common/form/vscHvdcLine.utils.js +34 -0
- package/dist/features/network-modifications/hvdcLine/vsc/common/index.d.ts +10 -0
- package/dist/features/network-modifications/hvdcLine/vsc/common/index.js +36 -0
- package/dist/features/network-modifications/hvdcLine/vsc/common/vscHvdcLine.types.d.ts +52 -0
- package/dist/features/network-modifications/hvdcLine/vsc/common/vscHvdcLine.types.js +25 -0
- package/dist/features/network-modifications/hvdcLine/vsc/creation/index.d.ts +8 -0
- package/dist/features/network-modifications/hvdcLine/vsc/creation/index.js +7 -0
- package/dist/features/network-modifications/hvdcLine/vsc/creation/vscHvdcLineCreation.types.d.ts +45 -0
- package/dist/features/network-modifications/hvdcLine/vsc/creation/vscHvdcLineCreation.types.js +1 -0
- package/dist/features/network-modifications/hvdcLine/vsc/creation/vscHvdcLineCreation.utils.d.ts +159 -0
- package/dist/features/network-modifications/hvdcLine/vsc/creation/vscHvdcLineCreation.utils.js +88 -0
- package/dist/features/network-modifications/hvdcLine/vsc/index.d.ts +9 -0
- package/dist/features/network-modifications/hvdcLine/vsc/index.js +47 -0
- package/dist/features/network-modifications/hvdcLine/vsc/modification/index.d.ts +8 -0
- package/dist/features/network-modifications/hvdcLine/vsc/modification/index.js +8 -0
- package/dist/features/network-modifications/hvdcLine/vsc/modification/vscHvdcLineModification.types.d.ts +49 -0
- package/dist/features/network-modifications/hvdcLine/vsc/modification/vscHvdcLineModification.types.js +1 -0
- package/dist/features/network-modifications/hvdcLine/vsc/modification/vscHvdcLineModification.utils.d.ts +230 -0
- package/dist/features/network-modifications/hvdcLine/vsc/modification/vscHvdcLineModification.utils.js +145 -0
- package/dist/features/network-modifications/index.d.ts +1 -0
- package/dist/features/network-modifications/index.js +48 -6
- package/dist/features/network-modifications/static-var-compensator/common/static-var-compensator-dialog-tabs.js +3 -3
- package/dist/features/topBar/UserInformationDialog.js +15 -15
- package/dist/hooks/useModificationLabelComputer.js +7 -5
- package/dist/index.js +51 -7
- package/dist/services/networkModification.d.ts +1 -1
- package/dist/services/networkModification.js +2 -2
- package/dist/translations/en/networkModificationsEn.d.ts +23 -4
- package/dist/translations/en/networkModificationsEn.js +23 -4
- package/dist/translations/en/topBarEn.d.ts +13 -13
- package/dist/translations/en/topBarEn.js +13 -13
- package/dist/translations/fr/networkModificationsFr.d.ts +23 -4
- package/dist/translations/fr/networkModificationsFr.js +23 -4
- package/dist/translations/fr/topBarFr.d.ts +13 -13
- package/dist/translations/fr/topBarFr.js +13 -13
- package/dist/utils/constants/fieldConstants.d.ts +15 -0
- package/dist/utils/constants/fieldConstants.js +15 -0
- package/dist/utils/types/network-modification-metadata.d.ts +1 -0
- package/dist/utils/types/network-modification-types.d.ts +5 -4
- package/package.json +1 -1
|
@@ -13,7 +13,7 @@ function HelperPreviousValue({
|
|
|
13
13
|
if (!previousValue && previousValue !== 0 || Number.isNaN(previousValue) || previousValue === "NaN") {
|
|
14
14
|
return void 0;
|
|
15
15
|
}
|
|
16
|
-
return /* @__PURE__ */ jsx(FormHelperText, { error: false, sx: { marginLeft: 0 }, children: !disabledTooltip ? /* @__PURE__ */ jsxs(Stack, { direction: "row", spacing: 1, sx: { alignItems: "center" }, children: [
|
|
16
|
+
return /* @__PURE__ */ jsx(FormHelperText, { component: "div", error: false, sx: { marginLeft: 0 }, children: !disabledTooltip ? /* @__PURE__ */ jsxs(Stack, { direction: "row", spacing: 1, sx: { alignItems: "center" }, children: [
|
|
17
17
|
/* @__PURE__ */ jsx(
|
|
18
18
|
CustomTooltip,
|
|
19
19
|
{
|
package/dist/features/index.js
CHANGED
|
@@ -79,7 +79,7 @@ import { PropertyForm } from "./network-modifications/common/properties/Property
|
|
|
79
79
|
import { copyEquipmentPropertiesForCreation, createPropertyModification, creationPropertiesSchema, emptyProperties, fetchPredefinedProperties, getConcatenatedProperties, getFilledPropertiesFromModification, getPropertiesFromModification, getPropertyValue, initializedProperty, mergeModificationAndEquipmentProperties, modificationPropertiesSchema, toModificationProperties } from "./network-modifications/common/properties/propertyUtils.js";
|
|
80
80
|
import { getPowerWithValidityEditData, getPowerWithValidityEmptyFormData, getPowerWithValidityValidationSchema } from "./network-modifications/common/measurements/powerWithValidity.utils.js";
|
|
81
81
|
import { getInjectionActiveReactivePowerEditDataProperties, getInjectionActiveReactivePowerEmptyFormData, getInjectionActiveReactivePowerEmptyFormDataProperties, getInjectionActiveReactivePowerValidationSchema, getInjectionActiveReactivePowerValidationSchemaProperties } from "./network-modifications/common/measurements/injectionActiveReactivePowerForm.utils.js";
|
|
82
|
-
import {
|
|
82
|
+
import { getBranchActiveReactivePowerEditDataProperties, getBranchActiveReactivePowerEmptyFormData, getBranchActiveReactivePowerEmptyFormDataProperties, getBranchActiveReactivePowerValidationSchema, getBranchActiveReactivePowerValidationSchemaObject, getBranchActiveReactivePowerValidationSchemaProperties } from "./network-modifications/common/measurements/branchActiveReactivePowerForm.utils.js";
|
|
83
83
|
import { PowerWithValidityForm } from "./network-modifications/common/measurements/PowerWithValidityForm.js";
|
|
84
84
|
import { PowerMeasurementsForm } from "./network-modifications/common/measurements/PowerMeasurementsForm.js";
|
|
85
85
|
import { BranchActiveReactivePowerMeasurementsForm } from "./network-modifications/common/measurements/BranchActiveReactivePowerMeasurementsForm.js";
|
|
@@ -94,7 +94,7 @@ import { getActivePowerControlEmptyFormData, getActivePowerControlSchema } from
|
|
|
94
94
|
import { ActivePowerControlForm } from "./network-modifications/common/activePowerControl/ActivePowerControlForm.js";
|
|
95
95
|
import { getShortCircuitEmptyFormData, getShortCircuitFormData, getShortCircuitFormSchema } from "./network-modifications/common/shortCircuit/shortCircuitForm.utils.js";
|
|
96
96
|
import { ShortCircuitForm } from "./network-modifications/common/shortCircuit/ShortCircuitForm.js";
|
|
97
|
-
import { INSERT, REMOVE, getReactiveCapabilityCurveValidationSchema, getReactiveCapabilityCurveValidationSchemaArray, getRowEmptyFormData,
|
|
97
|
+
import { INSERT, REMOVE, getReactiveCapabilityCurveValidationSchema, getReactiveCapabilityCurveValidationSchemaArray, getRowEmptyFormData, toReactiveCapabilityCurveChoiceForGeneratorCreation, toReactiveCapabilityCurveChoiceForGeneratorModification } from "./network-modifications/common/reactiveLimits/reactiveCapabilityCurve/reactiveCapability.utils.js";
|
|
98
98
|
import { ReactiveCapabilityCurveRowForm } from "./network-modifications/common/reactiveLimits/reactiveCapabilityCurve/ReactiveCapabilityCurveRowForm.js";
|
|
99
99
|
import { ReactiveCapabilityCurveTableForm } from "./network-modifications/common/reactiveLimits/reactiveCapabilityCurve/ReactiveCapabilityCurveTableForm.js";
|
|
100
100
|
import { REACTIVE_LIMIT_TYPES, getReactiveLimitsEmptyFormData, getReactiveLimitsEmptyFormDataProps, getReactiveLimitsFormData, getReactiveLimitsFormDataProps, getReactiveLimitsSchema, getReactiveLimitsValidationSchema } from "./network-modifications/common/reactiveLimits/reactiveLimits.utils.js";
|
|
@@ -217,6 +217,18 @@ import { ShuntCompensatorCreationForm } from "./network-modifications/shunt-comp
|
|
|
217
217
|
import { shuntCompensatorCreationDtoToForm, shuntCompensatorCreationEmptyFormData, shuntCompensatorCreationFormSchema, shuntCompensatorCreationFormToDto } from "./network-modifications/shunt-compensator/creation/shuntCompensatorCreation.utils.js";
|
|
218
218
|
import { ShuntCompensatorModificationForm } from "./network-modifications/shunt-compensator/modification/ShuntCompensatorModificationForm.js";
|
|
219
219
|
import { shuntCompensatorModificationDtoToForm, shuntCompensatorModificationEmptyFormData, shuntCompensatorModificationFormSchema, shuntCompensatorModificationFormToDto } from "./network-modifications/shunt-compensator/modification/shuntCompensatorModification.utils.js";
|
|
220
|
+
import { getVscHvdcLineCharacteristicsCreationDtoToForm, getVscHvdcLineCharacteristicsCreationSchema, getVscHvdcLineCharacteristicsEmptyFormData, getVscHvdcLineCharacteristicsFromCopy, getVscHvdcLineCharacteristicsModificationDtoToForm, getVscHvdcLineCharacteristicsModificationSchema } from "./network-modifications/hvdcLine/vsc/common/characteristics/vscHvdcLineCharacteristicsPane.utils.js";
|
|
221
|
+
import { VscHvdcLineCharacteristicsPane } from "./network-modifications/hvdcLine/vsc/common/characteristics/VscHvdcLineCharacteristicsPane.js";
|
|
222
|
+
import { converterStationCreationDtoToForm, converterStationCreationFormToDto, converterStationCreationFromCopy, converterStationModificationDtoToForm, converterStationModificationFormToDto, getVscConverterStationCreationSchema, getVscConverterStationEmptyFormData, getVscConverterStationModificationSchema } from "./network-modifications/hvdcLine/vsc/common/converterStation/vscConverterStationPane.utils.js";
|
|
223
|
+
import { VscConverterStationPane } from "./network-modifications/hvdcLine/vsc/common/converterStation/VscConverterStationPane.js";
|
|
224
|
+
import { HVDC_LINE_TAB_FIELDS, VscHvdcLineDialogTab } from "./network-modifications/hvdcLine/vsc/common/form/vscHvdcLine.utils.js";
|
|
225
|
+
import { VscHvdcLineDialogTabs } from "./network-modifications/hvdcLine/vsc/common/form/VscHvdcLineDialogTabs.js";
|
|
226
|
+
import { VscHvdcLineDialogTabsContent } from "./network-modifications/hvdcLine/vsc/common/form/VscHvdcLineDialogTabsContent.js";
|
|
227
|
+
import { VscHvdcLineDialogHeader } from "./network-modifications/hvdcLine/vsc/common/form/VscHvdcLineDialogHeader.js";
|
|
228
|
+
import { VscHvdcLineForm } from "./network-modifications/hvdcLine/vsc/common/form/VscHvdcLineForm.js";
|
|
229
|
+
import { VSC_CONVERTER_MODE, VscConverterMode } from "./network-modifications/hvdcLine/vsc/common/vscHvdcLine.types.js";
|
|
230
|
+
import { vscHvdcLineCreationDtoToForm, vscHvdcLineCreationEmptyFormData, vscHvdcLineCreationFormSchema, vscHvdcLineCreationFormToDto } from "./network-modifications/hvdcLine/vsc/creation/vscHvdcLineCreation.utils.js";
|
|
231
|
+
import { vscHvdcLineEstimationFormSchema, vscHvdcLineModificationDtoToForm, vscHvdcLineModificationEmptyFormData, vscHvdcLineModificationFormSchema, vscHvdcLineModificationFormToDto } from "./network-modifications/hvdcLine/vsc/modification/vscHvdcLineModification.utils.js";
|
|
220
232
|
import { getLineCharacteristicsEmptyFormData, getLineCharacteristicsFormData, getLineCharacteristicsValidationSchemaProps } from "./network-modifications/line/characteristics/lineCharacteristicsPane.utils.js";
|
|
221
233
|
import { LineCharacteristicsPane } from "./network-modifications/line/characteristics/LineCharacteristicsPane.js";
|
|
222
234
|
import { CATEGORIES_TABS } from "./network-modifications/line/catalog/lineCatalog.type.js";
|
|
@@ -290,7 +302,7 @@ import { SelectHeaderCell } from "./network-modification-table/renderers/select-
|
|
|
290
302
|
import { SwitchCell } from "./network-modification-table/renderers/switch-cell.js";
|
|
291
303
|
import { DragCloneRow } from "./network-modification-table/row/drag-row-clone.js";
|
|
292
304
|
import { ModificationRow } from "./network-modification-table/row/modification-row.js";
|
|
293
|
-
import { MAX_COMPOSITE_NESTING_DEPTH, containsReferenceModification, fetchSubModificationsForExpandedRows, findAllLoadedCompositeModifications, findDepth, findModificationInTree, formatToComposedModification, isCompositeModification, isReferenceModification, mergeSubModificationsIntoTree, moveSubModificationInTree, removeUuidsFromTree, updateModificationFieldInTree, updateSubModificationsOfACompositeInTree } from "./network-modification-table/utils.js";
|
|
305
|
+
import { MAX_COMPOSITE_NESTING_DEPTH, collectApplicabilities, containsReferenceModification, fetchSubModificationsForExpandedRows, findAllLoadedCompositeModifications, findDepth, findModificationInTree, formatToComposedModification, isCompositeModification, isReferenceModification, mergeSubModificationsIntoTree, moveSubModificationInTree, removeUuidsFromTree, toMessageValues, updateModificationFieldInTree, updateSubModificationsOfACompositeInTree } from "./network-modification-table/utils.js";
|
|
294
306
|
import { AnnouncementBanner } from "./announcement/AnnouncementBanner.js";
|
|
295
307
|
import { AnnouncementNotification } from "./announcement/AnnouncementNotification.js";
|
|
296
308
|
import { useGlobalAnnouncement } from "./announcement/useGlobalAnnouncement.js";
|
|
@@ -448,6 +460,7 @@ export {
|
|
|
448
460
|
HIGH_VOLTAGE_PROPORTIONAL_THRESHOLD,
|
|
449
461
|
HVDC_AC_EMULATION,
|
|
450
462
|
HVDC_EQUIPMENT_TYPES,
|
|
463
|
+
HVDC_LINE_TAB_FIELDS,
|
|
451
464
|
HeaderWithTooltip,
|
|
452
465
|
HvdcLccDeletionSpecificForm,
|
|
453
466
|
INJECTIONS_EQUIPMENT_TYPES,
|
|
@@ -739,6 +752,7 @@ export {
|
|
|
739
752
|
VOLTAGE_LIMITS_DEFAULT,
|
|
740
753
|
VOLTAGE_LIMITS_MODIFICATION,
|
|
741
754
|
VOLTAGE_REGULATION_MODES,
|
|
755
|
+
VSC_CONVERTER_MODE,
|
|
742
756
|
VoltageInitParametersEditionDialog,
|
|
743
757
|
VoltageInitParametersInLine,
|
|
744
758
|
VoltageInitTabValues,
|
|
@@ -749,6 +763,14 @@ export {
|
|
|
749
763
|
VoltageLevelTab,
|
|
750
764
|
VoltageLevelTopologyModificationForm,
|
|
751
765
|
VoltageRegulationForm,
|
|
766
|
+
VscConverterMode,
|
|
767
|
+
VscConverterStationPane,
|
|
768
|
+
VscHvdcLineCharacteristicsPane,
|
|
769
|
+
VscHvdcLineDialogHeader,
|
|
770
|
+
VscHvdcLineDialogTab,
|
|
771
|
+
VscHvdcLineDialogTabs,
|
|
772
|
+
VscHvdcLineDialogTabsContent,
|
|
773
|
+
VscHvdcLineForm,
|
|
752
774
|
WRITE_SLACK_BUS,
|
|
753
775
|
addGlobalFilterId,
|
|
754
776
|
addModificationTypeToOpLimitsGroups,
|
|
@@ -772,6 +794,7 @@ export {
|
|
|
772
794
|
byFilterDeletionFormSchema,
|
|
773
795
|
byFilterDeletionFormToDto,
|
|
774
796
|
clearSelectedGlobalFiltersFromTableState,
|
|
797
|
+
collectApplicabilities,
|
|
775
798
|
compareStepsWithPreviousValues,
|
|
776
799
|
computeHighTapPosition,
|
|
777
800
|
computeQ0,
|
|
@@ -795,6 +818,11 @@ export {
|
|
|
795
818
|
convertToLineSegmentInfos,
|
|
796
819
|
convertToLineSegmentsFormData,
|
|
797
820
|
convertToOperationalLimitsGroupFormSchema,
|
|
821
|
+
converterStationCreationDtoToForm,
|
|
822
|
+
converterStationCreationFormToDto,
|
|
823
|
+
converterStationCreationFromCopy,
|
|
824
|
+
converterStationModificationDtoToForm,
|
|
825
|
+
converterStationModificationFormToDto,
|
|
798
826
|
copyEquipmentPropertiesForCreation,
|
|
799
827
|
couplingDeviceCreationDtoToForm,
|
|
800
828
|
couplingDeviceCreationFormSchema,
|
|
@@ -861,7 +889,6 @@ export {
|
|
|
861
889
|
getActivePowerSetPointSchema,
|
|
862
890
|
getAllLimitsFormData,
|
|
863
891
|
getAllLimitsFormDataProperties,
|
|
864
|
-
getBranchActiveReactivePowerEditData,
|
|
865
892
|
getBranchActiveReactivePowerEditDataProperties,
|
|
866
893
|
getBranchActiveReactivePowerEmptyFormData,
|
|
867
894
|
getBranchActiveReactivePowerEmptyFormDataProperties,
|
|
@@ -990,6 +1017,15 @@ export {
|
|
|
990
1017
|
getTwtCharacteristicsValidationSchemaProps,
|
|
991
1018
|
getVoltageRegulationEmptyFormData,
|
|
992
1019
|
getVoltageRegulationSchema,
|
|
1020
|
+
getVscConverterStationCreationSchema,
|
|
1021
|
+
getVscConverterStationEmptyFormData,
|
|
1022
|
+
getVscConverterStationModificationSchema,
|
|
1023
|
+
getVscHvdcLineCharacteristicsCreationDtoToForm,
|
|
1024
|
+
getVscHvdcLineCharacteristicsCreationSchema,
|
|
1025
|
+
getVscHvdcLineCharacteristicsEmptyFormData,
|
|
1026
|
+
getVscHvdcLineCharacteristicsFromCopy,
|
|
1027
|
+
getVscHvdcLineCharacteristicsModificationDtoToForm,
|
|
1028
|
+
getVscHvdcLineCharacteristicsModificationSchema,
|
|
993
1029
|
handlePostSortRows,
|
|
994
1030
|
handleSigninCallback,
|
|
995
1031
|
handleSilentRenewCallback,
|
|
@@ -1058,9 +1094,7 @@ export {
|
|
|
1058
1094
|
sanitizeLimitsGroups,
|
|
1059
1095
|
sanitizePercentageValue,
|
|
1060
1096
|
sanitizeRowValue,
|
|
1061
|
-
setCurrentReactiveCapabilityCurveTable,
|
|
1062
1097
|
setFieldTypeError,
|
|
1063
|
-
setSelectedReactiveLimits,
|
|
1064
1098
|
shuntCompensatorCreationDtoToForm,
|
|
1065
1099
|
shuntCompensatorCreationEmptyFormData,
|
|
1066
1100
|
shuntCompensatorCreationFormSchema,
|
|
@@ -1094,6 +1128,7 @@ export {
|
|
|
1094
1128
|
toBeEstimatedEmptyFormData,
|
|
1095
1129
|
toFormValuesContingencyListsInfos,
|
|
1096
1130
|
toFormValuesLimitReductions,
|
|
1131
|
+
toMessageValues,
|
|
1097
1132
|
toModificationProperties,
|
|
1098
1133
|
toReactiveCapabilityCurveChoiceForGeneratorCreation,
|
|
1099
1134
|
toReactiveCapabilityCurveChoiceForGeneratorModification,
|
|
@@ -1141,5 +1176,14 @@ export {
|
|
|
1141
1176
|
voltageLevelTopologyModificationDtoToForm,
|
|
1142
1177
|
voltageLevelTopologyModificationEmptyFormData,
|
|
1143
1178
|
voltageLevelTopologyModificationFormSchema,
|
|
1144
|
-
voltageLevelTopologyModificationFormToDto
|
|
1179
|
+
voltageLevelTopologyModificationFormToDto,
|
|
1180
|
+
vscHvdcLineCreationDtoToForm,
|
|
1181
|
+
vscHvdcLineCreationEmptyFormData,
|
|
1182
|
+
vscHvdcLineCreationFormSchema,
|
|
1183
|
+
vscHvdcLineCreationFormToDto,
|
|
1184
|
+
vscHvdcLineEstimationFormSchema,
|
|
1185
|
+
vscHvdcLineModificationDtoToForm,
|
|
1186
|
+
vscHvdcLineModificationEmptyFormData,
|
|
1187
|
+
vscHvdcLineModificationFormSchema,
|
|
1188
|
+
vscHvdcLineModificationFormToDto
|
|
1145
1189
|
};
|
|
@@ -14,7 +14,7 @@ import { SelectHeaderCell } from "./renderers/select-header-cell.js";
|
|
|
14
14
|
import { SwitchCell } from "./renderers/switch-cell.js";
|
|
15
15
|
import { DragCloneRow } from "./row/drag-row-clone.js";
|
|
16
16
|
import { ModificationRow } from "./row/modification-row.js";
|
|
17
|
-
import { MAX_COMPOSITE_NESTING_DEPTH, containsReferenceModification, fetchSubModificationsForExpandedRows, findAllLoadedCompositeModifications, findDepth, findModificationInTree, formatToComposedModification, isCompositeModification, isReferenceModification, mergeSubModificationsIntoTree, moveSubModificationInTree, removeUuidsFromTree, updateModificationFieldInTree, updateSubModificationsOfACompositeInTree } from "./utils.js";
|
|
17
|
+
import { MAX_COMPOSITE_NESTING_DEPTH, collectApplicabilities, containsReferenceModification, fetchSubModificationsForExpandedRows, findAllLoadedCompositeModifications, findDepth, findModificationInTree, formatToComposedModification, isCompositeModification, isReferenceModification, mergeSubModificationsIntoTree, moveSubModificationInTree, removeUuidsFromTree, toMessageValues, updateModificationFieldInTree, updateSubModificationsOfACompositeInTree } from "./utils.js";
|
|
18
18
|
export {
|
|
19
19
|
AUTO_EXTENSIBLE_COLUMNS,
|
|
20
20
|
BASE_MODIFICATION_TABLE_COLUMNS,
|
|
@@ -48,6 +48,7 @@ export {
|
|
|
48
48
|
SelectHeaderRenderer,
|
|
49
49
|
SwitchCell,
|
|
50
50
|
SwitchCellRenderer,
|
|
51
|
+
collectApplicabilities,
|
|
51
52
|
computeTagMinSize,
|
|
52
53
|
containsReferenceModification,
|
|
53
54
|
createCellBorderColor,
|
|
@@ -71,6 +72,7 @@ export {
|
|
|
71
72
|
moveSubModificationInTree,
|
|
72
73
|
networkModificationTableStyles,
|
|
73
74
|
removeUuidsFromTree,
|
|
75
|
+
toMessageValues,
|
|
74
76
|
updateModificationFieldInTree,
|
|
75
77
|
updateSubModificationsOfACompositeInTree,
|
|
76
78
|
useModificationsDragAndDrop
|
|
@@ -1,8 +1,8 @@
|
|
|
1
|
-
import { default as React
|
|
1
|
+
import { default as React } from 'react';
|
|
2
2
|
import { ColumnDef } from '@tanstack/react-table';
|
|
3
3
|
import { UUID } from 'node:crypto';
|
|
4
4
|
import { NetworkModificationEditorNameHeaderProps } from './renderers';
|
|
5
|
-
import {
|
|
5
|
+
import { RootNetworkRowInfo, ComposedModificationMetadata, NetworkModificationMetadata } from '../../utils';
|
|
6
6
|
interface NetworkModificationsTableProps extends Omit<NetworkModificationEditorNameHeaderProps, 'modificationCount'> {
|
|
7
7
|
modifications: NetworkModificationMetadata[];
|
|
8
8
|
handleCellClick: (modification: ComposedModificationMetadata) => void;
|
|
@@ -18,9 +18,7 @@ interface NetworkModificationsTableProps extends Omit<NetworkModificationEditorN
|
|
|
18
18
|
currentNodeId?: UUID;
|
|
19
19
|
currentRootNetworkUuid?: UUID;
|
|
20
20
|
rootNetworks?: RootNetworkRowInfo[];
|
|
21
|
-
modificationsToExclude?: ExcludedNetworkModifications[];
|
|
22
|
-
setModificationsToExclude?: Dispatch<SetStateAction<ExcludedNetworkModifications[]>>;
|
|
23
21
|
isDisabled?: boolean;
|
|
24
22
|
}
|
|
25
|
-
export declare function NetworkModificationsTable({ modifications, handleCellClick, isRowDragDisabled, onRowDragStart, onRowDragEnd, onSelectedRowsChange, columns, highlightedModificationUuid, modificationToEditLabel, modificationUuidsToReset, studyUuid, currentNodeId, currentRootNetworkUuid, rootNetworks,
|
|
23
|
+
export declare function NetworkModificationsTable({ modifications, handleCellClick, isRowDragDisabled, onRowDragStart, onRowDragEnd, onSelectedRowsChange, columns, highlightedModificationUuid, modificationToEditLabel, modificationUuidsToReset, studyUuid, currentNodeId, currentRootNetworkUuid, rootNetworks, isDisabled, isImpactedByNotification, notificationMessageId, isFetchingModifications, pendingState, }: Readonly<NetworkModificationsTableProps>): React.JSX.Element;
|
|
26
24
|
export {};
|
|
@@ -8,7 +8,7 @@ import { MODIFICATION_ROW_HEIGHT, networkModificationTableStyles, createHeaderCe
|
|
|
8
8
|
import { AUTO_EXTENSIBLE_COLUMNS } from "./columns-definition.js";
|
|
9
9
|
import { useModificationsDragAndDrop } from "./use-modifications-drag-and-drop.js";
|
|
10
10
|
import { useModificationsSelection } from "./use-modifications-selection.js";
|
|
11
|
-
import { formatToComposedModification, findDepth, MAX_COMPOSITE_NESTING_DEPTH, mergeSubModificationsIntoTree, removeUuidsFromTree, findAllLoadedCompositeModifications, fetchSubModificationsForExpandedRows, isCompositeModification, isReferenceModification } from "./utils.js";
|
|
11
|
+
import { formatToComposedModification, collectApplicabilities, findDepth, MAX_COMPOSITE_NESTING_DEPTH, mergeSubModificationsIntoTree, removeUuidsFromTree, findAllLoadedCompositeModifications, fetchSubModificationsForExpandedRows, isCompositeModification, isReferenceModification } from "./utils.js";
|
|
12
12
|
import "@mui/icons-material";
|
|
13
13
|
import "react-intl";
|
|
14
14
|
import "../../utils/conversionUtils.js";
|
|
@@ -34,8 +34,6 @@ function NetworkModificationsTable({
|
|
|
34
34
|
currentNodeId = void 0,
|
|
35
35
|
currentRootNetworkUuid,
|
|
36
36
|
rootNetworks,
|
|
37
|
-
modificationsToExclude,
|
|
38
|
-
setModificationsToExclude,
|
|
39
37
|
isDisabled = false,
|
|
40
38
|
isImpactedByNotification,
|
|
41
39
|
notificationMessageId,
|
|
@@ -48,6 +46,14 @@ function NetworkModificationsTable({
|
|
|
48
46
|
const [composedModifications, setComposedModifications] = useState(
|
|
49
47
|
formatToComposedModification(modifications)
|
|
50
48
|
);
|
|
49
|
+
const rootNetworksRef = useRef(rootNetworks);
|
|
50
|
+
useEffect(() => {
|
|
51
|
+
rootNetworksRef.current = rootNetworks;
|
|
52
|
+
}, [rootNetworks]);
|
|
53
|
+
const [applicabilities, setApplicabilities] = useState({});
|
|
54
|
+
useEffect(() => {
|
|
55
|
+
setApplicabilities(collectApplicabilities(composedModifications, rootNetworksRef.current));
|
|
56
|
+
}, [composedModifications]);
|
|
51
57
|
const composedModificationsRef = useRef(composedModifications);
|
|
52
58
|
useEffect(() => {
|
|
53
59
|
composedModificationsRef.current = composedModifications;
|
|
@@ -118,8 +124,8 @@ function NetworkModificationsTable({
|
|
|
118
124
|
},
|
|
119
125
|
modifications: {
|
|
120
126
|
count: modifications.length,
|
|
121
|
-
|
|
122
|
-
|
|
127
|
+
applicabilities,
|
|
128
|
+
setApplicabilities
|
|
123
129
|
},
|
|
124
130
|
interaction: {
|
|
125
131
|
lastClickedRowId,
|
|
@@ -141,8 +147,8 @@ function NetworkModificationsTable({
|
|
|
141
147
|
currentRootNetworkUuid,
|
|
142
148
|
rootNetworks,
|
|
143
149
|
modifications.length,
|
|
144
|
-
|
|
145
|
-
|
|
150
|
+
applicabilities,
|
|
151
|
+
setApplicabilities,
|
|
146
152
|
lastClickedRowId,
|
|
147
153
|
handleRowSelected,
|
|
148
154
|
modificationToEditLabelRef,
|
|
@@ -83,7 +83,7 @@ function RootNetworkHeaderRenderer({ column, table }) {
|
|
|
83
83
|
function RootNetworkCellRenderer({ row, column, table }) {
|
|
84
84
|
const { meta } = table.options;
|
|
85
85
|
const rootNetwork = meta?.context.rootNetworks?.find((r) => r.rootNetworkUuid === column.id);
|
|
86
|
-
if (!rootNetwork || !meta?.modifications.
|
|
86
|
+
if (!rootNetwork || !meta?.modifications.applicabilities || !meta.modifications.setApplicabilities) {
|
|
87
87
|
return null;
|
|
88
88
|
}
|
|
89
89
|
return /* @__PURE__ */ jsx(Box, { sx: createRootNetworkChipCellSx(row.original.activated), children: /* @__PURE__ */ jsx(
|
|
@@ -93,8 +93,8 @@ function RootNetworkCellRenderer({ row, column, table }) {
|
|
|
93
93
|
studyUuid: meta?.context.studyUuid ?? null,
|
|
94
94
|
currentNodeId: meta?.context.currentNodeId,
|
|
95
95
|
rootNetwork,
|
|
96
|
-
|
|
97
|
-
|
|
96
|
+
applicabilities: meta.modifications.applicabilities,
|
|
97
|
+
setApplicabilities: meta.modifications.setApplicabilities,
|
|
98
98
|
isDisabled: meta?.status.isDisabled
|
|
99
99
|
}
|
|
100
100
|
) });
|
|
@@ -62,7 +62,7 @@ import "../../../components/composite/report/report-treeview/treeview-item.js";
|
|
|
62
62
|
import "../../../components/composite/report/report-viewer/context/report-viewer-context.js";
|
|
63
63
|
import { networkModificationTableStyles, createModificationNameCellStyle, createNameCellLabelBoxSx, createNameCellRootStyle } from "../network-modification-table-styles.js";
|
|
64
64
|
import { DepthBox } from "./depth-box.js";
|
|
65
|
-
import { isCompositeModification } from "../utils.js";
|
|
65
|
+
import { isCompositeModification, toMessageValues } from "../utils.js";
|
|
66
66
|
const MIN_CHAR_WIDTH = 30;
|
|
67
67
|
function measureTextPx(text, font) {
|
|
68
68
|
const ctx = document.createElement("canvas").getContext("2d");
|
|
@@ -84,7 +84,10 @@ function NameCell({ row, table, onChange }) {
|
|
|
84
84
|
(modification, formatBold = true) => {
|
|
85
85
|
return intl.formatMessage(
|
|
86
86
|
{ id: `network_modifications.${modification.messageType}` },
|
|
87
|
-
{
|
|
87
|
+
{
|
|
88
|
+
...toMessageValues(modification),
|
|
89
|
+
...computeLabel(modification, formatBold)
|
|
90
|
+
}
|
|
88
91
|
);
|
|
89
92
|
},
|
|
90
93
|
[computeLabel, intl]
|
|
@@ -1,13 +1,13 @@
|
|
|
1
1
|
import { default as React, SetStateAction } from 'react';
|
|
2
2
|
import { UUID } from 'node:crypto';
|
|
3
|
-
import { ComposedModificationMetadata,
|
|
3
|
+
import { ComposedModificationMetadata, NetworkModificationApplicabilities, RootNetworkRowInfo } from '../../../utils';
|
|
4
4
|
export interface RootNetworkChipCellProps {
|
|
5
5
|
data: ComposedModificationMetadata;
|
|
6
6
|
studyUuid: UUID | null;
|
|
7
7
|
currentNodeId?: UUID;
|
|
8
8
|
rootNetwork: RootNetworkRowInfo;
|
|
9
|
-
|
|
10
|
-
|
|
9
|
+
applicabilities: NetworkModificationApplicabilities;
|
|
10
|
+
setApplicabilities: React.Dispatch<SetStateAction<NetworkModificationApplicabilities>>;
|
|
11
11
|
isDisabled?: boolean;
|
|
12
12
|
}
|
|
13
13
|
export declare function RootNetworkChipCell(props: RootNetworkChipCellProps): React.JSX.Element;
|
|
@@ -14,33 +14,16 @@ import "localized-countries/data/fr";
|
|
|
14
14
|
import "localized-countries/data/en";
|
|
15
15
|
import { useSnackMessage } from "../../../hooks/useSnackMessage.js";
|
|
16
16
|
import "react-hook-form";
|
|
17
|
-
function
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
const nextExcluded = prev.map((modif) => {
|
|
22
|
-
if (modif.rootNetworkUuid !== rootNetworkUuid) {
|
|
23
|
-
return modif;
|
|
24
|
-
}
|
|
25
|
-
const isExcluded = modif.modificationUuidsToExclude.includes(modificationUuid);
|
|
26
|
-
const newModificationUuidsToExclude = isExcluded ? modif.modificationUuidsToExclude.filter((id) => id !== modificationUuid) : [...modif.modificationUuidsToExclude, modificationUuid];
|
|
27
|
-
newStatus = isExcluded;
|
|
28
|
-
return {
|
|
29
|
-
...modif,
|
|
30
|
-
modificationUuidsToExclude: newModificationUuidsToExclude
|
|
31
|
-
};
|
|
32
|
-
});
|
|
33
|
-
return { nextExcluded, newStatus };
|
|
34
|
-
}
|
|
17
|
+
function isApplicableOn(applicabilities, modificationUuid, rootNetworkUuid) {
|
|
18
|
+
return applicabilities[modificationUuid]?.[rootNetworkUuid] ?? true;
|
|
19
|
+
}
|
|
20
|
+
function setApplicability(prevApplicabilities, modificationUuid, rootNetworkUuid, applicable) {
|
|
35
21
|
return {
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
}
|
|
42
|
-
],
|
|
43
|
-
newStatus: false
|
|
22
|
+
...prevApplicabilities,
|
|
23
|
+
[modificationUuid]: {
|
|
24
|
+
...prevApplicabilities[modificationUuid],
|
|
25
|
+
[rootNetworkUuid]: applicable
|
|
26
|
+
}
|
|
44
27
|
};
|
|
45
28
|
}
|
|
46
29
|
function RootNetworkChipCell(props) {
|
|
@@ -49,43 +32,35 @@ function RootNetworkChipCell(props) {
|
|
|
49
32
|
studyUuid,
|
|
50
33
|
currentNodeId,
|
|
51
34
|
rootNetwork,
|
|
52
|
-
|
|
53
|
-
|
|
35
|
+
applicabilities,
|
|
36
|
+
setApplicabilities,
|
|
54
37
|
isDisabled = false
|
|
55
38
|
} = props;
|
|
56
39
|
const [isLoading, setIsLoading] = useState(false);
|
|
57
40
|
const { snackError } = useSnackMessage();
|
|
58
41
|
const modificationUuid = data.uuid;
|
|
59
42
|
const isReferenceModificationOrInsideOne = data.type === ModificationType.MODIFICATION_REFERENCE || data.childFromShared;
|
|
60
|
-
const
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
}
|
|
64
|
-
const excludedSet = new Set(
|
|
65
|
-
modificationsToExclude.find((item) => item.rootNetworkUuid === rootNetwork.rootNetworkUuid)?.modificationUuidsToExclude || []
|
|
66
|
-
);
|
|
67
|
-
return !excludedSet.has(modificationUuid);
|
|
68
|
-
}, [modificationUuid, modificationsToExclude, rootNetwork.rootNetworkUuid, rootNetwork.isCreating]);
|
|
43
|
+
const isModificationApplicable = useMemo(() => {
|
|
44
|
+
return isApplicableOn(applicabilities, modificationUuid, rootNetwork.rootNetworkUuid);
|
|
45
|
+
}, [modificationUuid, applicabilities, rootNetwork.rootNetworkUuid]);
|
|
69
46
|
const handleModificationActivationByRootNetwork = useCallback(() => {
|
|
70
47
|
if (!studyUuid || !currentNodeId) {
|
|
71
48
|
return;
|
|
72
49
|
}
|
|
73
50
|
setIsLoading(true);
|
|
74
|
-
const
|
|
75
|
-
|
|
76
|
-
rootNetwork.rootNetworkUuid,
|
|
77
|
-
modificationUuid
|
|
51
|
+
const newApplicability = !isModificationApplicable;
|
|
52
|
+
setApplicabilities(
|
|
53
|
+
(prev) => setApplicability(prev, modificationUuid, rootNetwork.rootNetworkUuid, newApplicability)
|
|
78
54
|
);
|
|
79
|
-
setModificationsToExclude(nextExcluded);
|
|
80
55
|
updateModificationStatusByRootNetwork(
|
|
81
56
|
studyUuid,
|
|
82
57
|
currentNodeId,
|
|
83
58
|
rootNetwork.rootNetworkUuid,
|
|
84
59
|
modificationUuid,
|
|
85
|
-
|
|
60
|
+
newApplicability
|
|
86
61
|
).catch((error) => {
|
|
87
|
-
|
|
88
|
-
(prev) =>
|
|
62
|
+
setApplicabilities(
|
|
63
|
+
(prev) => setApplicability(prev, modificationUuid, rootNetwork.rootNetworkUuid, isModificationApplicable)
|
|
89
64
|
);
|
|
90
65
|
snackWithFallback(snackError, error, { headerId: "modificationActivationByRootNetworkError" });
|
|
91
66
|
}).finally(() => {
|
|
@@ -95,9 +70,9 @@ function RootNetworkChipCell(props) {
|
|
|
95
70
|
modificationUuid,
|
|
96
71
|
studyUuid,
|
|
97
72
|
currentNodeId,
|
|
98
|
-
|
|
73
|
+
isModificationApplicable,
|
|
99
74
|
rootNetwork.rootNetworkUuid,
|
|
100
|
-
|
|
75
|
+
setApplicabilities,
|
|
101
76
|
snackError
|
|
102
77
|
]);
|
|
103
78
|
return /* @__PURE__ */ jsx(
|
|
@@ -105,8 +80,8 @@ function RootNetworkChipCell(props) {
|
|
|
105
80
|
{
|
|
106
81
|
label: rootNetwork.tag,
|
|
107
82
|
tooltipMessage: rootNetwork.name,
|
|
108
|
-
isActivated:
|
|
109
|
-
isDisabled: isLoading || isDisabled || isReferenceModificationOrInsideOne,
|
|
83
|
+
isActivated: isModificationApplicable,
|
|
84
|
+
isDisabled: isLoading || isDisabled || isReferenceModificationOrInsideOne || rootNetwork.isCreating,
|
|
110
85
|
onClick: handleModificationActivationByRootNetwork
|
|
111
86
|
}
|
|
112
87
|
);
|
|
@@ -13,6 +13,7 @@ import "localized-countries/data/fr";
|
|
|
13
13
|
import "localized-countries/data/en";
|
|
14
14
|
import "notistack";
|
|
15
15
|
import "react-hook-form";
|
|
16
|
+
import { toMessageValues } from "../utils.js";
|
|
16
17
|
function DragCloneRow({ row }) {
|
|
17
18
|
const intl = useIntl();
|
|
18
19
|
const { computeLabel } = useModificationLabelComputer();
|
|
@@ -20,7 +21,10 @@ function DragCloneRow({ row }) {
|
|
|
20
21
|
(modification, formatBold = true) => {
|
|
21
22
|
return intl.formatMessage(
|
|
22
23
|
{ id: `network_modifications.${modification.messageType}` },
|
|
23
|
-
{
|
|
24
|
+
{
|
|
25
|
+
...toMessageValues(modification),
|
|
26
|
+
...computeLabel(modification, formatBold)
|
|
27
|
+
}
|
|
24
28
|
);
|
|
25
29
|
},
|
|
26
30
|
[computeLabel, intl]
|
|
@@ -1,8 +1,19 @@
|
|
|
1
1
|
import { Dispatch, SetStateAction } from 'react';
|
|
2
2
|
import { UUID } from 'node:crypto';
|
|
3
|
-
import { ComposedModificationMetadata, NetworkModificationMetadata } from '../../utils';
|
|
3
|
+
import { ComposedModificationMetadata, NetworkModificationApplicabilities, NetworkModificationMetadata, RootNetworkRowInfo } from '../../utils';
|
|
4
4
|
export declare const MAX_COMPOSITE_NESTING_DEPTH = 5;
|
|
5
|
+
export declare function collectApplicabilities(modifications: ComposedModificationMetadata[], rootNetworks?: RootNetworkRowInfo[]): NetworkModificationApplicabilities;
|
|
5
6
|
export declare const formatToComposedModification: (modifications: NetworkModificationMetadata[]) => ComposedModificationMetadata[];
|
|
7
|
+
export declare function toMessageValues(modification: NetworkModificationMetadata): {
|
|
8
|
+
uuid: UUID;
|
|
9
|
+
type: import('../..').ModificationType;
|
|
10
|
+
date: Date;
|
|
11
|
+
stashed: boolean;
|
|
12
|
+
activated: boolean;
|
|
13
|
+
description: string;
|
|
14
|
+
messageType: string;
|
|
15
|
+
messageValues: string;
|
|
16
|
+
};
|
|
6
17
|
export declare function isCompositeModification(modification: ComposedModificationMetadata | undefined): boolean;
|
|
7
18
|
export declare function isReferenceModification(modification: ComposedModificationMetadata | undefined): boolean;
|
|
8
19
|
export declare function containsReferenceModification(modification: ComposedModificationMetadata | undefined): boolean;
|
|
@@ -5,6 +5,29 @@ import "react/jsx-runtime";
|
|
|
5
5
|
import "@mui/icons-material";
|
|
6
6
|
import { getNetworkModificationsFromComposite, fetchNetworkModification } from "../../services/networkModification.js";
|
|
7
7
|
const MAX_COMPOSITE_NESTING_DEPTH = 5;
|
|
8
|
+
function toApplicabilityByRootNetworkUuid(applicabilityByRootNetworkTag, uuidByTag) {
|
|
9
|
+
return Object.entries(applicabilityByRootNetworkTag ?? {}).reduce((applicability, [tag, applicable]) => {
|
|
10
|
+
const rootNetworkUuid = uuidByTag.get(tag);
|
|
11
|
+
return rootNetworkUuid ? { ...applicability, [rootNetworkUuid]: applicable } : applicability;
|
|
12
|
+
}, {});
|
|
13
|
+
}
|
|
14
|
+
function collectApplicabilitiesByUuid(modifications, uuidByTag) {
|
|
15
|
+
return modifications.reduce(
|
|
16
|
+
(applicabilities, modification) => ({
|
|
17
|
+
...applicabilities,
|
|
18
|
+
[modification.uuid]: toApplicabilityByRootNetworkUuid(
|
|
19
|
+
modification.applicabilityByRootNetworkTag,
|
|
20
|
+
uuidByTag
|
|
21
|
+
),
|
|
22
|
+
...collectApplicabilitiesByUuid(modification.subModifications, uuidByTag)
|
|
23
|
+
}),
|
|
24
|
+
{}
|
|
25
|
+
);
|
|
26
|
+
}
|
|
27
|
+
function collectApplicabilities(modifications, rootNetworks = []) {
|
|
28
|
+
const uuidByTag = new Map(rootNetworks.map((rootNetwork) => [rootNetwork.tag, rootNetwork.rootNetworkUuid]));
|
|
29
|
+
return collectApplicabilitiesByUuid(modifications, uuidByTag);
|
|
30
|
+
}
|
|
8
31
|
const formatToComposedModification = (modifications) => {
|
|
9
32
|
return modifications.map((modification) => ({
|
|
10
33
|
...modification,
|
|
@@ -12,6 +35,10 @@ const formatToComposedModification = (modifications) => {
|
|
|
12
35
|
rowKey: crypto.randomUUID()
|
|
13
36
|
}));
|
|
14
37
|
};
|
|
38
|
+
function toMessageValues(modification) {
|
|
39
|
+
const { applicabilityByRootNetworkTag, ...messageValues } = modification;
|
|
40
|
+
return messageValues;
|
|
41
|
+
}
|
|
15
42
|
function isCompositeModification(modification) {
|
|
16
43
|
return modification?.type === MODIFICATION_TYPES.COMPOSITE_MODIFICATION.type;
|
|
17
44
|
}
|
|
@@ -226,6 +253,7 @@ async function fetchSubModificationsForExpandedRows(expandedRowKeys, mods, setMo
|
|
|
226
253
|
}
|
|
227
254
|
export {
|
|
228
255
|
MAX_COMPOSITE_NESTING_DEPTH,
|
|
256
|
+
collectApplicabilities,
|
|
229
257
|
containsReferenceModification,
|
|
230
258
|
fetchSubModificationsForExpandedRows,
|
|
231
259
|
findAllLoadedCompositeModifications,
|
|
@@ -237,6 +265,7 @@ export {
|
|
|
237
265
|
mergeSubModificationsIntoTree,
|
|
238
266
|
moveSubModificationInTree,
|
|
239
267
|
removeUuidsFromTree,
|
|
268
|
+
toMessageValues,
|
|
240
269
|
updateModificationFieldInTree,
|
|
241
270
|
updateSubModificationsOfACompositeInTree
|
|
242
271
|
};
|
package/dist/features/network-modifications/battery/modification/BatteryDialogTabsContent.d.ts
CHANGED
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
import { BatteryFormInfos } from '../batteryDialog.type';
|
|
2
|
-
import { ConnectivityNetworkProps } from '../../common';
|
|
2
|
+
import { ConnectivityNetworkProps, UpdateReactiveCapabilityCurveTable } from '../../common';
|
|
3
3
|
import { EquipmentType, Identifiable } from '../../../../utils';
|
|
4
4
|
export interface BatteryDialogTabsContentProps extends ConnectivityNetworkProps {
|
|
5
5
|
batteryToModify?: BatteryFormInfos | null;
|
|
6
|
-
updatePreviousReactiveCapabilityCurveTable:
|
|
6
|
+
updatePreviousReactiveCapabilityCurveTable: UpdateReactiveCapabilityCurveTable;
|
|
7
7
|
fetchVoltageLevelEquipments: (voltageLevelId: string) => Promise<(Identifiable & {
|
|
8
8
|
type: EquipmentType;
|
|
9
9
|
})[]>;
|
|
@@ -4,7 +4,7 @@ import { PropertyForm } from "./properties/PropertyForm.js";
|
|
|
4
4
|
import { copyEquipmentPropertiesForCreation, createPropertyModification, creationPropertiesSchema, emptyProperties, fetchPredefinedProperties, getConcatenatedProperties, getFilledPropertiesFromModification, getPropertiesFromModification, getPropertyValue, initializedProperty, mergeModificationAndEquipmentProperties, modificationPropertiesSchema, toModificationProperties } from "./properties/propertyUtils.js";
|
|
5
5
|
import { getPowerWithValidityEditData, getPowerWithValidityEmptyFormData, getPowerWithValidityValidationSchema } from "./measurements/powerWithValidity.utils.js";
|
|
6
6
|
import { getInjectionActiveReactivePowerEditDataProperties, getInjectionActiveReactivePowerEmptyFormData, getInjectionActiveReactivePowerEmptyFormDataProperties, getInjectionActiveReactivePowerValidationSchema, getInjectionActiveReactivePowerValidationSchemaProperties } from "./measurements/injectionActiveReactivePowerForm.utils.js";
|
|
7
|
-
import {
|
|
7
|
+
import { getBranchActiveReactivePowerEditDataProperties, getBranchActiveReactivePowerEmptyFormData, getBranchActiveReactivePowerEmptyFormDataProperties, getBranchActiveReactivePowerValidationSchema, getBranchActiveReactivePowerValidationSchemaObject, getBranchActiveReactivePowerValidationSchemaProperties } from "./measurements/branchActiveReactivePowerForm.utils.js";
|
|
8
8
|
import { PowerWithValidityForm } from "./measurements/PowerWithValidityForm.js";
|
|
9
9
|
import { PowerMeasurementsForm } from "./measurements/PowerMeasurementsForm.js";
|
|
10
10
|
import { BranchActiveReactivePowerMeasurementsForm } from "./measurements/BranchActiveReactivePowerMeasurementsForm.js";
|
|
@@ -19,7 +19,7 @@ import { getActivePowerControlEmptyFormData, getActivePowerControlSchema } from
|
|
|
19
19
|
import { ActivePowerControlForm } from "./activePowerControl/ActivePowerControlForm.js";
|
|
20
20
|
import { getShortCircuitEmptyFormData, getShortCircuitFormData, getShortCircuitFormSchema } from "./shortCircuit/shortCircuitForm.utils.js";
|
|
21
21
|
import { ShortCircuitForm } from "./shortCircuit/ShortCircuitForm.js";
|
|
22
|
-
import { INSERT, REMOVE, getReactiveCapabilityCurveValidationSchema, getReactiveCapabilityCurveValidationSchemaArray, getRowEmptyFormData,
|
|
22
|
+
import { INSERT, REMOVE, getReactiveCapabilityCurveValidationSchema, getReactiveCapabilityCurveValidationSchemaArray, getRowEmptyFormData, toReactiveCapabilityCurveChoiceForGeneratorCreation, toReactiveCapabilityCurveChoiceForGeneratorModification } from "./reactiveLimits/reactiveCapabilityCurve/reactiveCapability.utils.js";
|
|
23
23
|
import { ReactiveCapabilityCurveRowForm } from "./reactiveLimits/reactiveCapabilityCurve/ReactiveCapabilityCurveRowForm.js";
|
|
24
24
|
import { ReactiveCapabilityCurveTableForm } from "./reactiveLimits/reactiveCapabilityCurve/ReactiveCapabilityCurveTableForm.js";
|
|
25
25
|
import { REACTIVE_LIMIT_TYPES, getReactiveLimitsEmptyFormData, getReactiveLimitsEmptyFormDataProps, getReactiveLimitsFormData, getReactiveLimitsFormDataProps, getReactiveLimitsSchema, getReactiveLimitsValidationSchema } from "./reactiveLimits/reactiveLimits.utils.js";
|
|
@@ -97,7 +97,6 @@ export {
|
|
|
97
97
|
getActivePowerSetPointSchema,
|
|
98
98
|
getAllLimitsFormData,
|
|
99
99
|
getAllLimitsFormDataProperties,
|
|
100
|
-
getBranchActiveReactivePowerEditData,
|
|
101
100
|
getBranchActiveReactivePowerEditDataProperties,
|
|
102
101
|
getBranchActiveReactivePowerEmptyFormData,
|
|
103
102
|
getBranchActiveReactivePowerEmptyFormDataProperties,
|
|
@@ -168,8 +167,6 @@ export {
|
|
|
168
167
|
modificationPropertiesSchema,
|
|
169
168
|
sanitizeLimitNames,
|
|
170
169
|
sanitizeLimitsGroups,
|
|
171
|
-
setCurrentReactiveCapabilityCurveTable,
|
|
172
|
-
setSelectedReactiveLimits,
|
|
173
170
|
standardTextField,
|
|
174
171
|
testValueWithinPowerInterval,
|
|
175
172
|
toModificationProperties,
|
|
@@ -10,7 +10,7 @@ function PowerMeasurementsForm({
|
|
|
10
10
|
side,
|
|
11
11
|
activePowerMeasurement,
|
|
12
12
|
reactivePowerMeasurement,
|
|
13
|
-
idPrefix =
|
|
13
|
+
idPrefix = FieldConstants.STATE_ESTIMATION,
|
|
14
14
|
reactivePowerOnly = false
|
|
15
15
|
}) {
|
|
16
16
|
const getActiveMeasurementType = (whichSide) => {
|
|
@@ -25,17 +25,11 @@ function PowerMeasurementsForm({
|
|
|
25
25
|
}
|
|
26
26
|
return whichSide === 1 ? FieldConstants.MEASUREMENT_Q1 : FieldConstants.MEASUREMENT_Q2;
|
|
27
27
|
};
|
|
28
|
-
let activePowerId = `${FieldConstants.STATE_ESTIMATION}.${getActiveMeasurementType(side)}`;
|
|
29
|
-
let reactivePowerId = `${FieldConstants.STATE_ESTIMATION}.${getReactiveMeasurementType(side)}`;
|
|
30
|
-
if (idPrefix) {
|
|
31
|
-
activePowerId = `${idPrefix}.${activePowerId}`;
|
|
32
|
-
reactivePowerId = `${idPrefix}.${reactivePowerId}`;
|
|
33
|
-
}
|
|
34
28
|
return /* @__PURE__ */ jsxs(Stack, { spacing: 2, children: [
|
|
35
29
|
!reactivePowerOnly && /* @__PURE__ */ jsx(Grid, { children: /* @__PURE__ */ jsx(
|
|
36
30
|
PowerWithValidityForm,
|
|
37
31
|
{
|
|
38
|
-
id:
|
|
32
|
+
id: `${idPrefix}.${getActiveMeasurementType(side)}`,
|
|
39
33
|
field: FieldType.ACTIVE_POWER,
|
|
40
34
|
measurement: activePowerMeasurement
|
|
41
35
|
}
|
|
@@ -43,7 +37,7 @@ function PowerMeasurementsForm({
|
|
|
43
37
|
/* @__PURE__ */ jsx(Grid, { children: /* @__PURE__ */ jsx(
|
|
44
38
|
PowerWithValidityForm,
|
|
45
39
|
{
|
|
46
|
-
id:
|
|
40
|
+
id: `${idPrefix}.${getReactiveMeasurementType(side)}`,
|
|
47
41
|
field: FieldType.REACTIVE_POWER,
|
|
48
42
|
measurement: reactivePowerMeasurement
|
|
49
43
|
}
|