@gridsuite/commons-ui 0.270.0 → 0.271.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 (132) hide show
  1. package/dist/components/ui/dialogs/customMuiDialog/CustomMuiDialog.d.ts +10 -3
  2. package/dist/components/ui/dialogs/customMuiDialog/CustomMuiDialog.js +33 -28
  3. package/dist/features/index.js +87 -2
  4. package/dist/features/network-modifications/common/branch/branchCreation.types.d.ts +26 -0
  5. package/dist/features/network-modifications/common/branch/branchModification.types.d.ts +36 -0
  6. package/dist/features/network-modifications/common/branch/branchModification.types.js +1 -0
  7. package/dist/features/network-modifications/{line/characteristics/lineCharacteristicsPane.types.d.ts → common/branch/index.d.ts} +2 -8
  8. package/dist/features/network-modifications/common/branch/index.js +1 -0
  9. package/dist/features/network-modifications/common/connectivity/connectivityForm.utils.d.ts +2 -0
  10. package/dist/features/network-modifications/common/currentLimits/limits.types.d.ts +1 -0
  11. package/dist/features/network-modifications/common/currentLimits/limitsPane.utils.d.ts +2 -2
  12. package/dist/features/network-modifications/common/index.d.ts +1 -0
  13. package/dist/features/network-modifications/common/reactiveLimits/reactiveCapabilityCurve/reactiveCapability.utils.js +1 -1
  14. package/dist/features/network-modifications/common/regulatingTerminal/regulatingTerminal.utils.d.ts +2 -2
  15. package/dist/features/network-modifications/common/regulatingTerminal/regulatingTerminal.utils.js +2 -2
  16. package/dist/features/network-modifications/index.d.ts +1 -0
  17. package/dist/features/network-modifications/index.js +87 -2
  18. package/dist/features/network-modifications/line/characteristics/index.d.ts +0 -1
  19. package/dist/features/network-modifications/line/characteristics/index.js +1 -2
  20. package/dist/features/network-modifications/line/characteristics/lineCharacteristicsPane.utils.d.ts +4 -19
  21. package/dist/features/network-modifications/line/characteristics/lineCharacteristicsPane.utils.js +0 -14
  22. package/dist/features/network-modifications/line/creation/lineCreation.types.d.ts +6 -26
  23. package/dist/features/network-modifications/line/index.js +1 -2
  24. package/dist/features/network-modifications/line/modification/lineModification.types.d.ts +3 -35
  25. package/dist/features/network-modifications/twoWindingsTransformer/characteristics/TwoWindingsTransformerCharacteristicsPane.d.ts +7 -0
  26. package/dist/features/network-modifications/twoWindingsTransformer/characteristics/TwoWindingsTransformerCharacteristicsPane.js +168 -0
  27. package/dist/features/network-modifications/twoWindingsTransformer/characteristics/index.d.ts +8 -0
  28. package/dist/features/network-modifications/twoWindingsTransformer/characteristics/index.js +8 -0
  29. package/dist/features/network-modifications/twoWindingsTransformer/characteristics/twoWindingsTransformerCharacteristicsPane.utils.d.ts +41 -0
  30. package/dist/features/network-modifications/twoWindingsTransformer/characteristics/twoWindingsTransformerCharacteristicsPane.utils.js +51 -0
  31. package/dist/features/network-modifications/twoWindingsTransformer/common/TwoWindingsTransformerDialogHeader.d.ts +6 -0
  32. package/dist/features/network-modifications/twoWindingsTransformer/common/TwoWindingsTransformerDialogHeader.js +123 -0
  33. package/dist/features/network-modifications/twoWindingsTransformer/common/TwoWindingsTransformerDialogTabs.d.ts +9 -0
  34. package/dist/features/network-modifications/twoWindingsTransformer/common/TwoWindingsTransformerDialogTabs.js +89 -0
  35. package/dist/features/network-modifications/twoWindingsTransformer/common/TwoWindingsTransformerDialogTabsContent.d.ts +14 -0
  36. package/dist/features/network-modifications/twoWindingsTransformer/common/TwoWindingsTransformerDialogTabsContent.js +118 -0
  37. package/dist/features/network-modifications/twoWindingsTransformer/common/TwoWindingsTransformerForm.d.ts +6 -0
  38. package/dist/features/network-modifications/twoWindingsTransformer/common/TwoWindingsTransformerForm.js +47 -0
  39. package/dist/features/network-modifications/twoWindingsTransformer/common/index.d.ts +12 -0
  40. package/dist/features/network-modifications/twoWindingsTransformer/common/index.js +13 -0
  41. package/dist/features/network-modifications/twoWindingsTransformer/common/twoWindingsTransformer.types.d.ts +87 -0
  42. package/dist/features/network-modifications/twoWindingsTransformer/common/twoWindingsTransformer.types.js +1 -0
  43. package/dist/features/network-modifications/twoWindingsTransformer/common/twoWindingsTransformer.utils.d.ts +10 -0
  44. package/dist/features/network-modifications/twoWindingsTransformer/common/twoWindingsTransformer.utils.js +50 -0
  45. package/dist/features/network-modifications/twoWindingsTransformer/creation/index.d.ts +8 -0
  46. package/dist/features/network-modifications/twoWindingsTransformer/creation/index.js +12 -0
  47. package/dist/features/network-modifications/twoWindingsTransformer/creation/twoWindingsTransformerCreation.types.d.ts +47 -0
  48. package/dist/features/network-modifications/twoWindingsTransformer/creation/twoWindingsTransformerCreation.types.js +8 -0
  49. package/dist/features/network-modifications/twoWindingsTransformer/creation/twoWindingsTransformerCreation.utils.d.ts +248 -0
  50. package/dist/features/network-modifications/twoWindingsTransformer/creation/twoWindingsTransformerCreation.utils.js +325 -0
  51. package/dist/features/network-modifications/twoWindingsTransformer/index.d.ts +11 -0
  52. package/dist/features/network-modifications/twoWindingsTransformer/index.js +88 -0
  53. package/dist/features/network-modifications/twoWindingsTransformer/modification/index.d.ts +9 -0
  54. package/dist/features/network-modifications/twoWindingsTransformer/modification/index.js +10 -0
  55. package/dist/features/network-modifications/twoWindingsTransformer/modification/measurements/ToBeEstimatedForm.d.ts +6 -0
  56. package/dist/features/network-modifications/twoWindingsTransformer/modification/measurements/ToBeEstimatedForm.js +104 -0
  57. package/dist/features/network-modifications/twoWindingsTransformer/modification/measurements/index.d.ts +9 -0
  58. package/dist/features/network-modifications/twoWindingsTransformer/modification/measurements/index.js +7 -0
  59. package/dist/features/network-modifications/twoWindingsTransformer/modification/measurements/toBeEstimated.type.d.ts +10 -0
  60. package/dist/features/network-modifications/twoWindingsTransformer/modification/measurements/toBeEstimated.type.js +1 -0
  61. package/dist/features/network-modifications/twoWindingsTransformer/modification/measurements/toBeEstimated.utils.d.ts +12 -0
  62. package/dist/features/network-modifications/twoWindingsTransformer/modification/measurements/toBeEstimated.utils.js +18 -0
  63. package/dist/features/network-modifications/twoWindingsTransformer/modification/twoWindingsTransformerModification.types.d.ts +39 -0
  64. package/dist/features/network-modifications/twoWindingsTransformer/modification/twoWindingsTransformerModification.types.js +1 -0
  65. package/dist/features/network-modifications/twoWindingsTransformer/modification/twoWindingsTransformerModification.utils.d.ts +265 -0
  66. package/dist/features/network-modifications/twoWindingsTransformer/modification/twoWindingsTransformerModification.utils.js +100 -0
  67. package/dist/features/network-modifications/twoWindingsTransformer/tapChanger/RegulatedTerminalSection.d.ts +13 -0
  68. package/dist/features/network-modifications/twoWindingsTransformer/tapChanger/RegulatedTerminalSection.js +130 -0
  69. package/dist/features/network-modifications/twoWindingsTransformer/tapChanger/TapChangerSteps.d.ts +20 -0
  70. package/dist/features/network-modifications/twoWindingsTransformer/tapChanger/TapChangerSteps.js +311 -0
  71. package/dist/features/network-modifications/twoWindingsTransformer/tapChanger/index.d.ts +12 -0
  72. package/dist/features/network-modifications/twoWindingsTransformer/tapChanger/index.js +53 -0
  73. package/dist/features/network-modifications/twoWindingsTransformer/tapChanger/phaseTapChanger/PhaseTapChangerPane.d.ts +2 -0
  74. package/dist/features/network-modifications/twoWindingsTransformer/tapChanger/phaseTapChanger/PhaseTapChangerPane.js +198 -0
  75. package/dist/features/network-modifications/twoWindingsTransformer/tapChanger/phaseTapChanger/PhaseTapChangerPaneSteps.d.ts +9 -0
  76. package/dist/features/network-modifications/twoWindingsTransformer/tapChanger/phaseTapChanger/PhaseTapChangerPaneSteps.js +201 -0
  77. package/dist/features/network-modifications/twoWindingsTransformer/tapChanger/phaseTapChanger/index.d.ts +9 -0
  78. package/dist/features/network-modifications/twoWindingsTransformer/tapChanger/phaseTapChanger/index.js +15 -0
  79. package/dist/features/network-modifications/twoWindingsTransformer/tapChanger/phaseTapChanger/phaseTapChanger.utils.d.ts +114 -0
  80. package/dist/features/network-modifications/twoWindingsTransformer/tapChanger/phaseTapChanger/phaseTapChanger.utils.js +242 -0
  81. package/dist/features/network-modifications/twoWindingsTransformer/tapChanger/ratioTapChanger/RatioTapChangerPane.d.ts +2 -0
  82. package/dist/features/network-modifications/twoWindingsTransformer/tapChanger/ratioTapChanger/RatioTapChangerPane.js +283 -0
  83. package/dist/features/network-modifications/twoWindingsTransformer/tapChanger/ratioTapChanger/RatioTapChangerPaneSteps.d.ts +9 -0
  84. package/dist/features/network-modifications/twoWindingsTransformer/tapChanger/ratioTapChanger/RatioTapChangerPaneSteps.js +181 -0
  85. package/dist/features/network-modifications/twoWindingsTransformer/tapChanger/ratioTapChanger/index.d.ts +9 -0
  86. package/dist/features/network-modifications/twoWindingsTransformer/tapChanger/ratioTapChanger/index.js +18 -0
  87. package/dist/features/network-modifications/twoWindingsTransformer/tapChanger/ratioTapChanger/ratioTapChanger.utils.d.ts +132 -0
  88. package/dist/features/network-modifications/twoWindingsTransformer/tapChanger/ratioTapChanger/ratioTapChanger.utils.js +211 -0
  89. package/dist/features/network-modifications/twoWindingsTransformer/tapChanger/regulationRule/CreateRuleDialog.d.ts +2 -0
  90. package/dist/features/network-modifications/twoWindingsTransformer/tapChanger/regulationRule/CreateRuleDialog.js +102 -0
  91. package/dist/features/network-modifications/twoWindingsTransformer/tapChanger/regulationRule/CreateRuleDialogSubmitButton.d.ts +7 -0
  92. package/dist/features/network-modifications/twoWindingsTransformer/tapChanger/regulationRule/CreateRuleDialogSubmitButton.js +22 -0
  93. package/dist/features/network-modifications/twoWindingsTransformer/tapChanger/regulationRule/CreateRuleForm.d.ts +6 -0
  94. package/dist/features/network-modifications/twoWindingsTransformer/tapChanger/regulationRule/CreateRuleForm.js +86 -0
  95. package/dist/features/network-modifications/twoWindingsTransformer/tapChanger/regulationRule/ImportRuleDialog.d.ts +10 -0
  96. package/dist/features/network-modifications/twoWindingsTransformer/tapChanger/regulationRule/ImportRuleDialog.js +140 -0
  97. package/dist/features/network-modifications/twoWindingsTransformer/tapChanger/regulationRule/index.d.ts +12 -0
  98. package/dist/features/network-modifications/twoWindingsTransformer/tapChanger/regulationRule/index.js +13 -0
  99. package/dist/features/network-modifications/twoWindingsTransformer/tapChanger/regulationRule/regulationRule.types.d.ts +12 -0
  100. package/dist/features/network-modifications/twoWindingsTransformer/tapChanger/regulationRule/regulationRule.types.js +1 -0
  101. package/dist/features/network-modifications/twoWindingsTransformer/tapChanger/regulationRule/regulationRule.utils.d.ts +9 -0
  102. package/dist/features/network-modifications/twoWindingsTransformer/tapChanger/regulationRule/regulationRule.utils.js +19 -0
  103. package/dist/features/network-modifications/twoWindingsTransformer/tapChanger/tapChanger.utils.d.ts +14 -0
  104. package/dist/features/network-modifications/twoWindingsTransformer/tapChanger/tapChanger.utils.js +79 -0
  105. package/dist/index.js +98 -6
  106. package/dist/translations/en/filterExpertEn.d.ts +0 -3
  107. package/dist/translations/en/filterExpertEn.js +0 -3
  108. package/dist/translations/en/network-modification-validationEn.d.ts +1 -0
  109. package/dist/translations/en/network-modification-validationEn.js +2 -1
  110. package/dist/translations/en/networkModificationsEn.d.ts +70 -9
  111. package/dist/translations/en/networkModificationsEn.js +71 -10
  112. package/dist/translations/fr/filterExpertFr.d.ts +0 -3
  113. package/dist/translations/fr/filterExpertFr.js +0 -3
  114. package/dist/translations/fr/network-modification-validationFr.d.ts +1 -0
  115. package/dist/translations/fr/network-modification-validationFr.js +2 -1
  116. package/dist/translations/fr/networkModificationsFr.d.ts +70 -9
  117. package/dist/translations/fr/networkModificationsFr.js +71 -10
  118. package/dist/utils/constants/fieldConstants.d.ts +37 -0
  119. package/dist/utils/constants/fieldConstants.js +37 -0
  120. package/dist/utils/constants/index.js +2 -1
  121. package/dist/utils/constants/translationKeys.d.ts +1 -0
  122. package/dist/utils/constants/translationKeys.js +2 -0
  123. package/dist/utils/functions.d.ts +9 -0
  124. package/dist/utils/functions.js +40 -0
  125. package/dist/utils/index.js +11 -4
  126. package/dist/utils/langs.d.ts +1 -0
  127. package/dist/utils/langs.js +9 -1
  128. package/dist/utils/types/equipmentType.d.ts +34 -0
  129. package/dist/utils/types/equipmentType.js +28 -0
  130. package/dist/utils/types/index.js +4 -1
  131. package/package.json +1 -1
  132. /package/dist/features/network-modifications/{line/characteristics/lineCharacteristicsPane.types.js → common/branch/branchCreation.types.js} +0 -0
@@ -0,0 +1,198 @@
1
+ import { jsx, jsxs, Fragment } from "react/jsx-runtime";
2
+ import { Grid } from "@mui/material";
3
+ import { useWatch } from "react-hook-form";
4
+ import { useIntl } from "react-intl";
5
+ import { useMemo } from "react";
6
+ import { PhaseTapChangerPaneSteps } from "./PhaseTapChangerPaneSteps.js";
7
+ import { getComputedPreviousPhaseRegulationType, getComputedPhaseTapChangerRegulationMode } from "./phaseTapChanger.utils.js";
8
+ import { AmpereAdornment, ActivePowerAdornment } from "../../../../../utils/constants/adornments.js";
9
+ import { FieldConstants } from "../../../../../utils/constants/fieldConstants.js";
10
+ import "../../../../../utils/conversionUtils.js";
11
+ import { PHASE_REGULATION_MODES } from "../../../../../utils/types/equipmentType.js";
12
+ import "@mui/icons-material";
13
+ import "../../../../../components/ui/overflowableText/OverflowableText.js";
14
+ import "localized-countries";
15
+ import "localized-countries/data/fr";
16
+ import "localized-countries/data/en";
17
+ import "notistack";
18
+ import "../../../../../components/ui/reactHookForm/provider/CustomFormProvider.js";
19
+ import "yup";
20
+ import "../../../../../components/ui/treeViewFinder/TreeViewFinder.js";
21
+ import { FloatInput } from "../../../../../components/ui/reactHookForm/numbers/FloatInput.js";
22
+ import "../../../../../components/ui/reactHookForm/numbers/RangeInput.js";
23
+ import { SelectInput } from "../../../../../components/ui/reactHookForm/selectInputs/SelectInput.js";
24
+ import "@material-symbols/svg-400/outlined/left_panel_open.svg?react";
25
+ import "@material-symbols/svg-400/outlined/arrows_output.svg?react";
26
+ import "@material-symbols/svg-400/outlined/arrows_input.svg?react";
27
+ import "@material-symbols/svg-400/outlined/left_panel_close.svg?react";
28
+ import "@material-symbols/svg-400/outlined/add_notes-fill.svg?react";
29
+ import "../../../../../components/ui/dialogs/descriptionModificationDialog/DescriptionModificationDialog.js";
30
+ import "../../../../../components/ui/reactHookForm/expandableInput/ExpandableInput.js";
31
+ import "../../../../../components/ui/reactHookForm/directory-item-input/directory-item-utils.js";
32
+ import "@hello-pangea/dnd";
33
+ import "../../../../../components/ui/dialogs/elementSaveDialog/ElementSaveDialog.js";
34
+ import "../../../../../components/ui/snackbarProvider/SnackbarProvider.js";
35
+ import "mui-nested-menu";
36
+ import "react-resizable-panels";
37
+ import "react-papaparse";
38
+ import "react-dom";
39
+ import "autosuggest-highlight/match";
40
+ import "autosuggest-highlight/parse";
41
+ import "clsx";
42
+ import "../../../../../components/composite/filter/FilterCreationDialog.js";
43
+ import "../../../../../components/composite/filter/HeaderFilterForm.js";
44
+ import "../../../../../components/composite/filter/explicitNaming/ExplicitNamingFilterForm.js";
45
+ import "../../../../../components/composite/filter/expert/ExpertFilterForm.js";
46
+ import "../../../../../components/composite/filter/expert/ExpertFilterEditionDialog.js";
47
+ import "../../../../../components/composite/filter/expert/expertFilterConstants.js";
48
+ import "react-querybuilder";
49
+ import "uuid";
50
+ import "../../../../../components/composite/filter/explicitNaming/ExplicitNamingFilterEditionDialog.js";
51
+ import "../../../../../components/composite/filter/utils/filterFormUtils.js";
52
+ import { GridItem } from "../../../../../components/composite/grid/grid-item.js";
53
+ import { GridSection } from "../../../../../components/composite/grid/grid-section.js";
54
+ import "@react-querybuilder/material";
55
+ import "../../../../../components/composite/reactQueryBuilder/CustomReactQueryBuilder.js";
56
+ import "../../../../../components/composite/reactQueryBuilder/PropertyValueEditor.js";
57
+ import "../../../../../components/composite/agGridTable/BottomTableButtons.js";
58
+ import "../../../../../components/composite/agGridTable/CustomAgGridTable.js";
59
+ import "ag-grid-community";
60
+ import "../../../../../components/composite/customAGGrid/customAggrid.js";
61
+ import "../../../../../components/composite/customAGGrid/context/custom-aggrid-context.js";
62
+ import "mathjs";
63
+ import "../../../../../components/composite/report/report-viewer/log-table/log-table.js";
64
+ import "react-window";
65
+ import "../../../../../components/composite/report/report-treeview/treeview-item.js";
66
+ import "../../../../../components/composite/report/report-viewer/context/report-viewer-context.js";
67
+ import { RegulatedTerminalSection } from "../RegulatedTerminalSection.js";
68
+ function PhaseTapChangerPane({
69
+ id = FieldConstants.PHASE_TAP_CHANGER,
70
+ voltageLevelOptions = [],
71
+ previousValues,
72
+ editData,
73
+ fetchVoltageLevelEquipments,
74
+ isModification = false
75
+ }) {
76
+ const intl = useIntl();
77
+ const phaseTapChangerEnabledWatch = useWatch({
78
+ name: `${id}.${FieldConstants.ENABLED}`
79
+ });
80
+ const regulationModeWatch = useWatch({
81
+ name: `${id}.${FieldConstants.REGULATION_MODE}`
82
+ });
83
+ const regulationTypeWatch = useWatch({
84
+ name: `${id}.${FieldConstants.REGULATION_TYPE}`
85
+ });
86
+ const getPhaseTapChangerRegulationModeLabel = (phaseTapChangerFormValues) => {
87
+ const computedRegulationMode = getComputedPhaseTapChangerRegulationMode(phaseTapChangerFormValues ?? void 0);
88
+ if (computedRegulationMode) {
89
+ return intl.formatMessage({
90
+ id: computedRegulationMode?.label
91
+ });
92
+ }
93
+ return void 0;
94
+ };
95
+ const getRegulatingPreviousValue = (field, tap) => {
96
+ if (tap?.[FieldConstants.REGULATION_MODE] === PHASE_REGULATION_MODES.ACTIVE_POWER_CONTROL.id && field === FieldConstants.FLOW_SET_POINT_REGULATING_VALUE || tap?.[FieldConstants.REGULATION_MODE] === PHASE_REGULATION_MODES.CURRENT_LIMITER.id && field === FieldConstants.CURRENT_LIMITER_REGULATING_VALUE) {
97
+ return tap?.regulationValue;
98
+ }
99
+ return void 0;
100
+ };
101
+ const regulationType = useMemo(() => {
102
+ return regulationTypeWatch || getComputedPreviousPhaseRegulationType(previousValues);
103
+ }, [regulationTypeWatch, previousValues]);
104
+ const regulationMode = useMemo(() => {
105
+ return regulationModeWatch || getComputedPhaseTapChangerRegulationMode(previousValues?.phaseTapChanger)?.id;
106
+ }, [regulationModeWatch, previousValues]);
107
+ const regulationModeField = /* @__PURE__ */ jsx(
108
+ SelectInput,
109
+ {
110
+ name: `${id}.${FieldConstants.REGULATION_MODE}`,
111
+ label: "RegulationMode",
112
+ options: Object.values(PHASE_REGULATION_MODES),
113
+ disabled: !phaseTapChangerEnabledWatch,
114
+ size: "small",
115
+ previousValue: getPhaseTapChangerRegulationModeLabel(previousValues?.phaseTapChanger)
116
+ }
117
+ );
118
+ const currentLimiterRegulatingValueField = /* @__PURE__ */ jsx(
119
+ FloatInput,
120
+ {
121
+ name: `${id}.${FieldConstants.CURRENT_LIMITER_REGULATING_VALUE}`,
122
+ label: "RegulatingValueCurrentLimiter",
123
+ formProps: {
124
+ disabled: !phaseTapChangerEnabledWatch
125
+ },
126
+ adornment: AmpereAdornment,
127
+ previousValue: getRegulatingPreviousValue(
128
+ FieldConstants.CURRENT_LIMITER_REGULATING_VALUE,
129
+ previousValues?.phaseTapChanger
130
+ )
131
+ }
132
+ );
133
+ const flowSetPointRegulatingValueField = /* @__PURE__ */ jsx(
134
+ FloatInput,
135
+ {
136
+ name: `${id}.${FieldConstants.FLOW_SET_POINT_REGULATING_VALUE}`,
137
+ label: "RegulatingValueActivePowerControl",
138
+ adornment: ActivePowerAdornment,
139
+ formProps: {
140
+ disabled: !phaseTapChangerEnabledWatch
141
+ },
142
+ previousValue: getRegulatingPreviousValue(
143
+ FieldConstants.FLOW_SET_POINT_REGULATING_VALUE,
144
+ previousValues?.phaseTapChanger
145
+ )
146
+ }
147
+ );
148
+ const targetDeadbandField = /* @__PURE__ */ jsx(
149
+ FloatInput,
150
+ {
151
+ name: `${id}.${FieldConstants.TARGET_DEADBAND}`,
152
+ label: "Deadband",
153
+ adornment: regulationMode === PHASE_REGULATION_MODES.ACTIVE_POWER_CONTROL.id ? ActivePowerAdornment : AmpereAdornment,
154
+ formProps: {
155
+ disabled: !phaseTapChangerEnabledWatch
156
+ },
157
+ previousValue: previousValues?.phaseTapChanger?.targetDeadband
158
+ }
159
+ );
160
+ return /* @__PURE__ */ jsxs(Fragment, { children: [
161
+ /* @__PURE__ */ jsx(GridSection, { title: "RegulationSection", heading: 4 }),
162
+ /* @__PURE__ */ jsxs(Grid, { container: true, spacing: 1, children: [
163
+ /* @__PURE__ */ jsx(GridItem, { size: 4, children: regulationModeField }),
164
+ regulationMode === PHASE_REGULATION_MODES.CURRENT_LIMITER.id && /* @__PURE__ */ jsxs(Fragment, { children: [
165
+ /* @__PURE__ */ jsx(GridItem, { size: 4, children: currentLimiterRegulatingValueField }),
166
+ /* @__PURE__ */ jsx(GridItem, { size: 4, children: targetDeadbandField })
167
+ ] }),
168
+ regulationMode === PHASE_REGULATION_MODES.ACTIVE_POWER_CONTROL.id && /* @__PURE__ */ jsxs(Fragment, { children: [
169
+ /* @__PURE__ */ jsx(GridItem, { size: 4, children: flowSetPointRegulatingValueField }),
170
+ /* @__PURE__ */ jsx(GridItem, { size: 4, children: targetDeadbandField })
171
+ ] })
172
+ ] }),
173
+ phaseTapChangerEnabledWatch && regulationMode && /* @__PURE__ */ jsx(
174
+ RegulatedTerminalSection,
175
+ {
176
+ id,
177
+ voltageLevelOptions,
178
+ previousValues,
179
+ tapChangerDisabled: !phaseTapChangerEnabledWatch,
180
+ regulationType,
181
+ fetchVoltageLevelEquipments
182
+ }
183
+ ),
184
+ /* @__PURE__ */ jsx(GridSection, { title: "TapsSection", heading: 4 }),
185
+ /* @__PURE__ */ jsx(
186
+ PhaseTapChangerPaneSteps,
187
+ {
188
+ disabled: !phaseTapChangerEnabledWatch,
189
+ previousValues: previousValues?.phaseTapChanger,
190
+ editData,
191
+ isModification
192
+ }
193
+ )
194
+ ] });
195
+ }
196
+ export {
197
+ PhaseTapChangerPane
198
+ };
@@ -0,0 +1,9 @@
1
+ import { TapChangerMapInfos } from '../../common/twoWindingsTransformer.types';
2
+ import { TwoWindingsTransformerModificationDto } from '../../modification/twoWindingsTransformerModification.types';
3
+ export interface PhaseTapChangerPaneStepsProps {
4
+ disabled?: boolean;
5
+ previousValues?: TapChangerMapInfos;
6
+ editData?: TwoWindingsTransformerModificationDto;
7
+ isModification?: boolean;
8
+ }
9
+ export declare function PhaseTapChangerPaneSteps({ disabled, previousValues, editData, isModification, }: Readonly<PhaseTapChangerPaneStepsProps>): import("react").JSX.Element;
@@ -0,0 +1,201 @@
1
+ import { jsx } from "react/jsx-runtime";
2
+ import { useMemo } from "react";
3
+ import { useIntl } from "react-intl";
4
+ import { FieldConstants } from "../../../../../utils/constants/fieldConstants.js";
5
+ import "../../../../../utils/conversionUtils.js";
6
+ import "../../../../../utils/types/equipmentType.js";
7
+ import "@mui/icons-material";
8
+ import { parseIntData } from "../../../../../utils/ts-utils.js";
9
+ import { TapChangerSteps } from "../TapChangerSteps.js";
10
+ import "@mui/material";
11
+ import "../../../../../components/ui/overflowableText/OverflowableText.js";
12
+ import "react-hook-form";
13
+ import "localized-countries";
14
+ import "localized-countries/data/fr";
15
+ import "localized-countries/data/en";
16
+ import "notistack";
17
+ import "../../../../../components/ui/reactHookForm/provider/CustomFormProvider.js";
18
+ import "yup";
19
+ import "../../../../../components/ui/treeViewFinder/TreeViewFinder.js";
20
+ import "../../../../../components/ui/reactHookForm/numbers/RangeInput.js";
21
+ import "@material-symbols/svg-400/outlined/left_panel_open.svg?react";
22
+ import "@material-symbols/svg-400/outlined/arrows_output.svg?react";
23
+ import "@material-symbols/svg-400/outlined/arrows_input.svg?react";
24
+ import "@material-symbols/svg-400/outlined/left_panel_close.svg?react";
25
+ import "@material-symbols/svg-400/outlined/add_notes-fill.svg?react";
26
+ import "../../../../../components/ui/dialogs/descriptionModificationDialog/DescriptionModificationDialog.js";
27
+ import "../../../../../components/ui/reactHookForm/expandableInput/ExpandableInput.js";
28
+ import "../../../../../components/ui/reactHookForm/directory-item-input/directory-item-utils.js";
29
+ import "@hello-pangea/dnd";
30
+ import "../../../../../components/ui/dialogs/elementSaveDialog/ElementSaveDialog.js";
31
+ import "../../../../../components/ui/snackbarProvider/SnackbarProvider.js";
32
+ import "mui-nested-menu";
33
+ import "react-resizable-panels";
34
+ import "react-papaparse";
35
+ import "react-dom";
36
+ import { DndColumnType } from "../../../../../components/composite/dnd-table/dnd-table.type.js";
37
+ import "autosuggest-highlight/match";
38
+ import "autosuggest-highlight/parse";
39
+ import "clsx";
40
+ import "../../../../../components/composite/filter/FilterCreationDialog.js";
41
+ import "../../../../../components/composite/filter/HeaderFilterForm.js";
42
+ import "../../../../../components/composite/filter/explicitNaming/ExplicitNamingFilterForm.js";
43
+ import "../../../../../components/composite/filter/expert/ExpertFilterForm.js";
44
+ import "../../../../../components/composite/filter/expert/ExpertFilterEditionDialog.js";
45
+ import "../../../../../components/composite/filter/expert/expertFilterConstants.js";
46
+ import "react-querybuilder";
47
+ import "uuid";
48
+ import "../../../../../components/composite/filter/explicitNaming/ExplicitNamingFilterEditionDialog.js";
49
+ import "../../../../../components/composite/filter/utils/filterFormUtils.js";
50
+ import "@react-querybuilder/material";
51
+ import "../../../../../components/composite/reactQueryBuilder/CustomReactQueryBuilder.js";
52
+ import "../../../../../components/composite/reactQueryBuilder/PropertyValueEditor.js";
53
+ import "../../../../../components/composite/agGridTable/BottomTableButtons.js";
54
+ import "../../../../../components/composite/agGridTable/CustomAgGridTable.js";
55
+ import "ag-grid-community";
56
+ import "../../../../../components/composite/customAGGrid/customAggrid.js";
57
+ import "../../../../../components/composite/customAGGrid/context/custom-aggrid-context.js";
58
+ import "mathjs";
59
+ import "../../../../../components/composite/report/report-viewer/log-table/log-table.js";
60
+ import "react-window";
61
+ import "../../../../../components/composite/report/report-treeview/treeview-item.js";
62
+ import "../../../../../components/composite/report/report-viewer/context/report-viewer-context.js";
63
+ function PhaseTapChangerPaneSteps({
64
+ disabled,
65
+ previousValues,
66
+ editData,
67
+ isModification = false
68
+ }) {
69
+ const intl = useIntl();
70
+ const COLUMNS_DEFINITIONS = useMemo(() => {
71
+ return [
72
+ {
73
+ label: "Tap",
74
+ dataKey: FieldConstants.STEPS_TAP,
75
+ type: DndColumnType.TEXT
76
+ },
77
+ {
78
+ label: "DeltaResistance",
79
+ dataKey: FieldConstants.STEPS_RESISTANCE,
80
+ initialValue: 0,
81
+ editable: true,
82
+ type: DndColumnType.NUMERIC,
83
+ clearable: false
84
+ },
85
+ {
86
+ label: "DeltaReactance",
87
+ dataKey: FieldConstants.STEPS_REACTANCE,
88
+ initialValue: 0,
89
+ editable: true,
90
+ type: DndColumnType.NUMERIC,
91
+ clearable: false
92
+ },
93
+ {
94
+ label: "DeltaConductance",
95
+ dataKey: FieldConstants.STEPS_CONDUCTANCE,
96
+ initialValue: 0,
97
+ editable: true,
98
+ type: DndColumnType.NUMERIC,
99
+ clearable: false
100
+ },
101
+ {
102
+ label: "DeltaSusceptance",
103
+ dataKey: FieldConstants.STEPS_SUSCEPTANCE,
104
+ initialValue: 0,
105
+ editable: true,
106
+ type: DndColumnType.NUMERIC,
107
+ clearable: false
108
+ },
109
+ {
110
+ label: "Ratio",
111
+ dataKey: FieldConstants.STEPS_RATIO,
112
+ initialValue: 1,
113
+ editable: true,
114
+ type: DndColumnType.NUMERIC,
115
+ clearable: false
116
+ },
117
+ {
118
+ label: "Alpha",
119
+ dataKey: FieldConstants.STEPS_ALPHA,
120
+ initialValue: 0,
121
+ editable: true,
122
+ type: DndColumnType.NUMERIC,
123
+ clearable: false
124
+ }
125
+ ].map((column) => ({
126
+ ...column,
127
+ label: intl.formatMessage({ id: column.label }).toLowerCase().replace(/^\w/, (c) => c.toUpperCase())
128
+ }));
129
+ }, [intl]);
130
+ const csvColumns = useMemo(() => {
131
+ return [
132
+ intl.formatMessage({ id: "ImportFileResistance" }),
133
+ intl.formatMessage({ id: "ImportFileReactance" }),
134
+ intl.formatMessage({ id: "ImportFileConductance" }),
135
+ intl.formatMessage({ id: "ImportFileSusceptance" }),
136
+ intl.formatMessage({ id: "Ratio" }),
137
+ intl.formatMessage({ id: "ImportFileAlpha" })
138
+ ];
139
+ }, [intl]);
140
+ const handleImportRow = (val) => {
141
+ return {
142
+ [FieldConstants.STEPS_RESISTANCE]: parseIntData(
143
+ val[intl.formatMessage({
144
+ id: "ImportFileResistance"
145
+ })],
146
+ 0
147
+ ),
148
+ [FieldConstants.STEPS_REACTANCE]: parseIntData(
149
+ val[intl.formatMessage({
150
+ id: "ImportFileReactance"
151
+ })],
152
+ 0
153
+ ),
154
+ [FieldConstants.STEPS_CONDUCTANCE]: parseIntData(
155
+ val[intl.formatMessage({
156
+ id: "ImportFileConductance"
157
+ })],
158
+ 0
159
+ ),
160
+ [FieldConstants.STEPS_SUSCEPTANCE]: parseIntData(
161
+ val[intl.formatMessage({
162
+ id: "ImportFileSusceptance"
163
+ })],
164
+ 0
165
+ ),
166
+ [FieldConstants.STEPS_RATIO]: Number.isNaN(Number.parseFloat(val[intl.formatMessage({ id: "Ratio" })])) ? 1 : Number.parseFloat(val[intl.formatMessage({ id: "Ratio" })]),
167
+ [FieldConstants.STEPS_ALPHA]: Number.isNaN(
168
+ Number.parseFloat(
169
+ val[intl.formatMessage({
170
+ id: "ImportFileAlpha"
171
+ })]
172
+ )
173
+ ) ? 1 : Number.parseFloat(
174
+ val[intl.formatMessage({
175
+ id: "ImportFileAlpha"
176
+ })]
177
+ )
178
+ };
179
+ };
180
+ return /* @__PURE__ */ jsx(
181
+ TapChangerSteps,
182
+ {
183
+ tapChanger: FieldConstants.PHASE_TAP_CHANGER,
184
+ createTapRuleColumn: FieldConstants.STEPS_ALPHA,
185
+ columnsDefinition: COLUMNS_DEFINITIONS,
186
+ csvColumns,
187
+ createRuleMessageId: "CreateDephasingRule",
188
+ createRuleAllowNegativeValues: true,
189
+ importRuleMessageId: "ImportDephasingRule",
190
+ resetButtonMessageId: "ResetRegulationRule",
191
+ handleImportRow,
192
+ disabled,
193
+ previousValues,
194
+ editData: editData?.phaseTapChanger?.steps,
195
+ isModification
196
+ }
197
+ );
198
+ }
199
+ export {
200
+ PhaseTapChangerPaneSteps
201
+ };
@@ -0,0 +1,9 @@
1
+ /**
2
+ * Copyright (c) 2026, RTE (http://www.rte-france.com)
3
+ * This Source Code Form is subject to the terms of the Mozilla Public
4
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
5
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
6
+ */
7
+ export * from './phaseTapChanger.utils';
8
+ export * from './PhaseTapChangerPaneSteps';
9
+ export * from './PhaseTapChangerPane';
@@ -0,0 +1,15 @@
1
+ import { getComputedPhaseRegulationType, getComputedPhaseRegulationTypeId, getComputedPhaseTapChangerRegulationMode, getComputedPreviousPhaseRegulationType, getPhaseTapChangerEmptyFormData, getPhaseTapChangerFormData, getPhaseTapChangerValidationSchemaProps, getPhaseTapRegulationSideId } from "./phaseTapChanger.utils.js";
2
+ import { PhaseTapChangerPaneSteps } from "./PhaseTapChangerPaneSteps.js";
3
+ import { PhaseTapChangerPane } from "./PhaseTapChangerPane.js";
4
+ export {
5
+ PhaseTapChangerPane,
6
+ PhaseTapChangerPaneSteps,
7
+ getComputedPhaseRegulationType,
8
+ getComputedPhaseRegulationTypeId,
9
+ getComputedPhaseTapChangerRegulationMode,
10
+ getComputedPreviousPhaseRegulationType,
11
+ getPhaseTapChangerEmptyFormData,
12
+ getPhaseTapChangerFormData,
13
+ getPhaseTapChangerValidationSchemaProps,
14
+ getPhaseTapRegulationSideId
15
+ };
@@ -0,0 +1,114 @@
1
+ import { InferType } from 'yup';
2
+ import { TapChangerMapInfos, TapChangerStep, TwoWindingsTransformerMapInfos } from '../../common/twoWindingsTransformer.types';
3
+ import { REGULATION_TYPES } from '../../../common';
4
+ import { DeepNullable, FieldConstants, PHASE_REGULATION_MODES } from '../../../../../utils';
5
+ export declare const getPhaseTapChangerValidationSchemaProps: (isModification?: boolean) => import('yup').ObjectSchema<{
6
+ voltageLevel: {
7
+ id?: string | undefined;
8
+ name?: string | undefined;
9
+ nominalVoltage?: string | undefined;
10
+ substationId?: string | undefined;
11
+ topologyKind?: string | null | undefined;
12
+ } | null;
13
+ equipment: {
14
+ id?: string | undefined;
15
+ name?: string | null | undefined;
16
+ type?: string | undefined;
17
+ } | null;
18
+ enabled: NonNullable<boolean | undefined>;
19
+ regulationMode: string | null | undefined;
20
+ regulationType: string | null | undefined;
21
+ regulationSide: string | null | undefined;
22
+ currentLimiterRegulatingValue: number | null | undefined;
23
+ flowSetPointRegulatingValue: number | null | undefined;
24
+ targetDeadband: number | null | undefined;
25
+ lowTapPosition: number | null | undefined;
26
+ highTapPosition: number | null | undefined;
27
+ tapPosition: number | null | undefined;
28
+ steps: {
29
+ b?: number | undefined;
30
+ g?: number | undefined;
31
+ r?: number | undefined;
32
+ x?: number | undefined;
33
+ rho?: number | undefined;
34
+ alpha?: number | undefined;
35
+ index: number;
36
+ }[] | undefined;
37
+ }, import('yup').AnyObject, {
38
+ voltageLevel: {
39
+ id: undefined;
40
+ name: undefined;
41
+ substationId: undefined;
42
+ nominalVoltage: undefined;
43
+ topologyKind: undefined;
44
+ };
45
+ equipment: {
46
+ id: undefined;
47
+ name: undefined;
48
+ type: undefined;
49
+ };
50
+ enabled: undefined;
51
+ regulationMode: undefined;
52
+ regulationType: undefined;
53
+ regulationSide: undefined;
54
+ currentLimiterRegulatingValue: undefined;
55
+ flowSetPointRegulatingValue: undefined;
56
+ targetDeadband: undefined;
57
+ lowTapPosition: undefined;
58
+ highTapPosition: undefined;
59
+ tapPosition: undefined;
60
+ steps: "";
61
+ }, "">;
62
+ export type PhaseTapChangerFormSchema = InferType<ReturnType<typeof getPhaseTapChangerValidationSchemaProps>>;
63
+ export declare const getPhaseTapChangerEmptyFormData: (isModification?: boolean) => DeepNullable<PhaseTapChangerFormSchema>;
64
+ interface PhaseTapChangerFormDataInput {
65
+ [FieldConstants.ENABLED]?: boolean;
66
+ [FieldConstants.REGULATION_MODE]?: string | null;
67
+ [FieldConstants.REGULATION_TYPE]?: string | null;
68
+ [FieldConstants.REGULATION_SIDE]?: string | null;
69
+ [FieldConstants.CURRENT_LIMITER_REGULATING_VALUE]?: number | null;
70
+ flowSetpointRegulatingValue?: number | null;
71
+ [FieldConstants.TARGET_DEADBAND]?: number | null;
72
+ [FieldConstants.LOW_TAP_POSITION]?: number | null;
73
+ [FieldConstants.HIGH_TAP_POSITION]?: number | null;
74
+ [FieldConstants.TAP_POSITION]?: number | null;
75
+ [FieldConstants.STEPS]?: TapChangerStep[];
76
+ [FieldConstants.VOLTAGE_LEVEL_ID]?: string;
77
+ [FieldConstants.EQUIPMENT_ID]?: string;
78
+ [FieldConstants.EQUIPMENT_TYPE]?: string;
79
+ }
80
+ export declare const getPhaseTapChangerFormData: ({ enabled, regulationMode, regulationType, regulationSide, currentLimiterRegulatingValue, flowSetpointRegulatingValue, targetDeadband, lowTapPosition, highTapPosition, tapPosition, steps, voltageLevelId, equipmentID, equipmentType, }: PhaseTapChangerFormDataInput, id?: typeof FieldConstants.PHASE_TAP_CHANGER) => {
81
+ phaseTapChanger: {
82
+ voltageLevel: {
83
+ id: string;
84
+ name: string;
85
+ substationId: string;
86
+ nominalVoltage: string;
87
+ topologyKind: string;
88
+ } | null;
89
+ equipment: {
90
+ id: string;
91
+ name: string | null;
92
+ type: string;
93
+ } | null;
94
+ enabled: boolean;
95
+ regulationMode: string | null;
96
+ regulationType: string | null;
97
+ regulationSide: string | null;
98
+ currentLimiterRegulatingValue: number | null;
99
+ flowSetPointRegulatingValue: number | null;
100
+ targetDeadband: number | null;
101
+ lowTapPosition: number | null;
102
+ highTapPosition: number | null;
103
+ tapPosition: number | null;
104
+ steps: TapChangerStep[];
105
+ };
106
+ };
107
+ type PhaseRegulationMode = (typeof PHASE_REGULATION_MODES)[keyof typeof PHASE_REGULATION_MODES] | undefined;
108
+ export declare const getComputedPhaseTapChangerRegulationMode: (phaseTapChangerFormValues?: TapChangerMapInfos) => PhaseRegulationMode;
109
+ export declare const getPhaseTapRegulationSideId: (twt?: TwoWindingsTransformerMapInfos) => string | null;
110
+ type RegulationType = (typeof REGULATION_TYPES)[keyof typeof REGULATION_TYPES] | null;
111
+ export declare const getComputedPhaseRegulationType: (twt?: TwoWindingsTransformerMapInfos) => RegulationType;
112
+ export declare const getComputedPhaseRegulationTypeId: (twt?: TwoWindingsTransformerMapInfos) => string | null;
113
+ export declare const getComputedPreviousPhaseRegulationType: (previousValues?: TwoWindingsTransformerMapInfos) => string | null;
114
+ export {};