@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
@@ -1,49 +1,47 @@
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 { getNetworkVisualizationsParameters } from "../../../services/study-config.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 { NetworkVisualizationParametersForm } from "./network-visualizations-form.js";
16
+ import { useNetworkVisualizationParametersForm } from "./use-network-visualizations-parameters-form.js";
17
+ import { ParameterLayout } from "../common/parameter-layout/parameter-layout.js";
18
+ import "../common/parameter-layout/parameter-layout-provider.js";
16
19
  import "react-hook-form";
17
- import "../../../components/ui/reactHookForm/provider/CustomFormProvider.js";
18
- import { SubmitButton } from "../../../components/ui/reactHookForm/utils/SubmitButton.js";
20
+ import { CustomFormProvider } from "../../../components/ui/reactHookForm/provider/CustomFormProvider.js";
21
+ import "../../../components/ui/dialogs/descriptionModificationDialog/DescriptionModificationDialog.js";
22
+ import "../../../components/ui/dialogs/elementSaveDialog/ElementSaveDialog.js";
23
+ import "../../../components/ui/treeViewFinder/TreeViewFinder.js";
24
+ import "@hello-pangea/dnd";
25
+ import "../../../components/ui/overflowableText/OverflowableText.js";
19
26
  import "yup";
20
- import { DirectoryItemSelector } from "../../../components/ui/directoryItemSelector/DirectoryItemSelector.js";
21
27
  import "../../../components/ui/reactHookForm/numbers/RangeInput.js";
22
28
  import "@material-symbols/svg-400/outlined/left_panel_open.svg?react";
23
29
  import "@material-symbols/svg-400/outlined/arrows_output.svg?react";
24
30
  import "@material-symbols/svg-400/outlined/arrows_input.svg?react";
25
31
  import "@material-symbols/svg-400/outlined/left_panel_close.svg?react";
26
32
  import "@material-symbols/svg-400/outlined/add_notes.svg?react";
27
- import "../../../components/ui/dialogs/descriptionModificationDialog/DescriptionModificationDialog.js";
28
33
  import "../../../components/ui/reactHookForm/expandableInput/ExpandableInput.js";
29
34
  import "../../../components/ui/reactHookForm/directory-item-input/directory-item-utils.js";
30
- import "@hello-pangea/dnd";
31
- import "../../../components/ui/dialogs/elementSaveDialog/ElementSaveDialog.js";
32
35
  import "../../../components/ui/snackbarProvider/SnackbarProvider.js";
33
36
  import "mui-nested-menu";
34
37
  import "react-resizable-panels";
35
38
  import "react-papaparse";
36
- import "../../../components/ui/treeViewFinder/TreeViewFinder.js";
37
- import { LabelledButton } from "../common/parameters.js";
38
- import { CreateParameterDialog } from "../common/parameters-creation-dialog.js";
39
39
  import "../common/widget/parameter-line-slider.js";
40
40
  import "../common/limitreductions/columns-definitions.js";
41
41
  import "../common/contingency-table/contingency-table.js";
42
42
  import "../common/contingency-table/columns-definitions.js";
43
43
  import "@hookform/resolvers/yup";
44
44
  import "../../../components/composite/filter/HeaderFilterForm.js";
45
- import { NetworkVisualizationParametersForm } from "./network-visualizations-form.js";
46
- import { useNetworkVisualizationParametersForm } from "./use-network-visualizations-parameters-form.js";
47
45
  function NetworkVisualizationParametersInline({
48
46
  studyUuid,
49
47
  setHaveDirtyFields,
@@ -57,15 +55,11 @@ function NetworkVisualizationParametersInline({
57
55
  studyUuid,
58
56
  parameters
59
57
  });
60
- const intl = useIntl();
61
- const [openCreateParameterDialog, setOpenCreateParameterDialog] = useState(false);
62
- const [openSelectParameterDialog, setOpenSelectParameterDialog] = useState(false);
63
58
  const { snackError } = useSnackMessage();
64
59
  const { reset, getValues, formState, handleSubmit } = networkVisuMethods.formMethods;
65
60
  const handleLoadParameters = useCallback(
66
61
  (newParams) => {
67
62
  if (newParams && newParams.length > 0) {
68
- setOpenSelectParameterDialog(false);
69
63
  getNetworkVisualizationsParameters(newParams[0].id).then((result) => {
70
64
  reset(result, {
71
65
  keepDefaultValues: true
@@ -74,7 +68,6 @@ function NetworkVisualizationParametersInline({
74
68
  snackWithFallback(snackError, error, { headerId: "paramsRetrievingError" });
75
69
  });
76
70
  }
77
- setOpenSelectParameterDialog(false);
78
71
  },
79
72
  [reset, snackError]
80
73
  );
@@ -82,51 +75,27 @@ function NetworkVisualizationParametersInline({
82
75
  setHaveDirtyFields(formState.isDirty);
83
76
  }, [formState, setHaveDirtyFields]);
84
77
  return /* @__PURE__ */ jsx(
85
- NetworkVisualizationParametersForm,
78
+ CustomFormProvider,
86
79
  {
87
- userProfile,
88
- networkVisuMethods,
89
- renderActions: () => {
90
- return /* @__PURE__ */ jsxs(Box, { children: [
91
- /* @__PURE__ */ jsxs(Grid2, { container: true, children: [
92
- /* @__PURE__ */ jsx(
93
- LabelledButton,
94
- {
95
- callback: () => setOpenSelectParameterDialog(true),
96
- label: "settings.button.chooseSettings"
97
- }
98
- ),
99
- /* @__PURE__ */ jsx(LabelledButton, { callback: () => setOpenCreateParameterDialog(true), label: "save" }),
100
- /* @__PURE__ */ jsx(SubmitButton, { onClick: handleSubmit(networkVisuMethods.onSaveInline), variant: "outlined", children: /* @__PURE__ */ jsx(FormattedMessage, { id: "validate" }) })
101
- ] }),
102
- openCreateParameterDialog && /* @__PURE__ */ jsx(
103
- CreateParameterDialog,
104
- {
105
- studyUuid,
106
- open: openCreateParameterDialog,
107
- onClose: () => setOpenCreateParameterDialog(false),
108
- parameterValues: () => getValues(),
109
- parameterFormatter: (newParams) => newParams,
110
- parameterType: ElementType.NETWORK_VISUALIZATIONS_PARAMETERS
111
- }
112
- ),
113
- openSelectParameterDialog && /* @__PURE__ */ jsx(
114
- DirectoryItemSelector,
115
- {
116
- open: openSelectParameterDialog,
117
- onClose: handleLoadParameters,
118
- types: [ElementType.NETWORK_VISUALIZATIONS_PARAMETERS],
119
- title: intl.formatMessage({
120
- id: "showSelectParameterDialog"
121
- }),
122
- multiSelect: false,
123
- validationButtonText: intl.formatMessage({
124
- id: "validate"
125
- })
126
- }
127
- )
128
- ] });
129
- }
80
+ validationSchema: networkVisuMethods.formSchema,
81
+ ...networkVisuMethods.formMethods,
82
+ removeOptional: true,
83
+ children: /* @__PURE__ */ jsx(
84
+ ParameterLayout,
85
+ {
86
+ title: "NetworkVisualizations",
87
+ isLoading: networkVisuMethods.paramsLoading,
88
+ parameterType: ElementType.NETWORK_VISUALIZATIONS_PARAMETERS,
89
+ createParameter: {
90
+ studyUuid,
91
+ getParameterValues: getValues,
92
+ parameterFormatter: (newParams) => newParams
93
+ },
94
+ selectParameterHandler: handleLoadParameters,
95
+ validateHandler: handleSubmit(networkVisuMethods.onSaveInline),
96
+ children: /* @__PURE__ */ jsx(NetworkVisualizationParametersForm, { userProfile, networkVisuMethods })
97
+ }
98
+ )
130
99
  }
131
100
  );
132
101
  }
@@ -2,23 +2,19 @@ import { jsxs, Fragment, jsx } from "react/jsx-runtime";
2
2
  import { Grid2 } from "@mui/material";
3
3
  import { useMemo } from "react";
4
4
  import { FormattedMessage } from "react-intl";
5
- import "../../../utils/conversionUtils.js";
6
- import "../../../utils/types/equipmentType.js";
7
5
  import "@mui/icons-material";
8
- import { LineSeparator } from "../common/line-separator.js";
9
6
  import { parametersStyles } from "../parameters-style.js";
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
- import "../../../components/ui/treeViewFinder/TreeViewFinder.js";
19
- import "@hello-pangea/dnd";
20
- import "../../../components/ui/overflowableText/OverflowableText.js";
21
16
  import "yup";
17
+ import "../../../components/ui/treeViewFinder/TreeViewFinder.js";
22
18
  import { SwitchInput } from "../../../components/ui/reactHookForm/booleans/SwitchInput.js";
23
19
  import "../../../components/ui/reactHookForm/numbers/RangeInput.js";
24
20
  import { MuiSelectInput } from "../../../components/ui/reactHookForm/selectInputs/MuiSelectInput.js";
@@ -27,12 +23,17 @@ 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 "../common/widget/parameter-line-slider.js";
37
38
  import "../common/limitreductions/columns-definitions.js";
38
39
  import "../common/contingency-table/contingency-table.js";
@@ -65,7 +65,6 @@ export declare const parametersStyles: {
65
65
  readonly scrollableGrid: (theme: import('@mui/material').Theme) => {
66
66
  overflowY: "auto";
67
67
  overflowX: "hidden";
68
- maxHeight: string;
69
68
  paddingRight: string;
70
69
  paddingTop: string;
71
70
  paddingBottom: string;
@@ -56,8 +56,6 @@ const parametersStyles = {
56
56
  scrollableGrid: (theme) => ({
57
57
  overflowY: "auto",
58
58
  overflowX: "hidden",
59
- maxHeight: "85%",
60
- // TODO This needs to be refactored
61
59
  paddingRight: theme.spacing(2),
62
60
  paddingTop: theme.spacing(2),
63
61
  paddingBottom: theme.spacing(1),
@@ -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";
@@ -7,7 +8,6 @@ import { ElementType } from "../../../utils/types/elementType.js";
7
8
  import "../../../utils/types/equipmentType.js";
8
9
  import "@mui/icons-material";
9
10
  import "react";
10
- import "@mui/material";
11
11
  import "react-intl";
12
12
  import "react-hook-form";
13
13
  import "../../../components/ui/treeViewFinder/TreeViewFinder.js";
@@ -55,7 +55,7 @@ function PccMinParametersEditionDialog({
55
55
  formState: { errors, dirtyFields }
56
56
  } = pccMinMethods.formMethods;
57
57
  const disableSave = Object.keys(errors).length > 0 || Object.keys(dirtyFields).length === 0;
58
- return /* @__PURE__ */ jsx(
58
+ return /* @__PURE__ */ jsxs(
59
59
  CustomMuiDialog,
60
60
  {
61
61
  open,
@@ -75,22 +75,17 @@ function PccMinParametersEditionDialog({
75
75
  // we want the dialog height to be fixed even when switching tabs
76
76
  }
77
77
  },
78
- children: /* @__PURE__ */ jsx(
79
- PccMinParametersForm,
80
- {
81
- pccMinMethods,
82
- renderTitleFields: () => {
83
- return /* @__PURE__ */ jsx(
84
- NameElementEditorForm,
85
- {
86
- initialElementName: name,
87
- activeDirectory,
88
- elementType: ElementType.PCC_MIN_PARAMETERS
89
- }
90
- );
78
+ children: [
79
+ /* @__PURE__ */ jsx(Grid2, { container: true, sx: { width: "100%" }, children: /* @__PURE__ */ jsx(
80
+ NameElementEditorForm,
81
+ {
82
+ initialElementName: name,
83
+ activeDirectory,
84
+ elementType: ElementType.PCC_MIN_PARAMETERS
91
85
  }
92
- }
93
- )
86
+ ) }),
87
+ /* @__PURE__ */ jsx(PccMinParametersForm, {})
88
+ ]
94
89
  }
95
90
  );
96
91
  }
@@ -1,29 +1,7 @@
1
- import { ReactNode } from 'react';
2
- import { UsePccMinParametersFormReturn } from './use-pcc-min-parameters-form';
3
- export declare const styles: {
4
- readonly gridWithActions: (theme: import('@mui/material').Theme) => {
5
- overflowY: "auto";
6
- overflowX: "hidden";
7
- paddingRight: string;
8
- paddingTop: string;
9
- paddingBottom: string;
10
- flexGrow: number;
11
- maxHeight: string;
12
- };
13
- readonly gridWithoutActions: (theme: import('@mui/material').Theme) => {
14
- overflowY: "auto";
15
- overflowX: "hidden";
16
- paddingRight: string;
17
- paddingTop: string;
18
- paddingBottom: string;
19
- flexGrow: number;
20
- maxHeight: string;
21
- };
22
- };
23
- interface PccMinParametersFormProps {
24
- pccMinMethods: UsePccMinParametersFormReturn;
25
- renderTitleFields?: () => ReactNode;
26
- renderActions?: () => ReactNode;
27
- }
28
- export declare function PccMinParametersForm({ pccMinMethods, renderTitleFields, renderActions, }: Readonly<PccMinParametersFormProps>): import("react").JSX.Element;
29
- export {};
1
+ /**
2
+ * Copyright (c) 2025, 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 https://mozilla.org/MPL/2.0/.
6
+ */
7
+ export declare function PccMinParametersForm(): import("react").JSX.Element;
@@ -1,115 +1,25 @@
1
- import { jsx, jsxs } from "react/jsx-runtime";
2
- import { Box, Grid2, Stack, LinearProgress } from "@mui/material";
3
- import "@mui/icons-material";
4
- import "react-intl";
5
- import "../../../components/ui/overflowableText/OverflowableText.js";
1
+ import { jsx } from "react/jsx-runtime";
2
+ import { Grid2 } from "@mui/material";
3
+ import { ParameterLineDirectoryItemsInput } from "../common/widget/parameter-line-directory-items-input.js";
6
4
  import { FILTERS } from "../../../utils/constants/filterConstant.js";
7
5
  import "../../../utils/conversionUtils.js";
8
6
  import { ElementType } from "../../../utils/types/elementType.js";
9
7
  import { EquipmentType } from "../../../utils/types/equipmentType.js";
10
- import "react";
11
- import "react-hook-form";
12
- import "localized-countries";
13
- import "localized-countries/data/fr";
14
- import "localized-countries/data/en";
15
- import "notistack";
16
- import { CustomFormProvider } from "../../../components/ui/reactHookForm/provider/CustomFormProvider.js";
17
- import "yup";
18
- import "../../../components/ui/treeViewFinder/TreeViewFinder.js";
19
- import "../../../components/ui/reactHookForm/numbers/RangeInput.js";
20
- import "@material-symbols/svg-400/outlined/left_panel_open.svg?react";
21
- import "@material-symbols/svg-400/outlined/arrows_output.svg?react";
22
- import "@material-symbols/svg-400/outlined/arrows_input.svg?react";
23
- import "@material-symbols/svg-400/outlined/left_panel_close.svg?react";
24
- import "@material-symbols/svg-400/outlined/add_notes.svg?react";
25
- import "../../../components/ui/dialogs/descriptionModificationDialog/DescriptionModificationDialog.js";
26
- import "../../../components/ui/reactHookForm/expandableInput/ExpandableInput.js";
27
- import "../../../components/ui/reactHookForm/directory-item-input/directory-item-utils.js";
28
- import "@hello-pangea/dnd";
29
- import "../../../components/ui/dialogs/elementSaveDialog/ElementSaveDialog.js";
30
- import "../../../components/ui/snackbarProvider/SnackbarProvider.js";
31
- import "mui-nested-menu";
32
- import "react-resizable-panels";
33
- import "react-papaparse";
34
- import { ParameterLineDirectoryItemsInput } from "../common/widget/parameter-line-directory-items-input.js";
35
- import "../common/widget/parameter-line-slider.js";
36
- import "../common/limitreductions/columns-definitions.js";
37
- import "../common/contingency-table/contingency-table.js";
38
- import "../common/contingency-table/columns-definitions.js";
39
- import "@hookform/resolvers/yup";
40
- import "../../../components/composite/filter/HeaderFilterForm.js";
41
- const styles = {
42
- gridWithActions: (theme) => ({
43
- overflowY: "auto",
44
- overflowX: "hidden",
45
- paddingRight: theme.spacing(2),
46
- paddingTop: theme.spacing(2),
47
- paddingBottom: theme.spacing(1),
48
- flexGrow: 1,
49
- maxHeight: "85%"
50
- }),
51
- gridWithoutActions: (theme) => ({
52
- overflowY: "auto",
53
- overflowX: "hidden",
54
- paddingRight: theme.spacing(2),
55
- paddingTop: theme.spacing(2),
56
- paddingBottom: theme.spacing(1),
57
- flexGrow: 1,
58
- maxHeight: "100%"
59
- })
60
- };
61
- function PccMinParametersForm({
62
- pccMinMethods,
63
- renderTitleFields,
64
- renderActions
65
- }) {
66
- const { formMethods, formSchema, paramsLoading } = pccMinMethods;
67
- return /* @__PURE__ */ jsx(CustomFormProvider, { validationSchema: formSchema, ...formMethods, removeOptional: true, children: /* @__PURE__ */ jsxs(
68
- Box,
8
+ import "@mui/icons-material";
9
+ import { parametersStyles } from "../parameters-style.js";
10
+ function PccMinParametersForm() {
11
+ return /* @__PURE__ */ jsx(Grid2, { container: true, sx: parametersStyles.scrollableGrid, children: /* @__PURE__ */ jsx(Grid2, { size: 12, children: /* @__PURE__ */ jsx(
12
+ ParameterLineDirectoryItemsInput,
69
13
  {
70
- sx: {
71
- height: "100%",
72
- position: "relative"
73
- },
74
- children: [
75
- /* @__PURE__ */ jsxs(Grid2, { container: true, sx: renderActions ? styles.gridWithActions : styles.gridWithoutActions, children: [
76
- /* @__PURE__ */ jsx(Stack, { children: renderTitleFields?.() }),
77
- paramsLoading ? /* @__PURE__ */ jsx(LinearProgress, {}) : /* @__PURE__ */ jsx(
78
- Box,
79
- {
80
- sx: {
81
- height: "100%",
82
- width: "100%"
83
- },
84
- children: /* @__PURE__ */ jsx(Stack, { children: /* @__PURE__ */ jsx(
85
- ParameterLineDirectoryItemsInput,
86
- {
87
- name: FILTERS,
88
- equipmentTypes: [EquipmentType.VOLTAGE_LEVEL],
89
- elementType: ElementType.FILTER,
90
- label: "pccMinParamFilter",
91
- hideErrorMessage: false,
92
- allowMultiSelect: false
93
- }
94
- ) })
95
- }
96
- )
97
- ] }),
98
- renderActions && /* @__PURE__ */ jsx(
99
- Stack,
100
- {
101
- sx: {
102
- position: "fixed",
103
- bottom: "15px"
104
- },
105
- children: renderActions()
106
- }
107
- )
108
- ]
14
+ name: FILTERS,
15
+ equipmentTypes: [EquipmentType.VOLTAGE_LEVEL],
16
+ elementType: ElementType.FILTER,
17
+ label: "pccMinParamFilter",
18
+ hideErrorMessage: false,
19
+ allowMultiSelect: false
109
20
  }
110
- ) });
21
+ ) }) });
111
22
  }
112
23
  export {
113
- PccMinParametersForm,
114
- styles
24
+ PccMinParametersForm
115
25
  };
@@ -1,7 +1,6 @@
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";
@@ -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(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: 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