@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
@@ -4,34 +4,35 @@ import { ElementType } from "../../../utils/types/elementType.js";
4
4
  import { EquipmentType } from "../../../utils/types/equipmentType.js";
5
5
  import "react/jsx-runtime";
6
6
  import "@mui/icons-material";
7
- import { CONTINGENCIES } from "../common/constants.js";
8
7
  import "@mui/material";
9
- import "react-intl";
10
8
  import "react";
9
+ import "react-intl";
10
+ import "../../../components/ui/overflowableText/OverflowableText.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 "yup";
18
+ import "../../../components/ui/treeViewFinder/TreeViewFinder.js";
23
19
  import "../../../components/ui/reactHookForm/numbers/RangeInput.js";
24
20
  import "@material-symbols/svg-400/outlined/left_panel_open.svg?react";
25
21
  import "@material-symbols/svg-400/outlined/arrows_output.svg?react";
26
22
  import "@material-symbols/svg-400/outlined/arrows_input.svg?react";
27
23
  import "@material-symbols/svg-400/outlined/left_panel_close.svg?react";
28
24
  import "@material-symbols/svg-400/outlined/add_notes.svg?react";
25
+ import "../../../components/ui/dialogs/descriptionModificationDialog/DescriptionModificationDialog.js";
29
26
  import "../../../components/ui/reactHookForm/expandableInput/ExpandableInput.js";
30
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";
31
30
  import "../../../components/ui/snackbarProvider/SnackbarProvider.js";
32
31
  import "mui-nested-menu";
33
32
  import "react-resizable-panels";
34
33
  import "react-papaparse";
34
+ import "../common/parameter-layout/parameter-layout-provider.js";
35
+ import { CONTINGENCIES } from "../common/constants.js";
35
36
  import "../common/widget/parameter-line-slider.js";
36
37
  import "../common/limitreductions/columns-definitions.js";
37
38
  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 { fetchSensitivityAnalysisProviders, fetchSensitivityAnalysisParameters, updateSensitivityAnalysisParameters } from "../../../services/sensitivity-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";
@@ -77,7 +77,7 @@ function SensitivityAnalysisParametersDialog({
77
77
  formState: { errors, dirtyFields }
78
78
  } = sensitivityAnalysisMethods.formMethods;
79
79
  const disableSave = Object.keys(errors).length > 0 || Object.keys(dirtyFields).length === 0;
80
- return /* @__PURE__ */ jsx(
80
+ return /* @__PURE__ */ jsxs(
81
81
  CustomMuiDialog,
82
82
  {
83
83
  open,
@@ -91,25 +91,25 @@ function SensitivityAnalysisParametersDialog({
91
91
  },
92
92
  titleId,
93
93
  disabledSave: disableSave,
94
- children: /* @__PURE__ */ jsx(
95
- SensitivityAnalysisParametersForm,
96
- {
97
- sensitivityAnalysisMethods,
98
- isDeveloperMode,
99
- isRootNode,
100
- globalBuildStatus,
101
- renderTitleFields: () => {
102
- return /* @__PURE__ */ jsx(
103
- NameElementEditorForm,
104
- {
105
- initialElementName: name,
106
- activeDirectory,
107
- elementType: ElementType.SENSITIVITY_PARAMETERS
108
- }
109
- );
94
+ children: [
95
+ /* @__PURE__ */ jsx(Grid2, { container: true, sx: { width: "100%" }, children: /* @__PURE__ */ jsx(
96
+ NameElementEditorForm,
97
+ {
98
+ initialElementName: name,
99
+ activeDirectory,
100
+ elementType: ElementType.SENSITIVITY_PARAMETERS
110
101
  }
111
- }
112
- )
102
+ ) }),
103
+ /* @__PURE__ */ jsx(
104
+ SensitivityAnalysisParametersForm,
105
+ {
106
+ sensitivityAnalysisMethods,
107
+ isDeveloperMode,
108
+ isRootNode,
109
+ globalBuildStatus
110
+ }
111
+ )
112
+ ]
113
113
  }
114
114
  );
115
115
  }
@@ -1,11 +1,9 @@
1
- import { ReactNode } from 'react';
1
+ import { default as React } from 'react';
2
2
  import { UseSensitivityAnalysisParametersReturn } from './use-sensitivity-analysis-parameters';
3
3
  import { BuildStatus } from '../../node/constant';
4
- export declare function SensitivityAnalysisParametersForm({ sensitivityAnalysisMethods, renderTitleFields, renderActions, isDeveloperMode, isRootNode, globalBuildStatus, }: Readonly<{
4
+ export declare function SensitivityAnalysisParametersForm({ sensitivityAnalysisMethods, isDeveloperMode, isRootNode, globalBuildStatus, }: Readonly<{
5
5
  sensitivityAnalysisMethods: UseSensitivityAnalysisParametersReturn;
6
- renderTitleFields?: () => ReactNode;
7
- renderActions?: () => ReactNode;
8
6
  isDeveloperMode: boolean;
9
7
  isRootNode: boolean;
10
8
  globalBuildStatus?: BuildStatus;
11
- }>): import("react").JSX.Element;
9
+ }>): React.JSX.Element;
@@ -1,23 +1,21 @@
1
- import { jsx, jsxs } from "react/jsx-runtime";
2
- import { Box, Grid2, LinearProgress } from "@mui/material";
3
- import { FormattedMessage } from "react-intl";
1
+ import { jsxs, jsx } from "react/jsx-runtime";
2
+ import { Stack, Grid2 } from "@mui/material";
4
3
  import { parametersStyles } from "../parameters-style.js";
5
4
  import "@mui/icons-material";
5
+ import "react";
6
+ import "react-intl";
6
7
  import "../../../components/ui/overflowableText/OverflowableText.js";
7
8
  import "../../../utils/conversionUtils.js";
8
9
  import "../../../utils/types/equipmentType.js";
9
- import { mergeSx } from "../../../utils/styles.js";
10
- import "react";
11
10
  import "react-hook-form";
12
11
  import "localized-countries";
13
12
  import "localized-countries/data/fr";
14
13
  import "localized-countries/data/en";
15
14
  import "notistack";
16
- import { CustomFormProvider } from "../../../components/ui/reactHookForm/provider/CustomFormProvider.js";
15
+ import "../../../components/ui/reactHookForm/provider/CustomFormProvider.js";
17
16
  import "yup";
18
17
  import "../../../components/ui/treeViewFinder/TreeViewFinder.js";
19
18
  import "../../../components/ui/reactHookForm/numbers/RangeInput.js";
20
- import { MuiSelectInput } from "../../../components/ui/reactHookForm/selectInputs/MuiSelectInput.js";
21
19
  import "@material-symbols/svg-400/outlined/left_panel_open.svg?react";
22
20
  import "@material-symbols/svg-400/outlined/arrows_output.svg?react";
23
21
  import "@material-symbols/svg-400/outlined/arrows_input.svg?react";
@@ -32,8 +30,9 @@ import "../../../components/ui/snackbarProvider/SnackbarProvider.js";
32
30
  import "mui-nested-menu";
33
31
  import "react-resizable-panels";
34
32
  import "react-papaparse";
35
- import { PROVIDER } from "../common/constants.js";
36
33
  import { LineSeparator } from "../common/line-separator.js";
34
+ import "../common/parameter-layout/parameter-layout-provider.js";
35
+ import { ProviderParam } from "../common/provider-param.js";
37
36
  import "../common/widget/parameter-line-slider.js";
38
37
  import "../common/limitreductions/columns-definitions.js";
39
38
  import "../common/contingency-table/contingency-table.js";
@@ -42,94 +41,38 @@ import "@hookform/resolvers/yup";
42
41
  import "../../../components/composite/filter/HeaderFilterForm.js";
43
42
  import { SensitivityAnalysisFields } from "./sensitivity-parameters-fields.js";
44
43
  import SensitivityParametersSelector from "./sensitivity-parameters-selector.js";
45
- const styles = {
46
- sensibilityAnalysisParameters: {
47
- flexGrow: 1,
48
- paddingLeft: 1,
49
- overflow: "auto",
50
- display: "flex",
51
- flexDirection: "column",
52
- height: "100%"
53
- },
54
- actions: (theme) => ({
55
- flexGrow: 0,
56
- paddingBottom: theme.spacing(3)
57
- })
58
- };
59
44
  function SensitivityAnalysisParametersForm({
60
45
  sensitivityAnalysisMethods,
61
- renderTitleFields,
62
- renderActions,
63
46
  isDeveloperMode,
64
47
  isRootNode,
65
48
  globalBuildStatus
66
49
  }) {
67
- return /* @__PURE__ */ jsx(
68
- CustomFormProvider,
69
- {
70
- validationSchema: sensitivityAnalysisMethods.formSchema,
71
- ...sensitivityAnalysisMethods.formMethods,
72
- children: /* @__PURE__ */ jsxs(Box, { sx: styles.sensibilityAnalysisParameters, children: [
73
- renderTitleFields?.(),
74
- sensitivityAnalysisMethods.paramsFormInitialized ? /* @__PURE__ */ jsxs(Box, { sx: mergeSx(parametersStyles.scrollableGrid, { paddingTop: 0, maxHeight: "100%" }), children: [
75
- /* @__PURE__ */ jsxs(
76
- Grid2,
77
- {
78
- container: true,
79
- spacing: 1,
80
- sx: {
81
- padding: 0,
82
- paddingBottom: 2,
83
- height: "fit-content"
84
- },
85
- justifyContent: "space-between",
86
- children: [
87
- /* @__PURE__ */ jsx(Grid2, { size: { xs: 8, xl: 4 }, sx: parametersStyles.parameterName, children: /* @__PURE__ */ jsx(FormattedMessage, { id: "Provider" }) }),
88
- /* @__PURE__ */ jsx(Grid2, { size: { xs: 4, xl: 2 }, sx: parametersStyles.controlItem, children: /* @__PURE__ */ jsx(
89
- MuiSelectInput,
90
- {
91
- name: PROVIDER,
92
- size: "small",
93
- options: Object.values(sensitivityAnalysisMethods.formattedProviders)
94
- }
95
- ) })
96
- ]
97
- }
98
- ),
99
- /* @__PURE__ */ jsx(
100
- Box,
101
- {
102
- sx: {
103
- flexGrow: 1,
104
- overflow: "auto",
105
- paddingLeft: 1
106
- },
107
- children: /* @__PURE__ */ jsxs(Grid2, { container: true, children: [
108
- /* @__PURE__ */ jsxs(Grid2, { size: { xl: 6 }, children: [
109
- /* @__PURE__ */ jsx(Grid2, { container: true, paddingTop: 1, paddingBottom: 1, children: /* @__PURE__ */ jsx(LineSeparator, {}) }),
110
- /* @__PURE__ */ jsx(SensitivityAnalysisFields, {})
111
- ] }),
112
- /* @__PURE__ */ jsx(Grid2, { container: true, size: 12, paddingTop: 4, paddingBottom: 2, children: /* @__PURE__ */ jsx(LineSeparator, {}) }),
113
- /* @__PURE__ */ jsx(
114
- SensitivityParametersSelector,
115
- {
116
- onFormChanged: sensitivityAnalysisMethods.onFormChanged,
117
- isLoading: sensitivityAnalysisMethods.isLoading,
118
- factorsCount: sensitivityAnalysisMethods.factorsCount,
119
- isDeveloperMode,
120
- isStudyLinked: sensitivityAnalysisMethods.isStudyLinked,
121
- isRootNode,
122
- globalBuildStatus
123
- }
124
- )
125
- ] }, "sensitivityAnalysisParameters")
126
- }
127
- )
128
- ] }) : /* @__PURE__ */ jsx(LinearProgress, {}),
129
- renderActions && /* @__PURE__ */ jsx(Box, { sx: styles.actions, children: renderActions() })
130
- ] })
131
- }
132
- );
50
+ return /* @__PURE__ */ jsxs(Stack, { sx: parametersStyles.scrollableGrid, children: [
51
+ /* @__PURE__ */ jsx(
52
+ ProviderParam,
53
+ {
54
+ options: sensitivityAnalysisMethods.formattedProviders,
55
+ id: "Sensi",
56
+ sx: { paddingBottom: 1 }
57
+ }
58
+ ),
59
+ /* @__PURE__ */ jsxs(Stack, { children: [
60
+ /* @__PURE__ */ jsx(SensitivityAnalysisFields, {}),
61
+ /* @__PURE__ */ jsx(Grid2, { container: true, size: 12, paddingTop: 1, paddingBottom: 1, children: /* @__PURE__ */ jsx(LineSeparator, {}) }),
62
+ /* @__PURE__ */ jsx(
63
+ SensitivityParametersSelector,
64
+ {
65
+ onFormChanged: sensitivityAnalysisMethods.onFormChanged,
66
+ isLoading: sensitivityAnalysisMethods.isLoading,
67
+ factorsCount: sensitivityAnalysisMethods.factorsCount,
68
+ isDeveloperMode,
69
+ isStudyLinked: sensitivityAnalysisMethods.isStudyLinked,
70
+ isRootNode,
71
+ globalBuildStatus
72
+ }
73
+ )
74
+ ] })
75
+ ] });
133
76
  }
134
77
  export {
135
78
  SensitivityAnalysisParametersForm
@@ -1,44 +1,40 @@
1
- import { jsx, jsxs, Fragment } from "react/jsx-runtime";
2
- import { Grid2, DialogActions, Button } from "@mui/material";
3
- import { useState, useCallback, useEffect } from "react";
4
- import { useIntl, FormattedMessage } from "react-intl";
1
+ import { jsx } from "react/jsx-runtime";
2
+ import { useCallback, useEffect } from "react";
5
3
  import "../../../utils/conversionUtils.js";
6
4
  import { snackWithFallback } from "../../../utils/error.js";
7
5
  import { ElementType } from "../../../utils/types/elementType.js";
8
6
  import "../../../utils/types/equipmentType.js";
9
7
  import { mapSensitivityAnalysisParameters } from "../../../utils/types/sensitivity-analysis.type.js";
10
8
  import "@mui/icons-material";
11
- import { mergeSx } from "../../../utils/styles.js";
12
- import { parametersStyles } from "../parameters-style.js";
13
- import { CreateParameterDialog } from "../common/parameters-creation-dialog.js";
14
- import "../../../components/ui/overflowableText/OverflowableText.js";
15
- import "react-hook-form";
9
+ import { ParameterLayout } from "../common/parameter-layout/parameter-layout.js";
10
+ import "../common/parameter-layout/parameter-layout-provider.js";
11
+ import "@mui/material";
12
+ import "react-intl";
16
13
  import { fetchSensitivityAnalysisParameters, setSensitivityAnalysisParameters } from "../../../services/sensitivity-analysis.js";
17
14
  import "localized-countries";
18
15
  import "localized-countries/data/fr";
19
16
  import "localized-countries/data/en";
20
17
  import { useSnackMessage } from "../../../hooks/useSnackMessage.js";
21
- import "../../../components/ui/reactHookForm/provider/CustomFormProvider.js";
22
- import { SubmitButton } from "../../../components/ui/reactHookForm/utils/SubmitButton.js";
18
+ import "react-hook-form";
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";
23
25
  import "yup";
24
- import { DirectoryItemSelector } from "../../../components/ui/directoryItemSelector/DirectoryItemSelector.js";
25
26
  import "../../../components/ui/reactHookForm/numbers/RangeInput.js";
26
- import { PopupConfirmationDialog } from "../../../components/ui/dialogs/popupConfirmationDialog/PopupConfirmationDialog.js";
27
27
  import "@material-symbols/svg-400/outlined/left_panel_open.svg?react";
28
28
  import "@material-symbols/svg-400/outlined/arrows_output.svg?react";
29
29
  import "@material-symbols/svg-400/outlined/arrows_input.svg?react";
30
30
  import "@material-symbols/svg-400/outlined/left_panel_close.svg?react";
31
31
  import "@material-symbols/svg-400/outlined/add_notes.svg?react";
32
- import "../../../components/ui/dialogs/descriptionModificationDialog/DescriptionModificationDialog.js";
33
32
  import "../../../components/ui/reactHookForm/expandableInput/ExpandableInput.js";
34
33
  import "../../../components/ui/reactHookForm/directory-item-input/directory-item-utils.js";
35
- import "@hello-pangea/dnd";
36
- import "../../../components/ui/dialogs/elementSaveDialog/ElementSaveDialog.js";
37
34
  import "../../../components/ui/snackbarProvider/SnackbarProvider.js";
38
35
  import "mui-nested-menu";
39
36
  import "react-resizable-panels";
40
37
  import "react-papaparse";
41
- import "../../../components/ui/treeViewFinder/TreeViewFinder.js";
42
38
  import "../common/widget/parameter-line-slider.js";
43
39
  import "../common/limitreductions/columns-definitions.js";
44
40
  import "../common/contingency-table/contingency-table.js";
@@ -57,7 +53,6 @@ function SensitivityAnalysisParametersInline({
57
53
  isRootNode,
58
54
  isDeveloperMode
59
55
  }) {
60
- const intl = useIntl();
61
56
  const { snackError } = useSnackMessage();
62
57
  const sensitivityAnalysisMethods = useSensitivityAnalysisParametersForm({
63
58
  studyUuid,
@@ -70,14 +65,10 @@ function SensitivityAnalysisParametersInline({
70
65
  globalBuildStatus,
71
66
  isRootNode
72
67
  });
73
- const [openCreateParameterDialog, setOpenCreateParameterDialog] = useState(false);
74
- const [openSelectParameterDialog, setOpenSelectParameterDialog] = useState(false);
75
- const [openResetConfirmation, setOpenResetConfirmation] = useState(false);
76
- const { reset, handleSubmit, formState, getValues } = sensitivityAnalysisMethods.formMethods;
68
+ const { reset, formState, getValues, handleSubmit } = sensitivityAnalysisMethods.formMethods;
77
69
  const handleSensibilityParameter = useCallback(
78
70
  (newParams) => {
79
71
  if (newParams && newParams.length > 0) {
80
- setOpenSelectParameterDialog(false);
81
72
  fetchSensitivityAnalysisParameters(newParams[0].id).then((parameters) => {
82
73
  console.info(`loading the following sensi parameters : ${parameters.uuid}`);
83
74
  reset(sensitivityAnalysisMethods.fromSensitivityAnalysisParamsDataToFormValues(parameters), {
@@ -88,7 +79,6 @@ function SensitivityAnalysisParametersInline({
88
79
  snackWithFallback(snackError, error, { headerId: "paramsRetrievingError" });
89
80
  });
90
81
  }
91
- setOpenSelectParameterDialog(false);
92
82
  },
93
83
  [reset, sensitivityAnalysisMethods, snackError]
94
84
  );
@@ -101,90 +91,41 @@ function SensitivityAnalysisParametersInline({
101
91
  reset(sensitivityAnalysisMethods.emptyFormData);
102
92
  resetSensitivityAnalysisParameters();
103
93
  sensitivityAnalysisMethods.resetFactorsCount();
104
- setOpenResetConfirmation(false);
105
94
  }, [reset, sensitivityAnalysisMethods, resetSensitivityAnalysisParameters]);
106
- const handleResetClick = useCallback(() => {
107
- setOpenResetConfirmation(true);
108
- }, []);
109
- const handleCancelReset = useCallback(() => {
110
- setOpenResetConfirmation(false);
111
- }, []);
112
95
  useEffect(() => {
113
96
  setHaveDirtyFields(formState.isDirty);
114
97
  }, [formState, setHaveDirtyFields]);
115
98
  return /* @__PURE__ */ jsx(
116
- SensitivityAnalysisParametersForm,
99
+ CustomFormProvider,
117
100
  {
118
- sensitivityAnalysisMethods,
119
- isDeveloperMode,
120
- isRootNode,
121
- globalBuildStatus,
122
- renderActions: () => {
123
- return /* @__PURE__ */ jsxs(Fragment, { children: [
124
- /* @__PURE__ */ jsx(Grid2, { container: true, children: /* @__PURE__ */ jsxs(
125
- DialogActions,
101
+ validationSchema: sensitivityAnalysisMethods.formSchema,
102
+ ...sensitivityAnalysisMethods.formMethods,
103
+ children: /* @__PURE__ */ jsx(
104
+ ParameterLayout,
105
+ {
106
+ title: "SensitivityAnalysis",
107
+ isLoading: !sensitivityAnalysisMethods.paramsFormInitialized,
108
+ parameterType: ElementType.SENSITIVITY_PARAMETERS,
109
+ createParameter: {
110
+ studyUuid,
111
+ getParameterValues: getValues,
112
+ parameterFormatter: (newParams) => mapSensitivityAnalysisParameters(sensitivityAnalysisMethods.formatNewParams(newParams))
113
+ },
114
+ selectParameterHandler: handleSensibilityParameter,
115
+ resetHandler: clear,
116
+ validateHandler: handleSubmit(sensitivityAnalysisMethods.onSaveInline),
117
+ validateDisabled: sensitivityAnalysisMethods.isLoading || sensitivityAnalysisMethods.isMaxResultsReached || sensitivityAnalysisMethods.isMaxVariablesReached,
118
+ children: /* @__PURE__ */ jsx(
119
+ SensitivityAnalysisParametersForm,
126
120
  {
127
- sx: mergeSx(parametersStyles.controlParametersItem, {
128
- paddingLeft: 0,
129
- paddingBottom: 2
130
- }),
131
- children: [
132
- /* @__PURE__ */ jsx(Button, { onClick: () => setOpenSelectParameterDialog(true), children: /* @__PURE__ */ jsx(FormattedMessage, { id: "settings.button.chooseSettings" }) }),
133
- /* @__PURE__ */ jsx(Button, { onClick: () => setOpenCreateParameterDialog(true), children: /* @__PURE__ */ jsx(FormattedMessage, { id: "save" }) }),
134
- /* @__PURE__ */ jsx(Button, { onClick: handleResetClick, children: /* @__PURE__ */ jsx(FormattedMessage, { id: "resetToDefault" }) }),
135
- /* @__PURE__ */ jsx(
136
- SubmitButton,
137
- {
138
- onClick: handleSubmit(sensitivityAnalysisMethods.onSaveInline),
139
- variant: "outlined",
140
- disabled: sensitivityAnalysisMethods.isLoading || sensitivityAnalysisMethods.isMaxResultsReached || sensitivityAnalysisMethods.isMaxVariablesReached,
141
- children: /* @__PURE__ */ jsx(FormattedMessage, { id: "validate" })
142
- }
143
- )
144
- ]
145
- }
146
- ) }),
147
- openCreateParameterDialog && /* @__PURE__ */ jsx(
148
- CreateParameterDialog,
149
- {
150
- studyUuid,
151
- open: openCreateParameterDialog,
152
- onClose: () => setOpenCreateParameterDialog(false),
153
- parameterValues: getValues,
154
- parameterFormatter: (newParams) => mapSensitivityAnalysisParameters(
155
- sensitivityAnalysisMethods.formatNewParams(newParams)
156
- ),
157
- parameterType: ElementType.SENSITIVITY_PARAMETERS
158
- }
159
- ),
160
- openSelectParameterDialog && /* @__PURE__ */ jsx(
161
- DirectoryItemSelector,
162
- {
163
- open: openSelectParameterDialog,
164
- onClose: handleSensibilityParameter,
165
- types: [ElementType.SENSITIVITY_PARAMETERS],
166
- title: intl.formatMessage({
167
- id: "showSelectParameterDialog"
168
- }),
169
- onlyLeaves: true,
170
- multiSelect: false,
171
- validationButtonText: intl.formatMessage({
172
- id: "validate"
173
- })
174
- }
175
- ),
176
- openResetConfirmation && /* @__PURE__ */ jsx(
177
- PopupConfirmationDialog,
178
- {
179
- message: "resetParamsConfirmation",
180
- validateButtonLabel: "validate",
181
- openConfirmationPopup: openResetConfirmation,
182
- setOpenConfirmationPopup: handleCancelReset,
183
- handlePopupConfirmation: clear
121
+ sensitivityAnalysisMethods,
122
+ isDeveloperMode,
123
+ isRootNode,
124
+ globalBuildStatus
184
125
  }
185
126
  )
186
- ] });
187
- }
127
+ }
128
+ )
188
129
  }
189
130
  );
190
131
  }
@@ -31,18 +31,10 @@ import "../../../components/ui/snackbarProvider/SnackbarProvider.js";
31
31
  import "mui-nested-menu";
32
32
  import "react-resizable-panels";
33
33
  import "react-papaparse";
34
+ import { parametersStyles } from "../parameters-style.js";
34
35
  function SensitivityAnalysisFields() {
35
- return /* @__PURE__ */ jsxs(Grid2, { container: true, children: [
36
- /* @__PURE__ */ jsx(
37
- Grid2,
38
- {
39
- sx: {
40
- fontWeight: "bold",
41
- marginBottom: "10px"
42
- },
43
- children: /* @__PURE__ */ jsx(FormattedMessage, { id: "flowSensitivityValue" })
44
- }
45
- ),
36
+ return /* @__PURE__ */ jsxs(Grid2, { container: true, spacing: 1, paddingTop: 1, children: [
37
+ /* @__PURE__ */ jsx(Grid2, { sx: parametersStyles.parameterName, children: /* @__PURE__ */ jsx(FormattedMessage, { id: "flowSensitivityValue" }) }),
46
38
  /* @__PURE__ */ jsxs(Grid2, { container: true, spacing: 1, children: [
47
39
  /* @__PURE__ */ jsx(Grid2, { size: 4, children: /* @__PURE__ */ jsx(
48
40
  FloatInput,
@@ -4,33 +4,34 @@ import { useIntl, FormattedMessage } from "react-intl";
4
4
  import { Grid2, Box, Tabs, Tab, Card, CardContent } from "@mui/material";
5
5
  import { useFormContext } from "react-hook-form";
6
6
  import { SensiTabValues, SensiBranchesTabValues, COLUMNS_DEFINITIONS_INJECTIONS_SET, COLUMNS_DEFINITIONS_INJECTIONS, COLUMNS_DEFINITIONS_HVDCS, COLUMNS_DEFINITIONS_PSTS, COLUMNS_DEFINITIONS_NODES } from "./columns-definitions.js";
7
- import "../../../utils/conversionUtils.js";
8
- import "../../../utils/types/equipmentType.js";
9
7
  import "@mui/icons-material";
10
8
  import { TabPanel } from "../common/parameters.js";
9
+ import "../../../components/ui/overflowableText/OverflowableText.js";
10
+ import "../../../utils/conversionUtils.js";
11
+ import "../../../utils/types/equipmentType.js";
11
12
  import "localized-countries";
12
13
  import "localized-countries/data/fr";
13
14
  import "localized-countries/data/en";
14
15
  import "notistack";
15
16
  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
17
  import "yup";
18
+ import "../../../components/ui/treeViewFinder/TreeViewFinder.js";
22
19
  import "../../../components/ui/reactHookForm/numbers/RangeInput.js";
23
20
  import "@material-symbols/svg-400/outlined/left_panel_open.svg?react";
24
21
  import "@material-symbols/svg-400/outlined/arrows_output.svg?react";
25
22
  import "@material-symbols/svg-400/outlined/arrows_input.svg?react";
26
23
  import "@material-symbols/svg-400/outlined/left_panel_close.svg?react";
27
24
  import "@material-symbols/svg-400/outlined/add_notes.svg?react";
25
+ import "../../../components/ui/dialogs/descriptionModificationDialog/DescriptionModificationDialog.js";
28
26
  import "../../../components/ui/reactHookForm/expandableInput/ExpandableInput.js";
29
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
30
  import "../../../components/ui/snackbarProvider/SnackbarProvider.js";
31
31
  import "mui-nested-menu";
32
32
  import "react-resizable-panels";
33
33
  import "react-papaparse";
34
+ import "../common/parameter-layout/parameter-layout-provider.js";
34
35
  import "../common/widget/parameter-line-slider.js";
35
36
  import "../common/limitreductions/columns-definitions.js";
36
37
  import "../common/contingency-table/contingency-table.js";
@@ -7,21 +7,17 @@ import "../../../utils/types/equipmentType.js";
7
7
  import { DistributionType, SensitivityType } from "../../../utils/types/sensitivity-analysis.type.js";
8
8
  import "react/jsx-runtime";
9
9
  import "@mui/icons-material";
10
- import { PROVIDER, CONTINGENCIES } from "../common/constants.js";
11
10
  import "@mui/material";
12
- import "react-intl";
13
11
  import "react";
12
+ import "react-intl";
13
+ import "../../../components/ui/overflowableText/OverflowableText.js";
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 { PROVIDER, CONTINGENCIES } 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";
@@ -39,8 +39,9 @@ import "../../../components/ui/snackbarProvider/SnackbarProvider.js";
39
39
  import "mui-nested-menu";
40
40
  import "react-resizable-panels";
41
41
  import "react-papaparse";
42
- import { COMMON_PARAMETERS, SPECIFIC_PARAMETERS } from "../common/constants.js";
43
42
  import { TabPanel } from "../common/parameters.js";
43
+ import "../common/parameter-layout/parameter-layout-provider.js";
44
+ import { COMMON_PARAMETERS, SPECIFIC_PARAMETERS } from "../common/constants.js";
44
45
  import "../common/widget/parameter-line-slider.js";
45
46
  import "../common/limitreductions/columns-definitions.js";
46
47
  import "../common/contingency-table/contingency-table.js";