@gridsuite/commons-ui 0.273.0 → 0.274.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.
Files changed (21) hide show
  1. package/dist/features/index.js +7 -2
  2. package/dist/features/network-modifications/index.js +7 -2
  3. package/dist/features/network-modifications/twoWindingsTransformer/common/TwoWindingsTransformerDialogHeader.js +1 -1
  4. package/dist/features/network-modifications/twoWindingsTransformer/common/TwoWindingsTransformerDialogTabsContent.js +7 -1
  5. package/dist/features/network-modifications/twoWindingsTransformer/common/TwoWindingsTransformerForm.d.ts +1 -1
  6. package/dist/features/network-modifications/twoWindingsTransformer/common/TwoWindingsTransformerForm.js +3 -1
  7. package/dist/features/network-modifications/twoWindingsTransformer/creation/twoWindingsTransformerCreation.utils.js +1 -4
  8. package/dist/features/network-modifications/twoWindingsTransformer/index.js +8 -3
  9. package/dist/features/network-modifications/twoWindingsTransformer/modification/index.js +6 -2
  10. package/dist/features/network-modifications/twoWindingsTransformer/modification/twoWindingsTransformerModification.utils.d.ts +7 -0
  11. package/dist/features/network-modifications/twoWindingsTransformer/modification/twoWindingsTransformerModification.utils.js +313 -10
  12. package/dist/features/network-modifications/twoWindingsTransformer/tapChanger/index.js +2 -1
  13. package/dist/features/network-modifications/twoWindingsTransformer/tapChanger/ratioTapChanger/index.js +2 -1
  14. package/dist/features/network-modifications/twoWindingsTransformer/tapChanger/ratioTapChanger/ratioTapChanger.utils.d.ts +1 -0
  15. package/dist/features/network-modifications/twoWindingsTransformer/tapChanger/ratioTapChanger/ratioTapChanger.utils.js +4 -0
  16. package/dist/index.js +7 -2
  17. package/dist/translations/en/networkModificationsEn.d.ts +6 -0
  18. package/dist/translations/en/networkModificationsEn.js +6 -0
  19. package/dist/translations/fr/networkModificationsFr.d.ts +6 -0
  20. package/dist/translations/fr/networkModificationsFr.js +6 -0
  21. package/package.json +1 -1
@@ -234,14 +234,14 @@ import { ImportRuleDialog } from "./network-modifications/twoWindingsTransformer
234
234
  import { getComputedPhaseRegulationType, getComputedPhaseRegulationTypeId, getComputedPhaseTapChangerRegulationMode, getComputedPreviousPhaseRegulationType, getPhaseTapChangerEmptyFormData, getPhaseTapChangerFormData, getPhaseTapChangerValidationSchemaProps, getPhaseTapRegulationSideId } from "./network-modifications/twoWindingsTransformer/tapChanger/phaseTapChanger/phaseTapChanger.utils.js";
235
235
  import { PhaseTapChangerPaneSteps } from "./network-modifications/twoWindingsTransformer/tapChanger/phaseTapChanger/PhaseTapChangerPaneSteps.js";
236
236
  import { PhaseTapChangerPane } from "./network-modifications/twoWindingsTransformer/tapChanger/phaseTapChanger/PhaseTapChangerPane.js";
237
- import { getComputedPreviousRatioRegulationType, getComputedRegulationMode, getComputedRegulationModeId, getComputedRegulationType, getComputedRegulationTypeId, getComputedTapSide, getComputedTapSideId, getInitialTwtRatioRegulationModeId, getRatioTapChangerEmptyFormData, getRatioTapChangerFormData, getRatioTapChangerValidationSchemaProps } from "./network-modifications/twoWindingsTransformer/tapChanger/ratioTapChanger/ratioTapChanger.utils.js";
237
+ import { computeRatioTapChangerRegulating, getComputedPreviousRatioRegulationType, getComputedRegulationMode, getComputedRegulationModeId, getComputedRegulationType, getComputedRegulationTypeId, getComputedTapSide, getComputedTapSideId, getInitialTwtRatioRegulationModeId, getRatioTapChangerEmptyFormData, getRatioTapChangerFormData, getRatioTapChangerValidationSchemaProps } from "./network-modifications/twoWindingsTransformer/tapChanger/ratioTapChanger/ratioTapChanger.utils.js";
238
238
  import { RatioTapChangerPaneSteps } from "./network-modifications/twoWindingsTransformer/tapChanger/ratioTapChanger/RatioTapChangerPaneSteps.js";
239
239
  import { RatioTapChangerPane } from "./network-modifications/twoWindingsTransformer/tapChanger/ratioTapChanger/RatioTapChangerPane.js";
240
240
  import { RegulatedTerminalSection } from "./network-modifications/twoWindingsTransformer/tapChanger/RegulatedTerminalSection.js";
241
241
  import { TapChangerSteps } from "./network-modifications/twoWindingsTransformer/tapChanger/TapChangerSteps.js";
242
242
  import { PhaseTapChangerRegulationMode } from "./network-modifications/twoWindingsTransformer/creation/twoWindingsTransformerCreation.types.js";
243
243
  import { computeRatioTapChangerRegulationMode, getRegulationTypeForEdit, getTapSideForEdit, twoWindingsTransformerCreationDtoToForm, twoWindingsTransformerCreationEmptyFormData, twoWindingsTransformerCreationFormSchema, twoWindingsTransformerCreationFormToDto } from "./network-modifications/twoWindingsTransformer/creation/twoWindingsTransformerCreation.utils.js";
244
- import { twoWindingsTransformerModificationEmptyFormData, twoWindingsTransformerModificationFormSchema } from "./network-modifications/twoWindingsTransformer/modification/twoWindingsTransformerModification.utils.js";
244
+ import { getPhaseTapChangerEmptyModificationDto, getRatioTapChangerEmptyModificationDto, twoWindingsTransformerModificationDtoToForm, twoWindingsTransformerModificationEmptyFormData, twoWindingsTransformerModificationFormSchema, twoWindingsTransformerModificationFormToDto } from "./network-modifications/twoWindingsTransformer/modification/twoWindingsTransformerModification.utils.js";
245
245
  import { getToBeEstimatedValidationSchemaObject, toBeEstimatedEmptyFormData } from "./network-modifications/twoWindingsTransformer/modification/measurements/toBeEstimated.utils.js";
246
246
  import { ToBeEstimatedForm } from "./network-modifications/twoWindingsTransformer/modification/measurements/ToBeEstimatedForm.js";
247
247
  import { StaticVarCompensatorDialogHeader } from "./network-modifications/static-var-compensator/common/static-var-compensator-dialog-header.js";
@@ -715,6 +715,7 @@ export {
715
715
  compareStepsWithPreviousValues,
716
716
  computeHighTapPosition,
717
717
  computeQ0,
718
+ computeRatioTapChangerRegulating,
718
719
  computeRatioTapChangerRegulationMode,
719
720
  computeSwitchedOnValue,
720
721
  computeTagMinSize,
@@ -854,6 +855,7 @@ export {
854
855
  getNoRowsMessage,
855
856
  getOptionLabel,
856
857
  getPhaseTapChangerEmptyFormData,
858
+ getPhaseTapChangerEmptyModificationDto,
857
859
  getPhaseTapChangerFormData,
858
860
  getPhaseTapChangerValidationSchemaProps,
859
861
  getPhaseTapRegulationSideId,
@@ -867,6 +869,7 @@ export {
867
869
  getPropertyAvatar,
868
870
  getPropertyValue,
869
871
  getRatioTapChangerEmptyFormData,
872
+ getRatioTapChangerEmptyModificationDto,
870
873
  getRatioTapChangerFormData,
871
874
  getRatioTapChangerValidationSchemaProps,
872
875
  getReactiveCapabilityCurveValidationSchema,
@@ -1008,8 +1011,10 @@ export {
1008
1011
  twoWindingsTransformerCreationEmptyFormData,
1009
1012
  twoWindingsTransformerCreationFormSchema,
1010
1013
  twoWindingsTransformerCreationFormToDto,
1014
+ twoWindingsTransformerModificationDtoToForm,
1011
1015
  twoWindingsTransformerModificationEmptyFormData,
1012
1016
  twoWindingsTransformerModificationFormSchema,
1017
+ twoWindingsTransformerModificationFormToDto,
1013
1018
  unmarkEditingGlobalFilter,
1014
1019
  updateModificationFieldInTree,
1015
1020
  updateSubModificationsOfACompositeInTree,
@@ -162,14 +162,14 @@ import { ImportRuleDialog } from "./twoWindingsTransformer/tapChanger/regulation
162
162
  import { getComputedPhaseRegulationType, getComputedPhaseRegulationTypeId, getComputedPhaseTapChangerRegulationMode, getComputedPreviousPhaseRegulationType, getPhaseTapChangerEmptyFormData, getPhaseTapChangerFormData, getPhaseTapChangerValidationSchemaProps, getPhaseTapRegulationSideId } from "./twoWindingsTransformer/tapChanger/phaseTapChanger/phaseTapChanger.utils.js";
163
163
  import { PhaseTapChangerPaneSteps } from "./twoWindingsTransformer/tapChanger/phaseTapChanger/PhaseTapChangerPaneSteps.js";
164
164
  import { PhaseTapChangerPane } from "./twoWindingsTransformer/tapChanger/phaseTapChanger/PhaseTapChangerPane.js";
165
- import { getComputedPreviousRatioRegulationType, getComputedRegulationMode, getComputedRegulationModeId, getComputedRegulationType, getComputedRegulationTypeId, getComputedTapSide, getComputedTapSideId, getInitialTwtRatioRegulationModeId, getRatioTapChangerEmptyFormData, getRatioTapChangerFormData, getRatioTapChangerValidationSchemaProps } from "./twoWindingsTransformer/tapChanger/ratioTapChanger/ratioTapChanger.utils.js";
165
+ import { computeRatioTapChangerRegulating, getComputedPreviousRatioRegulationType, getComputedRegulationMode, getComputedRegulationModeId, getComputedRegulationType, getComputedRegulationTypeId, getComputedTapSide, getComputedTapSideId, getInitialTwtRatioRegulationModeId, getRatioTapChangerEmptyFormData, getRatioTapChangerFormData, getRatioTapChangerValidationSchemaProps } from "./twoWindingsTransformer/tapChanger/ratioTapChanger/ratioTapChanger.utils.js";
166
166
  import { RatioTapChangerPaneSteps } from "./twoWindingsTransformer/tapChanger/ratioTapChanger/RatioTapChangerPaneSteps.js";
167
167
  import { RatioTapChangerPane } from "./twoWindingsTransformer/tapChanger/ratioTapChanger/RatioTapChangerPane.js";
168
168
  import { RegulatedTerminalSection } from "./twoWindingsTransformer/tapChanger/RegulatedTerminalSection.js";
169
169
  import { TapChangerSteps } from "./twoWindingsTransformer/tapChanger/TapChangerSteps.js";
170
170
  import { PhaseTapChangerRegulationMode } from "./twoWindingsTransformer/creation/twoWindingsTransformerCreation.types.js";
171
171
  import { computeRatioTapChangerRegulationMode, getRegulationTypeForEdit, getTapSideForEdit, twoWindingsTransformerCreationDtoToForm, twoWindingsTransformerCreationEmptyFormData, twoWindingsTransformerCreationFormSchema, twoWindingsTransformerCreationFormToDto } from "./twoWindingsTransformer/creation/twoWindingsTransformerCreation.utils.js";
172
- import { twoWindingsTransformerModificationEmptyFormData, twoWindingsTransformerModificationFormSchema } from "./twoWindingsTransformer/modification/twoWindingsTransformerModification.utils.js";
172
+ import { getPhaseTapChangerEmptyModificationDto, getRatioTapChangerEmptyModificationDto, twoWindingsTransformerModificationDtoToForm, twoWindingsTransformerModificationEmptyFormData, twoWindingsTransformerModificationFormSchema, twoWindingsTransformerModificationFormToDto } from "./twoWindingsTransformer/modification/twoWindingsTransformerModification.utils.js";
173
173
  import { getToBeEstimatedValidationSchemaObject, toBeEstimatedEmptyFormData } from "./twoWindingsTransformer/modification/measurements/toBeEstimated.utils.js";
174
174
  import { ToBeEstimatedForm } from "./twoWindingsTransformer/modification/measurements/ToBeEstimatedForm.js";
175
175
  import { StaticVarCompensatorDialogHeader } from "./static-var-compensator/common/static-var-compensator-dialog-header.js";
@@ -321,6 +321,7 @@ export {
321
321
  compareStepsWithPreviousValues,
322
322
  computeHighTapPosition,
323
323
  computeQ0,
324
+ computeRatioTapChangerRegulating,
324
325
  computeRatioTapChangerRegulationMode,
325
326
  computeSwitchedOnValue,
326
327
  convertLimitsToOperationalLimitsGroupFormSchema,
@@ -432,6 +433,7 @@ export {
432
433
  getLineCharacteristicsValidationSchemaProps,
433
434
  getNewVoltageLevelData,
434
435
  getPhaseTapChangerEmptyFormData,
436
+ getPhaseTapChangerEmptyModificationDto,
435
437
  getPhaseTapChangerFormData,
436
438
  getPhaseTapChangerValidationSchemaProps,
437
439
  getPhaseTapRegulationSideId,
@@ -442,6 +444,7 @@ export {
442
444
  getPropertyAvatar,
443
445
  getPropertyValue,
444
446
  getRatioTapChangerEmptyFormData,
447
+ getRatioTapChangerEmptyModificationDto,
445
448
  getRatioTapChangerFormData,
446
449
  getRatioTapChangerValidationSchemaProps,
447
450
  getReactiveCapabilityCurveValidationSchema,
@@ -544,8 +547,10 @@ export {
544
547
  twoWindingsTransformerCreationEmptyFormData,
545
548
  twoWindingsTransformerCreationFormSchema,
546
549
  twoWindingsTransformerCreationFormToDto,
550
+ twoWindingsTransformerModificationDtoToForm,
547
551
  twoWindingsTransformerModificationEmptyFormData,
548
552
  twoWindingsTransformerModificationFormSchema,
553
+ twoWindingsTransformerModificationFormToDto,
549
554
  useHvdcLccDeletion,
550
555
  useTabsWithError,
551
556
  voltageLevelCreationDtoToForm,
@@ -77,7 +77,7 @@ function TwoWindingsTransformerDialogHeader({
77
77
  size: "small",
78
78
  fullWidth: true,
79
79
  label: "ID",
80
- value: equipmentId,
80
+ value: equipmentId ?? "",
81
81
  slotProps: {
82
82
  input: {
83
83
  readOnly: true
@@ -64,6 +64,9 @@ import { TwoWindingsTransformerDialogTab } from "./twoWindingsTransformer.utils.
64
64
  import { RatioTapChangerPane } from "../tapChanger/ratioTapChanger/RatioTapChangerPane.js";
65
65
  import { PhaseTapChangerPane } from "../tapChanger/phaseTapChanger/PhaseTapChangerPane.js";
66
66
  import { TwoWindingsTransformerCharacteristicsPane } from "../characteristics/TwoWindingsTransformerCharacteristicsPane.js";
67
+ import "../modification/twoWindingsTransformerModification.utils.js";
68
+ import "../modification/measurements/toBeEstimated.utils.js";
69
+ import { ToBeEstimatedForm } from "../modification/measurements/ToBeEstimatedForm.js";
67
70
  function TwoWindingsTransformerDialogTabsContent({
68
71
  twtToModify,
69
72
  isModification = false,
@@ -90,7 +93,10 @@ function TwoWindingsTransformerDialogTabsContent({
90
93
  ] }),
91
94
  /* @__PURE__ */ jsx(Box, { hidden: tabIndex !== TwoWindingsTransformerDialogTab.CHARACTERISTICS_TAB, children: /* @__PURE__ */ jsx(TwoWindingsTransformerCharacteristicsPane, { twtToModify, isModification }) }),
92
95
  /* @__PURE__ */ jsx(Box, { hidden: tabIndex !== TwoWindingsTransformerDialogTab.LIMITS_TAB, children: /* @__PURE__ */ jsx(LimitsPane, { equipmentToModify: twtToModify, isModification }) }),
93
- isModification && /* @__PURE__ */ jsx(Box, { hidden: tabIndex !== TwoWindingsTransformerDialogTab.STATE_ESTIMATION_TAB, children: /* @__PURE__ */ jsx(BranchActiveReactivePowerMeasurementsForm, { equipmentToModify: twtToModify }) }),
96
+ isModification && /* @__PURE__ */ jsxs(Box, { hidden: tabIndex !== TwoWindingsTransformerDialogTab.STATE_ESTIMATION_TAB, children: [
97
+ /* @__PURE__ */ jsx(BranchActiveReactivePowerMeasurementsForm, { equipmentToModify: twtToModify }),
98
+ /* @__PURE__ */ jsx(ToBeEstimatedForm, { toBeEstimated: twtToModify?.toBeEstimated })
99
+ ] }),
94
100
  /* @__PURE__ */ jsx(Box, { hidden: tabIndex !== TwoWindingsTransformerDialogTab.RATIO_TAP_TAB, children: /* @__PURE__ */ jsx(
95
101
  RatioTapChangerPane,
96
102
  {
@@ -2,5 +2,5 @@ import { TwoWindingsTransformerDialogHeaderProps } from './TwoWindingsTransforme
2
2
  import { TwoWindingsTransformerDialogTabsContentProps } from './TwoWindingsTransformerDialogTabsContent';
3
3
  interface TwoWindingsTransformerFormProps extends TwoWindingsTransformerDialogHeaderProps, Omit<TwoWindingsTransformerDialogTabsContentProps, 'tabIndex' | 'isModification' | 'twtToModify'> {
4
4
  }
5
- export declare function TwoWindingsTransformerForm({ twtToModify, voltageLevelOptions, fetchBusesOrBusbarSections, PositionDiagramPane, fetchVoltageLevelEquipments, isModification, }: Readonly<TwoWindingsTransformerFormProps>): import("react").JSX.Element;
5
+ export declare function TwoWindingsTransformerForm({ twtToModify, voltageLevelOptions, fetchBusesOrBusbarSections, PositionDiagramPane, fetchVoltageLevelEquipments, editData, isModification, }: Readonly<TwoWindingsTransformerFormProps>): import("react").JSX.Element;
6
6
  export {};
@@ -11,6 +11,7 @@ function TwoWindingsTransformerForm({
11
11
  fetchBusesOrBusbarSections,
12
12
  PositionDiagramPane,
13
13
  fetchVoltageLevelEquipments,
14
+ editData,
14
15
  isModification = false
15
16
  }) {
16
17
  const { tabIndex, setTabIndex, tabIndexesWithError } = useTabsWithError(
@@ -37,7 +38,8 @@ function TwoWindingsTransformerForm({
37
38
  fetchBusesOrBusbarSections,
38
39
  PositionDiagramPane,
39
40
  isModification,
40
- fetchVoltageLevelEquipments
41
+ fetchVoltageLevelEquipments,
42
+ editData
41
43
  }
42
44
  ) })
43
45
  ] });
@@ -73,7 +73,7 @@ import { computeHighTapPosition } from "../tapChanger/tapChanger.utils.js";
73
73
  import "../tapChanger/regulationRule/CreateRuleForm.js";
74
74
  import "../tapChanger/regulationRule/CreateRuleDialog.js";
75
75
  import { getPhaseTapChangerValidationSchemaProps, getPhaseTapChangerEmptyFormData, getPhaseTapChangerFormData } from "../tapChanger/phaseTapChanger/phaseTapChanger.utils.js";
76
- import { getRatioTapChangerValidationSchemaProps, getRatioTapChangerEmptyFormData, getRatioTapChangerFormData } from "../tapChanger/ratioTapChanger/ratioTapChanger.utils.js";
76
+ import { getRatioTapChangerValidationSchemaProps, getRatioTapChangerEmptyFormData, getRatioTapChangerFormData, computeRatioTapChangerRegulating } from "../tapChanger/ratioTapChanger/ratioTapChanger.utils.js";
77
77
  const getRegulationTypeForEdit = (twt, tap) => {
78
78
  if (tap?.terminalRefConnectableId == null) {
79
79
  return null;
@@ -92,9 +92,6 @@ const getTapSideForEdit = (twt, tap) => {
92
92
  }
93
93
  return tap?.terminalRefConnectableVlId === twt?.voltageLevelId1 ? REGULATION_SIDES.SIDE1.id : REGULATION_SIDES.SIDE2.id;
94
94
  };
95
- const computeRatioTapChangerRegulating = (ratioTapChangerFormValues) => {
96
- return ratioTapChangerFormValues?.regulationMode === RATIO_REGULATION_MODES.VOLTAGE_REGULATION.id;
97
- };
98
95
  const computeRegulatingTerminalId = (tapChangerValue, currentTwtId) => {
99
96
  if (tapChangerValue?.regulationType === REGULATION_TYPES.LOCAL.id) {
100
97
  return currentTwtId;
@@ -14,14 +14,14 @@ import { ImportRuleDialog } from "./tapChanger/regulationRule/ImportRuleDialog.j
14
14
  import { getComputedPhaseRegulationType, getComputedPhaseRegulationTypeId, getComputedPhaseTapChangerRegulationMode, getComputedPreviousPhaseRegulationType, getPhaseTapChangerEmptyFormData, getPhaseTapChangerFormData, getPhaseTapChangerValidationSchemaProps, getPhaseTapRegulationSideId } from "./tapChanger/phaseTapChanger/phaseTapChanger.utils.js";
15
15
  import { PhaseTapChangerPaneSteps } from "./tapChanger/phaseTapChanger/PhaseTapChangerPaneSteps.js";
16
16
  import { PhaseTapChangerPane } from "./tapChanger/phaseTapChanger/PhaseTapChangerPane.js";
17
- import { getComputedPreviousRatioRegulationType, getComputedRegulationMode, getComputedRegulationModeId, getComputedRegulationType, getComputedRegulationTypeId, getComputedTapSide, getComputedTapSideId, getInitialTwtRatioRegulationModeId, getRatioTapChangerEmptyFormData, getRatioTapChangerFormData, getRatioTapChangerValidationSchemaProps } from "./tapChanger/ratioTapChanger/ratioTapChanger.utils.js";
17
+ import { computeRatioTapChangerRegulating, getComputedPreviousRatioRegulationType, getComputedRegulationMode, getComputedRegulationModeId, getComputedRegulationType, getComputedRegulationTypeId, getComputedTapSide, getComputedTapSideId, getInitialTwtRatioRegulationModeId, getRatioTapChangerEmptyFormData, getRatioTapChangerFormData, getRatioTapChangerValidationSchemaProps } from "./tapChanger/ratioTapChanger/ratioTapChanger.utils.js";
18
18
  import { RatioTapChangerPaneSteps } from "./tapChanger/ratioTapChanger/RatioTapChangerPaneSteps.js";
19
19
  import { RatioTapChangerPane } from "./tapChanger/ratioTapChanger/RatioTapChangerPane.js";
20
20
  import { RegulatedTerminalSection } from "./tapChanger/RegulatedTerminalSection.js";
21
21
  import { TapChangerSteps } from "./tapChanger/TapChangerSteps.js";
22
22
  import { PhaseTapChangerRegulationMode } from "./creation/twoWindingsTransformerCreation.types.js";
23
23
  import { computeRatioTapChangerRegulationMode, getRegulationTypeForEdit, getTapSideForEdit, twoWindingsTransformerCreationDtoToForm, twoWindingsTransformerCreationEmptyFormData, twoWindingsTransformerCreationFormSchema, twoWindingsTransformerCreationFormToDto } from "./creation/twoWindingsTransformerCreation.utils.js";
24
- import { twoWindingsTransformerModificationEmptyFormData, twoWindingsTransformerModificationFormSchema } from "./modification/twoWindingsTransformerModification.utils.js";
24
+ import { getPhaseTapChangerEmptyModificationDto, getRatioTapChangerEmptyModificationDto, twoWindingsTransformerModificationDtoToForm, twoWindingsTransformerModificationEmptyFormData, twoWindingsTransformerModificationFormSchema, twoWindingsTransformerModificationFormToDto } from "./modification/twoWindingsTransformerModification.utils.js";
25
25
  import { getToBeEstimatedValidationSchemaObject, toBeEstimatedEmptyFormData } from "./modification/measurements/toBeEstimated.utils.js";
26
26
  import { ToBeEstimatedForm } from "./modification/measurements/ToBeEstimatedForm.js";
27
27
  export {
@@ -46,6 +46,7 @@ export {
46
46
  TwoWindingsTransformerForm,
47
47
  compareStepsWithPreviousValues,
48
48
  computeHighTapPosition,
49
+ computeRatioTapChangerRegulating,
49
50
  computeRatioTapChangerRegulationMode,
50
51
  getComputedPhaseRegulationType,
51
52
  getComputedPhaseRegulationTypeId,
@@ -62,10 +63,12 @@ export {
62
63
  getCreateRuleValidationSchema,
63
64
  getInitialTwtRatioRegulationModeId,
64
65
  getPhaseTapChangerEmptyFormData,
66
+ getPhaseTapChangerEmptyModificationDto,
65
67
  getPhaseTapChangerFormData,
66
68
  getPhaseTapChangerValidationSchemaProps,
67
69
  getPhaseTapRegulationSideId,
68
70
  getRatioTapChangerEmptyFormData,
71
+ getRatioTapChangerEmptyModificationDto,
69
72
  getRatioTapChangerFormData,
70
73
  getRatioTapChangerValidationSchemaProps,
71
74
  getRegulationTypeForEdit,
@@ -83,6 +86,8 @@ export {
83
86
  twoWindingsTransformerCreationEmptyFormData,
84
87
  twoWindingsTransformerCreationFormSchema,
85
88
  twoWindingsTransformerCreationFormToDto,
89
+ twoWindingsTransformerModificationDtoToForm,
86
90
  twoWindingsTransformerModificationEmptyFormData,
87
- twoWindingsTransformerModificationFormSchema
91
+ twoWindingsTransformerModificationFormSchema,
92
+ twoWindingsTransformerModificationFormToDto
88
93
  };
@@ -1,10 +1,14 @@
1
- import { twoWindingsTransformerModificationEmptyFormData, twoWindingsTransformerModificationFormSchema } from "./twoWindingsTransformerModification.utils.js";
1
+ import { getPhaseTapChangerEmptyModificationDto, getRatioTapChangerEmptyModificationDto, twoWindingsTransformerModificationDtoToForm, twoWindingsTransformerModificationEmptyFormData, twoWindingsTransformerModificationFormSchema, twoWindingsTransformerModificationFormToDto } from "./twoWindingsTransformerModification.utils.js";
2
2
  import { getToBeEstimatedValidationSchemaObject, toBeEstimatedEmptyFormData } from "./measurements/toBeEstimated.utils.js";
3
3
  import { ToBeEstimatedForm } from "./measurements/ToBeEstimatedForm.js";
4
4
  export {
5
5
  ToBeEstimatedForm,
6
+ getPhaseTapChangerEmptyModificationDto,
7
+ getRatioTapChangerEmptyModificationDto,
6
8
  getToBeEstimatedValidationSchemaObject,
7
9
  toBeEstimatedEmptyFormData,
10
+ twoWindingsTransformerModificationDtoToForm,
8
11
  twoWindingsTransformerModificationEmptyFormData,
9
- twoWindingsTransformerModificationFormSchema
12
+ twoWindingsTransformerModificationFormSchema,
13
+ twoWindingsTransformerModificationFormToDto
10
14
  };
@@ -1,5 +1,10 @@
1
1
  import { InferType } from 'yup';
2
+ import { IntlShape } from 'react-intl';
2
3
  import { DeepNullable } from '../../../../utils';
4
+ import { PhaseTapChangerModificationDto, RatioTapChangerModificationDto, TwoWindingsTransformerModificationDto } from './twoWindingsTransformerModification.types';
5
+ import { TwoWindingsTransformerMapInfos } from '../common/twoWindingsTransformer.types';
6
+ export declare const getRatioTapChangerEmptyModificationDto: (enabled: boolean | null | undefined) => RatioTapChangerModificationDto;
7
+ export declare const getPhaseTapChangerEmptyModificationDto: (enabled: boolean | null | undefined) => PhaseTapChangerModificationDto;
3
8
  export declare const twoWindingsTransformerModificationFormSchema: import('yup').ObjectSchema<NonNullable<{
4
9
  equipmentID: string;
5
10
  equipmentName: string | null | undefined;
@@ -263,3 +268,5 @@ export declare const twoWindingsTransformerModificationFormSchema: import('yup')
263
268
  }, "">;
264
269
  export type TwoWindingsTransformerModificationFormData = InferType<typeof twoWindingsTransformerModificationFormSchema>;
265
270
  export declare const twoWindingsTransformerModificationEmptyFormData: DeepNullable<TwoWindingsTransformerModificationFormData>;
271
+ export declare const twoWindingsTransformerModificationDtoToForm: (twtDto: TwoWindingsTransformerModificationDto, includePreviousValues?: boolean) => TwoWindingsTransformerModificationFormData;
272
+ export declare const twoWindingsTransformerModificationFormToDto: (twtForm: TwoWindingsTransformerModificationFormData, editData: TwoWindingsTransformerModificationDto | undefined, intl: IntlShape, twtToModify: TwoWindingsTransformerMapInfos | null, isNodeBuilt?: boolean) => TwoWindingsTransformerModificationDto;
@@ -1,10 +1,14 @@
1
1
  import { object, string } from "yup";
2
2
  import { FieldConstants } from "../../../../utils/constants/fieldConstants.js";
3
- import "../../../../utils/conversionUtils.js";
4
- import "../../../../utils/types/equipmentType.js";
3
+ import { convertInputValue, toModificationOperation, convertOutputValue } from "../../../../utils/conversionUtils.js";
4
+ import { PHASE_REGULATION_MODES, RATIO_REGULATION_MODES } from "../../../../utils/types/equipmentType.js";
5
+ import { ModificationType } from "../../../../utils/types/modificationType.js";
6
+ import { FieldType } from "../../../../utils/types/fieldType.js";
7
+ import { addSelectedFieldToRows } from "../../../../utils/functions.js";
5
8
  import "react/jsx-runtime";
6
9
  import "@mui/icons-material";
7
- import { getBranchConnectivityWithPositionSchema, getBranchConnectivityWithPositionEmptyFormDataProps } from "../../common/connectivity/connectivityForm.utils.js";
10
+ import { sanitizeString } from "../../../../utils/ts-utils.js";
11
+ import { getBranchConnectivityWithPositionSchema, getBranchConnectivityWithPositionEmptyFormDataProps, getConnectivityFormDataProps } from "../../common/connectivity/connectivityForm.utils.js";
8
12
  import "@mui/material";
9
13
  import "react";
10
14
  import "react-intl";
@@ -31,8 +35,8 @@ import "../../../../components/ui/snackbarProvider/SnackbarProvider.js";
31
35
  import "mui-nested-menu";
32
36
  import "react-resizable-panels";
33
37
  import "react-papaparse";
34
- import { modificationPropertiesSchema } from "../../common/properties/propertyUtils.js";
35
- import { getLimitsValidationSchemaProps, getLimitsEmptyFormDataProps } from "../../common/currentLimits/limitsPane.utils.js";
38
+ import { modificationPropertiesSchema, getPropertiesFromModification, toModificationProperties } from "../../common/properties/propertyUtils.js";
39
+ import { getLimitsValidationSchemaProps, getLimitsEmptyFormDataProps, getAllLimitsFormData, formatOpLimitGroupsToFormInfos, addOperationTypeToSelectedOpLG, addModificationTypeToOpLimitsGroups } from "../../common/currentLimits/limitsPane.utils.js";
36
40
  import { getTwtCharacteristicsValidationSchemaProps, getTwtCharacteristicsEmptyFormData } from "../characteristics/twoWindingsTransformerCharacteristicsPane.utils.js";
37
41
  import "react-dom";
38
42
  import "autosuggest-highlight/match";
@@ -61,16 +65,170 @@ import "../../../../components/composite/report/report-viewer/log-table/log-tabl
61
65
  import "react-window";
62
66
  import "../../../../components/composite/report/report-treeview/treeview-item.js";
63
67
  import "../../../../components/composite/report/report-viewer/context/report-viewer-context.js";
64
- import { getBranchActiveReactivePowerValidationSchemaObject, getBranchActiveReactivePowerEmptyFormDataProperties } from "../../common/measurements/branchActiveReactivePowerForm.utils.js";
68
+ import { getBranchActiveReactivePowerValidationSchemaObject, getBranchActiveReactivePowerEmptyFormDataProperties, getBranchActiveReactivePowerEditDataProperties } from "../../common/measurements/branchActiveReactivePowerForm.utils.js";
65
69
  import "../../common/regulatingTerminal/RegulatingTerminalForm.js";
70
+ import { REGULATION_TYPES } from "../../common/voltageRegulation/voltageRegulation.utils.js";
66
71
  import "@mui/material/colors";
67
72
  import "@mui/x-charts";
68
- import "../tapChanger/tapChanger.utils.js";
73
+ import { OPERATIONAL_LIMITS_GROUPS_MODIFICATION_TYPE } from "../../common/currentLimits/operationalLimitsGroups/operationalLimitsGroups.types.js";
74
+ import { computeHighTapPosition, compareStepsWithPreviousValues, toTapChangerStepList } from "../tapChanger/tapChanger.utils.js";
69
75
  import "../tapChanger/regulationRule/CreateRuleForm.js";
70
76
  import "../tapChanger/regulationRule/CreateRuleDialog.js";
71
- import { getPhaseTapChangerValidationSchemaProps, getPhaseTapChangerEmptyFormData } from "../tapChanger/phaseTapChanger/phaseTapChanger.utils.js";
72
- import { getRatioTapChangerValidationSchemaProps, getRatioTapChangerEmptyFormData } from "../tapChanger/ratioTapChanger/ratioTapChanger.utils.js";
77
+ import { getPhaseTapChangerValidationSchemaProps, getPhaseTapChangerEmptyFormData, getPhaseTapChangerFormData, getComputedPhaseTapChangerRegulationMode, getComputedPreviousPhaseRegulationType } from "../tapChanger/phaseTapChanger/phaseTapChanger.utils.js";
78
+ import { getRatioTapChangerValidationSchemaProps, getRatioTapChangerEmptyFormData, getRatioTapChangerFormData, getComputedPreviousRatioRegulationType, computeRatioTapChangerRegulating } from "../tapChanger/ratioTapChanger/ratioTapChanger.utils.js";
73
79
  import { getToBeEstimatedValidationSchemaObject, toBeEstimatedEmptyFormData } from "./measurements/toBeEstimated.utils.js";
80
+ const getTapChangerEmptyModificationDto = (enabled) => ({
81
+ enabled: toModificationOperation(enabled),
82
+ regulationType: null,
83
+ regulationSide: null,
84
+ lowTapPosition: null,
85
+ tapPosition: null,
86
+ isRegulating: null,
87
+ targetDeadband: null,
88
+ terminalRefConnectableId: null,
89
+ terminalRefConnectableType: null,
90
+ terminalRefConnectableVlId: null,
91
+ steps: null,
92
+ hasLoadTapChangingCapabilities: null
93
+ });
94
+ const getRatioTapChangerEmptyModificationDto = (enabled) => ({
95
+ ...getTapChangerEmptyModificationDto(enabled),
96
+ targetV: null
97
+ });
98
+ const getPhaseTapChangerEmptyModificationDto = (enabled) => ({
99
+ ...getTapChangerEmptyModificationDto(enabled),
100
+ regulationMode: null,
101
+ regulationValue: null
102
+ });
103
+ const computeRatioTapChangerRegulationMode = (ratioTapForm) => {
104
+ if (ratioTapForm?.isRegulating?.value == null) {
105
+ return null;
106
+ }
107
+ if (ratioTapForm?.isRegulating?.value) {
108
+ return RATIO_REGULATION_MODES.VOLTAGE_REGULATION.id;
109
+ }
110
+ return RATIO_REGULATION_MODES.FIXED_RATIO.id;
111
+ };
112
+ const getRatioTapChangerModificationDto = (ratioTapForm, twtToModify, enabled, steps) => {
113
+ const ratioTap = getRatioTapChangerEmptyModificationDto(enabled);
114
+ ratioTap.hasLoadTapChangingCapabilities = toModificationOperation(ratioTapForm?.hasLoadTapChangingCapabilities);
115
+ ratioTap.tapPosition = toModificationOperation(ratioTapForm?.tapPosition);
116
+ ratioTap.lowTapPosition = toModificationOperation(ratioTapForm?.lowTapPosition);
117
+ ratioTap.steps = steps;
118
+ const hasLoadTapChangingCapabilities = ratioTapForm?.hasLoadTapChangingCapabilities ?? twtToModify?.ratioTapChanger?.hasLoadTapChangingCapabilities;
119
+ const regulationType = ratioTapForm?.regulationType ?? (twtToModify ? getComputedPreviousRatioRegulationType(twtToModify) : void 0);
120
+ if (hasLoadTapChangingCapabilities) {
121
+ ratioTap.regulationType = toModificationOperation(ratioTapForm?.regulationType);
122
+ ratioTap.isRegulating = toModificationOperation(
123
+ ratioTapForm?.regulationMode ? computeRatioTapChangerRegulating(ratioTapForm) : null
124
+ );
125
+ if (regulationType === REGULATION_TYPES.LOCAL.id) {
126
+ ratioTap.regulationSide = toModificationOperation(ratioTapForm?.regulationSide);
127
+ } else if (regulationType === REGULATION_TYPES.DISTANT.id) {
128
+ ratioTap.terminalRefConnectableId = toModificationOperation(ratioTapForm?.[FieldConstants.EQUIPMENT]?.id);
129
+ ratioTap.terminalRefConnectableType = toModificationOperation(
130
+ ratioTapForm?.[FieldConstants.EQUIPMENT]?.type
131
+ );
132
+ ratioTap.terminalRefConnectableVlId = toModificationOperation(ratioTapForm?.voltageLevel?.id);
133
+ }
134
+ ratioTap.targetV = toModificationOperation(ratioTapForm?.targetV != null ? Number(ratioTapForm.targetV) : null);
135
+ ratioTap.targetDeadband = toModificationOperation(
136
+ ratioTapForm?.targetDeadband != null ? Number(ratioTapForm.targetDeadband) : null
137
+ );
138
+ }
139
+ return ratioTap;
140
+ };
141
+ const computeRatioTapDto = (ratioTapForm, editData, twtToModify, isNodeBuilt = false) => {
142
+ const enableRatioTapChanger = ratioTapForm?.enabled !== !!twtToModify?.ratioTapChanger ? ratioTapForm?.enabled : null;
143
+ const areRatioStepsModified = isNodeBuilt && editData?.ratioTapChanger?.steps ? true : !compareStepsWithPreviousValues(
144
+ ratioTapForm?.steps,
145
+ toTapChangerStepList(twtToModify?.ratioTapChanger?.steps)
146
+ );
147
+ if (ratioTapForm?.enabled) {
148
+ const ratioTapChangerSteps = areRatioStepsModified ? (ratioTapForm?.steps ?? []).map((step) => ({
149
+ index: step.index,
150
+ r: step.r ?? 0,
151
+ x: step.x ?? 0,
152
+ g: step.g ?? 0,
153
+ b: step.b ?? 0,
154
+ rho: step.rho ?? 0
155
+ })) : null;
156
+ return getRatioTapChangerModificationDto(
157
+ ratioTapForm,
158
+ twtToModify,
159
+ enableRatioTapChanger,
160
+ ratioTapChangerSteps
161
+ );
162
+ }
163
+ return getRatioTapChangerEmptyModificationDto(enableRatioTapChanger);
164
+ };
165
+ const computePhaseTapChangerRegulationValue = (phaseTapForm, currentRegulationMode) => {
166
+ const regulationMode = phaseTapForm?.regulationMode || currentRegulationMode;
167
+ switch (regulationMode) {
168
+ case PHASE_REGULATION_MODES.ACTIVE_POWER_CONTROL.id:
169
+ return phaseTapForm?.flowSetPointRegulatingValue ?? void 0;
170
+ case PHASE_REGULATION_MODES.CURRENT_LIMITER.id:
171
+ return phaseTapForm?.currentLimiterRegulatingValue ?? void 0;
172
+ default:
173
+ return void 0;
174
+ }
175
+ };
176
+ const getPhaseTapChangerModificationDto = (phaseTapForm, twtToModify, enabled, steps) => {
177
+ const phaseTap = getPhaseTapChangerEmptyModificationDto(enabled);
178
+ phaseTap.isRegulating = toModificationOperation(
179
+ phaseTapForm?.regulationMode ? phaseTapForm?.regulationMode !== PHASE_REGULATION_MODES.OFF.id : null
180
+ );
181
+ phaseTap.regulationMode = toModificationOperation(
182
+ phaseTapForm?.regulationMode !== PHASE_REGULATION_MODES.OFF.id ? phaseTapForm?.regulationMode : null
183
+ );
184
+ phaseTap.tapPosition = toModificationOperation(phaseTapForm?.tapPosition);
185
+ phaseTap.lowTapPosition = toModificationOperation(phaseTapForm?.lowTapPosition);
186
+ phaseTap.steps = steps;
187
+ const regulationMode = phaseTapForm?.regulationMode ?? getComputedPhaseTapChangerRegulationMode(twtToModify?.phaseTapChanger)?.id;
188
+ const regulationType = phaseTapForm?.regulationType ?? (twtToModify ? getComputedPreviousPhaseRegulationType(twtToModify) : void 0);
189
+ if (regulationMode) {
190
+ phaseTap.regulationType = toModificationOperation(phaseTapForm?.regulationType);
191
+ if (regulationType === REGULATION_TYPES.LOCAL.id) {
192
+ phaseTap.regulationSide = toModificationOperation(phaseTapForm?.regulationSide);
193
+ } else if (regulationType === REGULATION_TYPES.DISTANT.id) {
194
+ phaseTap.terminalRefConnectableId = toModificationOperation(phaseTapForm?.[FieldConstants.EQUIPMENT]?.id);
195
+ phaseTap.terminalRefConnectableType = toModificationOperation(
196
+ phaseTapForm?.[FieldConstants.EQUIPMENT]?.type
197
+ );
198
+ phaseTap.terminalRefConnectableVlId = toModificationOperation(phaseTapForm?.voltageLevel?.id);
199
+ }
200
+ phaseTap.regulationValue = toModificationOperation(
201
+ computePhaseTapChangerRegulationValue(phaseTapForm, twtToModify?.phaseTapChanger?.regulationMode)
202
+ );
203
+ phaseTap.targetDeadband = toModificationOperation(phaseTapForm?.targetDeadband);
204
+ }
205
+ return phaseTap;
206
+ };
207
+ const computePhaseTapDto = (phaseTapForm, editData, twtToModify, isNodeBuilt = false) => {
208
+ const enablePhaseTapChanger = phaseTapForm?.enabled !== !!twtToModify?.phaseTapChanger ? phaseTapForm?.enabled : null;
209
+ const arePhaseStepsModified = isNodeBuilt && editData?.phaseTapChanger?.steps ? true : !compareStepsWithPreviousValues(
210
+ phaseTapForm?.steps,
211
+ toTapChangerStepList(twtToModify?.phaseTapChanger?.steps)
212
+ );
213
+ if (phaseTapForm?.enabled) {
214
+ const phaseTapChangerSteps = arePhaseStepsModified ? (phaseTapForm?.steps ?? []).map((step) => ({
215
+ index: step.index,
216
+ r: step.r ?? 0,
217
+ x: step.x ?? 0,
218
+ g: step.g ?? 0,
219
+ b: step.b ?? 0,
220
+ rho: step.rho ?? 0,
221
+ alpha: step.alpha ?? 0
222
+ })) : null;
223
+ return getPhaseTapChangerModificationDto(
224
+ phaseTapForm,
225
+ twtToModify,
226
+ enablePhaseTapChanger,
227
+ phaseTapChangerSteps
228
+ );
229
+ }
230
+ return getPhaseTapChangerEmptyModificationDto(enablePhaseTapChanger);
231
+ };
74
232
  const twoWindingsTransformerModificationFormSchema = object().shape({
75
233
  [FieldConstants.EQUIPMENT_ID]: string().required(),
76
234
  [FieldConstants.EQUIPMENT_NAME]: string().nullable(),
@@ -94,7 +252,152 @@ const twoWindingsTransformerModificationEmptyFormData = {
94
252
  [FieldConstants.PHASE_TAP_CHANGER]: getPhaseTapChangerEmptyFormData(true),
95
253
  AdditionalProperties: []
96
254
  };
255
+ const twoWindingsTransformerModificationDtoToForm = (twtDto, includePreviousValues = true) => {
256
+ const ratioTap = twtDto?.ratioTapChanger;
257
+ const phaseTap = twtDto?.phaseTapChanger;
258
+ return {
259
+ equipmentName: twtDto.equipmentName?.value,
260
+ equipmentID: twtDto.equipmentId,
261
+ connectivity: {
262
+ connectivity1: getConnectivityFormDataProps({
263
+ voltageLevelId: twtDto?.voltageLevelId1?.value ?? null,
264
+ busbarSectionId: twtDto?.busOrBusbarSectionId1?.value ?? null,
265
+ connectionName: twtDto?.connectionName1?.value ?? "",
266
+ connectionDirection: twtDto?.connectionDirection1?.value ?? null,
267
+ connectionPosition: twtDto?.connectionPosition1?.value ?? null,
268
+ terminalConnected: twtDto?.terminal1Connected?.value ?? null,
269
+ isEquipmentModification: true
270
+ }),
271
+ connectivity2: getConnectivityFormDataProps({
272
+ voltageLevelId: twtDto?.voltageLevelId2?.value ?? null,
273
+ busbarSectionId: twtDto?.busOrBusbarSectionId2?.value ?? null,
274
+ connectionName: twtDto?.connectionName2?.value ?? "",
275
+ connectionDirection: twtDto?.connectionDirection2?.value ?? null,
276
+ connectionPosition: twtDto?.connectionPosition2?.value ?? null,
277
+ terminalConnected: twtDto?.terminal2Connected?.value ?? null,
278
+ isEquipmentModification: true
279
+ })
280
+ },
281
+ characteristics: {
282
+ r: twtDto.r?.value ?? null,
283
+ x: twtDto.x?.value ?? null,
284
+ g: convertInputValue(FieldType.G, twtDto.g?.value),
285
+ b: convertInputValue(FieldType.B, twtDto.b?.value),
286
+ ratedU1: twtDto.ratedU1?.value ?? null,
287
+ ratedU2: twtDto.ratedU2?.value ?? null,
288
+ ratedS: twtDto.ratedS?.value ?? null
289
+ },
290
+ ...getPropertiesFromModification(twtDto?.properties, includePreviousValues),
291
+ stateEstimation: getBranchActiveReactivePowerEditDataProperties(twtDto),
292
+ toBeEstimated: {
293
+ ratioTapChangerStatus: twtDto.ratioTapChangerToBeEstimated?.value ?? null,
294
+ phaseTapChangerStatus: twtDto.phaseTapChangerToBeEstimated?.value ?? null
295
+ },
296
+ ...getAllLimitsFormData(
297
+ formatOpLimitGroupsToFormInfos(twtDto.operationalLimitsGroups),
298
+ twtDto.selectedOperationalLimitsGroupId1?.value ?? null,
299
+ twtDto.selectedOperationalLimitsGroupId2?.value ?? null,
300
+ twtDto.enableOLGModification
301
+ ),
302
+ ...getRatioTapChangerFormData({
303
+ enabled: ratioTap?.enabled?.value,
304
+ hasLoadTapChangingCapabilities: ratioTap?.hasLoadTapChangingCapabilities?.value ?? null,
305
+ regulationMode: computeRatioTapChangerRegulationMode(ratioTap),
306
+ regulationType: ratioTap?.regulationType?.value,
307
+ regulationSide: ratioTap?.regulationSide?.value ?? null,
308
+ targetV: ratioTap?.targetV?.value,
309
+ targetDeadband: ratioTap?.targetDeadband?.value,
310
+ lowTapPosition: ratioTap?.lowTapPosition?.value,
311
+ highTapPosition: computeHighTapPosition(ratioTap?.steps ?? []),
312
+ tapPosition: ratioTap?.tapPosition?.value,
313
+ steps: addSelectedFieldToRows(ratioTap?.steps ?? []),
314
+ equipmentId: ratioTap?.terminalRefConnectableId?.value,
315
+ equipmentType: ratioTap?.terminalRefConnectableType?.value,
316
+ voltageLevelId: ratioTap?.terminalRefConnectableVlId?.value
317
+ }),
318
+ ...getPhaseTapChangerFormData({
319
+ enabled: phaseTap?.enabled?.value,
320
+ regulationMode: phaseTap?.isRegulating?.value ? phaseTap?.regulationMode?.value : PHASE_REGULATION_MODES.OFF.id,
321
+ regulationType: phaseTap?.regulationType?.value,
322
+ regulationSide: phaseTap?.regulationSide?.value ?? null,
323
+ currentLimiterRegulatingValue: phaseTap?.regulationMode?.value === PHASE_REGULATION_MODES.CURRENT_LIMITER.id ? phaseTap?.regulationValue?.value : void 0,
324
+ flowSetpointRegulatingValue: phaseTap?.regulationMode?.value === PHASE_REGULATION_MODES.ACTIVE_POWER_CONTROL.id ? phaseTap?.regulationValue?.value : void 0,
325
+ targetDeadband: phaseTap?.targetDeadband?.value,
326
+ lowTapPosition: phaseTap?.lowTapPosition?.value,
327
+ highTapPosition: computeHighTapPosition(phaseTap?.steps ?? []),
328
+ tapPosition: phaseTap?.tapPosition?.value,
329
+ steps: addSelectedFieldToRows(phaseTap?.steps ?? []),
330
+ equipmentID: phaseTap?.terminalRefConnectableId?.value,
331
+ equipmentType: phaseTap?.terminalRefConnectableType?.value,
332
+ voltageLevelId: phaseTap?.terminalRefConnectableVlId?.value
333
+ })
334
+ };
335
+ };
336
+ const twoWindingsTransformerModificationFormToDto = (twtForm, editData, intl, twtToModify, isNodeBuilt = false) => {
337
+ const connectivity1 = twtForm.connectivity?.connectivity1;
338
+ const connectivity2 = twtForm.connectivity?.connectivity2;
339
+ const { characteristics, limits } = twtForm;
340
+ const enableOlg = Boolean(limits.enableOLGModification);
341
+ return {
342
+ type: ModificationType.TWO_WINDINGS_TRANSFORMER_MODIFICATION,
343
+ equipmentId: twtForm.equipmentID,
344
+ equipmentName: toModificationOperation(sanitizeString(twtForm.equipmentName)),
345
+ properties: toModificationProperties(twtForm),
346
+ r: toModificationOperation(characteristics?.r),
347
+ x: toModificationOperation(characteristics?.x),
348
+ operationalLimitsGroupsModificationType: enableOlg ? OPERATIONAL_LIMITS_GROUPS_MODIFICATION_TYPE.REPLACE : null,
349
+ enableOLGModification: enableOlg,
350
+ operationalLimitsGroups: enableOlg ? addModificationTypeToOpLimitsGroups(
351
+ limits.operationalLimitsGroups ?? []
352
+ ) : [],
353
+ selectedOperationalLimitsGroupId1: addOperationTypeToSelectedOpLG(
354
+ limits?.selectedOperationalLimitsGroupId1,
355
+ intl.formatMessage({
356
+ id: "None"
357
+ })
358
+ ),
359
+ selectedOperationalLimitsGroupId2: addOperationTypeToSelectedOpLG(
360
+ limits?.selectedOperationalLimitsGroupId2,
361
+ intl.formatMessage({
362
+ id: "None"
363
+ })
364
+ ),
365
+ voltageLevelId1: toModificationOperation(connectivity1?.voltageLevel?.id),
366
+ voltageLevelId2: toModificationOperation(connectivity2?.voltageLevel?.id),
367
+ busOrBusbarSectionId1: toModificationOperation(connectivity1?.busOrBusbarSection?.id),
368
+ busOrBusbarSectionId2: toModificationOperation(connectivity2?.busOrBusbarSection?.id),
369
+ connectionName1: toModificationOperation(sanitizeString(connectivity1?.connectionName)),
370
+ connectionName2: toModificationOperation(sanitizeString(connectivity2?.connectionName)),
371
+ connectionDirection1: toModificationOperation(connectivity1?.connectionDirection),
372
+ connectionDirection2: toModificationOperation(connectivity2?.connectionDirection),
373
+ connectionPosition1: toModificationOperation(connectivity1?.connectionPosition),
374
+ connectionPosition2: toModificationOperation(connectivity2?.connectionPosition),
375
+ terminal1Connected: toModificationOperation(connectivity1?.terminalConnected),
376
+ terminal2Connected: toModificationOperation(connectivity2?.terminalConnected),
377
+ p1MeasurementValue: toModificationOperation(twtForm.stateEstimation?.measurementP1?.value),
378
+ p1MeasurementValidity: toModificationOperation(twtForm.stateEstimation?.measurementP1?.validity),
379
+ q1MeasurementValue: toModificationOperation(twtForm.stateEstimation?.measurementQ1?.value),
380
+ q1MeasurementValidity: toModificationOperation(twtForm.stateEstimation?.measurementQ1?.validity),
381
+ p2MeasurementValue: toModificationOperation(twtForm.stateEstimation?.measurementP2?.value),
382
+ p2MeasurementValidity: toModificationOperation(twtForm.stateEstimation?.measurementP2?.validity),
383
+ q2MeasurementValue: toModificationOperation(twtForm.stateEstimation?.measurementQ2?.value),
384
+ q2MeasurementValidity: toModificationOperation(twtForm.stateEstimation?.measurementQ2?.validity),
385
+ g: toModificationOperation(convertOutputValue(FieldType.G, characteristics?.g)),
386
+ b: toModificationOperation(convertOutputValue(FieldType.B, characteristics?.b)),
387
+ ratedS: toModificationOperation(characteristics?.ratedS),
388
+ ratedU1: toModificationOperation(characteristics?.ratedU1),
389
+ ratedU2: toModificationOperation(characteristics?.ratedU2),
390
+ ratioTapChanger: computeRatioTapDto(twtForm.ratioTapChanger, editData, twtToModify, isNodeBuilt),
391
+ phaseTapChanger: computePhaseTapDto(twtForm.phaseTapChanger, editData, twtToModify, isNodeBuilt),
392
+ ratioTapChangerToBeEstimated: toModificationOperation(twtForm?.toBeEstimated?.ratioTapChangerStatus),
393
+ phaseTapChangerToBeEstimated: toModificationOperation(twtForm?.toBeEstimated?.phaseTapChangerStatus)
394
+ };
395
+ };
97
396
  export {
397
+ getPhaseTapChangerEmptyModificationDto,
398
+ getRatioTapChangerEmptyModificationDto,
399
+ twoWindingsTransformerModificationDtoToForm,
98
400
  twoWindingsTransformerModificationEmptyFormData,
99
- twoWindingsTransformerModificationFormSchema
401
+ twoWindingsTransformerModificationFormSchema,
402
+ twoWindingsTransformerModificationFormToDto
100
403
  };
@@ -7,7 +7,7 @@ import { ImportRuleDialog } from "./regulationRule/ImportRuleDialog.js";
7
7
  import { getComputedPhaseRegulationType, getComputedPhaseRegulationTypeId, getComputedPhaseTapChangerRegulationMode, getComputedPreviousPhaseRegulationType, getPhaseTapChangerEmptyFormData, getPhaseTapChangerFormData, getPhaseTapChangerValidationSchemaProps, getPhaseTapRegulationSideId } from "./phaseTapChanger/phaseTapChanger.utils.js";
8
8
  import { PhaseTapChangerPaneSteps } from "./phaseTapChanger/PhaseTapChangerPaneSteps.js";
9
9
  import { PhaseTapChangerPane } from "./phaseTapChanger/PhaseTapChangerPane.js";
10
- import { getComputedPreviousRatioRegulationType, getComputedRegulationMode, getComputedRegulationModeId, getComputedRegulationType, getComputedRegulationTypeId, getComputedTapSide, getComputedTapSideId, getInitialTwtRatioRegulationModeId, getRatioTapChangerEmptyFormData, getRatioTapChangerFormData, getRatioTapChangerValidationSchemaProps } from "./ratioTapChanger/ratioTapChanger.utils.js";
10
+ import { computeRatioTapChangerRegulating, getComputedPreviousRatioRegulationType, getComputedRegulationMode, getComputedRegulationModeId, getComputedRegulationType, getComputedRegulationTypeId, getComputedTapSide, getComputedTapSideId, getInitialTwtRatioRegulationModeId, getRatioTapChangerEmptyFormData, getRatioTapChangerFormData, getRatioTapChangerValidationSchemaProps } from "./ratioTapChanger/ratioTapChanger.utils.js";
11
11
  import { RatioTapChangerPaneSteps } from "./ratioTapChanger/RatioTapChangerPaneSteps.js";
12
12
  import { RatioTapChangerPane } from "./ratioTapChanger/RatioTapChangerPane.js";
13
13
  import { RegulatedTerminalSection } from "./RegulatedTerminalSection.js";
@@ -25,6 +25,7 @@ export {
25
25
  TapChangerSteps,
26
26
  compareStepsWithPreviousValues,
27
27
  computeHighTapPosition,
28
+ computeRatioTapChangerRegulating,
28
29
  getComputedPhaseRegulationType,
29
30
  getComputedPhaseRegulationTypeId,
30
31
  getComputedPhaseTapChangerRegulationMode,
@@ -1,9 +1,10 @@
1
- import { getComputedPreviousRatioRegulationType, getComputedRegulationMode, getComputedRegulationModeId, getComputedRegulationType, getComputedRegulationTypeId, getComputedTapSide, getComputedTapSideId, getInitialTwtRatioRegulationModeId, getRatioTapChangerEmptyFormData, getRatioTapChangerFormData, getRatioTapChangerValidationSchemaProps } from "./ratioTapChanger.utils.js";
1
+ import { computeRatioTapChangerRegulating, getComputedPreviousRatioRegulationType, getComputedRegulationMode, getComputedRegulationModeId, getComputedRegulationType, getComputedRegulationTypeId, getComputedTapSide, getComputedTapSideId, getInitialTwtRatioRegulationModeId, getRatioTapChangerEmptyFormData, getRatioTapChangerFormData, getRatioTapChangerValidationSchemaProps } from "./ratioTapChanger.utils.js";
2
2
  import { RatioTapChangerPaneSteps } from "./RatioTapChangerPaneSteps.js";
3
3
  import { RatioTapChangerPane } from "./RatioTapChangerPane.js";
4
4
  export {
5
5
  RatioTapChangerPane,
6
6
  RatioTapChangerPaneSteps,
7
+ computeRatioTapChangerRegulating,
7
8
  getComputedPreviousRatioRegulationType,
8
9
  getComputedRegulationMode,
9
10
  getComputedRegulationModeId,
@@ -129,4 +129,5 @@ export declare const getComputedTapSide: (twt: TwoWindingsTransformerMapInfos) =
129
129
  readonly label: "RegulatedSide2";
130
130
  } | null;
131
131
  export declare const getComputedTapSideId: (twt: TwoWindingsTransformerMapInfos) => "SIDE1" | "SIDE2" | null;
132
+ export declare const computeRatioTapChangerRegulating: (ratioTapChangerFormValues: RatioTapChangerFormSchema) => boolean;
132
133
  export {};
@@ -196,7 +196,11 @@ const getComputedTapSide = (twt) => {
196
196
  const getComputedTapSideId = (twt) => {
197
197
  return getComputedTapSide(twt)?.id || null;
198
198
  };
199
+ const computeRatioTapChangerRegulating = (ratioTapChangerFormValues) => {
200
+ return ratioTapChangerFormValues?.regulationMode === RATIO_REGULATION_MODES.VOLTAGE_REGULATION.id;
201
+ };
199
202
  export {
203
+ computeRatioTapChangerRegulating,
200
204
  getComputedPreviousRatioRegulationType,
201
205
  getComputedRegulationMode,
202
206
  getComputedRegulationModeId,
package/dist/index.js CHANGED
@@ -430,14 +430,14 @@ import { ImportRuleDialog } from "./features/network-modifications/twoWindingsTr
430
430
  import { getComputedPhaseRegulationType, getComputedPhaseRegulationTypeId, getComputedPhaseTapChangerRegulationMode, getComputedPreviousPhaseRegulationType, getPhaseTapChangerEmptyFormData, getPhaseTapChangerFormData, getPhaseTapChangerValidationSchemaProps, getPhaseTapRegulationSideId } from "./features/network-modifications/twoWindingsTransformer/tapChanger/phaseTapChanger/phaseTapChanger.utils.js";
431
431
  import { PhaseTapChangerPaneSteps } from "./features/network-modifications/twoWindingsTransformer/tapChanger/phaseTapChanger/PhaseTapChangerPaneSteps.js";
432
432
  import { PhaseTapChangerPane } from "./features/network-modifications/twoWindingsTransformer/tapChanger/phaseTapChanger/PhaseTapChangerPane.js";
433
- import { getComputedPreviousRatioRegulationType, getComputedRegulationMode, getComputedRegulationModeId, getComputedRegulationType, getComputedRegulationTypeId, getComputedTapSide, getComputedTapSideId, getInitialTwtRatioRegulationModeId, getRatioTapChangerEmptyFormData, getRatioTapChangerFormData, getRatioTapChangerValidationSchemaProps } from "./features/network-modifications/twoWindingsTransformer/tapChanger/ratioTapChanger/ratioTapChanger.utils.js";
433
+ import { computeRatioTapChangerRegulating, getComputedPreviousRatioRegulationType, getComputedRegulationMode, getComputedRegulationModeId, getComputedRegulationType, getComputedRegulationTypeId, getComputedTapSide, getComputedTapSideId, getInitialTwtRatioRegulationModeId, getRatioTapChangerEmptyFormData, getRatioTapChangerFormData, getRatioTapChangerValidationSchemaProps } from "./features/network-modifications/twoWindingsTransformer/tapChanger/ratioTapChanger/ratioTapChanger.utils.js";
434
434
  import { RatioTapChangerPaneSteps } from "./features/network-modifications/twoWindingsTransformer/tapChanger/ratioTapChanger/RatioTapChangerPaneSteps.js";
435
435
  import { RatioTapChangerPane } from "./features/network-modifications/twoWindingsTransformer/tapChanger/ratioTapChanger/RatioTapChangerPane.js";
436
436
  import { RegulatedTerminalSection } from "./features/network-modifications/twoWindingsTransformer/tapChanger/RegulatedTerminalSection.js";
437
437
  import { TapChangerSteps } from "./features/network-modifications/twoWindingsTransformer/tapChanger/TapChangerSteps.js";
438
438
  import { PhaseTapChangerRegulationMode } from "./features/network-modifications/twoWindingsTransformer/creation/twoWindingsTransformerCreation.types.js";
439
439
  import { computeRatioTapChangerRegulationMode, getRegulationTypeForEdit, getTapSideForEdit, twoWindingsTransformerCreationDtoToForm, twoWindingsTransformerCreationEmptyFormData, twoWindingsTransformerCreationFormSchema, twoWindingsTransformerCreationFormToDto } from "./features/network-modifications/twoWindingsTransformer/creation/twoWindingsTransformerCreation.utils.js";
440
- import { twoWindingsTransformerModificationEmptyFormData, twoWindingsTransformerModificationFormSchema } from "./features/network-modifications/twoWindingsTransformer/modification/twoWindingsTransformerModification.utils.js";
440
+ import { getPhaseTapChangerEmptyModificationDto, getRatioTapChangerEmptyModificationDto, twoWindingsTransformerModificationDtoToForm, twoWindingsTransformerModificationEmptyFormData, twoWindingsTransformerModificationFormSchema, twoWindingsTransformerModificationFormToDto } from "./features/network-modifications/twoWindingsTransformer/modification/twoWindingsTransformerModification.utils.js";
441
441
  import { getToBeEstimatedValidationSchemaObject, toBeEstimatedEmptyFormData } from "./features/network-modifications/twoWindingsTransformer/modification/measurements/toBeEstimated.utils.js";
442
442
  import { ToBeEstimatedForm } from "./features/network-modifications/twoWindingsTransformer/modification/measurements/ToBeEstimatedForm.js";
443
443
  import { StaticVarCompensatorDialogHeader } from "./features/network-modifications/static-var-compensator/common/static-var-compensator-dialog-header.js";
@@ -1343,6 +1343,7 @@ export {
1343
1343
  componentsFr,
1344
1344
  computeHighTapPosition,
1345
1345
  computeQ0,
1346
+ computeRatioTapChangerRegulating,
1346
1347
  computeRatioTapChangerRegulationMode,
1347
1348
  computeSwitchedOnValue,
1348
1349
  computeTagMinSize,
@@ -1603,6 +1604,7 @@ export {
1603
1604
  getOptionLabel,
1604
1605
  getPccMinStudyParameters,
1605
1606
  getPhaseTapChangerEmptyFormData,
1607
+ getPhaseTapChangerEmptyModificationDto,
1606
1608
  getPhaseTapChangerFormData,
1607
1609
  getPhaseTapChangerValidationSchemaProps,
1608
1610
  getPhaseTapRegulationSideId,
@@ -1617,6 +1619,7 @@ export {
1617
1619
  getPropertyValue,
1618
1620
  getRangeInputSchema,
1619
1621
  getRatioTapChangerEmptyFormData,
1622
+ getRatioTapChangerEmptyModificationDto,
1620
1623
  getRatioTapChangerFormData,
1621
1624
  getRatioTapChangerValidationSchemaProps,
1622
1625
  getReactiveCapabilityCurveValidationSchema,
@@ -1870,8 +1873,10 @@ export {
1870
1873
  twoWindingsTransformerCreationEmptyFormData,
1871
1874
  twoWindingsTransformerCreationFormSchema,
1872
1875
  twoWindingsTransformerCreationFormToDto,
1876
+ twoWindingsTransformerModificationDtoToForm,
1873
1877
  twoWindingsTransformerModificationEmptyFormData,
1874
1878
  twoWindingsTransformerModificationFormSchema,
1879
+ twoWindingsTransformerModificationFormToDto,
1875
1880
  unitToKiloUnit,
1876
1881
  unitToMicroUnit,
1877
1882
  unmarkEditingGlobalFilter,
@@ -316,6 +316,7 @@ export declare const networkModificationsEn: {
316
316
  OnLoad: string;
317
317
  RegulationMode: string;
318
318
  TargetVoltage: string;
319
+ None: string;
319
320
  TargetVoltageMustBeGreaterThanZero: string;
320
321
  Deadband: string;
321
322
  TargetDeadbandMustBeGreaterOrEqualToZero: string;
@@ -359,6 +360,11 @@ export declare const networkModificationsEn: {
359
360
  GeneratePhaseTapRowsError: string;
360
361
  GenerateRatioTapRowsError: string;
361
362
  RatioValuesError: string;
363
+ ModifyTwoWindingsTransformer: string;
364
+ TwoWindingsTransformerModificationError: string;
365
+ EstimateTapPositionSection: string;
366
+ RatioTapChangerEstimateTapPosition: string;
367
+ PhaseTapChangerEstimateTapPosition: string;
362
368
  maximumSusceptance: string;
363
369
  minSusceptance: string;
364
370
  maxQAtVnominal: string;
@@ -311,6 +311,7 @@ const networkModificationsEn = {
311
311
  OnLoad: "On-load tap changing",
312
312
  RegulationMode: "Regulation mode",
313
313
  TargetVoltage: "Voltage setpoint",
314
+ None: "None",
314
315
  TargetVoltageMustBeGreaterThanZero: "Voltage value must be greater than 0",
315
316
  Deadband: "Deadband",
316
317
  TargetDeadbandMustBeGreaterOrEqualToZero: "Deadband value must be greater than or equal to 0",
@@ -354,6 +355,11 @@ const networkModificationsEn = {
354
355
  GeneratePhaseTapRowsError: "Please generate the phase changer steps",
355
356
  GenerateRatioTapRowsError: "Please generate the ratio changer steps",
356
357
  RatioValuesError: "The values of the ratio tap ratios must be ordered and without duplicates",
358
+ ModifyTwoWindingsTransformer: "Modify a 2 windings transformer",
359
+ TwoWindingsTransformerModificationError: "Error while modifying a 2 windings transformer",
360
+ EstimateTapPositionSection: "Estimate tap position",
361
+ RatioTapChangerEstimateTapPosition: "Ratio tap changer",
362
+ PhaseTapChangerEstimateTapPosition: "Phase tap changer",
357
363
  maximumSusceptance: "Susceptance max",
358
364
  minSusceptance: "Susceptance min",
359
365
  maxQAtVnominal: "Q max at nominal voltage",
@@ -316,6 +316,7 @@ export declare const networkModificationsFr: {
316
316
  OnLoad: string;
317
317
  RegulationMode: string;
318
318
  TargetVoltage: string;
319
+ None: string;
319
320
  TargetVoltageMustBeGreaterThanZero: string;
320
321
  Deadband: string;
321
322
  TargetDeadbandMustBeGreaterOrEqualToZero: string;
@@ -359,6 +360,11 @@ export declare const networkModificationsFr: {
359
360
  GeneratePhaseTapRowsError: string;
360
361
  GenerateRatioTapRowsError: string;
361
362
  RatioValuesError: string;
363
+ ModifyTwoWindingsTransformer: string;
364
+ TwoWindingsTransformerModificationError: string;
365
+ EstimateTapPositionSection: string;
366
+ RatioTapChangerEstimateTapPosition: string;
367
+ PhaseTapChangerEstimateTapPosition: string;
362
368
  maximumSusceptance: string;
363
369
  minSusceptance: string;
364
370
  maxQAtVnominal: string;
@@ -311,6 +311,7 @@ const networkModificationsFr = {
311
311
  OnLoad: "Passage de prises en charge",
312
312
  RegulationMode: "Mode de réglage",
313
313
  TargetVoltage: "Consigne de tension",
314
+ None: "Aucun",
314
315
  TargetVoltageMustBeGreaterThanZero: "La tension doit être supérieure à 0",
315
316
  Deadband: "Bande morte",
316
317
  TargetDeadbandMustBeGreaterOrEqualToZero: "La valeur de la bande morte doit être supérieure ou égale à 0",
@@ -354,6 +355,11 @@ const networkModificationsFr = {
354
355
  GeneratePhaseTapRowsError: "Veuillez générer les prises du déphaseur",
355
356
  GenerateRatioTapRowsError: "Veuillez générer les prises du régleur",
356
357
  RatioValuesError: "Les rapports de transformation doivent être ordonnés et sans duplication",
358
+ ModifyTwoWindingsTransformer: "Modifier un transformateur à 2 enroulements",
359
+ TwoWindingsTransformerModificationError: "Erreur lors de la modification d'un transformateur à 2 enroulement",
360
+ EstimateTapPositionSection: "Estimer prise",
361
+ RatioTapChangerEstimateTapPosition: "Régleur",
362
+ PhaseTapChangerEstimateTapPosition: "Déphaseur",
357
363
  maximumSusceptance: "Susceptance max",
358
364
  minSusceptance: "Susceptance min",
359
365
  maxQAtVnominal: "Q max à tension nominale",
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@gridsuite/commons-ui",
3
- "version": "0.273.0",
3
+ "version": "0.274.0",
4
4
  "description": "common react components for gridsuite applications",
5
5
  "author": "gridsuite team",
6
6
  "homepage": "https://github.com/gridsuite",