@gridsuite/commons-ui 0.240.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 (105) hide show
  1. package/dist/components/composite/customAGGrid/custom-aggrid-filters/custom-aggrid-comparator-filter.js +2 -2
  2. package/dist/components/composite/customAGGrid/custom-aggrid-filters/custom-aggrid-text-filter.js +4 -4
  3. package/dist/components/composite/customAGGrid/custom-aggrid-filters/custom-filter-icon.js +2 -2
  4. package/dist/components/composite/customAGGrid/custom-aggrid-header.js +26 -13
  5. package/dist/components/composite/customAGGrid/custom-aggrid-menu.js +2 -2
  6. package/dist/components/composite/grid/grid-section.js +1 -1
  7. package/dist/features/index.js +6 -1
  8. package/dist/features/network-modifications/common/measurements/BranchActiveReactivePowerMeasurementsForm.js +3 -2
  9. package/dist/features/parameters/common/hook/use-tabs.d.ts +3 -2
  10. package/dist/features/parameters/common/hook/use-tabs.js +2 -3
  11. package/dist/features/parameters/common/index.d.ts +2 -1
  12. package/dist/features/parameters/common/index.js +6 -1
  13. package/dist/features/parameters/common/parameter-field.js +2 -1
  14. package/dist/features/parameters/common/parameter-layout/index.d.ts +8 -0
  15. package/dist/features/parameters/common/parameter-layout/index.js +7 -0
  16. package/dist/features/parameters/common/parameter-layout/parameter-layout-provider.d.ts +10 -0
  17. package/dist/features/parameters/common/parameter-layout/parameter-layout-provider.js +15 -0
  18. package/dist/features/parameters/common/parameter-layout/parameter-layout.d.ts +23 -0
  19. package/dist/features/parameters/common/parameter-layout/parameter-layout.js +167 -0
  20. package/dist/features/parameters/common/provider-param.d.ts +10 -0
  21. package/dist/features/parameters/common/{ProviderParam.js → provider-param.js} +8 -10
  22. package/dist/features/parameters/common/widget/parameter-float.js +1 -1
  23. package/dist/features/parameters/common/widget/parameter-line-directory-items-input.js +1 -1
  24. package/dist/features/parameters/dynamic-margin-calculation/dynamic-margin-calculation-form.d.ts +4 -5
  25. package/dist/features/parameters/dynamic-margin-calculation/dynamic-margin-calculation-form.js +39 -60
  26. package/dist/features/parameters/dynamic-margin-calculation/dynamic-margin-calculation-inline.js +39 -101
  27. package/dist/features/parameters/dynamic-margin-calculation/use-dynamic-margin-calculation-parameters-form.js +8 -7
  28. package/dist/features/parameters/dynamic-security-analysis/contingency-parameters.js +10 -9
  29. package/dist/features/parameters/dynamic-security-analysis/dynamic-security-analysis-inline.js +38 -71
  30. package/dist/features/parameters/dynamic-security-analysis/dynamic-security-analysis-parameters-form.d.ts +4 -5
  31. package/dist/features/parameters/dynamic-security-analysis/dynamic-security-analysis-parameters-form.js +39 -60
  32. package/dist/features/parameters/dynamic-security-analysis/use-dynamic-security-analysis-parameters-form.js +8 -7
  33. package/dist/features/parameters/dynamic-simulation/dynamic-simulation-inline.js +42 -104
  34. package/dist/features/parameters/dynamic-simulation/dynamic-simulation-parameters-form.d.ts +4 -5
  35. package/dist/features/parameters/dynamic-simulation/dynamic-simulation-parameters-form.js +75 -96
  36. package/dist/features/parameters/dynamic-simulation/mapping/mapping-parameters.js +8 -7
  37. package/dist/features/parameters/dynamic-simulation/use-dynamic-simulation-parameters-form.js +7 -6
  38. package/dist/features/parameters/index.js +6 -1
  39. package/dist/features/parameters/loadflow/load-flow-general-parameters.js +1 -0
  40. package/dist/features/parameters/loadflow/load-flow-parameters-content.js +11 -10
  41. package/dist/features/parameters/loadflow/load-flow-parameters-dialog.js +12 -18
  42. package/dist/features/parameters/loadflow/load-flow-parameters-form.d.ts +1 -6
  43. package/dist/features/parameters/loadflow/load-flow-parameters-form.js +26 -91
  44. package/dist/features/parameters/loadflow/load-flow-parameters-header.js +29 -53
  45. package/dist/features/parameters/loadflow/load-flow-parameters-inline.js +35 -127
  46. package/dist/features/parameters/loadflow/load-flow-parameters-utils.js +11 -10
  47. package/dist/features/parameters/loadflow/use-load-flow-parameters-form.js +10 -9
  48. package/dist/features/parameters/network-visualizations/map-parameters.js +10 -9
  49. package/dist/features/parameters/network-visualizations/network-visualizations-form.d.ts +1 -4
  50. package/dist/features/parameters/network-visualizations/network-visualizations-form.js +19 -45
  51. package/dist/features/parameters/network-visualizations/network-visualizations-parameters-dialog.js +13 -19
  52. package/dist/features/parameters/network-visualizations/network-visualizations-parameters-inline.js +34 -65
  53. package/dist/features/parameters/network-visualizations/single-line-diagram-parameters.js +10 -9
  54. package/dist/features/parameters/parameters-style.d.ts +0 -1
  55. package/dist/features/parameters/parameters-style.js +0 -2
  56. package/dist/features/parameters/pcc-min/pcc-min-parameters-dialog.js +13 -18
  57. package/dist/features/parameters/pcc-min/pcc-min-parameters-form.d.ts +7 -29
  58. package/dist/features/parameters/pcc-min/pcc-min-parameters-form.js +16 -106
  59. package/dist/features/parameters/pcc-min/pcc-min-parameters-inline.js +27 -84
  60. package/dist/features/parameters/security-analysis/columns-definitions.js +11 -10
  61. package/dist/features/parameters/security-analysis/security-analysis-parameters-dialog.js +20 -20
  62. package/dist/features/parameters/security-analysis/security-analysis-parameters-form.d.ts +2 -4
  63. package/dist/features/parameters/security-analysis/security-analysis-parameters-form.js +44 -115
  64. package/dist/features/parameters/security-analysis/security-analysis-parameters-inline.js +40 -108
  65. package/dist/features/parameters/security-analysis/security-analysis-parameters-selector.js +9 -8
  66. package/dist/features/parameters/security-analysis/security-analysis-violations-hiding.js +1 -0
  67. package/dist/features/parameters/security-analysis/use-security-analysis-parameters-form.js +7 -6
  68. package/dist/features/parameters/sensi/columns-definitions.js +9 -8
  69. package/dist/features/parameters/sensi/sensitivity-analysis-parameters-dialog.js +21 -21
  70. package/dist/features/parameters/sensi/sensitivity-analysis-parameters-form.d.ts +3 -5
  71. package/dist/features/parameters/sensi/sensitivity-analysis-parameters-form.js +33 -90
  72. package/dist/features/parameters/sensi/sensitivity-analysis-parameters-inline.js +40 -99
  73. package/dist/features/parameters/sensi/sensitivity-parameters-fields.js +3 -11
  74. package/dist/features/parameters/sensi/sensitivity-parameters-selector.js +8 -7
  75. package/dist/features/parameters/sensi/utils.js +8 -7
  76. package/dist/features/parameters/short-circuit/short-circuit-general-tab-panel.js +2 -1
  77. package/dist/features/parameters/short-circuit/short-circuit-parameters-content.js +8 -7
  78. package/dist/features/parameters/short-circuit/short-circuit-parameters-dialog.js +13 -18
  79. package/dist/features/parameters/short-circuit/short-circuit-parameters-form.d.ts +1 -4
  80. package/dist/features/parameters/short-circuit/short-circuit-parameters-form.js +5 -60
  81. package/dist/features/parameters/short-circuit/short-circuit-parameters-inline.js +33 -101
  82. package/dist/features/parameters/short-circuit/short-circuit-parameters-utils.js +12 -11
  83. package/dist/features/parameters/short-circuit/short-circuit-power-electronics-tab-panel.js +10 -9
  84. package/dist/features/parameters/short-circuit/short-circuit-study-area-tab-panel.js +11 -10
  85. package/dist/features/parameters/short-circuit/use-short-circuit-parameters-form.js +1 -0
  86. package/dist/features/parameters/voltage-init/equipment-selection-parameters.js +1 -0
  87. package/dist/features/parameters/voltage-init/general-parameters.js +9 -8
  88. package/dist/features/parameters/voltage-init/voltage-init-parameters-dialog.js +13 -18
  89. package/dist/features/parameters/voltage-init/voltage-init-parameters-form.d.ts +2 -24
  90. package/dist/features/parameters/voltage-init/voltage-init-parameters-form.js +51 -105
  91. package/dist/features/parameters/voltage-init/voltage-init-parameters-inline.js +34 -90
  92. package/dist/features/process-configs/security-analysis/update-sa-process-config.js +7 -6
  93. package/dist/index.js +6 -1
  94. package/dist/translations/en/commonButtonEn.d.ts +2 -0
  95. package/dist/translations/en/commonButtonEn.js +2 -0
  96. package/dist/translations/en/parameters.d.ts +1 -0
  97. package/dist/translations/en/parameters.js +3 -1
  98. package/dist/translations/fr/commonButtonFr.d.ts +2 -0
  99. package/dist/translations/fr/commonButtonFr.js +2 -0
  100. package/dist/translations/fr/parameters.d.ts +1 -0
  101. package/dist/translations/fr/parameters.js +3 -1
  102. package/dist/utils/types/elementType.d.ts +1 -0
  103. package/dist/utils/types/elementType.js +1 -0
  104. package/package.json +1 -1
  105. package/dist/features/parameters/common/ProviderParam.d.ts +0 -7
@@ -8,33 +8,34 @@ import { ShortCircuitParametersTabValues } from "./short-circuit-parameters-util
8
8
  import { ShortCircuitGeneralTabPanel } from "./short-circuit-general-tab-panel.js";
9
9
  import { ShortCircuitStudyAreaTabPanel } from "./short-circuit-study-area-tab-panel.js";
10
10
  import { ShortCircuitPowerElectronicsTabPanel } from "./short-circuit-power-electronics-tab-panel.js";
11
+ import "@mui/icons-material";
12
+ import "../../../components/ui/overflowableText/OverflowableText.js";
11
13
  import "../../../utils/conversionUtils.js";
12
14
  import "../../../utils/types/equipmentType.js";
13
- import "@mui/icons-material";
14
- import { SPECIFIC_PARAMETERS } from "../common/constants.js";
15
15
  import "localized-countries";
16
16
  import "localized-countries/data/fr";
17
17
  import "localized-countries/data/en";
18
18
  import "notistack";
19
19
  import "../../../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";
25
20
  import "yup";
21
+ import "../../../components/ui/treeViewFinder/TreeViewFinder.js";
26
22
  import "../../../components/ui/reactHookForm/numbers/RangeInput.js";
27
23
  import "@material-symbols/svg-400/outlined/left_panel_open.svg?react";
28
24
  import "@material-symbols/svg-400/outlined/arrows_output.svg?react";
29
25
  import "@material-symbols/svg-400/outlined/arrows_input.svg?react";
30
26
  import "@material-symbols/svg-400/outlined/left_panel_close.svg?react";
31
27
  import "@material-symbols/svg-400/outlined/add_notes.svg?react";
28
+ import "../../../components/ui/dialogs/descriptionModificationDialog/DescriptionModificationDialog.js";
32
29
  import "../../../components/ui/reactHookForm/expandableInput/ExpandableInput.js";
33
30
  import "../../../components/ui/reactHookForm/directory-item-input/directory-item-utils.js";
31
+ import "@hello-pangea/dnd";
32
+ import "../../../components/ui/dialogs/elementSaveDialog/ElementSaveDialog.js";
34
33
  import "../../../components/ui/snackbarProvider/SnackbarProvider.js";
35
34
  import "mui-nested-menu";
36
35
  import "react-resizable-panels";
37
36
  import "react-papaparse";
37
+ import "../common/parameter-layout/parameter-layout-provider.js";
38
+ import { SPECIFIC_PARAMETERS } from "../common/constants.js";
38
39
  import "../common/widget/parameter-line-slider.js";
39
40
  import "../common/limitreductions/columns-definitions.js";
40
41
  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 { CustomMuiDialog } from "../../../components/ui/dialogs/customMuiDialog/CustomMuiDialog.js";
3
4
  import "../../../components/ui/dialogs/descriptionModificationDialog/DescriptionModificationDialog.js";
4
5
  import "../../../components/ui/dialogs/elementSaveDialog/ElementSaveDialog.js";
@@ -9,7 +10,6 @@ import { ComputingType } from "../../../utils/types/computing-type.js";
9
10
  import "@mui/icons-material";
10
11
  import { fetchShortCircuitParameters, updateShortCircuitParameters, getShortCircuitSpecificParametersDescription } from "../../../services/short-circuit-analysis.js";
11
12
  import "react";
12
- import "@mui/material";
13
13
  import "react-intl";
14
14
  import "react-hook-form";
15
15
  import "../../../components/ui/treeViewFinder/TreeViewFinder.js";
@@ -69,7 +69,7 @@ function ShortCircuitParametersEditionDialog({
69
69
  formState: { errors, dirtyFields }
70
70
  } = shortCircuitMethods.formMethods;
71
71
  const disableSave = Object.keys(errors).length > 0 || Object.keys(dirtyFields).length === 0;
72
- return /* @__PURE__ */ jsx(
72
+ return /* @__PURE__ */ jsxs(
73
73
  CustomMuiDialog,
74
74
  {
75
75
  open,
@@ -85,22 +85,17 @@ function ShortCircuitParametersEditionDialog({
85
85
  titleId,
86
86
  disabledSave: disableSave,
87
87
  maxWidth: "lg",
88
- children: /* @__PURE__ */ jsx(
89
- ShortCircuitParametersForm,
90
- {
91
- shortCircuitMethods,
92
- renderTitleFields: () => {
93
- return /* @__PURE__ */ jsx(
94
- NameElementEditorForm,
95
- {
96
- initialElementName: name,
97
- activeDirectory,
98
- elementType: ElementType.SHORT_CIRCUIT_PARAMETERS
99
- }
100
- );
88
+ children: [
89
+ /* @__PURE__ */ jsx(Grid2, { container: true, sx: { width: "100%" }, children: /* @__PURE__ */ jsx(
90
+ NameElementEditorForm,
91
+ {
92
+ initialElementName: name,
93
+ activeDirectory,
94
+ elementType: ElementType.SHORT_CIRCUIT_PARAMETERS
101
95
  }
102
- }
103
- )
96
+ ) }),
97
+ /* @__PURE__ */ jsx(ShortCircuitParametersForm, { shortCircuitMethods })
98
+ ]
104
99
  }
105
100
  );
106
101
  }
@@ -1,9 +1,6 @@
1
- import { ReactNode } from 'react';
2
1
  import { UseShortCircuitParametersFormReturn } from './use-short-circuit-parameters-form';
3
2
  interface ShortCircuitParametersFormProps {
4
3
  shortCircuitMethods: UseShortCircuitParametersFormReturn;
5
- renderTitleFields?: () => ReactNode;
6
- renderActions?: () => ReactNode;
7
4
  }
8
- export declare function ShortCircuitParametersForm({ shortCircuitMethods, renderTitleFields, renderActions, }: Readonly<ShortCircuitParametersFormProps>): import("react").JSX.Element;
5
+ export declare function ShortCircuitParametersForm({ shortCircuitMethods }: Readonly<ShortCircuitParametersFormProps>): import("react").JSX.Element;
9
6
  export {};
@@ -1,64 +1,9 @@
1
- import { jsx, jsxs } from "react/jsx-runtime";
2
- import { Box, Stack, Grid2, LinearProgress } from "@mui/material";
3
- import "@mui/icons-material";
4
- import "react-intl";
5
- import "../../../components/ui/overflowableText/OverflowableText.js";
6
- import "../../../utils/conversionUtils.js";
7
- import "../../../utils/types/equipmentType.js";
8
- import "react";
9
- import "react-hook-form";
10
- import "localized-countries";
11
- import "localized-countries/data/fr";
12
- import "localized-countries/data/en";
13
- import "notistack";
14
- import { CustomFormProvider } from "../../../components/ui/reactHookForm/provider/CustomFormProvider.js";
15
- import "yup";
16
- import "../../../components/ui/treeViewFinder/TreeViewFinder.js";
17
- import "../../../components/ui/reactHookForm/numbers/RangeInput.js";
18
- import "@material-symbols/svg-400/outlined/left_panel_open.svg?react";
19
- import "@material-symbols/svg-400/outlined/arrows_output.svg?react";
20
- import "@material-symbols/svg-400/outlined/arrows_input.svg?react";
21
- import "@material-symbols/svg-400/outlined/left_panel_close.svg?react";
22
- import "@material-symbols/svg-400/outlined/add_notes.svg?react";
23
- import "../../../components/ui/dialogs/descriptionModificationDialog/DescriptionModificationDialog.js";
24
- import "../../../components/ui/reactHookForm/expandableInput/ExpandableInput.js";
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";
28
- import "../../../components/ui/snackbarProvider/SnackbarProvider.js";
29
- import "mui-nested-menu";
30
- import "react-resizable-panels";
31
- import "react-papaparse";
32
- import { parametersStyles } from "../parameters-style.js";
1
+ import { jsx } from "react/jsx-runtime";
2
+ import { Grid2 } from "@mui/material";
33
3
  import ShortCircuitParametersContent from "./short-circuit-parameters-content.js";
34
- const styles = {
35
- shortCircuitParameters: {
36
- height: "100%",
37
- display: "flex",
38
- position: "relative",
39
- flexDirection: "column"
40
- }
41
- };
42
- function ShortCircuitParametersForm({
43
- shortCircuitMethods,
44
- renderTitleFields,
45
- renderActions
46
- }) {
47
- const { formMethods, formSchema, paramsLoaded } = shortCircuitMethods;
48
- return /* @__PURE__ */ jsx(CustomFormProvider, { validationSchema: formSchema, ...formMethods, removeOptional: true, children: /* @__PURE__ */ jsxs(Box, { sx: styles.shortCircuitParameters, children: [
49
- /* @__PURE__ */ jsx(Stack, { children: renderTitleFields?.() }),
50
- paramsLoaded ? /* @__PURE__ */ jsx(Grid2, { sx: parametersStyles.scrollableGrid, children: /* @__PURE__ */ jsx(ShortCircuitParametersContent, { shortCircuitMethods }) }) : /* @__PURE__ */ jsx(LinearProgress, {}),
51
- /* @__PURE__ */ jsx(
52
- Stack,
53
- {
54
- sx: {
55
- position: "absolute",
56
- bottom: "15px"
57
- },
58
- children: renderActions?.()
59
- }
60
- )
61
- ] }) });
4
+ import { parametersStyles } from "../parameters-style.js";
5
+ function ShortCircuitParametersForm({ shortCircuitMethods }) {
6
+ return /* @__PURE__ */ jsx(Grid2, { container: true, sx: parametersStyles.scrollableGrid, children: /* @__PURE__ */ jsx(ShortCircuitParametersContent, { shortCircuitMethods }) });
62
7
  }
63
8
  export {
64
9
  ShortCircuitParametersForm
@@ -1,42 +1,39 @@
1
- import { jsx, jsxs } from "react/jsx-runtime";
2
- import { useState, useCallback, useEffect } from "react";
3
- import { Box, Grid2 } 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";
8
7
  import "../../../utils/types/equipmentType.js";
9
8
  import "@mui/icons-material";
10
9
  import { fetchShortCircuitParameters } from "../../../services/short-circuit-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";
14
14
  import { useSnackMessage } from "../../../hooks/useSnackMessage.js";
15
- import "../../../components/ui/overflowableText/OverflowableText.js";
15
+ import { ParameterLayout } from "../common/parameter-layout/parameter-layout.js";
16
+ import "../common/parameter-layout/parameter-layout-provider.js";
16
17
  import "react-hook-form";
17
- import "../../../components/ui/reactHookForm/provider/CustomFormProvider.js";
18
- import { SubmitButton } from "../../../components/ui/reactHookForm/utils/SubmitButton.js";
18
+ import { CustomFormProvider } from "../../../components/ui/reactHookForm/provider/CustomFormProvider.js";
19
+ import "../../../components/ui/dialogs/descriptionModificationDialog/DescriptionModificationDialog.js";
20
+ import "../../../components/ui/dialogs/elementSaveDialog/ElementSaveDialog.js";
21
+ import "../../../components/ui/treeViewFinder/TreeViewFinder.js";
22
+ import "@hello-pangea/dnd";
23
+ import "../../../components/ui/overflowableText/OverflowableText.js";
19
24
  import "yup";
20
- import { DirectoryItemSelector } from "../../../components/ui/directoryItemSelector/DirectoryItemSelector.js";
21
25
  import "../../../components/ui/reactHookForm/numbers/RangeInput.js";
22
- import { PopupConfirmationDialog } from "../../../components/ui/dialogs/popupConfirmationDialog/PopupConfirmationDialog.js";
23
26
  import "@material-symbols/svg-400/outlined/left_panel_open.svg?react";
24
27
  import "@material-symbols/svg-400/outlined/arrows_output.svg?react";
25
28
  import "@material-symbols/svg-400/outlined/arrows_input.svg?react";
26
29
  import "@material-symbols/svg-400/outlined/left_panel_close.svg?react";
27
30
  import "@material-symbols/svg-400/outlined/add_notes.svg?react";
28
- import "../../../components/ui/dialogs/descriptionModificationDialog/DescriptionModificationDialog.js";
29
31
  import "../../../components/ui/reactHookForm/expandableInput/ExpandableInput.js";
30
32
  import "../../../components/ui/reactHookForm/directory-item-input/directory-item-utils.js";
31
- import "@hello-pangea/dnd";
32
- import "../../../components/ui/dialogs/elementSaveDialog/ElementSaveDialog.js";
33
33
  import "../../../components/ui/snackbarProvider/SnackbarProvider.js";
34
34
  import "mui-nested-menu";
35
35
  import "react-resizable-panels";
36
36
  import "react-papaparse";
37
- import "../../../components/ui/treeViewFinder/TreeViewFinder.js";
38
- import { LabelledButton } from "../common/parameters.js";
39
- import { CreateParameterDialog } from "../common/parameters-creation-dialog.js";
40
37
  import "../common/widget/parameter-line-slider.js";
41
38
  import "../common/limitreductions/columns-definitions.js";
42
39
  import "../common/contingency-table/contingency-table.js";
@@ -56,19 +53,13 @@ function ShortCircuitParametersInLine({
56
53
  name: null,
57
54
  description: null
58
55
  });
59
- const intl = useIntl();
60
- const [openCreateParameterDialog, setOpenCreateParameterDialog] = useState(false);
61
- const [openSelectParameterDialog, setOpenSelectParameterDialog] = useState(false);
62
56
  const { resetParameters } = parametersBackend;
63
- const [openResetConfirmation, setOpenResetConfirmation] = useState(false);
64
- const [pendingResetAction, setPendingResetAction] = useState(null);
65
57
  const { snackError } = useSnackMessage();
66
58
  const { formMethods } = shortCircuitMethods;
67
59
  const { getValues, formState, handleSubmit, reset } = formMethods;
68
60
  const handleLoadParameters = useCallback(
69
61
  (newParams) => {
70
62
  if (newParams?.length) {
71
- setOpenSelectParameterDialog(false);
72
63
  const paramUuid = newParams[0].id;
73
64
  fetchShortCircuitParameters(paramUuid).then((parameters) => {
74
65
  reset(shortCircuitMethods.toShortCircuitFormValues(parameters), {
@@ -78,94 +69,35 @@ function ShortCircuitParametersInLine({
78
69
  snackWithFallback(snackError, error, { headerId: "paramsRetrievingError" });
79
70
  });
80
71
  }
81
- setOpenSelectParameterDialog(false);
82
72
  },
83
73
  [snackError, shortCircuitMethods, reset]
84
74
  );
85
- const executeResetAction = useCallback(() => {
86
- if (pendingResetAction === "all" || pendingResetAction === "parameters") {
87
- resetParameters();
88
- }
89
- setOpenResetConfirmation(false);
90
- setPendingResetAction(null);
91
- }, [pendingResetAction, resetParameters]);
92
- const handleResetAllClick = useCallback(() => {
93
- setPendingResetAction("all");
94
- setOpenResetConfirmation(true);
95
- }, []);
96
- const handleCancelReset = useCallback(() => {
97
- setOpenResetConfirmation(false);
98
- setPendingResetAction(null);
99
- }, []);
100
75
  useEffect(() => {
101
76
  setHaveDirtyFields(formState.isDirty);
102
77
  }, [formState, setHaveDirtyFields]);
103
78
  return /* @__PURE__ */ jsx(
104
- ShortCircuitParametersForm,
79
+ CustomFormProvider,
105
80
  {
106
- shortCircuitMethods,
107
- renderActions: () => {
108
- return /* @__PURE__ */ jsxs(Box, { children: [
109
- /* @__PURE__ */ jsxs(Grid2, { container: 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: handleResetAllClick, label: "resetToDefault" }),
119
- /* @__PURE__ */ jsx(
120
- SubmitButton,
121
- {
122
- onClick: handleSubmit(
123
- shortCircuitMethods.onSaveInline,
124
- shortCircuitMethods.onValidationError
125
- ),
126
- variant: "outlined",
127
- children: /* @__PURE__ */ jsx(FormattedMessage, { id: "validate" })
128
- }
129
- )
130
- ] }),
131
- openCreateParameterDialog && /* @__PURE__ */ jsx(
132
- CreateParameterDialog,
133
- {
134
- studyUuid,
135
- open: openCreateParameterDialog,
136
- onClose: () => setOpenCreateParameterDialog(false),
137
- parameterValues: () => shortCircuitMethods.formatNewParams(getValues()),
138
- parameterFormatter: (newParams) => newParams,
139
- parameterType: ElementType.SHORT_CIRCUIT_PARAMETERS
140
- }
141
- ),
142
- openSelectParameterDialog && /* @__PURE__ */ jsx(
143
- DirectoryItemSelector,
144
- {
145
- open: openSelectParameterDialog,
146
- onClose: handleLoadParameters,
147
- types: [ElementType.SHORT_CIRCUIT_PARAMETERS],
148
- title: intl.formatMessage({
149
- id: "showSelectParameterDialog"
150
- }),
151
- multiSelect: false,
152
- validationButtonText: intl.formatMessage({
153
- id: "validate"
154
- })
155
- }
156
- ),
157
- openResetConfirmation && /* @__PURE__ */ jsx(
158
- PopupConfirmationDialog,
159
- {
160
- message: "resetParamsConfirmation",
161
- validateButtonLabel: "validate",
162
- openConfirmationPopup: openResetConfirmation,
163
- setOpenConfirmationPopup: handleCancelReset,
164
- handlePopupConfirmation: executeResetAction
165
- }
166
- )
167
- ] });
168
- }
81
+ validationSchema: shortCircuitMethods.formSchema,
82
+ ...shortCircuitMethods.formMethods,
83
+ removeOptional: true,
84
+ children: /* @__PURE__ */ jsx(
85
+ ParameterLayout,
86
+ {
87
+ title: "ShortCircuit",
88
+ isLoading: !shortCircuitMethods.paramsLoaded,
89
+ parameterType: ElementType.SHORT_CIRCUIT_PARAMETERS,
90
+ createParameter: {
91
+ studyUuid,
92
+ getParameterValues: getValues,
93
+ parameterFormatter: (params) => shortCircuitMethods.formatNewParams(params)
94
+ },
95
+ selectParameterHandler: handleLoadParameters,
96
+ resetHandler: resetParameters,
97
+ validateHandler: handleSubmit(shortCircuitMethods.onSaveInline, shortCircuitMethods.onValidationError),
98
+ children: /* @__PURE__ */ jsx(ShortCircuitParametersForm, { shortCircuitMethods })
99
+ }
100
+ )
169
101
  }
170
102
  );
171
103
  }
@@ -1,27 +1,23 @@
1
1
  import * as yup from "yup";
2
2
  import { SHORT_CIRCUIT_POWER_ELECTRONICS_MATERIALS, SHORT_CIRCUIT_POWER_ELECTRONICS_CLUSTERS, NODE_CLUSTER, NODE_CLUSTER_FILTER_IDS, SHORT_CIRCUIT_INITIAL_VOLTAGE_PROFILE_MODE, InitialVoltage, SHORT_CIRCUIT_WITH_NEUTRAL_POSITION, SHORT_CIRCUIT_WITH_SHUNT_COMPENSATORS, SHORT_CIRCUIT_WITH_VSC_CONVERTER_STATIONS, SHORT_CIRCUIT_WITH_LOADS, SHORT_CIRCUIT_WITH_FEEDER_RESULT } from "./constants.js";
3
+ import "react/jsx-runtime";
4
+ import "@mui/material";
5
+ import "@mui/icons-material";
6
+ import "react";
7
+ import "react-intl";
8
+ import "../../../components/ui/overflowableText/OverflowableText.js";
3
9
  import { ID } from "../../../utils/constants/filterConstant.js";
4
10
  import { YUP_REQUIRED } from "../../../utils/constants/translationKeys.js";
5
11
  import "../../../utils/conversionUtils.js";
6
12
  import { snackWithFallback } from "../../../utils/error.js";
7
13
  import "../../../utils/types/equipmentType.js";
8
- import "react/jsx-runtime";
9
- import "@mui/icons-material";
10
- import { COMMON_PARAMETERS, SPECIFIC_PARAMETERS } from "../common/constants.js";
11
- import "@mui/material";
12
- import "react-intl";
13
- import "react";
14
+ import "react-hook-form";
14
15
  import "localized-countries";
15
16
  import "localized-countries/data/fr";
16
17
  import "localized-countries/data/en";
17
18
  import "notistack";
18
- import "react-hook-form";
19
19
  import "../../../components/ui/reactHookForm/provider/CustomFormProvider.js";
20
- import "../../../components/ui/dialogs/descriptionModificationDialog/DescriptionModificationDialog.js";
21
- import "../../../components/ui/dialogs/elementSaveDialog/ElementSaveDialog.js";
22
20
  import "../../../components/ui/treeViewFinder/TreeViewFinder.js";
23
- import "@hello-pangea/dnd";
24
- import "../../../components/ui/overflowableText/OverflowableText.js";
25
21
  import { NAME } from "../../../components/ui/reactHookForm/constants.js";
26
22
  import "../../../components/ui/reactHookForm/numbers/RangeInput.js";
27
23
  import "@material-symbols/svg-400/outlined/left_panel_open.svg?react";
@@ -29,12 +25,17 @@ import "@material-symbols/svg-400/outlined/arrows_output.svg?react";
29
25
  import "@material-symbols/svg-400/outlined/arrows_input.svg?react";
30
26
  import "@material-symbols/svg-400/outlined/left_panel_close.svg?react";
31
27
  import "@material-symbols/svg-400/outlined/add_notes.svg?react";
28
+ import "../../../components/ui/dialogs/descriptionModificationDialog/DescriptionModificationDialog.js";
32
29
  import "../../../components/ui/reactHookForm/expandableInput/ExpandableInput.js";
33
30
  import "../../../components/ui/reactHookForm/directory-item-input/directory-item-utils.js";
31
+ import "@hello-pangea/dnd";
32
+ import "../../../components/ui/dialogs/elementSaveDialog/ElementSaveDialog.js";
34
33
  import "../../../components/ui/snackbarProvider/SnackbarProvider.js";
35
34
  import "mui-nested-menu";
36
35
  import "react-resizable-panels";
37
36
  import "react-papaparse";
37
+ import "../common/parameter-layout/parameter-layout-provider.js";
38
+ import { COMMON_PARAMETERS, SPECIFIC_PARAMETERS } from "../common/constants.js";
38
39
  import "../common/widget/parameter-line-slider.js";
39
40
  import "../common/limitreductions/columns-definitions.js";
40
41
  import "../common/contingency-table/contingency-table.js";
@@ -3,24 +3,20 @@ import { forwardRef } from "react";
3
3
  import { Grid2 } from "@mui/material";
4
4
  import { FormattedMessage } from "react-intl";
5
5
  import { ShortCircuitIccMaterialTable } from "./short-circuit-icc-material-table.js";
6
- import "../../../utils/conversionUtils.js";
7
- import "../../../utils/types/equipmentType.js";
8
6
  import "@mui/icons-material";
9
- import { SPECIFIC_PARAMETERS } from "../common/constants.js";
10
7
  import { TabPanel } from "../common/parameters.js";
8
+ import "../../../components/ui/overflowableText/OverflowableText.js";
9
+ import "../../../utils/conversionUtils.js";
10
+ import "../../../utils/types/equipmentType.js";
11
+ import "react-hook-form";
11
12
  import "localized-countries";
12
13
  import "localized-countries/data/fr";
13
14
  import "localized-countries/data/en";
14
15
  import "notistack";
15
- import "react-hook-form";
16
16
  import "../../../components/ui/reactHookForm/provider/CustomFormProvider.js";
17
- import "../../../components/ui/dialogs/descriptionModificationDialog/DescriptionModificationDialog.js";
18
- import "../../../components/ui/dialogs/elementSaveDialog/ElementSaveDialog.js";
19
- import "../../../components/ui/treeViewFinder/TreeViewFinder.js";
20
- import "@hello-pangea/dnd";
21
- import "../../../components/ui/overflowableText/OverflowableText.js";
22
17
  import { FieldLabel } from "../../../components/ui/reactHookForm/utils/FieldLabel.js";
23
18
  import "yup";
19
+ import "../../../components/ui/treeViewFinder/TreeViewFinder.js";
24
20
  import { SwitchInput } from "../../../components/ui/reactHookForm/booleans/SwitchInput.js";
25
21
  import "../../../components/ui/reactHookForm/numbers/RangeInput.js";
26
22
  import "@material-symbols/svg-400/outlined/left_panel_open.svg?react";
@@ -28,12 +24,17 @@ import "@material-symbols/svg-400/outlined/arrows_output.svg?react";
28
24
  import "@material-symbols/svg-400/outlined/arrows_input.svg?react";
29
25
  import "@material-symbols/svg-400/outlined/left_panel_close.svg?react";
30
26
  import "@material-symbols/svg-400/outlined/add_notes.svg?react";
27
+ import "../../../components/ui/dialogs/descriptionModificationDialog/DescriptionModificationDialog.js";
31
28
  import "../../../components/ui/reactHookForm/expandableInput/ExpandableInput.js";
32
29
  import "../../../components/ui/reactHookForm/directory-item-input/directory-item-utils.js";
30
+ import "@hello-pangea/dnd";
31
+ import "../../../components/ui/dialogs/elementSaveDialog/ElementSaveDialog.js";
33
32
  import "../../../components/ui/snackbarProvider/SnackbarProvider.js";
34
33
  import "mui-nested-menu";
35
34
  import "react-resizable-panels";
36
35
  import "react-papaparse";
36
+ import "../common/parameter-layout/parameter-layout-provider.js";
37
+ import { SPECIFIC_PARAMETERS } from "../common/constants.js";
37
38
  import "../common/widget/parameter-line-slider.js";
38
39
  import "../common/limitreductions/columns-definitions.js";
39
40
  import "../common/contingency-table/contingency-table.js";
@@ -2,25 +2,20 @@ import { jsxs, jsx } from "react/jsx-runtime";
2
2
  import { forwardRef } from "react";
3
3
  import { Grid2, Box } from "@mui/material";
4
4
  import { useFormContext } from "react-hook-form";
5
+ import "@mui/icons-material";
6
+ import "react-intl";
7
+ import { TabPanel } from "../common/parameters.js";
8
+ import "../../../components/ui/overflowableText/OverflowableText.js";
9
+ import { OverflowableChipWithHelperText } from "../../../components/ui/reactHookForm/OverflowableChipWithHelperText.js";
5
10
  import { ActivePowerAdornment } from "../../../utils/constants/adornments.js";
6
11
  import "../../../utils/conversionUtils.js";
7
12
  import { ElementType } from "../../../utils/types/elementType.js";
8
13
  import { EquipmentType } from "../../../utils/types/equipmentType.js";
9
- import "@mui/icons-material";
10
- import { SPECIFIC_PARAMETERS } from "../common/constants.js";
11
- import { TabPanel } from "../common/parameters.js";
12
- import "react-intl";
13
14
  import "localized-countries";
14
15
  import "localized-countries/data/fr";
15
16
  import "localized-countries/data/en";
16
17
  import "notistack";
17
18
  import "../../../components/ui/reactHookForm/provider/CustomFormProvider.js";
18
- import "../../../components/ui/dialogs/descriptionModificationDialog/DescriptionModificationDialog.js";
19
- import "../../../components/ui/dialogs/elementSaveDialog/ElementSaveDialog.js";
20
- import "../../../components/ui/treeViewFinder/TreeViewFinder.js";
21
- import "@hello-pangea/dnd";
22
- import "../../../components/ui/overflowableText/OverflowableText.js";
23
- import { OverflowableChipWithHelperText } from "../../../components/ui/reactHookForm/OverflowableChipWithHelperText.js";
24
19
  import { FieldLabel } from "../../../components/ui/reactHookForm/utils/FieldLabel.js";
25
20
  import "yup";
26
21
  import { DirectoryItemsInput } from "../../../components/ui/reactHookForm/DirectoryItemsInput.js";
@@ -32,12 +27,18 @@ import "@material-symbols/svg-400/outlined/arrows_output.svg?react";
32
27
  import "@material-symbols/svg-400/outlined/arrows_input.svg?react";
33
28
  import "@material-symbols/svg-400/outlined/left_panel_close.svg?react";
34
29
  import "@material-symbols/svg-400/outlined/add_notes.svg?react";
30
+ import "../../../components/ui/dialogs/descriptionModificationDialog/DescriptionModificationDialog.js";
35
31
  import "../../../components/ui/reactHookForm/expandableInput/ExpandableInput.js";
36
32
  import "../../../components/ui/reactHookForm/directory-item-input/directory-item-utils.js";
33
+ import "../../../components/ui/treeViewFinder/TreeViewFinder.js";
34
+ import "@hello-pangea/dnd";
35
+ import "../../../components/ui/dialogs/elementSaveDialog/ElementSaveDialog.js";
37
36
  import "../../../components/ui/snackbarProvider/SnackbarProvider.js";
38
37
  import "mui-nested-menu";
39
38
  import "react-resizable-panels";
40
39
  import "react-papaparse";
40
+ import "../common/parameter-layout/parameter-layout-provider.js";
41
+ import { SPECIFIC_PARAMETERS } from "../common/constants.js";
41
42
  import "../common/widget/parameter-line-slider.js";
42
43
  import "../common/limitreductions/columns-definitions.js";
43
44
  import "../common/contingency-table/contingency-table.js";
@@ -37,6 +37,7 @@ import "react-papaparse";
37
37
  import { SHORT_CIRCUIT_PREDEFINED_PARAMS, PredefinedParameters, SHORT_CIRCUIT_WITH_LOADS, SHORT_CIRCUIT_WITH_VSC_CONVERTER_STATIONS, SHORT_CIRCUIT_WITH_SHUNT_COMPENSATORS, SHORT_CIRCUIT_WITH_NEUTRAL_POSITION, SHORT_CIRCUIT_INITIAL_VOLTAGE_PROFILE_MODE, InitialVoltage, SHORT_CIRCUIT_ONLY_STARTED_GENERATORS_IN_CALCULATION_CLUSTER, SHORT_CIRCUIT_ONLY_STARTED_GENERATORS_OUTSIDE_CALCULATION_CLUSTER, SHORT_CIRCUIT_VOLTAGE_RANGES, SHORT_CIRCUIT_POWER_ELECTRONICS_MATERIALS, SHORT_CIRCUIT_POWER_ELECTRONICS_CLUSTERS, NODE_CLUSTER_FILTER_IDS } from "./constants.js";
38
38
  import "../../../components/composite/filter/HeaderFilterForm.js";
39
39
  import { getNameElementEditorSchema, getNameElementEditorEmptyFormData } from "../common/name-element-editor/name-element-editor-utils.js";
40
+ import "../common/parameter-layout/parameter-layout-provider.js";
40
41
  import { SPECIFIC_PARAMETERS, COMMON_PARAMETERS, VERSION_PARAMETER, PROVIDER } from "../common/constants.js";
41
42
  import "../common/widget/parameter-line-slider.js";
42
43
  import "../common/limitreductions/columns-definitions.js";
@@ -32,6 +32,7 @@ import "mui-nested-menu";
32
32
  import "react-resizable-panels";
33
33
  import "react-papaparse";
34
34
  import { GENERATORS_SELECTION_TYPE, VARIABLE_Q_GENERATORS, TRANSFORMERS_SELECTION_TYPE, VARIABLE_TRANSFORMERS, SHUNT_COMPENSATORS_SELECTION_TYPE, VARIABLE_SHUNT_COMPENSATORS } from "./constants.js";
35
+ import "../common/parameter-layout/parameter-layout-provider.js";
35
36
  import { ParameterLineDirectoryItemsInput } from "../common/widget/parameter-line-directory-items-input.js";
36
37
  import "../common/widget/parameter-line-slider.js";
37
38
  import "../common/limitreductions/columns-definitions.js";
@@ -4,35 +4,36 @@ import { useCallback } from "react";
4
4
  import { FormattedMessage } from "react-intl";
5
5
  import { Grid2, Alert, Box } from "@mui/material";
6
6
  import { GENERAL, GENERAL_APPLY_MODIFICATIONS, UPDATE_BUS_VOLTAGE, REACTIVE_SLACKS_THRESHOLD, SHUNT_COMPENSATOR_ACTIVATION_THRESHOLD } from "./constants.js";
7
+ import "@mui/icons-material";
8
+ import { parametersStyles } from "../parameters-style.js";
9
+ import "../../../components/ui/overflowableText/OverflowableText.js";
7
10
  import { ReactivePowerAdornment } from "../../../utils/constants/adornments.js";
8
11
  import "../../../utils/conversionUtils.js";
9
12
  import "../../../utils/types/equipmentType.js";
10
- import "@mui/icons-material";
11
- import { LineSeparator } from "../common/line-separator.js";
12
- import { parametersStyles } from "../parameters-style.js";
13
13
  import "localized-countries";
14
14
  import "localized-countries/data/fr";
15
15
  import "localized-countries/data/en";
16
16
  import "notistack";
17
17
  import "../../../components/ui/reactHookForm/provider/CustomFormProvider.js";
18
- import "../../../components/ui/dialogs/descriptionModificationDialog/DescriptionModificationDialog.js";
19
- import "../../../components/ui/dialogs/elementSaveDialog/ElementSaveDialog.js";
20
- import "../../../components/ui/treeViewFinder/TreeViewFinder.js";
21
- import "@hello-pangea/dnd";
22
- import "../../../components/ui/overflowableText/OverflowableText.js";
23
18
  import "yup";
19
+ import "../../../components/ui/treeViewFinder/TreeViewFinder.js";
24
20
  import "../../../components/ui/reactHookForm/numbers/RangeInput.js";
25
21
  import "@material-symbols/svg-400/outlined/left_panel_open.svg?react";
26
22
  import "@material-symbols/svg-400/outlined/arrows_output.svg?react";
27
23
  import "@material-symbols/svg-400/outlined/arrows_input.svg?react";
28
24
  import "@material-symbols/svg-400/outlined/left_panel_close.svg?react";
29
25
  import "@material-symbols/svg-400/outlined/add_notes.svg?react";
26
+ import "../../../components/ui/dialogs/descriptionModificationDialog/DescriptionModificationDialog.js";
30
27
  import "../../../components/ui/reactHookForm/expandableInput/ExpandableInput.js";
31
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";
32
31
  import "../../../components/ui/snackbarProvider/SnackbarProvider.js";
33
32
  import "mui-nested-menu";
34
33
  import "react-resizable-panels";
35
34
  import "react-papaparse";
35
+ import { LineSeparator } from "../common/line-separator.js";
36
+ import "../common/parameter-layout/parameter-layout-provider.js";
36
37
  import { ParameterFloat } from "../common/widget/parameter-float.js";
37
38
  import "../common/widget/parameter-line-slider.js";
38
39
  import { ParameterSwitch } from "../common/widget/parameter-switch.js";