@gridsuite/commons-ui 0.192.0 → 0.194.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.
- package/dist/components/directoryItemSelector/DirectoryItemSelector.js +0 -1
- package/dist/components/dnd-table-v2/deletable-table-row.d.ts +7 -0
- package/dist/components/dnd-table-v2/deletable-table-row.js +37 -0
- package/dist/components/dnd-table-v2/dnd-table-add-rows-dialog.d.ts +13 -0
- package/dist/components/dnd-table-v2/dnd-table-add-rows-dialog.js +75 -0
- package/dist/components/dnd-table-v2/dnd-table-bottom-left-buttons.d.ts +17 -0
- package/dist/components/dnd-table-v2/dnd-table-bottom-left-buttons.js +48 -0
- package/dist/components/dnd-table-v2/dnd-table-bottom-right-buttons.d.ts +17 -0
- package/dist/components/dnd-table-v2/dnd-table-bottom-right-buttons.js +103 -0
- package/dist/components/dnd-table-v2/dnd-table-row.d.ts +23 -0
- package/dist/components/dnd-table-v2/dnd-table-row.js +183 -0
- package/dist/components/dnd-table-v2/dnd-table-utils.d.ts +2 -0
- package/dist/components/dnd-table-v2/dnd-table-utils.js +10 -0
- package/dist/components/dnd-table-v2/dnd-table.d.ts +32 -0
- package/dist/components/dnd-table-v2/dnd-table.js +381 -0
- package/dist/components/dnd-table-v2/dnd-table.type.d.ts +70 -0
- package/dist/components/dnd-table-v2/dnd-table.type.js +19 -0
- package/dist/components/dnd-table-v2/index.d.ts +12 -0
- package/dist/components/dnd-table-v2/index.js +16 -0
- package/dist/components/filter/constants/FilterConstants.d.ts +6 -2
- package/dist/components/filter/constants/FilterConstants.js +1 -10
- package/dist/components/filter/expert/ExpertFilterEditionDialog.js +2 -1
- package/dist/components/filter/explicitNaming/ExplicitNamingFilterEditionDialog.js +2 -1
- package/dist/components/filter/explicitNaming/ExplicitNamingFilterForm.d.ts +1 -1
- package/dist/components/filter/filter.type.d.ts +27 -17
- package/dist/components/filter/index.js +1 -2
- package/dist/components/index.js +12 -12
- package/dist/components/inputs/checkbox-autocomplete/checkbox-autocomplete.d.ts +12 -0
- package/dist/components/inputs/checkbox-autocomplete/checkbox-autocomplete.js +126 -0
- package/dist/components/inputs/checkbox-autocomplete/checkbox-item.d.ts +8 -0
- package/dist/components/inputs/checkbox-autocomplete/checkbox-item.js +17 -0
- package/dist/components/inputs/checkbox-autocomplete/index.d.ts +7 -0
- package/dist/components/inputs/checkbox-autocomplete/index.js +4 -0
- package/dist/components/inputs/checkbox-autocomplete/virtualized-list-item.d.ts +15 -0
- package/dist/components/inputs/checkbox-autocomplete/virtualized-list-item.js +27 -0
- package/dist/components/inputs/checkbox-autocomplete/virtualized-list.d.ts +3 -0
- package/dist/components/inputs/checkbox-autocomplete/virtualized-list.js +30 -0
- package/dist/components/inputs/reactHookForm/DirectoryItemsInput.d.ts +1 -2
- package/dist/components/inputs/reactHookForm/DirectoryItemsInput.js +2 -5
- package/dist/components/inputs/reactHookForm/booleans/BooleanInput.js +6 -4
- package/dist/components/inputs/reactQueryBuilder/OperatorSelector.js +0 -1
- package/dist/components/parameters/common/contingency-table/columns-definitions.d.ts +4 -3
- package/dist/components/parameters/common/contingency-table/columns-definitions.js +23 -15
- package/dist/components/parameters/common/contingency-table/contingency-table.d.ts +2 -1
- package/dist/components/parameters/common/contingency-table/contingency-table.js +45 -44
- package/dist/components/parameters/common/contingency-table/index.js +2 -2
- package/dist/components/parameters/common/hook/index.d.ts +8 -0
- package/dist/components/parameters/common/hook/index.js +6 -0
- package/dist/components/parameters/common/hook/use-parameters-form.d.ts +13 -0
- package/dist/components/parameters/common/hook/use-parameters-form.js +60 -0
- package/dist/components/parameters/common/hook/use-tabs.d.ts +13 -0
- package/dist/components/parameters/common/hook/use-tabs.js +60 -0
- package/dist/components/parameters/common/index.d.ts +1 -0
- package/dist/components/parameters/common/index.js +7 -3
- package/dist/components/parameters/common/parameter-field.js +4 -0
- package/dist/components/parameters/common/parameter-table/table-cell.js +1 -1
- package/dist/components/parameters/common/parameter-table-field/constants.d.ts +10 -0
- package/dist/components/parameters/common/parameter-table-field/constants.js +10 -0
- package/dist/components/parameters/common/{parameter-table → parameter-table-field}/index.d.ts +2 -3
- package/dist/components/parameters/common/parameter-table-field/index.js +9 -0
- package/dist/components/parameters/common/parameter-table-field/parameter-table-field.d.ts +11 -0
- package/dist/components/parameters/common/parameter-table-field/parameter-table-field.js +121 -0
- package/dist/components/parameters/common/parameters-edition-dialog-props.d.ts +1 -1
- package/dist/components/parameters/common/utils.d.ts +2 -15
- package/dist/components/parameters/common/utils.js +1 -40
- package/dist/components/parameters/dynamic-margin-calculation/dynamic-margin-calculation-form.d.ts +4 -3
- package/dist/components/parameters/dynamic-margin-calculation/dynamic-margin-calculation-form.js +21 -12
- package/dist/components/parameters/dynamic-margin-calculation/dynamic-margin-calculation-inline.js +11 -6
- package/dist/components/parameters/dynamic-margin-calculation/loads-variations-parameters.js +9 -7
- package/dist/components/parameters/dynamic-margin-calculation/use-dynamic-margin-calculation-parameters-form.d.ts +1 -3
- package/dist/components/parameters/dynamic-margin-calculation/use-dynamic-margin-calculation-parameters-form.js +11 -54
- package/dist/components/parameters/dynamic-security-analysis/contingency-parameters.js +16 -7
- package/dist/components/parameters/dynamic-security-analysis/dynamic-security-analysis-inline.js +11 -6
- package/dist/components/parameters/dynamic-security-analysis/dynamic-security-analysis-parameters-form.d.ts +4 -3
- package/dist/components/parameters/dynamic-security-analysis/dynamic-security-analysis-parameters-form.js +43 -40
- package/dist/components/parameters/dynamic-security-analysis/dynamic-security-analysis.type.d.ts +10 -0
- package/dist/components/parameters/dynamic-security-analysis/dynamic-security-analysis.type.js +8 -0
- package/dist/components/parameters/dynamic-security-analysis/scenario-parameters.js +15 -6
- package/dist/components/parameters/dynamic-security-analysis/use-dynamic-security-analysis-parameters-form.d.ts +1 -6
- package/dist/components/parameters/dynamic-security-analysis/use-dynamic-security-analysis-parameters-form.js +21 -96
- package/dist/components/parameters/dynamic-simulation/curve/common/checkbox-select.d.ts +15 -0
- package/dist/components/parameters/dynamic-simulation/curve/common/checkbox-select.js +83 -0
- package/dist/components/parameters/dynamic-simulation/curve/common/checkbox-treeview.d.ts +22 -0
- package/dist/components/parameters/dynamic-simulation/curve/common/checkbox-treeview.js +163 -0
- package/dist/components/parameters/dynamic-simulation/curve/common/curve.type.d.ts +14 -0
- package/dist/components/parameters/dynamic-simulation/curve/common/curve.type.js +1 -0
- package/dist/components/parameters/dynamic-simulation/curve/common/grid-buttons.d.ts +8 -0
- package/dist/components/parameters/dynamic-simulation/curve/common/grid-buttons.js +39 -0
- package/dist/components/parameters/dynamic-simulation/curve/common/grid-search.d.ts +8 -0
- package/dist/components/parameters/dynamic-simulation/curve/common/grid-search.js +60 -0
- package/dist/components/parameters/dynamic-simulation/curve/curve-parameters-constants.d.ts +11 -0
- package/dist/components/parameters/dynamic-simulation/curve/curve-parameters-constants.js +9 -0
- package/dist/components/parameters/dynamic-simulation/curve/curve-parameters-utils.d.ts +12 -0
- package/dist/components/parameters/dynamic-simulation/curve/curve-parameters-utils.js +18 -0
- package/dist/components/parameters/dynamic-simulation/curve/curve-parameters.d.ts +11 -0
- package/dist/components/parameters/dynamic-simulation/curve/curve-parameters.js +177 -0
- package/dist/components/parameters/dynamic-simulation/curve/curve-parameters.type.d.ts +6 -0
- package/dist/components/parameters/dynamic-simulation/curve/curve-parameters.type.js +1 -0
- package/dist/components/parameters/dynamic-simulation/curve/dialog/curve-preview.d.ts +8 -0
- package/dist/components/parameters/dynamic-simulation/curve/dialog/curve-preview.js +123 -0
- package/dist/components/parameters/dynamic-simulation/curve/dialog/curve-selector-dialog.d.ts +15 -0
- package/dist/components/parameters/dynamic-simulation/curve/dialog/curve-selector-dialog.js +126 -0
- package/dist/components/parameters/dynamic-simulation/curve/dialog/curve-selector-utils.d.ts +20 -0
- package/dist/components/parameters/dynamic-simulation/curve/dialog/curve-selector-utils.js +283 -0
- package/dist/components/parameters/dynamic-simulation/curve/dialog/curve-selector.d.ts +16 -0
- package/dist/components/parameters/dynamic-simulation/curve/dialog/curve-selector.js +96 -0
- package/dist/components/parameters/dynamic-simulation/curve/dialog/equipment-filter.d.ts +14 -0
- package/dist/components/parameters/dynamic-simulation/curve/dialog/equipment-filter.js +239 -0
- package/dist/components/parameters/dynamic-simulation/curve/dialog/model-filter-utils.d.ts +3 -0
- package/dist/components/parameters/dynamic-simulation/curve/dialog/model-filter-utils.js +68 -0
- package/dist/components/parameters/dynamic-simulation/curve/dialog/model-filter.d.ts +12 -0
- package/dist/components/parameters/dynamic-simulation/curve/dialog/model-filter.js +148 -0
- package/dist/components/parameters/dynamic-simulation/dynamic-simulation-inline.d.ts +15 -0
- package/dist/components/parameters/dynamic-simulation/dynamic-simulation-inline.js +193 -0
- package/dist/components/parameters/dynamic-simulation/dynamic-simulation-parameters-form.d.ts +15 -0
- package/dist/components/parameters/dynamic-simulation/dynamic-simulation-parameters-form.js +155 -0
- package/dist/components/parameters/dynamic-simulation/dynamic-simulation.type.d.ts +13 -0
- package/dist/components/parameters/dynamic-simulation/dynamic-simulation.type.js +11 -0
- package/dist/components/parameters/dynamic-simulation/hook/use-default-params.d.ts +4 -0
- package/dist/components/parameters/dynamic-simulation/hook/use-default-params.js +22 -0
- package/dist/components/parameters/dynamic-simulation/index.d.ts +7 -0
- package/dist/components/parameters/dynamic-simulation/index.js +4 -0
- package/dist/components/parameters/dynamic-simulation/mapping/index.d.ts +9 -0
- package/dist/components/parameters/dynamic-simulation/mapping/index.js +9 -0
- package/dist/components/parameters/dynamic-simulation/mapping/mapping-parameters-constants.d.ts +7 -0
- package/dist/components/parameters/dynamic-simulation/mapping/mapping-parameters-constants.js +4 -0
- package/dist/components/parameters/dynamic-simulation/mapping/mapping-parameters-utils.d.ts +9 -0
- package/dist/components/parameters/dynamic-simulation/mapping/mapping-parameters-utils.js +13 -0
- package/dist/components/parameters/dynamic-simulation/mapping/mapping-parameters.d.ts +5 -0
- package/dist/components/parameters/dynamic-simulation/mapping/mapping-parameters.js +52 -0
- package/dist/components/parameters/dynamic-simulation/network/index.d.ts +9 -0
- package/dist/components/parameters/dynamic-simulation/network/index.js +10 -0
- package/dist/components/parameters/dynamic-simulation/network/network-parameters-constants.d.ts +29 -0
- package/dist/components/parameters/dynamic-simulation/network/network-parameters-constants.js +28 -0
- package/dist/components/parameters/dynamic-simulation/network/network-parameters-utils.d.ts +66 -0
- package/dist/components/parameters/dynamic-simulation/network/network-parameters-utils.js +51 -0
- package/dist/components/parameters/dynamic-simulation/network/network-parameters.d.ts +3 -0
- package/dist/components/parameters/dynamic-simulation/network/network-parameters.js +120 -0
- package/dist/components/parameters/dynamic-simulation/solver/common-solver/common-solver-parameters-constants.d.ts +31 -0
- package/dist/components/parameters/dynamic-simulation/solver/common-solver/common-solver-parameters-constants.js +29 -0
- package/dist/components/parameters/dynamic-simulation/solver/common-solver/common-solver-parameters-utils.d.ts +26 -0
- package/dist/components/parameters/dynamic-simulation/solver/common-solver/common-solver-parameters-utils.js +33 -0
- package/dist/components/parameters/dynamic-simulation/solver/common-solver/common-solver-parameters.d.ts +3 -0
- package/dist/components/parameters/dynamic-simulation/solver/common-solver/common-solver-parameters.js +134 -0
- package/dist/components/parameters/dynamic-simulation/solver/common-solver/index.d.ts +9 -0
- package/dist/components/parameters/dynamic-simulation/solver/common-solver/index.js +8 -0
- package/dist/components/parameters/dynamic-simulation/solver/ida-solver/ida-solver-parameters-constants.d.ts +14 -0
- package/dist/components/parameters/dynamic-simulation/solver/ida-solver/ida-solver-parameters-constants.js +12 -0
- package/dist/components/parameters/dynamic-simulation/solver/ida-solver/ida-solver-parameters-utils.d.ts +62 -0
- package/dist/components/parameters/dynamic-simulation/solver/ida-solver/ida-solver-parameters-utils.js +17 -0
- package/dist/components/parameters/dynamic-simulation/solver/ida-solver/ida-solver-parameters.d.ts +3 -0
- package/dist/components/parameters/dynamic-simulation/solver/ida-solver/ida-solver-parameters.js +53 -0
- package/dist/components/parameters/dynamic-simulation/solver/ida-solver/index.d.ts +9 -0
- package/dist/components/parameters/dynamic-simulation/solver/ida-solver/index.js +8 -0
- package/dist/components/parameters/dynamic-simulation/solver/index.d.ts +9 -0
- package/dist/components/parameters/dynamic-simulation/solver/index.js +9 -0
- package/dist/components/parameters/dynamic-simulation/solver/sim-solver/index.d.ts +9 -0
- package/dist/components/parameters/dynamic-simulation/solver/sim-solver/index.js +8 -0
- package/dist/components/parameters/dynamic-simulation/solver/sim-solver/simplified-solver-parameters-constant.d.ts +26 -0
- package/dist/components/parameters/dynamic-simulation/solver/sim-solver/simplified-solver-parameters-constant.js +24 -0
- package/dist/components/parameters/dynamic-simulation/solver/sim-solver/simplified-solver-parameters-utils.d.ts +86 -0
- package/dist/components/parameters/dynamic-simulation/solver/sim-solver/simplified-solver-parameters-utils.js +31 -0
- package/dist/components/parameters/dynamic-simulation/solver/sim-solver/simplified-solver-parameters.d.ts +3 -0
- package/dist/components/parameters/dynamic-simulation/solver/sim-solver/simplified-solver-parameters.js +113 -0
- package/dist/components/parameters/dynamic-simulation/solver/solver-parameters-constants.d.ts +10 -0
- package/dist/components/parameters/dynamic-simulation/solver/solver-parameters-constants.js +8 -0
- package/dist/components/parameters/dynamic-simulation/solver/solver-parameters-utils.d.ts +12 -0
- package/dist/components/parameters/dynamic-simulation/solver/solver-parameters-utils.js +38 -0
- package/dist/components/parameters/dynamic-simulation/solver/solver-parameters.d.ts +5 -0
- package/dist/components/parameters/dynamic-simulation/solver/solver-parameters.js +52 -0
- package/dist/components/parameters/dynamic-simulation/time-delay/index.d.ts +9 -0
- package/dist/components/parameters/dynamic-simulation/time-delay/index.js +9 -0
- package/dist/components/parameters/dynamic-simulation/time-delay/time-delay-parameters-constants.d.ts +10 -0
- package/dist/components/parameters/dynamic-simulation/time-delay/time-delay-parameters-constants.js +8 -0
- package/dist/components/parameters/dynamic-simulation/time-delay/time-delay-parameters-utils.d.ts +12 -0
- package/dist/components/parameters/dynamic-simulation/time-delay/time-delay-parameters-utils.js +21 -0
- package/dist/components/parameters/dynamic-simulation/time-delay/time-delay-parameters.d.ts +3 -0
- package/dist/components/parameters/dynamic-simulation/time-delay/time-delay-parameters.js +30 -0
- package/dist/components/parameters/dynamic-simulation/use-dynamic-simulation-parameters-form.d.ts +13 -0
- package/dist/components/parameters/dynamic-simulation/use-dynamic-simulation-parameters-form.js +124 -0
- package/dist/components/parameters/index.d.ts +2 -1
- package/dist/components/parameters/index.js +12 -11
- package/dist/components/parameters/loadflow/load-flow-general-parameters.js +4 -0
- package/dist/components/parameters/loadflow/load-flow-parameters-content.js +4 -0
- package/dist/components/parameters/loadflow/load-flow-parameters-dialog.js +4 -1
- package/dist/components/parameters/loadflow/load-flow-parameters-header.js +4 -0
- package/dist/components/parameters/loadflow/load-flow-parameters-inline.js +5 -1
- package/dist/components/parameters/loadflow/load-flow-parameters-utils.js +4 -0
- package/dist/components/parameters/loadflow/use-load-flow-parameters-form.js +3 -1
- package/dist/components/parameters/network-visualizations/map-parameters.js +4 -0
- package/dist/components/parameters/network-visualizations/network-visualizations-form.js +4 -0
- package/dist/components/parameters/network-visualizations/network-visualizations-parameters-inline.js +5 -1
- package/dist/components/parameters/network-visualizations/single-line-diagram-parameters.js +4 -0
- package/dist/components/parameters/pcc-min/pcc-min-parameters-form.js +4 -0
- package/dist/components/parameters/pcc-min/pcc-min-parameters-inline.js +5 -1
- package/dist/components/parameters/security-analysis/columns-definitions.js +3 -0
- package/dist/components/parameters/security-analysis/security-analysis-parameters-dialog.js +5 -2
- package/dist/components/parameters/security-analysis/security-analysis-parameters-form.js +7 -4
- package/dist/components/parameters/security-analysis/security-analysis-parameters-inline.js +4 -0
- package/dist/components/parameters/security-analysis/security-analysis-parameters-selector.js +4 -2
- package/dist/components/parameters/security-analysis/security-analysis-violations-hiding.js +4 -0
- package/dist/components/parameters/security-analysis/use-security-analysis-parameters-form.d.ts +1 -1
- package/dist/components/parameters/security-analysis/use-security-analysis-parameters-form.js +7 -3
- package/dist/components/parameters/sensi/columns-definitions.d.ts +7 -180
- package/dist/components/parameters/sensi/columns-definitions.js +83 -73
- package/dist/components/parameters/sensi/index.js +1 -6
- package/dist/components/parameters/sensi/sensitivity-analysis-parameters-dialog.js +5 -2
- package/dist/components/parameters/sensi/sensitivity-analysis-parameters-form.js +6 -2
- package/dist/components/parameters/sensi/sensitivity-analysis-parameters-inline.js +4 -0
- package/dist/components/parameters/sensi/sensitivity-parameters-selector.js +54 -51
- package/dist/components/parameters/sensi/use-sensitivity-analysis-parameters.d.ts +2 -2
- package/dist/components/parameters/sensi/use-sensitivity-analysis-parameters.js +41 -61
- package/dist/components/parameters/sensi/utils.d.ts +4 -4
- package/dist/components/parameters/sensi/utils.js +9 -6
- package/dist/components/parameters/short-circuit/short-circuit-general-tab-panel.js +4 -0
- package/dist/components/parameters/short-circuit/short-circuit-parameters-content.js +4 -0
- package/dist/components/parameters/short-circuit/short-circuit-parameters-dialog.js +3 -0
- package/dist/components/parameters/short-circuit/short-circuit-parameters-inline.js +5 -1
- package/dist/components/parameters/short-circuit/short-circuit-parameters-utils.js +4 -0
- package/dist/components/parameters/short-circuit/short-circuit-power-electronics-tab-panel.js +4 -0
- package/dist/components/parameters/short-circuit/short-circuit-study-area-tab-panel.js +4 -0
- package/dist/components/parameters/short-circuit/use-short-circuit-parameters-form.js +2 -0
- package/dist/components/parameters/voltage-init/equipment-selection-parameters.js +4 -0
- package/dist/components/parameters/voltage-init/general-parameters.js +4 -0
- package/dist/components/parameters/voltage-init/voltage-init-parameters-form.js +4 -0
- package/dist/components/parameters/voltage-init/voltage-init-parameters-inline.js +5 -1
- package/dist/components/parameters/voltage-init/voltage-limits-parameters.js +17 -31
- package/dist/hooks/index.d.ts +0 -1
- package/dist/hooks/index.js +0 -2
- package/dist/index.js +27 -15
- package/dist/services/dynamic-mapping.d.ts +3 -0
- package/dist/services/dynamic-mapping.js +21 -0
- package/dist/services/dynamic-margin-calculation.js +1 -1
- package/dist/services/dynamic-simulation.d.ts +5 -0
- package/dist/services/dynamic-simulation.js +35 -0
- package/dist/services/index.d.ts +3 -1
- package/dist/services/index.js +8 -1
- package/dist/translations/en/parameters.d.ts +101 -2
- package/dist/translations/en/parameters.js +115 -2
- package/dist/translations/fr/parameters.d.ts +101 -2
- package/dist/translations/fr/parameters.js +115 -2
- package/dist/translations/not-intl/aggrid-locales.d.ts +8 -0
- package/dist/translations/not-intl/aggrid-locales.js +12 -0
- package/dist/utils/directory-utils.d.ts +2 -0
- package/dist/utils/directory-utils.js +11 -0
- package/dist/utils/index.d.ts +1 -0
- package/dist/utils/index.js +8 -1
- package/dist/utils/types/dynamic-simulation.type.d.ts +14 -24
- package/dist/utils/types/elementType.d.ts +2 -1
- package/dist/utils/types/elementType.js +2 -1
- package/dist/utils/types/equipmentType.d.ts +9 -0
- package/dist/utils/types/equipmentType.js +52 -0
- package/dist/utils/types/index.js +6 -1
- package/dist/utils/types/parameters.type.d.ts +2 -2
- package/dist/utils/types/types.d.ts +11 -0
- package/package.json +3 -1
- package/dist/components/parameters/common/parameter-dnd-table-field.d.ts +0 -9
- package/dist/components/parameters/common/parameter-dnd-table-field.js +0 -86
- package/dist/components/parameters/common/parameter-table/index.js +0 -10
- package/dist/components/parameters/util/make-component-utils.d.ts +0 -17
- package/dist/components/parameters/util/make-component-utils.js +0 -97
- package/dist/components/parameters/util/styles.d.ts +0 -38
- package/dist/components/parameters/util/styles.js +0 -41
- package/dist/hooks/use-create-row-data.d.ts +0 -4
- package/dist/hooks/use-create-row-data.js +0 -19
- /package/dist/components/parameters/sensi/{sensitivity-Flow-parameters.d.ts → sensitivity-parameters-fields.d.ts} +0 -0
- /package/dist/components/parameters/sensi/{sensitivity-Flow-parameters.js → sensitivity-parameters-fields.js} +0 -0
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
import { jsxs, jsx } from "react/jsx-runtime";
|
|
2
|
-
import {
|
|
3
|
-
import { useState, useCallback, useEffect } from "react";
|
|
2
|
+
import { Grid, Alert, CircularProgress } from "@mui/material";
|
|
3
|
+
import { useState, useCallback, useMemo, useEffect } from "react";
|
|
4
4
|
import { useIntl, FormattedMessage } from "react-intl";
|
|
5
|
-
import {
|
|
5
|
+
import { useFormContext } from "react-hook-form";
|
|
6
6
|
import "../../../../utils/conversionUtils.js";
|
|
7
7
|
import { snackWithFallback } from "../../../../utils/error.js";
|
|
8
8
|
import "../../../../utils/types/equipmentType.js";
|
|
@@ -13,40 +13,44 @@ 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 {
|
|
17
|
-
import {
|
|
18
|
-
import {
|
|
19
|
-
import {
|
|
20
|
-
|
|
16
|
+
import { ACTIVATED, ID } from "../parameter-table-field/constants.js";
|
|
17
|
+
import { ParameterTableField } from "../parameter-table-field/parameter-table-field.js";
|
|
18
|
+
import { CONTINGENCY_LISTS } from "../constants.js";
|
|
19
|
+
import { COLUMNS_DEFINITIONS_CONTINGENCY_LISTS_INFOS, isValidContingencyRow } from "./columns-definitions.js";
|
|
20
|
+
const styles = {
|
|
21
|
+
alert: { color: "text.primary", paddingTop: 0, paddingBottom: 0 }
|
|
22
|
+
};
|
|
21
23
|
function ContingencyTable({
|
|
24
|
+
name,
|
|
22
25
|
showContingencyCount = false,
|
|
23
26
|
fetchContingencyCount,
|
|
24
27
|
isBuiltCurrentNode
|
|
25
28
|
}) {
|
|
26
29
|
const intl = useIntl();
|
|
27
30
|
const [simulatedContingencyCount, setSimulatedContingencyCount] = useState(null);
|
|
28
|
-
const [rowData, useFieldArrayOutput] = useCreateRowData(ParamContingencyLists);
|
|
29
|
-
const contingencyListsInfos = useWatch({ name: CONTINGENCY_LISTS_INFOS });
|
|
30
31
|
const [isLoading, setIsLoading] = useState(false);
|
|
32
|
+
const [contingencyCountRefreshTrigger, setContingencyCountRefreshTrigger] = useState(0);
|
|
31
33
|
const { snackError } = useSnackMessage();
|
|
32
|
-
const
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
);
|
|
34
|
+
const { getValues } = useFormContext();
|
|
35
|
+
const handleOnChange = useCallback(() => {
|
|
36
|
+
setContingencyCountRefreshTrigger((prevValue) => prevValue + 1);
|
|
37
|
+
}, []);
|
|
38
|
+
const columnsDefinition = useMemo(() => {
|
|
39
|
+
return COLUMNS_DEFINITIONS_CONTINGENCY_LISTS_INFOS.map(
|
|
40
|
+
(colDef) => ({
|
|
41
|
+
...colDef,
|
|
42
|
+
label: intl.formatMessage({ id: colDef.label })
|
|
43
|
+
})
|
|
44
|
+
);
|
|
45
|
+
}, [intl]);
|
|
44
46
|
useEffect(() => {
|
|
45
47
|
if (!showContingencyCount || !isBuiltCurrentNode) {
|
|
46
48
|
setIsLoading(false);
|
|
49
|
+
setSimulatedContingencyCount(null);
|
|
47
50
|
return () => {
|
|
48
51
|
};
|
|
49
52
|
}
|
|
53
|
+
const contingencyListsInfos = getValues(name);
|
|
50
54
|
const hasNoContingencies = !contingencyListsInfos || (contingencyListsInfos.length ?? 0) === 0 || contingencyListsInfos.every(
|
|
51
55
|
(contingencyList) => !contingencyList[ACTIVATED] || (contingencyList[CONTINGENCY_LISTS]?.length ?? 0) === 0
|
|
52
56
|
);
|
|
@@ -80,26 +84,26 @@ function ContingencyTable({
|
|
|
80
84
|
controller?.abort(new Error(IGNORE_SIGNAL));
|
|
81
85
|
clearTimeout(loadingTimeoutId);
|
|
82
86
|
};
|
|
83
|
-
}, [
|
|
87
|
+
}, [
|
|
88
|
+
snackError,
|
|
89
|
+
getValues,
|
|
90
|
+
fetchContingencyCount,
|
|
91
|
+
showContingencyCount,
|
|
92
|
+
isBuiltCurrentNode,
|
|
93
|
+
name,
|
|
94
|
+
contingencyCountRefreshTrigger
|
|
95
|
+
]);
|
|
84
96
|
const renderContingencyCount = () => {
|
|
85
97
|
if (!isBuiltCurrentNode) {
|
|
86
|
-
return /* @__PURE__ */ jsx(Alert, { variant: "standard", severity: "warning", sx:
|
|
98
|
+
return /* @__PURE__ */ jsx(Alert, { variant: "standard", severity: "warning", sx: styles.alert, children: /* @__PURE__ */ jsx(FormattedMessage, { id: "contingencyCountImpossibleOnUnbuiltNode" }) });
|
|
87
99
|
}
|
|
88
100
|
if (isLoading) {
|
|
89
|
-
return /* @__PURE__ */ jsx(
|
|
90
|
-
Alert,
|
|
91
|
-
{
|
|
92
|
-
variant: "standard",
|
|
93
|
-
icon: /* @__PURE__ */ jsx(CircularProgress, { size: 22 }),
|
|
94
|
-
severity: "info",
|
|
95
|
-
sx: { color: "text.primary" }
|
|
96
|
-
}
|
|
97
|
-
);
|
|
101
|
+
return /* @__PURE__ */ jsx(Alert, { variant: "standard", icon: /* @__PURE__ */ jsx(CircularProgress, { size: 22 }), severity: "info", sx: styles.alert });
|
|
98
102
|
}
|
|
99
103
|
if (simulatedContingencyCount?.contingencies === 0 && simulatedContingencyCount.notFoundElements === 0) {
|
|
100
|
-
return /* @__PURE__ */ jsx(Alert, { variant: "standard", severity: "error", sx:
|
|
104
|
+
return /* @__PURE__ */ jsx(Alert, { variant: "standard", severity: "error", sx: styles.alert, children: /* @__PURE__ */ jsx(FormattedMessage, { id: "noContingency" }) });
|
|
101
105
|
}
|
|
102
|
-
return /* @__PURE__ */ jsx(Alert, { variant: "standard", icon: false, severity: "info", sx:
|
|
106
|
+
return /* @__PURE__ */ jsx(Alert, { variant: "standard", icon: false, severity: "info", sx: styles.alert, children: /* @__PURE__ */ jsx(
|
|
103
107
|
FormattedMessage,
|
|
104
108
|
{
|
|
105
109
|
id: "xContingenciesWillBeSimulatedAndYNotFound",
|
|
@@ -110,18 +114,15 @@ function ContingencyTable({
|
|
|
110
114
|
}
|
|
111
115
|
) });
|
|
112
116
|
};
|
|
113
|
-
return /* @__PURE__ */ jsxs(
|
|
117
|
+
return /* @__PURE__ */ jsxs(Grid, { container: true, direction: "column", children: [
|
|
114
118
|
/* @__PURE__ */ jsx(
|
|
115
|
-
|
|
119
|
+
ParameterTableField,
|
|
116
120
|
{
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
columnsDefinition: getColumnsDefinition(COLUMNS_DEFINITIONS_CONTINGENCY_LISTS_INFOS),
|
|
121
|
+
name,
|
|
122
|
+
columnsDefinition,
|
|
120
123
|
tableHeight: 270,
|
|
121
|
-
|
|
122
|
-
|
|
123
|
-
},
|
|
124
|
-
isValidParameterRow: (row) => row[CONTINGENCY_LISTS]?.length > 0
|
|
124
|
+
onChange: handleOnChange,
|
|
125
|
+
isValidRow: isValidContingencyRow
|
|
125
126
|
}
|
|
126
127
|
),
|
|
127
128
|
showContingencyCount && renderContingencyCount()
|
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
import { ContingencyTable } from "./contingency-table.js";
|
|
2
|
-
import { COLUMNS_DEFINITIONS_CONTINGENCY_LISTS_INFOS,
|
|
2
|
+
import { COLUMNS_DEFINITIONS_CONTINGENCY_LISTS_INFOS, getContingencyListsInfosFormSchema, isValidContingencyRow, toFormValuesContingencyListsInfos } from "./columns-definitions.js";
|
|
3
3
|
export {
|
|
4
4
|
COLUMNS_DEFINITIONS_CONTINGENCY_LISTS_INFOS,
|
|
5
5
|
ContingencyTable,
|
|
6
|
-
ParamContingencyLists,
|
|
7
6
|
getContingencyListsInfosFormSchema,
|
|
7
|
+
isValidContingencyRow,
|
|
8
8
|
toFormValuesContingencyListsInfos
|
|
9
9
|
};
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Copyright (c) 2026, 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 * from './use-tabs';
|
|
8
|
+
export * from './use-parameters-form';
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
import { FieldValues } from 'react-hook-form';
|
|
2
|
+
import { ObjectSchema } from 'yup';
|
|
3
|
+
import { UseComputationParametersFormReturn } from '../utils';
|
|
4
|
+
export type UseParametersFormProps<TParams> = {
|
|
5
|
+
providers: Record<string, string>;
|
|
6
|
+
params: TParams | null;
|
|
7
|
+
name: string | null;
|
|
8
|
+
description: string | null;
|
|
9
|
+
formSchema: ObjectSchema<any>;
|
|
10
|
+
emptyFormData: FieldValues;
|
|
11
|
+
toFormValues: (params: TParams) => FieldValues;
|
|
12
|
+
};
|
|
13
|
+
export declare function useParametersForm<TParams>({ providers, params, name: initialName, description: initialDescription, formSchema: baseFormSchema, emptyFormData, toFormValues, }: Readonly<UseParametersFormProps<TParams>>): UseComputationParametersFormReturn;
|
|
@@ -0,0 +1,60 @@
|
|
|
1
|
+
import { useMemo, useEffect } from "react";
|
|
2
|
+
import { useForm } from "react-hook-form";
|
|
3
|
+
import { yupResolver } from "@hookform/resolvers/yup";
|
|
4
|
+
import "react/jsx-runtime";
|
|
5
|
+
import "@mui/material";
|
|
6
|
+
import "react-intl";
|
|
7
|
+
import "@mui/icons-material";
|
|
8
|
+
import "../../../inputs/reactHookForm/provider/CustomFormProvider.js";
|
|
9
|
+
import "yup";
|
|
10
|
+
import "../../../../utils/conversionUtils.js";
|
|
11
|
+
import "../../../../utils/types/equipmentType.js";
|
|
12
|
+
import "../../../../utils/yupConfig.js";
|
|
13
|
+
import "../../../filter/HeaderFilterForm.js";
|
|
14
|
+
import { getNameElementEditorSchema, getNameElementEditorEmptyFormData } from "../name-element-editor/name-element-editor-utils.js";
|
|
15
|
+
function useParametersForm({
|
|
16
|
+
providers,
|
|
17
|
+
params,
|
|
18
|
+
name: initialName,
|
|
19
|
+
description: initialDescription,
|
|
20
|
+
formSchema: baseFormSchema,
|
|
21
|
+
emptyFormData,
|
|
22
|
+
toFormValues
|
|
23
|
+
}) {
|
|
24
|
+
const paramsLoaded = useMemo(() => !!params, [params]);
|
|
25
|
+
const formattedProviders = useMemo(
|
|
26
|
+
() => Object.entries(providers).map(([key, value]) => ({
|
|
27
|
+
id: key,
|
|
28
|
+
label: value
|
|
29
|
+
})),
|
|
30
|
+
[providers]
|
|
31
|
+
);
|
|
32
|
+
const returnFormSchema = useMemo(() => {
|
|
33
|
+
return initialName === null ? baseFormSchema : baseFormSchema.concat(getNameElementEditorSchema(initialName));
|
|
34
|
+
}, [initialName, baseFormSchema]);
|
|
35
|
+
const newEmptyFormData = useMemo(() => {
|
|
36
|
+
return {
|
|
37
|
+
...initialName === null ? {} : getNameElementEditorEmptyFormData(initialName, initialDescription),
|
|
38
|
+
...emptyFormData
|
|
39
|
+
};
|
|
40
|
+
}, [initialName, initialDescription, emptyFormData]);
|
|
41
|
+
const returnFormMethods = useForm({
|
|
42
|
+
defaultValues: newEmptyFormData,
|
|
43
|
+
resolver: yupResolver(returnFormSchema)
|
|
44
|
+
});
|
|
45
|
+
const { reset } = returnFormMethods;
|
|
46
|
+
useEffect(() => {
|
|
47
|
+
if (params) {
|
|
48
|
+
reset(toFormValues(params));
|
|
49
|
+
}
|
|
50
|
+
}, [params, paramsLoaded, reset, toFormValues]);
|
|
51
|
+
return {
|
|
52
|
+
formMethods: returnFormMethods,
|
|
53
|
+
formSchema: returnFormSchema,
|
|
54
|
+
paramsLoaded,
|
|
55
|
+
formattedProviders
|
|
56
|
+
};
|
|
57
|
+
}
|
|
58
|
+
export {
|
|
59
|
+
useParametersForm
|
|
60
|
+
};
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
import { SyntheticEvent } from 'react';
|
|
2
|
+
import { FieldErrors } from 'react-hook-form';
|
|
3
|
+
export type UseTabs<TTabValue extends string> = {
|
|
4
|
+
selectedTab: TTabValue;
|
|
5
|
+
tabsWithError: TTabValue[];
|
|
6
|
+
onTabChange: (event: SyntheticEvent, newValue: TTabValue) => void;
|
|
7
|
+
onError: (errors: FieldErrors) => void;
|
|
8
|
+
};
|
|
9
|
+
export type UseTabsProps<TTabValue extends string> = {
|
|
10
|
+
defaultTab: TTabValue;
|
|
11
|
+
tabEnum: Record<string, TTabValue>;
|
|
12
|
+
};
|
|
13
|
+
export declare function useTabs<TTabValue extends string>({ defaultTab, tabEnum, }: Readonly<UseTabsProps<TTabValue>>): UseTabs<TTabValue>;
|
|
@@ -0,0 +1,60 @@
|
|
|
1
|
+
import { useState, useCallback } from "react";
|
|
2
|
+
import { useFormState } from "react-hook-form";
|
|
3
|
+
import { isObjectEmpty } from "../../../../utils/functions.js";
|
|
4
|
+
function useTabs({
|
|
5
|
+
defaultTab,
|
|
6
|
+
tabEnum
|
|
7
|
+
}) {
|
|
8
|
+
const { errors } = useFormState();
|
|
9
|
+
const [selectedTab, setSelectedTab] = useState(defaultTab);
|
|
10
|
+
const [tabsWithError, setTabsWithError] = useState([]);
|
|
11
|
+
const onTabChange = useCallback(
|
|
12
|
+
(event, newSelectedTab) => {
|
|
13
|
+
setSelectedTab(newSelectedTab);
|
|
14
|
+
if (!errors || isObjectEmpty(errors)) {
|
|
15
|
+
return;
|
|
16
|
+
}
|
|
17
|
+
const tabsHasError = [];
|
|
18
|
+
Object.values(tabEnum).forEach((tabValue) => {
|
|
19
|
+
if (errors?.[tabValue]) {
|
|
20
|
+
tabsHasError.push(tabValue);
|
|
21
|
+
}
|
|
22
|
+
});
|
|
23
|
+
if (tabsHasError.includes(newSelectedTab)) {
|
|
24
|
+
setTabsWithError(tabsHasError.filter((errorTab) => errorTab !== newSelectedTab));
|
|
25
|
+
} else {
|
|
26
|
+
setTabsWithError(tabsHasError);
|
|
27
|
+
}
|
|
28
|
+
},
|
|
29
|
+
[errors, tabEnum]
|
|
30
|
+
);
|
|
31
|
+
const onError = useCallback(
|
|
32
|
+
(_errors) => {
|
|
33
|
+
if (!_errors || isObjectEmpty(_errors)) {
|
|
34
|
+
return;
|
|
35
|
+
}
|
|
36
|
+
const tabsHasError = [];
|
|
37
|
+
Object.values(tabEnum).forEach((tabValue) => {
|
|
38
|
+
if (_errors?.[tabValue]) {
|
|
39
|
+
tabsHasError.push(tabValue);
|
|
40
|
+
}
|
|
41
|
+
});
|
|
42
|
+
if (tabsHasError.includes(selectedTab)) {
|
|
43
|
+
setTabsWithError(tabsHasError.filter((errorTab) => errorTab !== selectedTab));
|
|
44
|
+
} else if (tabsHasError.length > 0) {
|
|
45
|
+
setSelectedTab(tabsHasError[0]);
|
|
46
|
+
setTabsWithError(tabsHasError.filter((errorTab, index, arr) => errorTab !== arr[0]));
|
|
47
|
+
}
|
|
48
|
+
},
|
|
49
|
+
[selectedTab, tabEnum]
|
|
50
|
+
);
|
|
51
|
+
return {
|
|
52
|
+
selectedTab,
|
|
53
|
+
tabsWithError,
|
|
54
|
+
onTabChange,
|
|
55
|
+
onError
|
|
56
|
+
};
|
|
57
|
+
}
|
|
58
|
+
export {
|
|
59
|
+
useTabs
|
|
60
|
+
};
|
|
@@ -17,7 +17,9 @@ import { LimitReductionsTableForm } from "./limitreductions/limit-reductions-tab
|
|
|
17
17
|
import { LimitReductionTableRow } from "./limitreductions/limit-reduction-table-row.js";
|
|
18
18
|
import { LimitReductionTableCell } from "./limitreductions/limit-reduction-table-cell.js";
|
|
19
19
|
import { ContingencyTable } from "./contingency-table/contingency-table.js";
|
|
20
|
-
import { COLUMNS_DEFINITIONS_CONTINGENCY_LISTS_INFOS,
|
|
20
|
+
import { COLUMNS_DEFINITIONS_CONTINGENCY_LISTS_INFOS, getContingencyListsInfosFormSchema, isValidContingencyRow, toFormValuesContingencyListsInfos } from "./contingency-table/columns-definitions.js";
|
|
21
|
+
import { useTabs } from "./hook/use-tabs.js";
|
|
22
|
+
import { useParametersForm } from "./hook/use-parameters-form.js";
|
|
21
23
|
export {
|
|
22
24
|
COLUMNS_DEFINITIONS_CONTINGENCY_LISTS_INFOS,
|
|
23
25
|
COLUMNS_DEFINITIONS_LIMIT_REDUCTIONS,
|
|
@@ -46,7 +48,6 @@ export {
|
|
|
46
48
|
PARAM_SA_LOW_VOLTAGE_PROPORTIONAL_THRESHOLD,
|
|
47
49
|
PARAM_SA_PROVIDER,
|
|
48
50
|
PROVIDER,
|
|
49
|
-
ParamContingencyLists,
|
|
50
51
|
ParameterFloat,
|
|
51
52
|
ParameterGroup,
|
|
52
53
|
ParameterLineDirectoryItemsInput,
|
|
@@ -65,7 +66,10 @@ export {
|
|
|
65
66
|
getContingencyListsInfosFormSchema,
|
|
66
67
|
getLimitReductionsFormSchema,
|
|
67
68
|
isValidComputingType,
|
|
69
|
+
isValidContingencyRow,
|
|
68
70
|
sanitizePercentageValue,
|
|
69
71
|
toFormValuesContingencyListsInfos,
|
|
70
|
-
toFormValuesLimitReductions
|
|
72
|
+
toFormValuesLimitReductions,
|
|
73
|
+
useParametersForm,
|
|
74
|
+
useTabs
|
|
71
75
|
};
|
|
@@ -47,7 +47,11 @@ import { LineSeparator } from "./line-separator.js";
|
|
|
47
47
|
import "../../dialogs/elementSaveDialog/ElementSaveDialog.js";
|
|
48
48
|
import "./widget/parameter-line-slider.js";
|
|
49
49
|
import "./limitreductions/columns-definitions.js";
|
|
50
|
+
import "react-dom";
|
|
51
|
+
import "@hello-pangea/dnd";
|
|
50
52
|
import "./contingency-table/columns-definitions.js";
|
|
53
|
+
import "@hookform/resolvers/yup";
|
|
54
|
+
import "../../filter/HeaderFilterForm.js";
|
|
51
55
|
function ParameterField({ id, name, type, label, description, possibleValues, sx }) {
|
|
52
56
|
const renderField = () => {
|
|
53
57
|
switch (type) {
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Copyright (c) 2026, 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 declare const NAME = "name";
|
|
8
|
+
export declare const ID = "id";
|
|
9
|
+
export declare const ACTIVATED = "activated";
|
|
10
|
+
export declare const DESCRIPTION = "description";
|
package/dist/components/parameters/common/{parameter-table → parameter-table-field}/index.d.ts
RENAMED
|
@@ -2,8 +2,7 @@
|
|
|
2
2
|
* Copyright (c) 2026, RTE (http://www.rte-france.com)
|
|
3
3
|
* This Source Code Form is subject to the terms of the Mozilla Public
|
|
4
4
|
* License, v. 2.0. If a copy of the MPL was not distributed with this
|
|
5
|
-
* file, You can obtain one at
|
|
5
|
+
* file, You can obtain one at http://mozilla.org/MPL/2.0/.
|
|
6
6
|
*/
|
|
7
7
|
export * from './constants';
|
|
8
|
-
export * from './parameter-table';
|
|
9
|
-
export * from './types';
|
|
8
|
+
export * from './parameter-table-field';
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import { SxProps, TooltipProps } from '@mui/material';
|
|
2
|
+
import { FieldValues } from 'react-hook-form';
|
|
3
|
+
import { DndTableProps } from '../../../dnd-table-v2';
|
|
4
|
+
export type ParameterDndTableFieldProps = {
|
|
5
|
+
label?: string;
|
|
6
|
+
tooltipProps?: Omit<TooltipProps, 'children'>;
|
|
7
|
+
sxContainerProps?: SxProps;
|
|
8
|
+
isValidRow?: (rowData: FieldValues) => boolean;
|
|
9
|
+
onChange?: () => void;
|
|
10
|
+
} & Omit<DndTableProps, 'useFieldArrayOutput' | 'onChange' | 'onDelete'>;
|
|
11
|
+
export declare function ParameterTableField({ name, label, columnsDefinition, tooltipProps, sxContainerProps, onChange, isValidRow, ...otherProps }: Readonly<ParameterDndTableFieldProps>): import("react/jsx-runtime").JSX.Element;
|
|
@@ -0,0 +1,121 @@
|
|
|
1
|
+
import { jsxs, jsx } from "react/jsx-runtime";
|
|
2
|
+
import { Grid, Typography, Tooltip } from "@mui/material";
|
|
3
|
+
import { FormattedMessage } from "react-intl";
|
|
4
|
+
import { useFieldArray, useFormContext } from "react-hook-form";
|
|
5
|
+
import { Info } from "@mui/icons-material";
|
|
6
|
+
import { useRef, useMemo, useCallback } from "react";
|
|
7
|
+
import { DndTable } from "../../../dnd-table-v2/dnd-table.js";
|
|
8
|
+
import { getDefaultRowData } from "../../../dnd-table-v2/dnd-table-utils.js";
|
|
9
|
+
import "../../../overflowableText/OverflowableText.js";
|
|
10
|
+
import "../../../../utils/conversionUtils.js";
|
|
11
|
+
import "../../../../utils/types/equipmentType.js";
|
|
12
|
+
import "../../../../utils/yupConfig.js";
|
|
13
|
+
import "localized-countries";
|
|
14
|
+
import "localized-countries/data/fr";
|
|
15
|
+
import "localized-countries/data/en";
|
|
16
|
+
import "notistack";
|
|
17
|
+
import "../../../inputs/reactHookForm/provider/CustomFormProvider.js";
|
|
18
|
+
import "yup";
|
|
19
|
+
import "../../../treeViewFinder/TreeViewFinder.js";
|
|
20
|
+
import "../../../inputs/reactHookForm/agGridTable/BottomRightButtons.js";
|
|
21
|
+
import "../../../customAGGrid/customAggrid.js";
|
|
22
|
+
import "ag-grid-community";
|
|
23
|
+
import "react-papaparse";
|
|
24
|
+
import "react-csv-downloader";
|
|
25
|
+
import "../../../inputs/reactHookForm/numbers/RangeInput.js";
|
|
26
|
+
import "@material-symbols/svg-400/outlined/left_panel_open.svg?react";
|
|
27
|
+
import "@material-symbols/svg-400/outlined/arrows_output.svg?react";
|
|
28
|
+
import "@material-symbols/svg-400/outlined/left_panel_close.svg?react";
|
|
29
|
+
import "@material-symbols/svg-400/outlined/add_notes.svg?react";
|
|
30
|
+
import "../../../dialogs/descriptionModificationDialog/DescriptionModificationDialog.js";
|
|
31
|
+
import "../../../inputs/reactHookForm/expandableInput/ExpandableInput.js";
|
|
32
|
+
import "@react-querybuilder/material";
|
|
33
|
+
import "../../../filter/expert/expertFilterConstants.js";
|
|
34
|
+
import "../../../inputs/reactQueryBuilder/CustomReactQueryBuilder.js";
|
|
35
|
+
import "uuid";
|
|
36
|
+
import "../../../inputs/reactQueryBuilder/PropertyValueEditor.js";
|
|
37
|
+
import "react-querybuilder";
|
|
38
|
+
function ParameterTableField({
|
|
39
|
+
name,
|
|
40
|
+
label,
|
|
41
|
+
columnsDefinition,
|
|
42
|
+
tooltipProps,
|
|
43
|
+
sxContainerProps,
|
|
44
|
+
onChange,
|
|
45
|
+
isValidRow,
|
|
46
|
+
...otherProps
|
|
47
|
+
}) {
|
|
48
|
+
const useFieldArrayOutput = useFieldArray({
|
|
49
|
+
name
|
|
50
|
+
});
|
|
51
|
+
const { getValues } = useFormContext();
|
|
52
|
+
const validRowCountRef = useRef(
|
|
53
|
+
getValues(name).filter((row) => isValidRow ? isValidRow(row) : true).length
|
|
54
|
+
);
|
|
55
|
+
const newDefaultRowData = useMemo(() => {
|
|
56
|
+
return getDefaultRowData(columnsDefinition);
|
|
57
|
+
}, [columnsDefinition]);
|
|
58
|
+
const createRows = useCallback(
|
|
59
|
+
(numberOfRows) => Array.from({ length: numberOfRows }, () => ({ ...newDefaultRowData })),
|
|
60
|
+
[newDefaultRowData]
|
|
61
|
+
);
|
|
62
|
+
const { title, ...otherTooltipProps } = tooltipProps || {};
|
|
63
|
+
const handleOnChange = useCallback(
|
|
64
|
+
(changedRow) => {
|
|
65
|
+
const currentValidRowCount = getValues(name).filter(
|
|
66
|
+
(row) => isValidRow ? isValidRow(row) : true
|
|
67
|
+
).length;
|
|
68
|
+
const previousValidRowCount = validRowCountRef.current;
|
|
69
|
+
validRowCountRef.current = currentValidRowCount;
|
|
70
|
+
if (isValidRow ? isValidRow(changedRow) : true) {
|
|
71
|
+
onChange?.();
|
|
72
|
+
} else if (previousValidRowCount !== currentValidRowCount) {
|
|
73
|
+
onChange?.();
|
|
74
|
+
}
|
|
75
|
+
},
|
|
76
|
+
[isValidRow, onChange, getValues, name]
|
|
77
|
+
);
|
|
78
|
+
const handleOnDelete = useCallback(
|
|
79
|
+
(removedRows) => {
|
|
80
|
+
const wasValidRowCount = removedRows.filter(
|
|
81
|
+
(row) => isValidRow ? isValidRow(row) : true
|
|
82
|
+
).length;
|
|
83
|
+
if (wasValidRowCount > 0) {
|
|
84
|
+
validRowCountRef.current -= wasValidRowCount;
|
|
85
|
+
onChange?.();
|
|
86
|
+
}
|
|
87
|
+
},
|
|
88
|
+
[isValidRow, onChange]
|
|
89
|
+
);
|
|
90
|
+
return /* @__PURE__ */ jsxs(Grid, { container: true, sx: sxContainerProps, children: [
|
|
91
|
+
label && /* @__PURE__ */ jsxs(Grid, { container: true, alignItems: "center", paddingBottom: 2, paddingTop: 2, children: [
|
|
92
|
+
/* @__PURE__ */ jsx(Typography, { component: "span", variant: "h6", children: /* @__PURE__ */ jsx(FormattedMessage, { id: label }) }),
|
|
93
|
+
tooltipProps && /* @__PURE__ */ jsx(
|
|
94
|
+
Tooltip,
|
|
95
|
+
{
|
|
96
|
+
title: typeof title === "string" ? /* @__PURE__ */ jsx(FormattedMessage, { id: title }) : title,
|
|
97
|
+
placement: "right-start",
|
|
98
|
+
sx: { marginLeft: 1 },
|
|
99
|
+
...otherTooltipProps,
|
|
100
|
+
children: /* @__PURE__ */ jsx(Info, {})
|
|
101
|
+
}
|
|
102
|
+
)
|
|
103
|
+
] }),
|
|
104
|
+
/* @__PURE__ */ jsx(
|
|
105
|
+
DndTable,
|
|
106
|
+
{
|
|
107
|
+
name,
|
|
108
|
+
useFieldArrayOutput,
|
|
109
|
+
columnsDefinition,
|
|
110
|
+
createRows,
|
|
111
|
+
withAddRowsDialog: false,
|
|
112
|
+
onChange: handleOnChange,
|
|
113
|
+
onDelete: handleOnDelete,
|
|
114
|
+
...otherProps
|
|
115
|
+
}
|
|
116
|
+
)
|
|
117
|
+
] });
|
|
118
|
+
}
|
|
119
|
+
export {
|
|
120
|
+
ParameterTableField
|
|
121
|
+
};
|
|
@@ -1,6 +1,5 @@
|
|
|
1
1
|
import { ObjectSchema } from 'yup';
|
|
2
|
-
import {
|
|
3
|
-
import { FieldErrors, UseFormReturn } from 'react-hook-form';
|
|
2
|
+
import { UseFormReturn } from 'react-hook-form';
|
|
4
3
|
import { SpecificParameterInfos, SpecificParametersDescription, SpecificParametersValues } from '../../../utils';
|
|
5
4
|
import { default as yup } from '../../../utils/yupConfig';
|
|
6
5
|
export declare const getSpecificParametersFormSchema: (specificParameters: SpecificParameterInfos[] | undefined) => ObjectSchema<{
|
|
@@ -14,13 +13,7 @@ export declare const getDefaultSpecificParamsValues: (specificParametersDescript
|
|
|
14
13
|
export declare const formatSpecificParameters: (specificParametersDescriptionForProvider: SpecificParameterInfos[], specificParamsList: SpecificParametersValues) => SpecificParametersValues;
|
|
15
14
|
export declare const getAllSpecificParametersValues: (formData: Record<string, any>, _specificParametersValues: SpecificParametersValues) => SpecificParametersValues;
|
|
16
15
|
export declare const setSpecificParameters: (provider: string, specificParamsDescriptions: SpecificParametersDescription | null, formMethods: UseFormReturn) => void;
|
|
17
|
-
type
|
|
18
|
-
selectedTab: TTabValue;
|
|
19
|
-
tabsWithError: TTabValue[];
|
|
20
|
-
onTabChange: (event: SyntheticEvent, newValue: TTabValue) => void;
|
|
21
|
-
onError: (errors: FieldErrors) => void;
|
|
22
|
-
};
|
|
23
|
-
export type UseComputationParametersFormReturn<TTabValue extends string> = UseTabsReturn<TTabValue> & {
|
|
16
|
+
export type UseComputationParametersFormReturn = {
|
|
24
17
|
formMethods: UseFormReturn;
|
|
25
18
|
formSchema: ObjectSchema<any>;
|
|
26
19
|
paramsLoaded: boolean;
|
|
@@ -29,9 +22,3 @@ export type UseComputationParametersFormReturn<TTabValue extends string> = UseTa
|
|
|
29
22
|
label: string;
|
|
30
23
|
}[];
|
|
31
24
|
};
|
|
32
|
-
type UseTabsProps<TTabValue extends string> = {
|
|
33
|
-
defaultTab: TTabValue;
|
|
34
|
-
tabEnum: Record<string, TTabValue>;
|
|
35
|
-
};
|
|
36
|
-
export declare function useTabs<TTabValue extends string>({ defaultTab, tabEnum, }: Readonly<UseTabsProps<TTabValue>>): UseTabsReturn<TTabValue>;
|
|
37
|
-
export {};
|