@gridsuite/commons-ui 0.192.0 → 0.193.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/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 +9 -4
- 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/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 +5 -1
- package/dist/components/parameters/common/parameter-field.js +2 -0
- 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 +19 -12
- package/dist/components/parameters/dynamic-margin-calculation/dynamic-margin-calculation-inline.js +9 -6
- 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 +9 -54
- package/dist/components/parameters/dynamic-security-analysis/contingency-parameters.js +14 -7
- package/dist/components/parameters/dynamic-security-analysis/dynamic-security-analysis-inline.js +9 -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 +41 -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 +19 -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 +191 -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 +153 -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 +53 -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 +122 -0
- package/dist/components/parameters/index.d.ts +2 -1
- package/dist/components/parameters/index.js +9 -3
- package/dist/components/parameters/loadflow/load-flow-general-parameters.js +2 -0
- package/dist/components/parameters/loadflow/load-flow-parameters-content.js +2 -0
- package/dist/components/parameters/loadflow/load-flow-parameters-dialog.js +2 -1
- package/dist/components/parameters/loadflow/load-flow-parameters-header.js +2 -0
- package/dist/components/parameters/loadflow/load-flow-parameters-inline.js +2 -0
- package/dist/components/parameters/loadflow/load-flow-parameters-utils.js +2 -0
- package/dist/components/parameters/loadflow/use-load-flow-parameters-form.js +1 -1
- package/dist/components/parameters/network-visualizations/map-parameters.js +2 -0
- package/dist/components/parameters/network-visualizations/network-visualizations-form.js +2 -0
- package/dist/components/parameters/network-visualizations/network-visualizations-parameters-inline.js +2 -0
- package/dist/components/parameters/network-visualizations/single-line-diagram-parameters.js +2 -0
- package/dist/components/parameters/pcc-min/pcc-min-parameters-form.js +2 -0
- package/dist/components/parameters/pcc-min/pcc-min-parameters-inline.js +2 -0
- package/dist/components/parameters/security-analysis/columns-definitions.js +1 -0
- package/dist/components/parameters/security-analysis/security-analysis-parameters-dialog.js +2 -1
- package/dist/components/parameters/security-analysis/security-analysis-parameters-form.js +2 -0
- package/dist/components/parameters/security-analysis/security-analysis-parameters-inline.js +2 -0
- package/dist/components/parameters/security-analysis/security-analysis-parameters-selector.js +2 -2
- package/dist/components/parameters/security-analysis/security-analysis-violations-hiding.js +2 -0
- package/dist/components/parameters/sensi/columns-definitions.js +2 -0
- package/dist/components/parameters/sensi/sensitivity-analysis-parameters-dialog.js +2 -1
- package/dist/components/parameters/sensi/sensitivity-analysis-parameters-form.js +2 -0
- package/dist/components/parameters/sensi/sensitivity-analysis-parameters-inline.js +2 -0
- package/dist/components/parameters/sensi/sensitivity-parameters-selector.js +2 -0
- package/dist/components/parameters/sensi/use-sensitivity-analysis-parameters.js +2 -2
- package/dist/components/parameters/sensi/utils.js +1 -0
- package/dist/components/parameters/short-circuit/short-circuit-general-tab-panel.js +2 -0
- package/dist/components/parameters/short-circuit/short-circuit-parameters-content.js +2 -0
- package/dist/components/parameters/short-circuit/short-circuit-parameters-dialog.js +1 -0
- package/dist/components/parameters/short-circuit/short-circuit-parameters-inline.js +2 -0
- package/dist/components/parameters/short-circuit/short-circuit-parameters-utils.js +2 -0
- package/dist/components/parameters/short-circuit/short-circuit-power-electronics-tab-panel.js +2 -0
- package/dist/components/parameters/short-circuit/short-circuit-study-area-tab-panel.js +2 -0
- package/dist/components/parameters/voltage-init/equipment-selection-parameters.js +2 -0
- package/dist/components/parameters/voltage-init/general-parameters.js +2 -0
- package/dist/components/parameters/voltage-init/voltage-init-parameters-form.js +2 -0
- package/dist/components/parameters/voltage-init/voltage-init-parameters-inline.js +2 -0
- package/dist/index.js +24 -5
- 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/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
|
@@ -1,4 +1,9 @@
|
|
|
1
|
-
|
|
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
|
+
*/
|
|
2
7
|
export declare const DISTRIBUTION_KEY = "distributionKey";
|
|
3
8
|
export declare const FilterType: {
|
|
4
9
|
EXPERT: {
|
|
@@ -10,4 +15,3 @@ export declare const FilterType: {
|
|
|
10
15
|
label: string;
|
|
11
16
|
};
|
|
12
17
|
};
|
|
13
|
-
export declare const NO_ITEM_SELECTION_FOR_COPY: ItemSelectionForCopy;
|
|
@@ -3,16 +3,7 @@ const FilterType = {
|
|
|
3
3
|
EXPERT: { id: "EXPERT", label: "filter.expert" },
|
|
4
4
|
EXPLICIT_NAMING: { id: "IDENTIFIER_LIST", label: "filter.explicitNaming" }
|
|
5
5
|
};
|
|
6
|
-
const NO_ITEM_SELECTION_FOR_COPY = {
|
|
7
|
-
sourceItemUuid: null,
|
|
8
|
-
nameItem: null,
|
|
9
|
-
descriptionItem: null,
|
|
10
|
-
parentDirectoryUuid: null,
|
|
11
|
-
typeItem: null,
|
|
12
|
-
specificTypeItem: null
|
|
13
|
-
};
|
|
14
6
|
export {
|
|
15
7
|
DISTRIBUTION_KEY,
|
|
16
|
-
FilterType
|
|
17
|
-
NO_ITEM_SELECTION_FOR_COPY
|
|
8
|
+
FilterType
|
|
18
9
|
};
|
|
@@ -7,7 +7,8 @@ import { FetchStatus } from "../../../utils/constants/fetchStatus.js";
|
|
|
7
7
|
import { FieldConstants } from "../../../utils/constants/fieldConstants.js";
|
|
8
8
|
import "../../../utils/yupConfig.js";
|
|
9
9
|
import { CustomMuiDialog } from "../../dialogs/customMuiDialog/CustomMuiDialog.js";
|
|
10
|
-
import {
|
|
10
|
+
import { FilterType } from "../constants/FilterConstants.js";
|
|
11
|
+
import { NO_ITEM_SELECTION_FOR_COPY } from "../../../utils/directory-utils.js";
|
|
11
12
|
import { FilterForm } from "../FilterForm.js";
|
|
12
13
|
import { saveExpertFilter } from "../utils/filterApi.js";
|
|
13
14
|
import { expertFilterSchema } from "./ExpertFilterForm.js";
|
|
@@ -12,7 +12,8 @@ import { saveExplicitNamingFilter } from "../utils/filterApi.js";
|
|
|
12
12
|
import { explicitNamingFilterSchema } from "./ExplicitNamingFilterForm.js";
|
|
13
13
|
import { FetchStatus } from "../../../utils/constants/fetchStatus.js";
|
|
14
14
|
import { FilterForm } from "../FilterForm.js";
|
|
15
|
-
import {
|
|
15
|
+
import { FilterType } from "../constants/FilterConstants.js";
|
|
16
|
+
import { NO_ITEM_SELECTION_FOR_COPY } from "../../../utils/directory-utils.js";
|
|
16
17
|
import { HeaderFilterSchema } from "../HeaderFilterForm.js";
|
|
17
18
|
import { FILTER_EQUIPMENTS_ATTRIBUTES } from "./ExplicitNamingFilterConstants.js";
|
|
18
19
|
import { snackWithFallback } from "../../../utils/error.js";
|
|
@@ -4,8 +4,8 @@ import { default as yup } from '../../../utils/yupConfig';
|
|
|
4
4
|
import { DISTRIBUTION_KEY } from '../constants/FilterConstants';
|
|
5
5
|
export declare const explicitNamingFilterSchema: {
|
|
6
6
|
filterEquipmentsAttributes: yup.ArraySchema<{
|
|
7
|
-
equipmentID?: string | null | undefined;
|
|
8
7
|
distributionKey?: number | null | undefined;
|
|
8
|
+
equipmentID?: string | null | undefined;
|
|
9
9
|
}[] | undefined, yup.AnyObject, "", "">;
|
|
10
10
|
};
|
|
11
11
|
interface FilterTableRow {
|
|
@@ -1,23 +1,24 @@
|
|
|
1
1
|
import { UUID } from 'node:crypto';
|
|
2
|
-
import { FieldConstants, GsLang } from '../../utils';
|
|
2
|
+
import { EquipmentType, FieldConstants, GsLang } from '../../utils';
|
|
3
|
+
import { ItemSelectionForCopy } from '../../utils/types/types';
|
|
3
4
|
import { RuleGroupTypeExport } from './expert/expertFilter.type';
|
|
4
5
|
import { EXPERT_FILTER_QUERY } from './expert/expertFilterConstants';
|
|
5
6
|
import { FILTER_EQUIPMENTS_ATTRIBUTES } from './explicitNaming/ExplicitNamingFilterConstants';
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
*/
|
|
9
|
-
export type ItemSelectionForCopy = {
|
|
10
|
-
sourceItemUuid: UUID | null;
|
|
11
|
-
typeItem: string | null;
|
|
12
|
-
nameItem: string | null;
|
|
13
|
-
descriptionItem: string | null;
|
|
14
|
-
parentDirectoryUuid: UUID | null;
|
|
15
|
-
specificTypeItem: string | null;
|
|
16
|
-
};
|
|
17
|
-
type EquipmentsFilter = {
|
|
7
|
+
import { FilterType } from './constants/FilterConstants';
|
|
8
|
+
export type EquipmentsFilter = {
|
|
18
9
|
equipmentID: string;
|
|
19
10
|
distributionKey?: number;
|
|
20
11
|
};
|
|
12
|
+
export interface IdentifiableAttributes {
|
|
13
|
+
id: string;
|
|
14
|
+
type: EquipmentType;
|
|
15
|
+
distributionKey: number;
|
|
16
|
+
}
|
|
17
|
+
export interface FilterEquipments {
|
|
18
|
+
filterId: UUID;
|
|
19
|
+
identifiableAttributes: IdentifiableAttributes[];
|
|
20
|
+
notFoundEquipments: string[];
|
|
21
|
+
}
|
|
21
22
|
export interface FilterEditionProps {
|
|
22
23
|
id: string;
|
|
23
24
|
name: string;
|
|
@@ -37,11 +38,20 @@ export interface FilterEditionProps {
|
|
|
37
38
|
description?: string;
|
|
38
39
|
isDeveloperMode: boolean;
|
|
39
40
|
}
|
|
40
|
-
export
|
|
41
|
-
|
|
41
|
+
export type NewFilterType = ExpertFilter | ExplicitNamingFilter;
|
|
42
|
+
type BaseFilter = {
|
|
43
|
+
id?: string | null;
|
|
44
|
+
name?: string;
|
|
42
45
|
type: string;
|
|
43
46
|
equipmentType: string;
|
|
44
|
-
|
|
47
|
+
};
|
|
48
|
+
export type ExpertFilter = BaseFilter & {
|
|
49
|
+
type: typeof FilterType.EXPERT.id;
|
|
50
|
+
rules: RuleGroupTypeExport;
|
|
51
|
+
topologyKind?: string;
|
|
52
|
+
};
|
|
53
|
+
export type ExplicitNamingFilter = BaseFilter & {
|
|
54
|
+
type: typeof FilterType.EXPLICIT_NAMING.id;
|
|
45
55
|
filterEquipmentsAttributes?: EquipmentsFilter[];
|
|
46
|
-
}
|
|
56
|
+
};
|
|
47
57
|
export {};
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { FilterCreationDialog } from "./FilterCreationDialog.js";
|
|
2
2
|
import { FilterForm } from "./FilterForm.js";
|
|
3
|
-
import { DISTRIBUTION_KEY, FilterType
|
|
3
|
+
import { DISTRIBUTION_KEY, FilterType } from "./constants/FilterConstants.js";
|
|
4
4
|
import { ExpertFilterEditionDialog } from "./expert/ExpertFilterEditionDialog.js";
|
|
5
5
|
import { ExpertFilterForm, expertFilterSchema, getExpertFilterEmptyFormData } from "./expert/ExpertFilterForm.js";
|
|
6
6
|
import { CombinatorType, DataType, OperatorType } from "./expert/expertFilter.type.js";
|
|
@@ -33,7 +33,6 @@ export {
|
|
|
33
33
|
FilterForm,
|
|
34
34
|
FilterType,
|
|
35
35
|
LOAD_TYPE_OPTIONS,
|
|
36
|
-
NO_ITEM_SELECTION_FOR_COPY,
|
|
37
36
|
OPERATOR_OPTIONS,
|
|
38
37
|
OperatorType,
|
|
39
38
|
PHASE_REGULATION_MODE_OPTIONS,
|
package/dist/components/index.js
CHANGED
|
@@ -40,7 +40,7 @@ import { useElementSearch } from "./elementSearch/hooks/useElementSearch.js";
|
|
|
40
40
|
import { TagRenderer } from "./elementSearch/tagRenderer/TagRenderer.js";
|
|
41
41
|
import { FilterCreationDialog } from "./filter/FilterCreationDialog.js";
|
|
42
42
|
import { FilterForm } from "./filter/FilterForm.js";
|
|
43
|
-
import { DISTRIBUTION_KEY, FilterType
|
|
43
|
+
import { DISTRIBUTION_KEY, FilterType } from "./filter/constants/FilterConstants.js";
|
|
44
44
|
import { ExpertFilterEditionDialog } from "./filter/expert/ExpertFilterEditionDialog.js";
|
|
45
45
|
import { ExpertFilterForm, expertFilterSchema, getExpertFilterEmptyFormData } from "./filter/expert/ExpertFilterForm.js";
|
|
46
46
|
import { CombinatorType, DataType, OperatorType } from "./filter/expert/expertFilter.type.js";
|
|
@@ -160,6 +160,8 @@ import { LimitReductionTableRow } from "./parameters/common/limitreductions/limi
|
|
|
160
160
|
import { LimitReductionTableCell } from "./parameters/common/limitreductions/limit-reduction-table-cell.js";
|
|
161
161
|
import { ContingencyTable } from "./parameters/common/contingency-table/contingency-table.js";
|
|
162
162
|
import { COLUMNS_DEFINITIONS_CONTINGENCY_LISTS_INFOS, ParamContingencyLists, getContingencyListsInfosFormSchema, toFormValuesContingencyListsInfos } from "./parameters/common/contingency-table/columns-definitions.js";
|
|
163
|
+
import { useTabs } from "./parameters/common/hook/use-tabs.js";
|
|
164
|
+
import { useParametersForm } from "./parameters/common/hook/use-parameters-form.js";
|
|
163
165
|
import { CENTER_LABEL, COMPONENT_LIBRARY, DIAGONAL_LABEL, INTL_LINE_FLOW_MODE_OPTIONS, INTL_SUBSTATION_LAYOUT_OPTIONS, LINE_FLOW_MODE, LineFlowMode, MAP_BASE_MAP, MAP_MANUAL_REFRESH, NAD_POSITIONS_GENERATION_MODE, NAD_POSITIONS_GENERATION_MODE_LABEL, NetworkVisualizationTabValues, PARAM_CENTER_LABEL, PARAM_COMPONENT_LIBRARY, PARAM_DIAGONAL_LABEL, PARAM_LINE_FLOW_MODE, PARAM_LINE_FULL_PATH, PARAM_LINE_PARALLEL_PATH, PARAM_MAP_BASEMAP, PARAM_MAP_MANUAL_REFRESH, PARAM_NAD_POSITIONS_GENERATION_MODE, PARAM_SUBSTATION_LAYOUT, SUBSTATION_LAYOUT } from "./parameters/network-visualizations/constants.js";
|
|
164
166
|
import { MAP_BASEMAP_CARTO, MAP_BASEMAP_CARTO_NOLABEL, MAP_BASEMAP_ETALAB, MAP_BASEMAP_MAPBOX, NadPositionsGenerationMode, SubstationLayout } from "./parameters/network-visualizations/network-visualizations.types.js";
|
|
165
167
|
import { NetworkVisualizationParametersInline } from "./parameters/network-visualizations/network-visualizations-parameters-inline.js";
|
|
@@ -181,10 +183,11 @@ import { SecurityAnalysisParametersDialog } from "./parameters/security-analysis
|
|
|
181
183
|
import { SensitivityAnalysisParametersInline } from "./parameters/sensi/sensitivity-analysis-parameters-inline.js";
|
|
182
184
|
import { SensitivityAnalysisParametersDialog } from "./parameters/sensi/sensitivity-analysis-parameters-dialog.js";
|
|
183
185
|
import { COLUMNS_DEFINITIONS_HVDCS, COLUMNS_DEFINITIONS_INJECTIONS, COLUMNS_DEFINITIONS_INJECTIONS_SET, COLUMNS_DEFINITIONS_NODES, COLUMNS_DEFINITIONS_PSTS, EQUIPMENTS_IN_VOLTAGE_REGULATION_TYPES, HVDC_EQUIPMENT_TYPES, INJECTIONS_EQUIPMENT_TYPES, INJECTION_DISTRIBUTION_TYPES, MONITORED_BRANCHES_EQUIPMENT_TYPES, MONITORED_VOLTAGE_LEVELS_EQUIPMENT_TYPES, PSTS_EQUIPMENT_TYPES, SENSITIVITY_TYPES, SensiBranchesTabValues, SensiHvdcs, SensiInjection, SensiInjectionsSet, SensiNodes, SensiPsts, SensiTabValues } from "./parameters/sensi/columns-definitions.js";
|
|
184
|
-
import {
|
|
185
|
-
import { DynamicMarginCalculationInline } from "./parameters/dynamic-margin-calculation/dynamic-margin-calculation-inline.js";
|
|
186
|
+
import { DynamicSimulationInline } from "./parameters/dynamic-simulation/dynamic-simulation-inline.js";
|
|
186
187
|
import { CONTINGENCIES_LIST_INFOS, CONTINGENCIES_START_TIME, SCENARIO_DURATION } from "./parameters/dynamic-security-analysis/constants.js";
|
|
187
188
|
import { DynamicSecurityAnalysisInline } from "./parameters/dynamic-security-analysis/dynamic-security-analysis-inline.js";
|
|
189
|
+
import { ACCURACY, ACTIVE, CALCULATION_TYPE, LOADS_VARIATIONS, LOAD_FILTERS, LOAD_INCREASE_START_TIME, LOAD_INCREASE_STOP_TIME, LOAD_MODELS_RULE, MARGIN_CALCULATION_START_TIME, START_TIME, STOP_TIME, VARIATION } from "./parameters/dynamic-margin-calculation/constants.js";
|
|
190
|
+
import { DynamicMarginCalculationInline } from "./parameters/dynamic-margin-calculation/dynamic-margin-calculation-inline.js";
|
|
188
191
|
import { CustomMenuItem, CustomNestedMenuItem } from "./menus/custom-nested-menu.js";
|
|
189
192
|
import { OverflowableTableCell } from "./muiTable/OverflowableTableCell.js";
|
|
190
193
|
import { OverflowableTableCellWithCheckbox } from "./muiTable/OverflowableTableCellWithCheckbox.js";
|
|
@@ -345,6 +348,7 @@ export {
|
|
|
345
348
|
DndTableBottomRightButtons,
|
|
346
349
|
DynamicMarginCalculationInline,
|
|
347
350
|
DynamicSecurityAnalysisInline,
|
|
351
|
+
DynamicSimulationInline,
|
|
348
352
|
ENERGY_SOURCE_OPTIONS,
|
|
349
353
|
EQUIPMENTS_IN_VOLTAGE_REGULATION_TYPES,
|
|
350
354
|
EQUIPMENT_TYPE_ORDER,
|
|
@@ -453,7 +457,6 @@ export {
|
|
|
453
457
|
NAME,
|
|
454
458
|
NODE_CLUSTER,
|
|
455
459
|
NODE_CLUSTER_FILTER_IDS,
|
|
456
|
-
NO_ITEM_SELECTION_FOR_COPY,
|
|
457
460
|
NadPositionsGenerationMode,
|
|
458
461
|
NetworkModificationNameCellRenderer,
|
|
459
462
|
NetworkVisualizationParametersInline,
|
|
@@ -765,6 +768,8 @@ export {
|
|
|
765
768
|
useHvdcLccDeletion,
|
|
766
769
|
useListenerManager,
|
|
767
770
|
useNotificationsListener,
|
|
771
|
+
useParametersForm,
|
|
772
|
+
useTabs,
|
|
768
773
|
useTabsWithError,
|
|
769
774
|
useValid,
|
|
770
775
|
voltageLevelCreationDtoToForm,
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
import { AutocompleteProps } from '@mui/material';
|
|
2
|
+
interface CheckboxAutocompleteProps<Value> extends Omit<AutocompleteProps<Value, true, false, false>, 'limitTags' | 'multiple' | 'ListboxComponent' | 'renderInput' | 'renderOption' | 'inputValue' | 'onChange' | 'onBlur'> {
|
|
3
|
+
id?: string;
|
|
4
|
+
virtualize?: boolean;
|
|
5
|
+
maxSelection?: number;
|
|
6
|
+
options: Value[];
|
|
7
|
+
getOptionLabel: (option: Value) => string;
|
|
8
|
+
value: Value[];
|
|
9
|
+
onChange: (value: Value[]) => void;
|
|
10
|
+
}
|
|
11
|
+
export declare function CheckboxAutocomplete<Value>({ id, virtualize, maxSelection, options, getOptionLabel, onChange, ...otherProps }: Readonly<CheckboxAutocompleteProps<Value>>): import("react/jsx-runtime").JSX.Element;
|
|
12
|
+
export {};
|
|
@@ -0,0 +1,126 @@
|
|
|
1
|
+
import { jsx } from "react/jsx-runtime";
|
|
2
|
+
import { useState } from "react";
|
|
3
|
+
import { styled, Popper, autocompleteClasses, Autocomplete, lighten, TextField } from "@mui/material";
|
|
4
|
+
import { useIntl } from "react-intl";
|
|
5
|
+
import VirtualizedList from "./virtualized-list.js";
|
|
6
|
+
import CheckboxItem from "./checkbox-item.js";
|
|
7
|
+
const styles = {
|
|
8
|
+
autocomplete: (theme) => ({
|
|
9
|
+
".MuiAutocomplete-inputRoot": {
|
|
10
|
+
height: "40px",
|
|
11
|
+
backgroundColor: "unset"
|
|
12
|
+
// prevents the field from changing size when selected with the keyboard
|
|
13
|
+
},
|
|
14
|
+
".Mui-expanded, .Mui-focused, .Mui-focusVisible": {
|
|
15
|
+
position: "absolute",
|
|
16
|
+
width: "inherit",
|
|
17
|
+
height: "inherit",
|
|
18
|
+
zIndex: 20,
|
|
19
|
+
// jump up to avoid input zone pushed down below component
|
|
20
|
+
backgroundColor: lighten(theme.palette.background.default, 0.16)
|
|
21
|
+
},
|
|
22
|
+
"&.Mui-focused": {
|
|
23
|
+
".MuiInputLabel-root": {
|
|
24
|
+
zIndex: 21,
|
|
25
|
+
// jump up to show max limit text
|
|
26
|
+
width: "auto"
|
|
27
|
+
}
|
|
28
|
+
},
|
|
29
|
+
"&:not(.Mui-focused) .MuiAutocomplete-tag": {
|
|
30
|
+
maxWidth: "calc(100% - 32px)"
|
|
31
|
+
// reduce 32px to avoid the number of hidden tags, e.g +2, shown in a new line
|
|
32
|
+
}
|
|
33
|
+
})
|
|
34
|
+
};
|
|
35
|
+
const StyledPopper = styled(Popper)({
|
|
36
|
+
[`& .${autocompleteClasses.listbox}`]: {
|
|
37
|
+
boxSizing: "border-box",
|
|
38
|
+
"& ul": {
|
|
39
|
+
padding: 0,
|
|
40
|
+
margin: 0
|
|
41
|
+
}
|
|
42
|
+
}
|
|
43
|
+
});
|
|
44
|
+
function CheckboxAutocomplete({
|
|
45
|
+
id,
|
|
46
|
+
virtualize = false,
|
|
47
|
+
maxSelection = 0,
|
|
48
|
+
options,
|
|
49
|
+
getOptionLabel,
|
|
50
|
+
onChange,
|
|
51
|
+
...otherProps
|
|
52
|
+
}) {
|
|
53
|
+
const intl = useIntl();
|
|
54
|
+
const [inputValue, setInputValue] = useState("");
|
|
55
|
+
const [isFocusInput, setIsFocusInput] = useState(false);
|
|
56
|
+
const [isMaxLimitReached, setMaxLimitReached] = useState(false);
|
|
57
|
+
const handleChange = (_event, value) => {
|
|
58
|
+
if (!maxSelection || value.length <= maxSelection) {
|
|
59
|
+
setMaxLimitReached(false);
|
|
60
|
+
onChange(value);
|
|
61
|
+
} else {
|
|
62
|
+
setMaxLimitReached(true);
|
|
63
|
+
}
|
|
64
|
+
};
|
|
65
|
+
const getInputLabel = () => {
|
|
66
|
+
if (!isFocusInput) {
|
|
67
|
+
return `${options?.length} ${intl.formatMessage({
|
|
68
|
+
id: "options"
|
|
69
|
+
})}`;
|
|
70
|
+
}
|
|
71
|
+
if (isMaxLimitReached) {
|
|
72
|
+
return `${maxSelection} ${intl.formatMessage({
|
|
73
|
+
id: "maxSelection"
|
|
74
|
+
})}`;
|
|
75
|
+
}
|
|
76
|
+
return void 0;
|
|
77
|
+
};
|
|
78
|
+
const renderInput = (params) => /* @__PURE__ */ jsx(
|
|
79
|
+
TextField,
|
|
80
|
+
{
|
|
81
|
+
...params,
|
|
82
|
+
label: getInputLabel(),
|
|
83
|
+
onChange: (event) => {
|
|
84
|
+
setInputValue(event.target.value);
|
|
85
|
+
},
|
|
86
|
+
onFocus: () => {
|
|
87
|
+
setIsFocusInput(true);
|
|
88
|
+
},
|
|
89
|
+
onBlur: () => {
|
|
90
|
+
setIsFocusInput(false);
|
|
91
|
+
setMaxLimitReached(false);
|
|
92
|
+
},
|
|
93
|
+
color: isMaxLimitReached ? "warning" : void 0
|
|
94
|
+
}
|
|
95
|
+
);
|
|
96
|
+
const renderOption = (props, option, state) => virtualize ? [option, state.selected, getOptionLabel, props] : /* @__PURE__ */ jsx(CheckboxItem, { option, selected: state.selected, getOptionLabel, ...props });
|
|
97
|
+
const handleBlur = () => {
|
|
98
|
+
setInputValue("");
|
|
99
|
+
};
|
|
100
|
+
return /* @__PURE__ */ jsx(
|
|
101
|
+
Autocomplete,
|
|
102
|
+
{
|
|
103
|
+
id: id ? `checkbox-autocomplete-${id}` : void 0,
|
|
104
|
+
sx: styles.autocomplete,
|
|
105
|
+
disableCloseOnSelect: true,
|
|
106
|
+
size: "small",
|
|
107
|
+
disableListWrap: true,
|
|
108
|
+
PopperComponent: StyledPopper,
|
|
109
|
+
options,
|
|
110
|
+
noOptionsText: intl.formatMessage({ id: "noOption" }),
|
|
111
|
+
getOptionLabel,
|
|
112
|
+
...otherProps,
|
|
113
|
+
limitTags: 1,
|
|
114
|
+
multiple: true,
|
|
115
|
+
ListboxComponent: virtualize ? VirtualizedList : void 0,
|
|
116
|
+
renderInput,
|
|
117
|
+
renderOption,
|
|
118
|
+
inputValue,
|
|
119
|
+
onChange: handleChange,
|
|
120
|
+
onBlur: handleBlur
|
|
121
|
+
}
|
|
122
|
+
);
|
|
123
|
+
}
|
|
124
|
+
export {
|
|
125
|
+
CheckboxAutocomplete
|
|
126
|
+
};
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
import { HTMLAttributes } from 'react';
|
|
2
|
+
interface CheckboxItemProps<Value> extends HTMLAttributes<HTMLElement> {
|
|
3
|
+
option: Value;
|
|
4
|
+
selected: boolean;
|
|
5
|
+
getOptionLabel: (option: Value) => string;
|
|
6
|
+
}
|
|
7
|
+
declare function CheckboxItem<Value>({ option, selected, getOptionLabel, ...otherProps }: Readonly<CheckboxItemProps<Value>>): import("react/jsx-runtime").JSX.Element;
|
|
8
|
+
export default CheckboxItem;
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
import { jsxs, jsx } from "react/jsx-runtime";
|
|
2
|
+
import { Typography, Checkbox } from "@mui/material";
|
|
3
|
+
import { OverflowableText } from "../../overflowableText/OverflowableText.js";
|
|
4
|
+
const styles = {
|
|
5
|
+
checkbox: {
|
|
6
|
+
marginRight: 8
|
|
7
|
+
}
|
|
8
|
+
};
|
|
9
|
+
function CheckboxItem({ option, selected, getOptionLabel, ...otherProps }) {
|
|
10
|
+
return /* @__PURE__ */ jsxs(Typography, { component: "li", ...otherProps, noWrap: true, children: [
|
|
11
|
+
/* @__PURE__ */ jsx(Checkbox, { style: styles.checkbox, checked: selected }),
|
|
12
|
+
/* @__PURE__ */ jsx(OverflowableText, { text: getOptionLabel(option) })
|
|
13
|
+
] });
|
|
14
|
+
}
|
|
15
|
+
export {
|
|
16
|
+
CheckboxItem as default
|
|
17
|
+
};
|
|
@@ -0,0 +1,7 @@
|
|
|
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 * from './checkbox-autocomplete';
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
import { CSSProperties, HTMLAttributes, Key } from 'react';
|
|
2
|
+
import { RowComponentProps } from 'react-window';
|
|
3
|
+
export type VirtualizedItem = [
|
|
4
|
+
option: string,
|
|
5
|
+
selected: boolean,
|
|
6
|
+
getOptionLabel: (option: string) => string,
|
|
7
|
+
itemProps?: HTMLAttributes<HTMLElement> & {
|
|
8
|
+
key: Key;
|
|
9
|
+
style?: CSSProperties;
|
|
10
|
+
}
|
|
11
|
+
];
|
|
12
|
+
declare function VirtualizedListItem({ index, itemData, style, }: RowComponentProps & {
|
|
13
|
+
itemData: VirtualizedItem[];
|
|
14
|
+
}): import("react/jsx-runtime").JSX.Element;
|
|
15
|
+
export default VirtualizedListItem;
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
import { jsx } from "react/jsx-runtime";
|
|
2
|
+
import CheckboxItem from "./checkbox-item.js";
|
|
3
|
+
function VirtualizedListItem({
|
|
4
|
+
index,
|
|
5
|
+
itemData,
|
|
6
|
+
style
|
|
7
|
+
}) {
|
|
8
|
+
const [option, selected, getOptionLabel, itemProps] = itemData[index];
|
|
9
|
+
const { key, style: itemStyle, ...restItemProps } = itemProps ?? {};
|
|
10
|
+
return /* @__PURE__ */ jsx(
|
|
11
|
+
CheckboxItem,
|
|
12
|
+
{
|
|
13
|
+
option,
|
|
14
|
+
selected,
|
|
15
|
+
getOptionLabel,
|
|
16
|
+
style: {
|
|
17
|
+
...itemStyle,
|
|
18
|
+
...style
|
|
19
|
+
},
|
|
20
|
+
...restItemProps
|
|
21
|
+
},
|
|
22
|
+
key
|
|
23
|
+
);
|
|
24
|
+
}
|
|
25
|
+
export {
|
|
26
|
+
VirtualizedListItem as default
|
|
27
|
+
};
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
import { jsx } from "react/jsx-runtime";
|
|
2
|
+
import { forwardRef } from "react";
|
|
3
|
+
import { List } from "react-window";
|
|
4
|
+
import VirtualizedListItem from "./virtualized-list-item.js";
|
|
5
|
+
const VirtualizedList = forwardRef((props, ref) => {
|
|
6
|
+
const { children, ...otherProps } = props;
|
|
7
|
+
const itemData = [...children];
|
|
8
|
+
const itemCount = itemData.length;
|
|
9
|
+
const itemSize = 48;
|
|
10
|
+
const getHeight = () => {
|
|
11
|
+
if (itemCount > 8) {
|
|
12
|
+
return 7 * itemSize;
|
|
13
|
+
}
|
|
14
|
+
return itemCount * itemSize;
|
|
15
|
+
};
|
|
16
|
+
return /* @__PURE__ */ jsx("div", { ref, ...otherProps, children: /* @__PURE__ */ jsx(
|
|
17
|
+
List,
|
|
18
|
+
{
|
|
19
|
+
rowProps: { itemData },
|
|
20
|
+
rowHeight: itemSize,
|
|
21
|
+
style: { height: getHeight() },
|
|
22
|
+
overscanCount: 5,
|
|
23
|
+
rowCount: itemCount,
|
|
24
|
+
rowComponent: VirtualizedListItem
|
|
25
|
+
}
|
|
26
|
+
) });
|
|
27
|
+
});
|
|
28
|
+
export {
|
|
29
|
+
VirtualizedList as default
|
|
30
|
+
};
|
|
@@ -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
|
+
};
|