@gridsuite/commons-ui 0.97.0 → 0.99.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 (122) hide show
  1. package/dist/components/dialogs/customMuiDialog/CustomMuiDialog.js +1 -1
  2. package/dist/components/index.d.ts +1 -0
  3. package/dist/components/index.js +94 -1
  4. package/dist/components/inputs/index.js +2 -1
  5. package/dist/components/inputs/reactHookForm/DirectoryItemsInput.d.ts +3 -1
  6. package/dist/components/inputs/reactHookForm/DirectoryItemsInput.js +15 -3
  7. package/dist/components/inputs/reactHookForm/index.js +2 -1
  8. package/dist/components/inputs/reactHookForm/utils/HelperPreviousValue.js +1 -1
  9. package/dist/components/parameters/common/ProviderParam.d.ts +7 -0
  10. package/dist/components/parameters/common/ProviderParam.js +51 -0
  11. package/dist/components/parameters/common/computing-type.d.ts +20 -0
  12. package/dist/components/parameters/common/computing-type.js +46 -0
  13. package/dist/components/parameters/common/constant.d.ts +8 -0
  14. package/dist/components/parameters/common/constant.js +18 -0
  15. package/dist/components/parameters/common/index.d.ts +15 -0
  16. package/dist/components/parameters/common/index.js +61 -0
  17. package/dist/components/parameters/common/limitreductions/columns-definitions.d.ts +77 -0
  18. package/dist/components/parameters/common/limitreductions/columns-definitions.js +83 -0
  19. package/dist/components/parameters/common/limitreductions/index.d.ts +11 -0
  20. package/dist/components/parameters/common/limitreductions/index.js +21 -0
  21. package/dist/components/parameters/common/limitreductions/limit-reduction-table-cell.d.ts +5 -0
  22. package/dist/components/parameters/common/limitreductions/limit-reduction-table-cell.js +38 -0
  23. package/dist/components/parameters/common/limitreductions/limit-reduction-table-row.d.ts +7 -0
  24. package/dist/components/parameters/common/limitreductions/limit-reduction-table-row.js +9 -0
  25. package/dist/components/parameters/common/limitreductions/limit-reductions-form-util.d.ts +29 -0
  26. package/dist/components/parameters/common/limitreductions/limit-reductions-form-util.js +27 -0
  27. package/dist/components/parameters/common/limitreductions/limit-reductions-table-form.d.ts +4 -0
  28. package/dist/components/parameters/common/limitreductions/limit-reductions-table-form.js +87 -0
  29. package/dist/components/parameters/common/line-separator.d.ts +1 -0
  30. package/dist/components/parameters/common/line-separator.js +8 -0
  31. package/dist/components/parameters/common/parameters-creation-dialog.d.ts +13 -0
  32. package/dist/components/parameters/common/parameters-creation-dialog.js +88 -0
  33. package/dist/components/parameters/common/parameters.d.ts +20 -0
  34. package/dist/components/parameters/common/parameters.js +42 -0
  35. package/dist/components/parameters/common/voltage-level-table/custom-voltage-level-table-cell.d.ts +6 -0
  36. package/dist/components/parameters/common/voltage-level-table/custom-voltage-level-table-cell.js +42 -0
  37. package/dist/components/parameters/common/voltage-level-table/custom-voltage-level-table-row.d.ts +8 -0
  38. package/dist/components/parameters/common/voltage-level-table/custom-voltage-level-table-row.js +17 -0
  39. package/dist/components/parameters/common/voltage-level-table/custom-voltage-level-table.d.ts +8 -0
  40. package/dist/components/parameters/common/voltage-level-table/custom-voltage-level-table.js +55 -0
  41. package/dist/components/parameters/common/voltage-level-table/index.d.ts +9 -0
  42. package/dist/components/parameters/common/voltage-level-table/index.js +8 -0
  43. package/dist/components/parameters/common/widget/index.d.ts +11 -0
  44. package/dist/components/parameters/common/widget/index.js +13 -0
  45. package/dist/components/parameters/common/widget/parameter-float.d.ts +10 -0
  46. package/dist/components/parameters/common/widget/parameter-float.js +51 -0
  47. package/dist/components/parameters/common/widget/parameter-group.d.ts +11 -0
  48. package/dist/components/parameters/common/widget/parameter-group.js +54 -0
  49. package/dist/components/parameters/common/widget/parameter-line-directory-items-input.d.ts +15 -0
  50. package/dist/components/parameters/common/widget/parameter-line-directory-items-input.js +55 -0
  51. package/dist/components/parameters/common/widget/parameter-line-slider.d.ts +12 -0
  52. package/dist/components/parameters/common/widget/parameter-line-slider.js +70 -0
  53. package/dist/components/parameters/common/widget/parameter-switch.d.ts +7 -0
  54. package/dist/components/parameters/common/widget/parameter-switch.js +9 -0
  55. package/dist/components/parameters/index.d.ts +9 -0
  56. package/dist/components/parameters/index.js +94 -0
  57. package/dist/components/parameters/loadflow/constants.d.ts +33 -0
  58. package/dist/components/parameters/loadflow/constants.js +59 -0
  59. package/dist/components/parameters/loadflow/index.d.ts +9 -0
  60. package/dist/components/parameters/loadflow/index.js +31 -0
  61. package/dist/components/parameters/loadflow/load-flow-general-parameters.d.ts +8 -0
  62. package/dist/components/parameters/loadflow/load-flow-general-parameters.js +179 -0
  63. package/dist/components/parameters/loadflow/load-flow-parameter-field.d.ts +19 -0
  64. package/dist/components/parameters/loadflow/load-flow-parameter-field.js +90 -0
  65. package/dist/components/parameters/loadflow/load-flow-parameters-content.d.ts +13 -0
  66. package/dist/components/parameters/loadflow/load-flow-parameters-content.js +82 -0
  67. package/dist/components/parameters/loadflow/load-flow-parameters-context.d.ts +13 -0
  68. package/dist/components/parameters/loadflow/load-flow-parameters-context.js +5 -0
  69. package/dist/components/parameters/loadflow/load-flow-parameters-dialog.d.ts +15 -0
  70. package/dist/components/parameters/loadflow/load-flow-parameters-dialog.js +112 -0
  71. package/dist/components/parameters/loadflow/load-flow-parameters-form.d.ts +9 -0
  72. package/dist/components/parameters/loadflow/load-flow-parameters-form.js +102 -0
  73. package/dist/components/parameters/loadflow/load-flow-parameters-header.d.ts +12 -0
  74. package/dist/components/parameters/loadflow/load-flow-parameters-header.js +84 -0
  75. package/dist/components/parameters/loadflow/load-flow-parameters-inline.d.ts +10 -0
  76. package/dist/components/parameters/loadflow/load-flow-parameters-inline.js +162 -0
  77. package/dist/components/parameters/loadflow/load-flow-parameters-provider.d.ts +4 -0
  78. package/dist/components/parameters/loadflow/load-flow-parameters-provider.js +20 -0
  79. package/dist/components/parameters/loadflow/load-flow-parameters-utils.d.ts +100 -0
  80. package/dist/components/parameters/loadflow/load-flow-parameters-utils.js +158 -0
  81. package/dist/components/parameters/loadflow/use-load-flow-context.d.ts +7 -0
  82. package/dist/components/parameters/loadflow/use-load-flow-context.js +12 -0
  83. package/dist/components/parameters/loadflow/use-load-flow-parameters-form.d.ts +32 -0
  84. package/dist/components/parameters/loadflow/use-load-flow-parameters-form.js +263 -0
  85. package/dist/components/parameters/parameters-style.d.ts +150 -0
  86. package/dist/components/parameters/parameters-style.js +146 -0
  87. package/dist/hooks/index.d.ts +1 -0
  88. package/dist/hooks/index.js +3 -0
  89. package/dist/hooks/use-parameters-backend.d.ts +11 -0
  90. package/dist/hooks/use-parameters-backend.js +217 -0
  91. package/dist/index.js +115 -3
  92. package/dist/services/explore.d.ts +3 -0
  93. package/dist/services/explore.js +26 -1
  94. package/dist/services/index.js +6 -3
  95. package/dist/services/loadflow.d.ts +9 -0
  96. package/dist/services/loadflow.js +59 -0
  97. package/dist/services/utils.d.ts +3 -8
  98. package/dist/services/utils.js +5 -0
  99. package/dist/translations/en/index.d.ts +1 -0
  100. package/dist/translations/en/index.js +2 -0
  101. package/dist/translations/en/parameters.d.ts +67 -0
  102. package/dist/translations/en/parameters.js +64 -0
  103. package/dist/translations/fr/index.d.ts +1 -0
  104. package/dist/translations/fr/index.js +2 -0
  105. package/dist/translations/fr/parameters.d.ts +67 -0
  106. package/dist/translations/fr/parameters.js +64 -0
  107. package/dist/utils/index.js +9 -0
  108. package/dist/utils/types/dynamic-security-analysis.type.d.ts +13 -0
  109. package/dist/utils/types/dynamic-security-analysis.type.js +1 -0
  110. package/dist/utils/types/dynamic-simulation.type.d.ts +111 -0
  111. package/dist/utils/types/dynamic-simulation.type.js +8 -0
  112. package/dist/utils/types/index.d.ts +6 -0
  113. package/dist/utils/types/index.js +9 -0
  114. package/dist/utils/types/loadflow.type.d.ts +11 -0
  115. package/dist/utils/types/loadflow.type.js +1 -0
  116. package/dist/utils/types/non-evacuated-energy.type.d.ts +60 -0
  117. package/dist/utils/types/non-evacuated-energy.type.js +12 -0
  118. package/dist/utils/types/parameters.type.d.ts +41 -0
  119. package/dist/utils/types/parameters.type.js +12 -0
  120. package/dist/utils/types/sensitivity-analysis.type.d.ts +101 -0
  121. package/dist/utils/types/sensitivity-analysis.type.js +16 -0
  122. package/package.json +2 -1
@@ -0,0 +1,31 @@
1
+ import { BALANCE_TYPE, COMMON_PARAMETERS, CONNECTED_COMPONENT_MODE, COUNTRIES_TO_BALANCE, DC, DC_POWER_FACTOR, DC_USE_TRANSFORMER_RATIO, DEFAULT_LIMIT_REDUCTION_VALUE, DISTRIBUTED_SLACK, HVDC_AC_EMULATION, MAX_VALUE_ALLOWED_FOR_LIMIT_REDUCTION, MIN_VALUE_ALLOWED_FOR_LIMIT_REDUCTION, PARAM_LIMIT_REDUCTION, PARAM_PROVIDER_OPENLOADFLOW, PHASE_SHIFTER_REGULATION_ON, READ_SLACK_BUS, SHUNT_COMPENSATOR_VOLTAGE_CONTROL_ON, SPECIFIC_PARAMETERS, TRANSFORMER_VOLTAGE_CONTROL_ON, TWT_SPLIT_SHUNT_ADMITTANCE, USE_REACTIVE_LIMITS, VOLTAGE_INIT_MODE, WRITE_SLACK_BUS, alertThresholdMarks } from "./constants.js";
2
+ import { LoadFlowParametersInline } from "./load-flow-parameters-inline.js";
3
+ import { LoadFlowParametersEditionDialog } from "./load-flow-parameters-dialog.js";
4
+ export {
5
+ BALANCE_TYPE,
6
+ COMMON_PARAMETERS,
7
+ CONNECTED_COMPONENT_MODE,
8
+ COUNTRIES_TO_BALANCE,
9
+ DC,
10
+ DC_POWER_FACTOR,
11
+ DC_USE_TRANSFORMER_RATIO,
12
+ DEFAULT_LIMIT_REDUCTION_VALUE,
13
+ DISTRIBUTED_SLACK,
14
+ HVDC_AC_EMULATION,
15
+ LoadFlowParametersEditionDialog,
16
+ LoadFlowParametersInline,
17
+ MAX_VALUE_ALLOWED_FOR_LIMIT_REDUCTION,
18
+ MIN_VALUE_ALLOWED_FOR_LIMIT_REDUCTION,
19
+ PARAM_LIMIT_REDUCTION,
20
+ PARAM_PROVIDER_OPENLOADFLOW,
21
+ PHASE_SHIFTER_REGULATION_ON,
22
+ READ_SLACK_BUS,
23
+ SHUNT_COMPENSATOR_VOLTAGE_CONTROL_ON,
24
+ SPECIFIC_PARAMETERS,
25
+ TRANSFORMER_VOLTAGE_CONTROL_ON,
26
+ TWT_SPLIT_SHUNT_ADMITTANCE,
27
+ USE_REACTIVE_LIMITS,
28
+ VOLTAGE_INIT_MODE,
29
+ WRITE_SLACK_BUS,
30
+ alertThresholdMarks
31
+ };
@@ -0,0 +1,8 @@
1
+ import { SpecificParameterInfos } from '../../../utils/types/parameters.type';
2
+ interface LoadFlowGeneralParametersProps {
3
+ provider: string;
4
+ specificParams: SpecificParameterInfos[];
5
+ }
6
+ declare function LoadFlowGeneralParameters({ provider, specificParams }: Readonly<LoadFlowGeneralParametersProps>): import("react/jsx-runtime").JSX.Element;
7
+ declare const _default: import('react').MemoExoticComponent<typeof LoadFlowGeneralParameters>;
8
+ export default _default;
@@ -0,0 +1,179 @@
1
+ import { jsxs, Fragment, jsx } from "react/jsx-runtime";
2
+ import { memo, createElement } from "react";
3
+ import LoadFlowParameterField from "./load-flow-parameter-field.js";
4
+ import { TRANSFORMER_VOLTAGE_CONTROL_ON, PHASE_SHIFTER_REGULATION_ON, DC, BALANCE_TYPE, COUNTRIES_TO_BALANCE, CONNECTED_COMPONENT_MODE, HVDC_AC_EMULATION, VOLTAGE_INIT_MODE, USE_REACTIVE_LIMITS, TWT_SPLIT_SHUNT_ADMITTANCE, READ_SLACK_BUS, WRITE_SLACK_BUS, DISTRIBUTED_SLACK, SHUNT_COMPENSATOR_VOLTAGE_CONTROL_ON, DC_USE_TRANSFORMER_RATIO, DC_POWER_FACTOR, COMMON_PARAMETERS, SPECIFIC_PARAMETERS } from "./constants.js";
5
+ import { useLoadFlowContext } from "./use-load-flow-context.js";
6
+ import { ParameterType } from "../../../utils/types/parameters.type.js";
7
+ import "@mui/material";
8
+ import "react-intl";
9
+ import "@mui/icons-material";
10
+ import "react-hook-form";
11
+ import "../../inputs/reactHookForm/provider/CustomFormProvider.js";
12
+ import "yup";
13
+ import "notistack";
14
+ import "../../overflowableText/OverflowableText.js";
15
+ import "../../treeViewFinder/TreeViewFinder.js";
16
+ import "../../inputs/reactHookForm/agGridTable/BottomRightButtons.js";
17
+ import "../../customAGGrid/customAggrid.js";
18
+ import "ag-grid-community";
19
+ import "react-papaparse";
20
+ import "react-csv-downloader";
21
+ import "../../inputs/reactHookForm/numbers/RangeInput.js";
22
+ import "localized-countries";
23
+ import "localized-countries/data/fr";
24
+ import "localized-countries/data/en";
25
+ import "../../../utils/conversionUtils.js";
26
+ import "../../../utils/types/equipmentType.js";
27
+ import "../../../utils/yupConfig.js";
28
+ import "@react-querybuilder/material";
29
+ import "../../filter/expert/expertFilterConstants.js";
30
+ import "../../inputs/reactQueryBuilder/CustomReactQueryBuilder.js";
31
+ import "uuid";
32
+ import "../../inputs/reactQueryBuilder/PropertyValueEditor.js";
33
+ import "react-querybuilder";
34
+ import { ParameterGroup } from "../common/widget/parameter-group.js";
35
+ import "../common/widget/parameter-line-slider.js";
36
+ const basicParams = [
37
+ {
38
+ name: TRANSFORMER_VOLTAGE_CONTROL_ON,
39
+ type: ParameterType.BOOLEAN,
40
+ label: "descLfTransformerVoltageControlOn"
41
+ },
42
+ {
43
+ name: PHASE_SHIFTER_REGULATION_ON,
44
+ type: ParameterType.BOOLEAN,
45
+ label: "descLfPhaseShifterRegulationOn"
46
+ },
47
+ {
48
+ name: DC,
49
+ type: ParameterType.BOOLEAN,
50
+ label: "descLfDC"
51
+ },
52
+ {
53
+ name: BALANCE_TYPE,
54
+ type: ParameterType.STRING,
55
+ label: "descLfBalanceType",
56
+ possibleValues: [
57
+ { id: "PROPORTIONAL_TO_GENERATION_P", label: "descLfBalanceTypeGenP" },
58
+ { id: "PROPORTIONAL_TO_GENERATION_P_MAX", label: "descLfBalanceTypeGenPMax" },
59
+ { id: "PROPORTIONAL_TO_LOAD", label: "descLfBalanceTypeLoad" },
60
+ { id: "PROPORTIONAL_TO_CONFORM_LOAD", label: "descLfBalanceTypeConformLoad" }
61
+ ]
62
+ },
63
+ {
64
+ name: COUNTRIES_TO_BALANCE,
65
+ type: ParameterType.COUNTRIES,
66
+ label: "descLfCountriesToBalance"
67
+ },
68
+ {
69
+ name: CONNECTED_COMPONENT_MODE,
70
+ type: ParameterType.STRING,
71
+ label: "descLfConnectedComponentMode",
72
+ possibleValues: [
73
+ {
74
+ id: "MAIN",
75
+ label: "descLfConnectedComponentModeMain"
76
+ },
77
+ {
78
+ id: "ALL",
79
+ label: "descLfConnectedComponentModeAll"
80
+ }
81
+ ]
82
+ },
83
+ {
84
+ name: HVDC_AC_EMULATION,
85
+ type: ParameterType.BOOLEAN,
86
+ label: "descLfHvdcAcEmulation"
87
+ }
88
+ ];
89
+ const advancedParams = [
90
+ {
91
+ name: VOLTAGE_INIT_MODE,
92
+ type: ParameterType.STRING,
93
+ label: "descLfVoltageInitMode",
94
+ possibleValues: [
95
+ {
96
+ id: "UNIFORM_VALUES",
97
+ label: "descLfUniformValues"
98
+ },
99
+ {
100
+ id: "PREVIOUS_VALUES",
101
+ label: "descLfPreviousValues"
102
+ },
103
+ {
104
+ id: "DC_VALUES",
105
+ label: "descLfDcValues"
106
+ }
107
+ ]
108
+ },
109
+ {
110
+ name: USE_REACTIVE_LIMITS,
111
+ type: ParameterType.BOOLEAN,
112
+ label: "descLfUseReactiveLimits"
113
+ },
114
+ {
115
+ name: TWT_SPLIT_SHUNT_ADMITTANCE,
116
+ type: ParameterType.BOOLEAN,
117
+ label: "descLfTwtSplitShuntAdmittance"
118
+ },
119
+ {
120
+ name: READ_SLACK_BUS,
121
+ type: ParameterType.BOOLEAN,
122
+ label: "descLfReadSlackBus"
123
+ },
124
+ {
125
+ name: WRITE_SLACK_BUS,
126
+ type: ParameterType.BOOLEAN,
127
+ label: "descLfWriteSlackBus"
128
+ },
129
+ {
130
+ name: DISTRIBUTED_SLACK,
131
+ type: ParameterType.BOOLEAN,
132
+ label: "descLfDistributedSlack"
133
+ },
134
+ {
135
+ name: SHUNT_COMPENSATOR_VOLTAGE_CONTROL_ON,
136
+ type: ParameterType.BOOLEAN,
137
+ label: "descLfShuntCompensatorVoltageControlOn"
138
+ },
139
+ {
140
+ name: DC_USE_TRANSFORMER_RATIO,
141
+ type: ParameterType.BOOLEAN,
142
+ label: "descLfDcUseTransformerRatio"
143
+ },
144
+ {
145
+ name: DC_POWER_FACTOR,
146
+ type: ParameterType.DOUBLE,
147
+ label: "descLfDcPowerFactor"
148
+ }
149
+ ];
150
+ function LoadFlowGeneralParameters({ provider, specificParams }) {
151
+ const { showAdvancedLfParams, setShowAdvancedLfParams, showSpecificLfParams, setShowSpecificLfParams } = useLoadFlowContext();
152
+ return /* @__PURE__ */ jsxs(Fragment, { children: [
153
+ basicParams.map((item) => /* @__PURE__ */ createElement(LoadFlowParameterField, { id: COMMON_PARAMETERS, ...item, key: item.name })),
154
+ /* @__PURE__ */ jsx(
155
+ ParameterGroup,
156
+ {
157
+ label: "showAdvancedParameters",
158
+ state: showAdvancedLfParams,
159
+ onClick: setShowAdvancedLfParams,
160
+ children: showAdvancedLfParams && advancedParams.map((item) => /* @__PURE__ */ createElement(LoadFlowParameterField, { id: COMMON_PARAMETERS, ...item, key: item.name }))
161
+ }
162
+ ),
163
+ /* @__PURE__ */ jsx(
164
+ ParameterGroup,
165
+ {
166
+ label: "showSpecificParameters",
167
+ state: showSpecificLfParams,
168
+ onClick: setShowSpecificLfParams,
169
+ infoText: provider ?? "",
170
+ disabled: !provider || !specificParams,
171
+ children: showSpecificLfParams && (specificParams == null ? void 0 : specificParams.map((item) => /* @__PURE__ */ createElement(LoadFlowParameterField, { id: SPECIFIC_PARAMETERS, ...item, key: item.name })))
172
+ }
173
+ )
174
+ ] });
175
+ }
176
+ const LoadFlowGeneralParameters$1 = memo(LoadFlowGeneralParameters);
177
+ export {
178
+ LoadFlowGeneralParameters$1 as default
179
+ };
@@ -0,0 +1,19 @@
1
+ /**
2
+ * Copyright (c) 2024, RTE (http://www.rte-france.com)
3
+ * This Source Code Form is subject to the terms of the Mozilla Public
4
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
5
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
6
+ */
7
+ interface LoadFlowParameterFieldProps {
8
+ id: string;
9
+ name: string;
10
+ type: string;
11
+ label?: string;
12
+ description?: string;
13
+ possibleValues?: {
14
+ id: string;
15
+ label: string;
16
+ }[] | string[];
17
+ }
18
+ declare function LoadFlowParameterField({ id, name, type, label, description, possibleValues, }: Readonly<LoadFlowParameterFieldProps>): import("react/jsx-runtime").JSX.Element;
19
+ export default LoadFlowParameterField;
@@ -0,0 +1,90 @@
1
+ import { jsxs, jsx } from "react/jsx-runtime";
2
+ import { Grid, Tooltip, Typography, Chip } from "@mui/material";
3
+ import { FormattedMessage } from "react-intl";
4
+ import { parametersStyles } from "../parameters-style.js";
5
+ import { ParameterType } from "../../../utils/types/parameters.type.js";
6
+ import "@mui/icons-material";
7
+ import "react";
8
+ import "react-hook-form";
9
+ import "../../inputs/reactHookForm/provider/CustomFormProvider.js";
10
+ import "yup";
11
+ import "notistack";
12
+ import "../../overflowableText/OverflowableText.js";
13
+ import "../../treeViewFinder/TreeViewFinder.js";
14
+ import "../../inputs/reactHookForm/agGridTable/BottomRightButtons.js";
15
+ import "../../customAGGrid/customAggrid.js";
16
+ import "ag-grid-community";
17
+ import "react-papaparse";
18
+ import "react-csv-downloader";
19
+ import { AutocompleteInput } from "../../inputs/reactHookForm/autocompleteInputs/AutocompleteInput.js";
20
+ import { MultipleAutocompleteInput } from "../../inputs/reactHookForm/autocompleteInputs/MultipleAutocompleteInput.js";
21
+ import { SwitchInput } from "../../inputs/reactHookForm/booleans/SwitchInput.js";
22
+ import { FloatInput } from "../../inputs/reactHookForm/numbers/FloatInput.js";
23
+ import { IntegerInput } from "../../inputs/reactHookForm/numbers/IntegerInput.js";
24
+ import "../../inputs/reactHookForm/numbers/RangeInput.js";
25
+ import { CountriesInput } from "../../inputs/reactHookForm/selectInputs/CountriesInput.js";
26
+ import { MuiSelectInput } from "../../inputs/reactHookForm/selectInputs/MuiSelectInput.js";
27
+ import "../../../utils/conversionUtils.js";
28
+ import "../../../utils/types/equipmentType.js";
29
+ import "../../../utils/yupConfig.js";
30
+ import { TextInput } from "../../inputs/reactHookForm/text/TextInput.js";
31
+ import "localized-countries";
32
+ import "localized-countries/data/fr";
33
+ import "localized-countries/data/en";
34
+ import "@react-querybuilder/material";
35
+ import "../../filter/expert/expertFilterConstants.js";
36
+ import "../../inputs/reactQueryBuilder/CustomReactQueryBuilder.js";
37
+ import "uuid";
38
+ import "../../inputs/reactQueryBuilder/PropertyValueEditor.js";
39
+ import "react-querybuilder";
40
+ import { LineSeparator } from "../common/line-separator.js";
41
+ import "../../dialogs/descriptionModificationDialog/DescriptionModificationDialog.js";
42
+ import "../../dialogs/elementSaveDialog/ElementSaveDialog.js";
43
+ import "../common/widget/parameter-line-slider.js";
44
+ import "../common/limitreductions/columns-definitions.js";
45
+ function LoadFlowParameterField({
46
+ id,
47
+ name,
48
+ type,
49
+ label,
50
+ description,
51
+ possibleValues
52
+ }) {
53
+ const renderField = () => {
54
+ switch (type) {
55
+ case ParameterType.STRING:
56
+ return possibleValues ? /* @__PURE__ */ jsx(MuiSelectInput, { name: `${id}.${name}`, options: possibleValues, size: "small" }) : /* @__PURE__ */ jsx(TextInput, { name: `${id}.${name}` });
57
+ case ParameterType.BOOLEAN:
58
+ return /* @__PURE__ */ jsx(SwitchInput, { name: `${id}.${name}` });
59
+ case ParameterType.COUNTRIES:
60
+ return /* @__PURE__ */ jsx(CountriesInput, { name: `${id}.${name}`, label: "descLfCountries" });
61
+ case ParameterType.DOUBLE:
62
+ return /* @__PURE__ */ jsx(FloatInput, { name: `${id}.${name}` });
63
+ case ParameterType.STRING_LIST:
64
+ return possibleValues ? /* @__PURE__ */ jsx(
65
+ AutocompleteInput,
66
+ {
67
+ name: `${id}.${name}`,
68
+ label,
69
+ options: possibleValues,
70
+ fullWidth: true,
71
+ multiple: true,
72
+ size: "small",
73
+ renderTags: (val, getTagsProps) => val.map((code, index) => /* @__PURE__ */ jsx(Chip, { size: "small", label: code, ...getTagsProps({ index }) }, code))
74
+ }
75
+ ) : /* @__PURE__ */ jsx(MultipleAutocompleteInput, { name: `${id}.${name}`, size: "small" });
76
+ case ParameterType.INTEGER:
77
+ return /* @__PURE__ */ jsx(IntegerInput, { name: `${id}.${name}` });
78
+ default:
79
+ return null;
80
+ }
81
+ };
82
+ return /* @__PURE__ */ jsxs(Grid, { container: true, spacing: 1, paddingTop: 1, justifyContent: "space-between", children: [
83
+ /* @__PURE__ */ jsx(Grid, { item: true, xs: 8, children: /* @__PURE__ */ jsx(Tooltip, { title: description, enterDelay: 1200, children: /* @__PURE__ */ jsx(Typography, { sx: parametersStyles.parameterName, children: label ? /* @__PURE__ */ jsx(FormattedMessage, { id: label }) : name }) }, name) }),
84
+ /* @__PURE__ */ jsx(Grid, { item: true, container: true, xs: 4, sx: parametersStyles.controlItem, children: renderField() }),
85
+ /* @__PURE__ */ jsx(LineSeparator, {})
86
+ ] }, name);
87
+ }
88
+ export {
89
+ LoadFlowParameterField as default
90
+ };
@@ -0,0 +1,13 @@
1
+ import { TabValues } from './load-flow-parameters-utils';
2
+ import { ILimitReductionsByVoltageLevel } from '../common/limitreductions/columns-definitions';
3
+ import { SpecificParameterInfos } from '../../../utils/types/parameters.type';
4
+ import { LoadFlowParametersInfos } from '../../../utils/types/loadflow.type';
5
+ type LoadFlowParametersContentProps = {
6
+ selectedTab: TabValues;
7
+ currentProvider: string;
8
+ specificParameters: SpecificParameterInfos[];
9
+ params: LoadFlowParametersInfos | null;
10
+ defaultLimitReductions: ILimitReductionsByVoltageLevel[];
11
+ };
12
+ declare function LoadFlowParametersContent({ selectedTab, currentProvider, specificParameters, params, defaultLimitReductions, }: Readonly<LoadFlowParametersContentProps>): import("react/jsx-runtime").JSX.Element;
13
+ export default LoadFlowParametersContent;
@@ -0,0 +1,82 @@
1
+ import { jsx, jsxs } from "react/jsx-runtime";
2
+ import { Box, Grid } from "@mui/material";
3
+ import { TabValues } from "./load-flow-parameters-utils.js";
4
+ import LoadFlowGeneralParameters from "./load-flow-general-parameters.js";
5
+ import { TabPanel } from "../common/parameters.js";
6
+ import "react";
7
+ import "react-intl";
8
+ import "../../../utils/types/equipmentType.js";
9
+ import "localized-countries";
10
+ import "localized-countries/data/fr";
11
+ import "localized-countries/data/en";
12
+ import "notistack";
13
+ import "react-hook-form";
14
+ import "../../inputs/reactHookForm/provider/CustomFormProvider.js";
15
+ import "../../dialogs/descriptionModificationDialog/DescriptionModificationDialog.js";
16
+ import "../../dialogs/elementSaveDialog/ElementSaveDialog.js";
17
+ import "@mui/icons-material";
18
+ import "../../treeViewFinder/TreeViewFinder.js";
19
+ import { parametersStyles } from "../parameters-style.js";
20
+ import "yup";
21
+ import "../../overflowableText/OverflowableText.js";
22
+ import "../../inputs/reactHookForm/agGridTable/BottomRightButtons.js";
23
+ import "../../customAGGrid/customAggrid.js";
24
+ import "ag-grid-community";
25
+ import "react-papaparse";
26
+ import "react-csv-downloader";
27
+ import "../../inputs/reactHookForm/numbers/RangeInput.js";
28
+ import "../../../utils/conversionUtils.js";
29
+ import "../../../utils/yupConfig.js";
30
+ import "@react-querybuilder/material";
31
+ import "../../filter/expert/expertFilterConstants.js";
32
+ import "../../inputs/reactQueryBuilder/CustomReactQueryBuilder.js";
33
+ import "uuid";
34
+ import "../../inputs/reactQueryBuilder/PropertyValueEditor.js";
35
+ import "react-querybuilder";
36
+ import { ParameterLineSlider } from "../common/widget/parameter-line-slider.js";
37
+ import "../common/limitreductions/columns-definitions.js";
38
+ import { LimitReductionsTableForm } from "../common/limitreductions/limit-reductions-table-form.js";
39
+ import { PARAM_PROVIDER_OPENLOADFLOW, MAX_VALUE_ALLOWED_FOR_LIMIT_REDUCTION, MIN_VALUE_ALLOWED_FOR_LIMIT_REDUCTION, alertThresholdMarks, PARAM_LIMIT_REDUCTION } from "./constants.js";
40
+ const styles = {
41
+ container: {
42
+ ...parametersStyles.scrollableGrid,
43
+ maxHeight: "100%"
44
+ },
45
+ maxWidth: {
46
+ width: "100%"
47
+ }
48
+ };
49
+ function LoadFlowParametersContent({
50
+ selectedTab,
51
+ currentProvider,
52
+ specificParameters,
53
+ params,
54
+ defaultLimitReductions
55
+ }) {
56
+ return /* @__PURE__ */ jsx(
57
+ Box,
58
+ {
59
+ sx: {
60
+ flexGrow: 1,
61
+ overflow: "auto",
62
+ paddingLeft: 1
63
+ },
64
+ children: /* @__PURE__ */ jsx(Grid, { container: true, sx: styles.container, children: /* @__PURE__ */ jsxs(Grid, { item: true, sx: styles.maxWidth, children: [
65
+ /* @__PURE__ */ jsx(TabPanel, { value: selectedTab, index: TabValues.GENERAL, children: /* @__PURE__ */ jsx(LoadFlowGeneralParameters, { provider: currentProvider, specificParams: specificParameters }) }),
66
+ /* @__PURE__ */ jsx(TabPanel, { value: selectedTab, index: TabValues.LIMIT_REDUCTIONS, children: /* @__PURE__ */ jsx(Grid, { container: true, sx: { width: "100%" }, children: currentProvider === PARAM_PROVIDER_OPENLOADFLOW ? /* @__PURE__ */ jsx(LimitReductionsTableForm, { limits: (params == null ? void 0 : params.limitReductions) ?? defaultLimitReductions }) : /* @__PURE__ */ jsx(
67
+ ParameterLineSlider,
68
+ {
69
+ name: PARAM_LIMIT_REDUCTION,
70
+ label: "LimitReduction",
71
+ marks: alertThresholdMarks,
72
+ minValue: MIN_VALUE_ALLOWED_FOR_LIMIT_REDUCTION,
73
+ maxValue: MAX_VALUE_ALLOWED_FOR_LIMIT_REDUCTION
74
+ }
75
+ ) }) })
76
+ ] }) })
77
+ }
78
+ );
79
+ }
80
+ export {
81
+ LoadFlowParametersContent as default
82
+ };
@@ -0,0 +1,13 @@
1
+ /**
2
+ * Copyright (c) 2024, RTE (http://www.rte-france.com)
3
+ * This Source Code Form is subject to the terms of the Mozilla Public
4
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
5
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
6
+ */
7
+ export interface LoadFlowContextProps {
8
+ showAdvancedLfParams: boolean;
9
+ setShowAdvancedLfParams: (state: boolean) => void;
10
+ showSpecificLfParams: boolean;
11
+ setShowSpecificLfParams: (state: boolean) => void;
12
+ }
13
+ export declare const LoadFlowContext: import('react').Context<LoadFlowContextProps | undefined>;
@@ -0,0 +1,5 @@
1
+ import { createContext } from "react";
2
+ const LoadFlowContext = createContext(void 0);
3
+ export {
4
+ LoadFlowContext
5
+ };
@@ -0,0 +1,15 @@
1
+ import { UUID } from 'crypto';
2
+ import { User } from 'oidc-client';
3
+ export interface ParametersEditionDialogProps {
4
+ id: UUID;
5
+ open: boolean;
6
+ onClose: () => void;
7
+ titleId: string;
8
+ name: string;
9
+ description: string | null;
10
+ activeDirectory?: UUID;
11
+ language?: string;
12
+ user: User | null;
13
+ enableDeveloperMode: boolean;
14
+ }
15
+ export declare function LoadFlowParametersEditionDialog({ id, open, onClose, titleId, name, description, activeDirectory, language, user, enableDeveloperMode, }: Readonly<ParametersEditionDialogProps>): import("react/jsx-runtime").JSX.Element;
@@ -0,0 +1,112 @@
1
+ import { jsx, jsxs } from "react/jsx-runtime";
2
+ import { Grid } from "@mui/material";
3
+ import { CustomMuiDialog } from "../../dialogs/customMuiDialog/CustomMuiDialog.js";
4
+ import "../../dialogs/descriptionModificationDialog/DescriptionModificationDialog.js";
5
+ import "../../dialogs/elementSaveDialog/ElementSaveDialog.js";
6
+ import "react";
7
+ import "react-intl";
8
+ import "react-hook-form";
9
+ import "@mui/icons-material";
10
+ import { FieldConstants } from "../../../utils/constants/fieldConstants.js";
11
+ import { ElementType } from "../../../utils/types/elementType.js";
12
+ import "../../treeViewFinder/TreeViewFinder.js";
13
+ import "notistack";
14
+ import { ComputingType } from "../common/computing-type.js";
15
+ import "../../../utils/types/equipmentType.js";
16
+ import "localized-countries";
17
+ import "localized-countries/data/fr";
18
+ import "localized-countries/data/en";
19
+ import { useParametersBackend, OptionalServicesStatus } from "../../../hooks/use-parameters-backend.js";
20
+ import "../../inputs/reactHookForm/provider/CustomFormProvider.js";
21
+ import "yup";
22
+ import "../../overflowableText/OverflowableText.js";
23
+ import "../../inputs/reactHookForm/agGridTable/BottomRightButtons.js";
24
+ import "../../customAGGrid/customAggrid.js";
25
+ import "ag-grid-community";
26
+ import "react-papaparse";
27
+ import "react-csv-downloader";
28
+ import "../../inputs/reactHookForm/numbers/RangeInput.js";
29
+ import { DescriptionField } from "../../inputs/reactHookForm/text/DescriptionField.js";
30
+ import { UniqueNameInput } from "../../inputs/reactHookForm/text/UniqueNameInput.js";
31
+ import "@react-querybuilder/material";
32
+ import "../../filter/expert/expertFilterConstants.js";
33
+ import "../../inputs/reactQueryBuilder/CustomReactQueryBuilder.js";
34
+ import "uuid";
35
+ import "../../inputs/reactQueryBuilder/PropertyValueEditor.js";
36
+ import "react-querybuilder";
37
+ import "../../../utils/conversionUtils.js";
38
+ import "../common/widget/parameter-line-slider.js";
39
+ import "../common/limitreductions/columns-definitions.js";
40
+ import { getLoadFlowDefaultLimitReductions, getLoadFlowSpecificParametersDescription, setLoadFlowParameters, fetchLoadFlowParameters, getDefaultLoadFlowProvider, getLoadFlowProviders } from "../../../services/loadflow.js";
41
+ import "../../../utils/yupConfig.js";
42
+ import { filterStyles } from "../../filter/HeaderFilterForm.js";
43
+ import { LoadFlowProvider } from "./load-flow-parameters-provider.js";
44
+ import { useLoadFlowParametersForm } from "./use-load-flow-parameters-form.js";
45
+ import { LoadFlowParametersForm } from "./load-flow-parameters-form.js";
46
+ function LoadFlowParametersEditionDialog({
47
+ id,
48
+ open,
49
+ onClose,
50
+ titleId,
51
+ name,
52
+ description,
53
+ activeDirectory,
54
+ language,
55
+ user,
56
+ enableDeveloperMode
57
+ }) {
58
+ const parametersBackend = useParametersBackend(
59
+ user,
60
+ id,
61
+ ComputingType.LOAD_FLOW,
62
+ OptionalServicesStatus.Up,
63
+ getLoadFlowProviders,
64
+ null,
65
+ getDefaultLoadFlowProvider,
66
+ null,
67
+ fetchLoadFlowParameters,
68
+ setLoadFlowParameters,
69
+ getLoadFlowSpecificParametersDescription,
70
+ getLoadFlowDefaultLimitReductions
71
+ );
72
+ const loadflowMethods = useLoadFlowParametersForm(parametersBackend, enableDeveloperMode, id, name, description);
73
+ return /* @__PURE__ */ jsx(
74
+ CustomMuiDialog,
75
+ {
76
+ open,
77
+ onClose,
78
+ onSave: loadflowMethods.onSaveDialog,
79
+ onValidationError: loadflowMethods.onValidationError,
80
+ formSchema: loadflowMethods.formSchema,
81
+ formMethods: loadflowMethods.formMethods,
82
+ titleId,
83
+ removeOptional: true,
84
+ language,
85
+ children: /* @__PURE__ */ jsx(LoadFlowProvider, { children: /* @__PURE__ */ jsx(
86
+ LoadFlowParametersForm,
87
+ {
88
+ loadflowMethods,
89
+ renderTitleFields: () => {
90
+ return /* @__PURE__ */ jsx(Grid, { item: true, sx: { height: "100%" }, children: /* @__PURE__ */ jsxs(Grid, { container: true, spacing: 2, children: [
91
+ /* @__PURE__ */ jsx(Grid, { item: true, xs: 12, children: /* @__PURE__ */ jsx(
92
+ UniqueNameInput,
93
+ {
94
+ name: FieldConstants.NAME,
95
+ label: "nameProperty",
96
+ elementType: ElementType.LOADFLOW_PARAMETERS,
97
+ activeDirectory,
98
+ sx: filterStyles.textField,
99
+ fullWidth: false
100
+ }
101
+ ) }),
102
+ /* @__PURE__ */ jsx(Grid, { item: true, xs: 12, children: /* @__PURE__ */ jsx(DescriptionField, { expandingTextSx: filterStyles.description }) })
103
+ ] }) });
104
+ }
105
+ }
106
+ ) })
107
+ }
108
+ );
109
+ }
110
+ export {
111
+ LoadFlowParametersEditionDialog
112
+ };
@@ -0,0 +1,9 @@
1
+ import { ReactNode } from 'react';
2
+ import { UseLoadFlowParametersFormReturn } from './use-load-flow-parameters-form';
3
+ interface LoadFlowParametersFormProps {
4
+ loadflowMethods: UseLoadFlowParametersFormReturn;
5
+ renderTitleFields?: () => ReactNode;
6
+ renderActions?: () => ReactNode;
7
+ }
8
+ export declare function LoadFlowParametersForm({ loadflowMethods, renderTitleFields, renderActions, }: Readonly<LoadFlowParametersFormProps>): import("react/jsx-runtime").JSX.Element;
9
+ export {};