@gridsuite/commons-ui 0.239.0 → 0.241.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 (207) hide show
  1. package/README.md +6 -2
  2. package/dist/components/composite/agGridTable/cellEditors/numericEditor.d.ts +9 -3
  3. package/dist/components/composite/agGridTable/cellEditors/numericEditor.js +24 -5
  4. package/dist/components/composite/customAGGrid/custom-aggrid-filters/custom-aggrid-comparator-filter.js +2 -2
  5. package/dist/components/composite/customAGGrid/custom-aggrid-filters/custom-aggrid-text-filter.js +4 -4
  6. package/dist/components/composite/customAGGrid/custom-aggrid-filters/custom-filter-icon.js +2 -2
  7. package/dist/components/composite/customAGGrid/custom-aggrid-header.js +26 -13
  8. package/dist/components/composite/customAGGrid/custom-aggrid-menu.js +2 -2
  9. package/dist/components/composite/dnd-table/dnd-table-bottom-left-buttons.js +4 -4
  10. package/dist/components/composite/dnd-table/dnd-table-bottom-right-buttons.js +6 -6
  11. package/dist/components/composite/dnd-table/dnd-table.js +4 -4
  12. package/dist/components/composite/filter/HeaderFilterForm.js +4 -4
  13. package/dist/components/composite/filter/explicitNaming/ExplicitNamingFilterForm.d.ts +1 -1
  14. package/dist/components/composite/filter/explicitNaming/ExplicitNamingFilterForm.js +2 -4
  15. package/dist/components/composite/grid/grid-item.d.ts +4 -3
  16. package/dist/components/composite/grid/grid-item.js +8 -4
  17. package/dist/components/composite/grid/grid-section.d.ts +1 -1
  18. package/dist/components/composite/grid/grid-section.js +3 -3
  19. package/dist/components/composite/grid/index.js +6 -3
  20. package/dist/components/composite/index.js +4 -3
  21. package/dist/components/composite/reactQueryBuilder/PropertyValueEditor.js +5 -5
  22. package/dist/components/composite/reactQueryBuilder/compositeRuleEditor/GroupValueEditor.js +2 -2
  23. package/dist/components/composite/reactQueryBuilder/compositeRuleEditor/RuleValueEditor.js +5 -5
  24. package/dist/components/index.js +4 -3
  25. package/dist/components/ui/dialogs/elementSaveDialog/ElementSaveDialog.js +9 -9
  26. package/dist/components/ui/dialogs/modifyElementSelection/ModifyElementSelection.js +3 -3
  27. package/dist/components/ui/reactHookForm/errorManagement/FieldErrorAlert.js +2 -2
  28. package/dist/components/ui/reactHookForm/expandableInput/DeletableRow.js +4 -4
  29. package/dist/components/ui/reactHookForm/expandableInput/ExpandableInput.js +4 -4
  30. package/dist/components/ui/reactHookForm/numbers/RangeInput.js +5 -5
  31. package/dist/components/ui/reactHookForm/utils/functions.js +2 -2
  32. package/dist/features/authentication/AuthenticationRouter.js +2 -2
  33. package/dist/features/authentication/AuthenticationRouterErrorDisplay.js +3 -3
  34. package/dist/features/index.js +6 -1
  35. package/dist/features/network-modifications/battery/creation/BatteryCreationForm.js +7 -7
  36. package/dist/features/network-modifications/battery/modification/BatteryDialogHeader.js +4 -4
  37. package/dist/features/network-modifications/battery/modification/BatteryDialogTabsContent.js +8 -8
  38. package/dist/features/network-modifications/battery/modification/BatteryModificationForm.js +5 -5
  39. package/dist/features/network-modifications/by-filter/assignment/assignment/assignment-form.js +1 -1
  40. package/dist/features/network-modifications/by-filter/assignment/modification-by-assignment-form.js +4 -4
  41. package/dist/features/network-modifications/by-filter/deletion/ByFilterDeletionForm.js +4 -4
  42. package/dist/features/network-modifications/common/activePowerControl/ActivePowerControlForm.js +1 -1
  43. package/dist/features/network-modifications/common/connectivity/BranchConnectivityForm.js +1 -1
  44. package/dist/features/network-modifications/common/connectivity/ConnectivityForm.js +7 -7
  45. package/dist/features/network-modifications/common/connectivity/PositionForm.js +4 -4
  46. package/dist/features/network-modifications/common/connectivity/VoltageLevelConnectivityForm.js +4 -4
  47. package/dist/features/network-modifications/common/measurements/BranchActiveReactivePowerMeasurementsForm.js +4 -3
  48. package/dist/features/network-modifications/common/measurements/BusbarSectionVoltageMeasurementsForm.js +2 -2
  49. package/dist/features/network-modifications/common/measurements/PowerMeasurementsForm.js +4 -4
  50. package/dist/features/network-modifications/common/measurements/PowerWithValidityForm.js +4 -4
  51. package/dist/features/network-modifications/common/properties/PropertiesForm.js +1 -1
  52. package/dist/features/network-modifications/common/properties/PropertyForm.js +5 -5
  53. package/dist/features/network-modifications/common/reactiveLimits/ReactiveLimitsForm.js +3 -3
  54. package/dist/features/network-modifications/common/reactiveLimits/reactiveCapabilityCurve/ReactiveCapabilityCurveRowForm.js +1 -1
  55. package/dist/features/network-modifications/common/reactiveLimits/reactiveCapabilityCurve/ReactiveCapabilityCurveTableForm.js +7 -7
  56. package/dist/features/network-modifications/common/regulatingTerminal/RegulatingTerminalForm.js +2 -2
  57. package/dist/features/network-modifications/common/setpoints/SetPointsForm.js +5 -5
  58. package/dist/features/network-modifications/common/shortCircuit/ShortCircuitForm.js +3 -3
  59. package/dist/features/network-modifications/common/voltageRegulation/VoltageRegulationForm.js +5 -5
  60. package/dist/features/network-modifications/equipmentDeletion/EquipmentDeletionForm.js +6 -6
  61. package/dist/features/network-modifications/equipmentDeletion/hvdcLccDeletion/HvdcLccDeletionSpecificForm.js +5 -5
  62. package/dist/features/network-modifications/equipmentDeletion/hvdcLccDeletion/ShuntCompensatorSelectionForm.js +5 -5
  63. package/dist/features/network-modifications/generator/creation/GeneratorCreationForm.js +9 -9
  64. package/dist/features/network-modifications/generator/modification/GeneratorDialogHeader.js +5 -5
  65. package/dist/features/network-modifications/generator/modification/GeneratorDialogTabsContent.js +9 -9
  66. package/dist/features/network-modifications/generator/modification/GeneratorModificationForm.js +5 -5
  67. package/dist/features/network-modifications/load/common/LoadDialogHeader.js +5 -5
  68. package/dist/features/network-modifications/load/common/LoadDialogTabsContent.js +1 -1
  69. package/dist/features/network-modifications/load/common/LoadForm.js +5 -5
  70. package/dist/features/network-modifications/shunt-compensator/common/CharacteristicsForm.js +12 -12
  71. package/dist/features/network-modifications/shunt-compensator/common/characteristicsForm.utils.d.ts +8 -8
  72. package/dist/features/network-modifications/shunt-compensator/creation/ShuntCompensatorCreationForm.js +11 -11
  73. package/dist/features/network-modifications/shunt-compensator/creation/shuntCompensatorCreation.utils.d.ts +12 -12
  74. package/dist/features/network-modifications/shunt-compensator/modification/ShuntCompensatorModificationForm.js +3 -3
  75. package/dist/features/network-modifications/shunt-compensator/modification/shuntCompensatorModification.utils.d.ts +12 -12
  76. package/dist/features/network-modifications/substation/creation/SubstationCreationForm.js +7 -7
  77. package/dist/features/network-modifications/substation/modification/SubstationModificationForm.js +7 -7
  78. package/dist/features/network-modifications/voltageLevel/creation/VoltageLevelCreationForm.js +7 -7
  79. package/dist/features/network-modifications/voltageLevel/creation/tabs/characteristicsTab/CharacteristicsTab.js +9 -9
  80. package/dist/features/network-modifications/voltageLevel/creation/tabs/structureTab/StructureTab.js +5 -5
  81. package/dist/features/network-modifications/voltageLevel/creation/tabs/structureTab/couplingOmnibus/CouplingOmnibusCreation.js +3 -3
  82. package/dist/features/network-modifications/voltageLevel/creation/tabs/structureTab/switchesBetweenSections/SwitchesBetweenSections.js +1 -1
  83. package/dist/features/network-modifications/voltageLevel/creation/tabs/substationTab/SubstationCreationSection.js +7 -7
  84. package/dist/features/network-modifications/voltageLevel/creation/tabs/substationTab/SubstationTab.js +5 -5
  85. package/dist/features/network-modifications/voltageLevel/modification/VoltageLevelModificationForm.js +3 -3
  86. package/dist/features/network-modifications/voltageLevel/modification/voltageLevelModification.utils.d.ts +1 -1
  87. package/dist/features/parameters/common/contingency-table/contingency-table.js +4 -4
  88. package/dist/features/parameters/common/hook/use-tabs.d.ts +3 -2
  89. package/dist/features/parameters/common/hook/use-tabs.js +2 -3
  90. package/dist/features/parameters/common/index.d.ts +2 -1
  91. package/dist/features/parameters/common/index.js +6 -1
  92. package/dist/features/parameters/common/line-separator.js +2 -2
  93. package/dist/features/parameters/common/name-element-editor/name-element-editor-form.js +4 -4
  94. package/dist/features/parameters/common/parameter-field.js +5 -4
  95. package/dist/features/parameters/common/parameter-layout/index.d.ts +8 -0
  96. package/dist/features/parameters/common/parameter-layout/index.js +7 -0
  97. package/dist/features/parameters/common/parameter-layout/parameter-layout-provider.d.ts +10 -0
  98. package/dist/features/parameters/common/parameter-layout/parameter-layout-provider.js +15 -0
  99. package/dist/features/parameters/common/parameter-layout/parameter-layout.d.ts +23 -0
  100. package/dist/features/parameters/common/parameter-layout/parameter-layout.js +167 -0
  101. package/dist/features/parameters/common/parameter-table-field/parameter-table-field.js +3 -3
  102. package/dist/features/parameters/common/parameters.js +3 -3
  103. package/dist/features/parameters/common/provider-param.d.ts +10 -0
  104. package/dist/features/parameters/common/{ProviderParam.js → provider-param.js} +9 -11
  105. package/dist/features/parameters/common/widget/parameter-float.js +4 -4
  106. package/dist/features/parameters/common/widget/parameter-group.js +2 -2
  107. package/dist/features/parameters/common/widget/parameter-line-directory-items-input.js +4 -4
  108. package/dist/features/parameters/common/widget/parameter-line-slider.js +4 -4
  109. package/dist/features/parameters/common/widget/parameter-switch.js +2 -2
  110. package/dist/features/parameters/dynamic-margin-calculation/dynamic-margin-calculation-form.d.ts +4 -5
  111. package/dist/features/parameters/dynamic-margin-calculation/dynamic-margin-calculation-form.js +39 -60
  112. package/dist/features/parameters/dynamic-margin-calculation/dynamic-margin-calculation-inline.js +39 -101
  113. package/dist/features/parameters/dynamic-margin-calculation/loads-variations-parameters.js +2 -2
  114. package/dist/features/parameters/dynamic-margin-calculation/time-delay-parameters.js +2 -2
  115. package/dist/features/parameters/dynamic-margin-calculation/use-dynamic-margin-calculation-parameters-form.js +8 -7
  116. package/dist/features/parameters/dynamic-security-analysis/contingency-parameters.js +12 -11
  117. package/dist/features/parameters/dynamic-security-analysis/dynamic-security-analysis-inline.js +38 -71
  118. package/dist/features/parameters/dynamic-security-analysis/dynamic-security-analysis-parameters-form.d.ts +4 -5
  119. package/dist/features/parameters/dynamic-security-analysis/dynamic-security-analysis-parameters-form.js +39 -61
  120. package/dist/features/parameters/dynamic-security-analysis/scenario-parameters.js +2 -2
  121. package/dist/features/parameters/dynamic-security-analysis/use-dynamic-security-analysis-parameters-form.js +8 -7
  122. package/dist/features/parameters/dynamic-simulation/curve/common/grid-buttons.js +4 -4
  123. package/dist/features/parameters/dynamic-simulation/curve/curve-parameters.js +7 -8
  124. package/dist/features/parameters/dynamic-simulation/curve/dialog/curve-preview.js +7 -7
  125. package/dist/features/parameters/dynamic-simulation/curve/dialog/curve-selector-dialog.js +10 -10
  126. package/dist/features/parameters/dynamic-simulation/curve/dialog/curve-selector.js +26 -50
  127. package/dist/features/parameters/dynamic-simulation/curve/dialog/equipment-filter.js +20 -20
  128. package/dist/features/parameters/dynamic-simulation/curve/dialog/model-filter.js +11 -10
  129. package/dist/features/parameters/dynamic-simulation/dynamic-simulation-inline.js +42 -104
  130. package/dist/features/parameters/dynamic-simulation/dynamic-simulation-parameters-form.d.ts +4 -5
  131. package/dist/features/parameters/dynamic-simulation/dynamic-simulation-parameters-form.js +75 -97
  132. package/dist/features/parameters/dynamic-simulation/mapping/mapping-parameters.js +10 -9
  133. package/dist/features/parameters/dynamic-simulation/network/network-parameters.js +2 -2
  134. package/dist/features/parameters/dynamic-simulation/solver/solver-parameters.js +2 -2
  135. package/dist/features/parameters/dynamic-simulation/time-delay/time-delay-parameters.js +2 -2
  136. package/dist/features/parameters/dynamic-simulation/use-dynamic-simulation-parameters-form.js +7 -6
  137. package/dist/features/parameters/index.js +6 -1
  138. package/dist/features/parameters/loadflow/load-flow-general-parameters.js +1 -0
  139. package/dist/features/parameters/loadflow/load-flow-parameters-content.js +14 -13
  140. package/dist/features/parameters/loadflow/load-flow-parameters-dialog.js +12 -18
  141. package/dist/features/parameters/loadflow/load-flow-parameters-form.d.ts +1 -6
  142. package/dist/features/parameters/loadflow/load-flow-parameters-form.js +26 -91
  143. package/dist/features/parameters/loadflow/load-flow-parameters-header.js +29 -53
  144. package/dist/features/parameters/loadflow/load-flow-parameters-inline.js +35 -128
  145. package/dist/features/parameters/loadflow/load-flow-parameters-utils.js +11 -10
  146. package/dist/features/parameters/loadflow/use-load-flow-parameters-form.js +10 -9
  147. package/dist/features/parameters/network-visualizations/map-parameters.js +18 -17
  148. package/dist/features/parameters/network-visualizations/network-area-diagram-parameters.js +4 -4
  149. package/dist/features/parameters/network-visualizations/network-visualizations-form.d.ts +1 -4
  150. package/dist/features/parameters/network-visualizations/network-visualizations-form.js +19 -48
  151. package/dist/features/parameters/network-visualizations/network-visualizations-parameters-dialog.js +13 -19
  152. package/dist/features/parameters/network-visualizations/network-visualizations-parameters-inline.js +34 -65
  153. package/dist/features/parameters/network-visualizations/single-line-diagram-parameters.js +18 -17
  154. package/dist/features/parameters/parameters-style.d.ts +0 -1
  155. package/dist/features/parameters/parameters-style.js +0 -2
  156. package/dist/features/parameters/pcc-min/pcc-min-parameters-dialog.js +13 -18
  157. package/dist/features/parameters/pcc-min/pcc-min-parameters-form.d.ts +7 -29
  158. package/dist/features/parameters/pcc-min/pcc-min-parameters-form.js +16 -109
  159. package/dist/features/parameters/pcc-min/pcc-min-parameters-inline.js +27 -84
  160. package/dist/features/parameters/security-analysis/columns-definitions.js +11 -10
  161. package/dist/features/parameters/security-analysis/security-analysis-parameters-dialog.js +20 -20
  162. package/dist/features/parameters/security-analysis/security-analysis-parameters-form.d.ts +2 -4
  163. package/dist/features/parameters/security-analysis/security-analysis-parameters-form.js +44 -115
  164. package/dist/features/parameters/security-analysis/security-analysis-parameters-inline.js +40 -109
  165. package/dist/features/parameters/security-analysis/security-analysis-parameters-selector.js +12 -11
  166. package/dist/features/parameters/security-analysis/security-analysis-violations-hiding.js +9 -11
  167. package/dist/features/parameters/security-analysis/use-security-analysis-parameters-form.js +7 -6
  168. package/dist/features/parameters/sensi/columns-definitions.js +9 -8
  169. package/dist/features/parameters/sensi/sensitivity-analysis-parameters-dialog.js +21 -21
  170. package/dist/features/parameters/sensi/sensitivity-analysis-parameters-form.d.ts +3 -5
  171. package/dist/features/parameters/sensi/sensitivity-analysis-parameters-form.js +33 -90
  172. package/dist/features/parameters/sensi/sensitivity-analysis-parameters-inline.js +40 -99
  173. package/dist/features/parameters/sensi/sensitivity-parameters-fields.js +8 -17
  174. package/dist/features/parameters/sensi/sensitivity-parameters-selector.js +10 -9
  175. package/dist/features/parameters/sensi/utils.js +8 -7
  176. package/dist/features/parameters/short-circuit/short-circuit-general-tab-panel.js +15 -14
  177. package/dist/features/parameters/short-circuit/short-circuit-parameters-content.js +11 -10
  178. package/dist/features/parameters/short-circuit/short-circuit-parameters-dialog.js +13 -18
  179. package/dist/features/parameters/short-circuit/short-circuit-parameters-form.d.ts +1 -4
  180. package/dist/features/parameters/short-circuit/short-circuit-parameters-form.js +5 -63
  181. package/dist/features/parameters/short-circuit/short-circuit-parameters-inline.js +33 -101
  182. package/dist/features/parameters/short-circuit/short-circuit-parameters-utils.js +12 -11
  183. package/dist/features/parameters/short-circuit/short-circuit-power-electronics-tab-panel.js +17 -16
  184. package/dist/features/parameters/short-circuit/short-circuit-study-area-tab-panel.js +15 -14
  185. package/dist/features/parameters/short-circuit/use-short-circuit-parameters-form.js +1 -0
  186. package/dist/features/parameters/voltage-init/equipment-selection-parameters.js +6 -5
  187. package/dist/features/parameters/voltage-init/general-parameters.js +11 -10
  188. package/dist/features/parameters/voltage-init/voltage-init-parameters-dialog.js +13 -18
  189. package/dist/features/parameters/voltage-init/voltage-init-parameters-form.d.ts +2 -24
  190. package/dist/features/parameters/voltage-init/voltage-init-parameters-form.js +51 -108
  191. package/dist/features/parameters/voltage-init/voltage-init-parameters-inline.js +34 -90
  192. package/dist/features/parameters/voltage-init/voltage-limits-parameters.js +2 -2
  193. package/dist/features/process-configs/security-analysis/update-sa-process-config.js +7 -6
  194. package/dist/features/topBar/AboutDialog.js +4 -7
  195. package/dist/index.js +13 -4
  196. package/dist/translations/en/commonButtonEn.d.ts +2 -0
  197. package/dist/translations/en/commonButtonEn.js +2 -0
  198. package/dist/translations/en/parameters.d.ts +1 -0
  199. package/dist/translations/en/parameters.js +3 -1
  200. package/dist/translations/fr/commonButtonFr.d.ts +2 -0
  201. package/dist/translations/fr/commonButtonFr.js +2 -0
  202. package/dist/translations/fr/parameters.d.ts +1 -0
  203. package/dist/translations/fr/parameters.js +3 -1
  204. package/dist/utils/types/elementType.d.ts +1 -0
  205. package/dist/utils/types/elementType.js +1 -0
  206. package/package.json +3 -2
  207. package/dist/features/parameters/common/ProviderParam.d.ts +0 -7
@@ -1,7 +1,6 @@
1
- import { jsx, jsxs } from "react/jsx-runtime";
2
- import { useState, useCallback, useEffect } from "react";
3
- import { Box, Grid } from "@mui/material";
4
- import { useIntl, FormattedMessage } from "react-intl";
1
+ import { jsx } from "react/jsx-runtime";
2
+ import { useCallback, useEffect } from "react";
3
+ import "react-intl";
5
4
  import "../../../utils/conversionUtils.js";
6
5
  import { snackWithFallback } from "../../../utils/error.js";
7
6
  import { ElementType } from "../../../utils/types/elementType.js";
@@ -9,35 +8,33 @@ import "../../../utils/types/equipmentType.js";
9
8
  import { mapPccMinParameters } from "../../../utils/types/pcc-min.type.js";
10
9
  import "@mui/icons-material";
11
10
  import { updatePccMinParameters, fetchPccMinParameters } from "../../../services/pcc-min.js";
11
+ import "@mui/material";
12
12
  import "localized-countries";
13
13
  import "localized-countries/data/fr";
14
14
  import "localized-countries/data/en";
15
15
  import { useSnackMessage } from "../../../hooks/useSnackMessage.js";
16
- import "../../../components/ui/overflowableText/OverflowableText.js";
16
+ import { ParameterLayout } from "../common/parameter-layout/parameter-layout.js";
17
+ import "../common/parameter-layout/parameter-layout-provider.js";
17
18
  import "react-hook-form";
18
- import "../../../components/ui/reactHookForm/provider/CustomFormProvider.js";
19
- import { SubmitButton } from "../../../components/ui/reactHookForm/utils/SubmitButton.js";
19
+ import { CustomFormProvider } from "../../../components/ui/reactHookForm/provider/CustomFormProvider.js";
20
+ import "../../../components/ui/dialogs/descriptionModificationDialog/DescriptionModificationDialog.js";
21
+ import "../../../components/ui/dialogs/elementSaveDialog/ElementSaveDialog.js";
22
+ import "../../../components/ui/treeViewFinder/TreeViewFinder.js";
23
+ import "@hello-pangea/dnd";
24
+ import "../../../components/ui/overflowableText/OverflowableText.js";
20
25
  import "yup";
21
- import { DirectoryItemSelector } from "../../../components/ui/directoryItemSelector/DirectoryItemSelector.js";
22
26
  import "../../../components/ui/reactHookForm/numbers/RangeInput.js";
23
- import { PopupConfirmationDialog } from "../../../components/ui/dialogs/popupConfirmationDialog/PopupConfirmationDialog.js";
24
27
  import "@material-symbols/svg-400/outlined/left_panel_open.svg?react";
25
28
  import "@material-symbols/svg-400/outlined/arrows_output.svg?react";
26
29
  import "@material-symbols/svg-400/outlined/arrows_input.svg?react";
27
30
  import "@material-symbols/svg-400/outlined/left_panel_close.svg?react";
28
31
  import "@material-symbols/svg-400/outlined/add_notes.svg?react";
29
- import "../../../components/ui/dialogs/descriptionModificationDialog/DescriptionModificationDialog.js";
30
32
  import "../../../components/ui/reactHookForm/expandableInput/ExpandableInput.js";
31
33
  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
34
  import "../../../components/ui/snackbarProvider/SnackbarProvider.js";
35
35
  import "mui-nested-menu";
36
36
  import "react-resizable-panels";
37
37
  import "react-papaparse";
38
- import "../../../components/ui/treeViewFinder/TreeViewFinder.js";
39
- import { LabelledButton } from "../common/parameters.js";
40
- import { CreateParameterDialog } from "../common/parameters-creation-dialog.js";
41
38
  import "../common/widget/parameter-line-slider.js";
42
39
  import "../common/limitreductions/columns-definitions.js";
43
40
  import "../common/contingency-table/contingency-table.js";
@@ -59,12 +56,8 @@ function PccMinParametersInLine({
59
56
  studyUuid,
60
57
  parameters: pccMinParameters
61
58
  });
62
- const [openResetConfirmation, setOpenResetConfirmation] = useState(false);
63
59
  const { snackError } = useSnackMessage();
64
- const intl = useIntl();
65
- const [openSelectParameterDialog, setOpenSelectParameterDialog] = useState(false);
66
60
  const { formState, handleSubmit, reset, getValues } = pccMinMethods.formMethods;
67
- const [openCreateParameterDialog, setOpenCreateParameterDialog] = useState(false);
68
61
  const resetPccMinParameters = useCallback(() => {
69
62
  updatePccMinParameters(studyUuid, null).catch((error) => {
70
63
  snackError({
@@ -72,21 +65,13 @@ function PccMinParametersInLine({
72
65
  headerId: "updatePccMinParametersError"
73
66
  });
74
67
  });
75
- setOpenResetConfirmation(false);
76
68
  }, [studyUuid, snackError]);
77
- const handleResetClick = useCallback(() => {
78
- setOpenResetConfirmation(true);
79
- }, []);
80
- const handleCancelReset = useCallback(() => {
81
- setOpenResetConfirmation(false);
82
- }, []);
83
69
  useEffect(() => {
84
70
  setHaveDirtyFields(formState.isDirty);
85
71
  }, [formState, setHaveDirtyFields]);
86
72
  const handleLoadParameters = useCallback(
87
73
  (newParams) => {
88
74
  if (newParams?.length) {
89
- setOpenSelectParameterDialog(false);
90
75
  const parametersUuid = newParams[0].id;
91
76
  fetchPccMinParameters(parametersUuid).then((params) => {
92
77
  reset(fromPccMinParamsDataToFormValues(params), {
@@ -96,68 +81,26 @@ function PccMinParametersInLine({
96
81
  snackWithFallback(snackError, error, { headerId: "paramsRetrievingError" });
97
82
  });
98
83
  }
99
- setOpenSelectParameterDialog(false);
100
84
  },
101
85
  [reset, snackError]
102
86
  );
103
- return /* @__PURE__ */ jsx(
104
- PccMinParametersForm,
87
+ return /* @__PURE__ */ jsx(CustomFormProvider, { validationSchema: pccMinMethods.formSchema, ...pccMinMethods.formMethods, removeOptional: true, children: /* @__PURE__ */ jsx(
88
+ ParameterLayout,
105
89
  {
106
- pccMinMethods,
107
- renderActions: () => {
108
- return /* @__PURE__ */ jsxs(Box, { children: [
109
- /* @__PURE__ */ jsxs(Grid, { container: true, item: true, children: [
110
- /* @__PURE__ */ jsx(
111
- LabelledButton,
112
- {
113
- callback: () => setOpenSelectParameterDialog(true),
114
- label: "settings.button.chooseSettings"
115
- }
116
- ),
117
- /* @__PURE__ */ jsx(LabelledButton, { callback: () => setOpenCreateParameterDialog(true), label: "save" }),
118
- /* @__PURE__ */ jsx(LabelledButton, { callback: handleResetClick, label: "resetToDefault" }),
119
- /* @__PURE__ */ jsx(SubmitButton, { onClick: handleSubmit(pccMinMethods.onSaveInline), variant: "outlined", children: /* @__PURE__ */ jsx(FormattedMessage, { id: "validate" }) })
120
- ] }),
121
- openCreateParameterDialog && /* @__PURE__ */ jsx(
122
- CreateParameterDialog,
123
- {
124
- studyUuid,
125
- open: openCreateParameterDialog,
126
- onClose: () => setOpenCreateParameterDialog(false),
127
- parameterValues: getValues,
128
- parameterFormatter: (params) => mapPccMinParameters(fromPccMinParametersFormToParamValuesEnriched(params)),
129
- parameterType: ElementType.PCC_MIN_PARAMETERS
130
- }
131
- ),
132
- openSelectParameterDialog && /* @__PURE__ */ jsx(
133
- DirectoryItemSelector,
134
- {
135
- open: openSelectParameterDialog,
136
- onClose: handleLoadParameters,
137
- types: [ElementType.PCC_MIN_PARAMETERS],
138
- title: intl.formatMessage({
139
- id: "showSelectParameterDialog"
140
- }),
141
- multiSelect: false,
142
- validationButtonText: intl.formatMessage({
143
- id: "validate"
144
- })
145
- }
146
- ),
147
- openResetConfirmation && /* @__PURE__ */ jsx(
148
- PopupConfirmationDialog,
149
- {
150
- message: "resetParamsConfirmation",
151
- validateButtonLabel: "validate",
152
- openConfirmationPopup: openResetConfirmation,
153
- setOpenConfirmationPopup: handleCancelReset,
154
- handlePopupConfirmation: resetPccMinParameters
155
- }
156
- )
157
- ] });
158
- }
90
+ title: "PccMin",
91
+ isLoading: pccMinMethods.paramsLoading,
92
+ parameterType: ElementType.PCC_MIN_PARAMETERS,
93
+ createParameter: {
94
+ studyUuid,
95
+ getParameterValues: getValues,
96
+ parameterFormatter: (params) => mapPccMinParameters(fromPccMinParametersFormToParamValuesEnriched(params))
97
+ },
98
+ selectParameterHandler: handleLoadParameters,
99
+ resetHandler: resetPccMinParameters,
100
+ validateHandler: handleSubmit(pccMinMethods.onSaveInline),
101
+ children: /* @__PURE__ */ jsx(PccMinParametersForm, {})
159
102
  }
160
- );
103
+ ) });
161
104
  }
162
105
  export {
163
106
  PccMinParametersInLine
@@ -1,35 +1,36 @@
1
1
  import * as yup from "yup";
2
- import "../../../utils/conversionUtils.js";
3
- import "../../../utils/types/equipmentType.js";
4
2
  import "react/jsx-runtime";
5
- import "@mui/icons-material";
6
- import { PARAM_SA_PROVIDER, PARAM_SA_HIGH_VOLTAGE_ABSOLUTE_THRESHOLD, PARAM_SA_HIGH_VOLTAGE_PROPORTIONAL_THRESHOLD, PARAM_SA_LOW_VOLTAGE_ABSOLUTE_THRESHOLD, PARAM_SA_LOW_VOLTAGE_PROPORTIONAL_THRESHOLD, PARAM_SA_FLOW_PROPORTIONAL_THRESHOLD } from "../common/constants.js";
7
3
  import "@mui/material";
8
- import "react-intl";
4
+ import "@mui/icons-material";
9
5
  import "react";
6
+ import "react-intl";
7
+ import "../../../components/ui/overflowableText/OverflowableText.js";
8
+ import "../../../utils/conversionUtils.js";
9
+ import "../../../utils/types/equipmentType.js";
10
+ import "react-hook-form";
10
11
  import "localized-countries";
11
12
  import "localized-countries/data/fr";
12
13
  import "localized-countries/data/en";
13
14
  import "notistack";
14
- import "react-hook-form";
15
15
  import "../../../components/ui/reactHookForm/provider/CustomFormProvider.js";
16
- import "../../../components/ui/dialogs/descriptionModificationDialog/DescriptionModificationDialog.js";
17
- import "../../../components/ui/dialogs/elementSaveDialog/ElementSaveDialog.js";
18
16
  import "../../../components/ui/treeViewFinder/TreeViewFinder.js";
19
- import "@hello-pangea/dnd";
20
- import "../../../components/ui/overflowableText/OverflowableText.js";
21
17
  import "../../../components/ui/reactHookForm/numbers/RangeInput.js";
22
18
  import "@material-symbols/svg-400/outlined/left_panel_open.svg?react";
23
19
  import "@material-symbols/svg-400/outlined/arrows_output.svg?react";
24
20
  import "@material-symbols/svg-400/outlined/arrows_input.svg?react";
25
21
  import "@material-symbols/svg-400/outlined/left_panel_close.svg?react";
26
22
  import "@material-symbols/svg-400/outlined/add_notes.svg?react";
23
+ import "../../../components/ui/dialogs/descriptionModificationDialog/DescriptionModificationDialog.js";
27
24
  import "../../../components/ui/reactHookForm/expandableInput/ExpandableInput.js";
28
25
  import "../../../components/ui/reactHookForm/directory-item-input/directory-item-utils.js";
26
+ import "@hello-pangea/dnd";
27
+ import "../../../components/ui/dialogs/elementSaveDialog/ElementSaveDialog.js";
29
28
  import "../../../components/ui/snackbarProvider/SnackbarProvider.js";
30
29
  import "mui-nested-menu";
31
30
  import "react-resizable-panels";
32
31
  import "react-papaparse";
32
+ import "../common/parameter-layout/parameter-layout-provider.js";
33
+ import { PARAM_SA_PROVIDER, PARAM_SA_HIGH_VOLTAGE_ABSOLUTE_THRESHOLD, PARAM_SA_HIGH_VOLTAGE_PROPORTIONAL_THRESHOLD, PARAM_SA_LOW_VOLTAGE_ABSOLUTE_THRESHOLD, PARAM_SA_LOW_VOLTAGE_PROPORTIONAL_THRESHOLD, PARAM_SA_FLOW_PROPORTIONAL_THRESHOLD } from "../common/constants.js";
33
34
  import "../common/widget/parameter-line-slider.js";
34
35
  import { getLimitReductionsFormSchema, toFormValuesLimitReductions } from "../common/limitreductions/columns-definitions.js";
35
36
  import "../common/contingency-table/contingency-table.js";
@@ -1,4 +1,5 @@
1
- import { jsx } from "react/jsx-runtime";
1
+ import { jsxs, jsx } from "react/jsx-runtime";
2
+ import { Grid2 } from "@mui/material";
2
3
  import "react";
3
4
  import "react-intl";
4
5
  import "../../../utils/conversionUtils.js";
@@ -7,7 +8,6 @@ import "../../../utils/types/equipmentType.js";
7
8
  import { ComputingType } from "../../../utils/types/computing-type.js";
8
9
  import "@mui/icons-material";
9
10
  import { getSecurityAnalysisDefaultLimitReductions, fetchSecurityAnalysisProviders, fetchSecurityAnalysisParameters, updateSecurityAnalysisParameters } from "../../../services/security-analysis.js";
10
- import "@mui/material";
11
11
  import "localized-countries";
12
12
  import "localized-countries/data/fr";
13
13
  import "localized-countries/data/en";
@@ -66,7 +66,7 @@ function SecurityAnalysisParametersDialog({
66
66
  formState: { errors, dirtyFields }
67
67
  } = securityAnalysisMethods.formMethods;
68
68
  const disableSave = Object.keys(errors).length > 0 || Object.keys(dirtyFields).length === 0;
69
- return /* @__PURE__ */ jsx(
69
+ return /* @__PURE__ */ jsxs(
70
70
  CustomMuiDialog,
71
71
  {
72
72
  open,
@@ -86,24 +86,24 @@ function SecurityAnalysisParametersDialog({
86
86
  // we want the dialog height to be fixed even when switching tabs
87
87
  }
88
88
  },
89
- children: /* @__PURE__ */ jsx(
90
- SecurityAnalysisParametersForm,
91
- {
92
- securityAnalysisMethods,
93
- showContingencyCount: false,
94
- isDeveloperMode,
95
- renderTitleFields: () => {
96
- return /* @__PURE__ */ jsx(
97
- NameElementEditorForm,
98
- {
99
- initialElementName: name,
100
- activeDirectory,
101
- elementType: ElementType.LOADFLOW_PARAMETERS
102
- }
103
- );
89
+ children: [
90
+ /* @__PURE__ */ jsx(Grid2, { container: true, sx: { width: "100%" }, children: /* @__PURE__ */ jsx(
91
+ NameElementEditorForm,
92
+ {
93
+ initialElementName: name,
94
+ activeDirectory,
95
+ elementType: ElementType.LOADFLOW_PARAMETERS
104
96
  }
105
- }
106
- )
97
+ ) }),
98
+ /* @__PURE__ */ jsx(
99
+ SecurityAnalysisParametersForm,
100
+ {
101
+ securityAnalysisMethods,
102
+ showContingencyCount: false,
103
+ isDeveloperMode
104
+ }
105
+ )
106
+ ]
107
107
  }
108
108
  );
109
109
  }
@@ -1,4 +1,4 @@
1
- import { ForwardedRef, ReactNode } from 'react';
1
+ import { ForwardedRef } from 'react';
2
2
  import { UUID } from 'node:crypto';
3
3
  import { ContingencyTableApi } from '../common';
4
4
  import { UseSecurityAnalysisParametersFormReturn } from './use-security-analysis-parameters-form';
@@ -9,8 +9,6 @@ export type SecurityAnalysisParametersFormProps = {
9
9
  fetchContingencyCount?: (contingencyListIds: UUID[] | null, abortSignal: AbortSignal) => Promise<ContingencyCount>;
10
10
  contingencyTableApiRef?: ForwardedRef<ContingencyTableApi>;
11
11
  isBuiltCurrentNode?: boolean;
12
- renderTitleFields?: () => ReactNode;
13
- renderActions?: () => ReactNode;
14
12
  isDeveloperMode: boolean;
15
13
  };
16
- export declare function SecurityAnalysisParametersForm({ securityAnalysisMethods, showContingencyCount, fetchContingencyCount, contingencyTableApiRef, isBuiltCurrentNode, renderTitleFields, renderActions, isDeveloperMode, }: Readonly<SecurityAnalysisParametersFormProps>): import("react").JSX.Element;
14
+ export declare function SecurityAnalysisParametersForm({ securityAnalysisMethods, showContingencyCount, fetchContingencyCount, contingencyTableApiRef, isBuiltCurrentNode, isDeveloperMode, }: Readonly<SecurityAnalysisParametersFormProps>): import("react").JSX.Element;
@@ -1,22 +1,21 @@
1
- import { jsx, jsxs, Fragment } from "react/jsx-runtime";
2
- import { FormattedMessage } from "react-intl";
3
- import { Grid, Box, LinearProgress } from "@mui/material";
1
+ import { jsxs, jsx } from "react/jsx-runtime";
2
+ import { Stack, Grid2 } from "@mui/material";
3
+ import { parametersStyles } from "../parameters-style.js";
4
4
  import "@mui/icons-material";
5
+ import "react";
6
+ import "react-intl";
5
7
  import "../../../components/ui/overflowableText/OverflowableText.js";
6
8
  import "../../../utils/conversionUtils.js";
7
9
  import "../../../utils/types/equipmentType.js";
8
- import { mergeSx } from "../../../utils/styles.js";
9
- import "react";
10
10
  import "react-hook-form";
11
11
  import "localized-countries";
12
12
  import "localized-countries/data/fr";
13
13
  import "localized-countries/data/en";
14
14
  import "notistack";
15
- import { CustomFormProvider } from "../../../components/ui/reactHookForm/provider/CustomFormProvider.js";
15
+ import "../../../components/ui/reactHookForm/provider/CustomFormProvider.js";
16
16
  import "yup";
17
17
  import "../../../components/ui/treeViewFinder/TreeViewFinder.js";
18
18
  import "../../../components/ui/reactHookForm/numbers/RangeInput.js";
19
- import { MuiSelectInput } from "../../../components/ui/reactHookForm/selectInputs/MuiSelectInput.js";
20
19
  import "@material-symbols/svg-400/outlined/left_panel_open.svg?react";
21
20
  import "@material-symbols/svg-400/outlined/arrows_output.svg?react";
22
21
  import "@material-symbols/svg-400/outlined/arrows_input.svg?react";
@@ -31,9 +30,10 @@ import "../../../components/ui/snackbarProvider/SnackbarProvider.js";
31
30
  import "mui-nested-menu";
32
31
  import "react-resizable-panels";
33
32
  import "react-papaparse";
34
- import { parametersStyles } from "../parameters-style.js";
35
- import { PARAM_SA_PROVIDER, CONTINGENCY_LISTS_INFOS } from "../common/constants.js";
36
33
  import { LineSeparator } from "../common/line-separator.js";
34
+ import "../common/parameter-layout/parameter-layout-provider.js";
35
+ import { CONTINGENCY_LISTS_INFOS } from "../common/constants.js";
36
+ import { ProviderParam } from "../common/provider-param.js";
37
37
  import "../common/widget/parameter-line-slider.js";
38
38
  import "../common/limitreductions/columns-definitions.js";
39
39
  import { ContingencyTable } from "../common/contingency-table/contingency-table.js";
@@ -41,120 +41,49 @@ import "../common/contingency-table/columns-definitions.js";
41
41
  import "@hookform/resolvers/yup";
42
42
  import "../../../components/composite/filter/HeaderFilterForm.js";
43
43
  import { SecurityAnalysisParametersSelector } from "./security-analysis-parameters-selector.js";
44
- const styles = {
45
- securityAnalysisParameters: {
46
- flexGrow: 1,
47
- paddingLeft: 1,
48
- overflow: "auto",
49
- display: "flex",
50
- flexDirection: "column"
51
- },
52
- actions: {
53
- flexGrow: 0
54
- }
55
- };
56
44
  function SecurityAnalysisParametersForm({
57
45
  securityAnalysisMethods,
58
46
  showContingencyCount,
59
47
  fetchContingencyCount,
60
48
  contingencyTableApiRef,
61
49
  isBuiltCurrentNode,
62
- renderTitleFields,
63
- renderActions,
64
50
  isDeveloperMode
65
51
  }) {
66
- return /* @__PURE__ */ jsx(
67
- CustomFormProvider,
68
- {
69
- validationSchema: securityAnalysisMethods.formSchema,
70
- ...securityAnalysisMethods.formMethods,
71
- children: /* @__PURE__ */ jsx(Grid, { item: true, sx: { height: "100%" }, children: /* @__PURE__ */ jsx(
72
- Box,
73
- {
74
- sx: {
75
- height: "100%",
76
- display: "flex",
77
- position: "relative",
78
- flexDirection: "column",
79
- width: "100%"
80
- },
81
- children: /* @__PURE__ */ jsxs(Box, { sx: styles.securityAnalysisParameters, children: [
82
- renderTitleFields?.(),
83
- securityAnalysisMethods.paramsFormInitialized ? /* @__PURE__ */ jsxs(Fragment, { children: [
84
- /* @__PURE__ */ jsxs(
85
- Grid,
86
- {
87
- container: true,
88
- spacing: 1,
89
- sx: {
90
- padding: 0,
91
- paddingBottom: 2,
92
- height: "fit-content"
93
- },
94
- justifyContent: "space-between",
95
- children: [
96
- /* @__PURE__ */ jsx(Grid, { item: true, xs: "auto", sx: parametersStyles.parameterName, children: /* @__PURE__ */ jsx(FormattedMessage, { id: "Provider" }) }),
97
- /* @__PURE__ */ jsx(Grid, { item: true, xs: "auto", sx: parametersStyles.controlItem, children: /* @__PURE__ */ jsx(
98
- MuiSelectInput,
99
- {
100
- name: PARAM_SA_PROVIDER,
101
- size: "small",
102
- options: Object.values(securityAnalysisMethods.formattedProviders)
103
- }
104
- ) }),
105
- /* @__PURE__ */ jsx(LineSeparator, {})
106
- ]
107
- }
108
- ),
109
- /* @__PURE__ */ jsx(
110
- Box,
111
- {
112
- sx: {
113
- flexGrow: 1,
114
- overflow: "auto",
115
- paddingLeft: 1
116
- },
117
- children: /* @__PURE__ */ jsxs(
118
- Grid,
119
- {
120
- container: true,
121
- sx: mergeSx(parametersStyles.scrollableGrid, {
122
- maxHeight: "100%"
123
- }),
124
- children: [
125
- /* @__PURE__ */ jsx(
126
- ContingencyTable,
127
- {
128
- name: CONTINGENCY_LISTS_INFOS,
129
- showContingencyCount,
130
- fetchContingencyCount,
131
- isBuiltCurrentNode,
132
- ref: contingencyTableApiRef
133
- }
134
- ),
135
- /* @__PURE__ */ jsx(Grid, { container: true, paddingTop: 4, paddingBottom: 2, children: /* @__PURE__ */ jsx(LineSeparator, {}) }),
136
- /* @__PURE__ */ jsx(
137
- SecurityAnalysisParametersSelector,
138
- {
139
- params: securityAnalysisMethods.params,
140
- currentProvider: securityAnalysisMethods.watchProvider?.trim(),
141
- isDeveloperMode,
142
- defaultLimitReductions: securityAnalysisMethods.defaultLimitReductions
143
- }
144
- )
145
- ]
146
- },
147
- "securityAnalysisParameters"
148
- )
149
- }
150
- )
151
- ] }) : /* @__PURE__ */ jsx(LinearProgress, {}),
152
- renderActions && /* @__PURE__ */ jsx(Box, { sx: styles.actions, children: renderActions() })
153
- ] })
154
- }
155
- ) })
156
- }
157
- );
52
+ return /* @__PURE__ */ jsxs(Stack, { sx: parametersStyles.scrollableGrid, children: [
53
+ /* @__PURE__ */ jsx(ProviderParam, { options: securityAnalysisMethods.formattedProviders, id: "Sa", sx: { paddingBottom: 1 } }),
54
+ /* @__PURE__ */ jsxs(
55
+ Grid2,
56
+ {
57
+ container: true,
58
+ sx: {
59
+ maxHeight: "100%"
60
+ },
61
+ children: [
62
+ /* @__PURE__ */ jsx(
63
+ ContingencyTable,
64
+ {
65
+ name: CONTINGENCY_LISTS_INFOS,
66
+ showContingencyCount,
67
+ fetchContingencyCount,
68
+ isBuiltCurrentNode,
69
+ ref: contingencyTableApiRef
70
+ }
71
+ ),
72
+ /* @__PURE__ */ jsx(Grid2, { container: true, paddingTop: 4, paddingBottom: 2, children: /* @__PURE__ */ jsx(LineSeparator, {}) }),
73
+ /* @__PURE__ */ jsx(
74
+ SecurityAnalysisParametersSelector,
75
+ {
76
+ params: securityAnalysisMethods.params,
77
+ currentProvider: securityAnalysisMethods.watchProvider?.trim(),
78
+ isDeveloperMode,
79
+ defaultLimitReductions: securityAnalysisMethods.defaultLimitReductions
80
+ }
81
+ )
82
+ ]
83
+ },
84
+ "securityAnalysisParameters"
85
+ )
86
+ ] });
158
87
  }
159
88
  export {
160
89
  SecurityAnalysisParametersForm