@gridsuite/commons-ui 0.180.0 → 0.182.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (78) hide show
  1. package/dist/components/index.js +33 -1
  2. package/dist/components/inputs/index.js +4 -0
  3. package/dist/components/inputs/reactHookForm/index.d.ts +1 -0
  4. package/dist/components/inputs/reactHookForm/index.js +4 -0
  5. package/dist/components/inputs/reactHookForm/readOnly/ButtonReadOnlyInput.d.ts +7 -0
  6. package/dist/components/inputs/reactHookForm/readOnly/ButtonReadOnlyInput.js +50 -0
  7. package/dist/components/inputs/reactHookForm/readOnly/ReadOnlyInput.d.ts +12 -0
  8. package/dist/components/inputs/reactHookForm/readOnly/ReadOnlyInput.js +35 -0
  9. package/dist/components/inputs/reactHookForm/readOnly/index.d.ts +8 -0
  10. package/dist/components/inputs/reactHookForm/readOnly/index.js +6 -0
  11. package/dist/components/network-modifications/common/connectivity/ConnectivityForm.js +2 -2
  12. package/dist/components/network-modifications/common/measurements/injectionActiveReactivePowerForm.utils.js +1 -1
  13. package/dist/components/network-modifications/equipmentDeletion/EquipmentDeletionForm.d.ts +9 -0
  14. package/dist/components/network-modifications/equipmentDeletion/EquipmentDeletionForm.js +173 -0
  15. package/dist/components/network-modifications/equipmentDeletion/equipmentDeletion.types.d.ts +17 -0
  16. package/dist/components/network-modifications/equipmentDeletion/equipmentDeletion.types.js +1 -0
  17. package/dist/components/network-modifications/equipmentDeletion/equipmentDeletion.utils.d.ts +33 -0
  18. package/dist/components/network-modifications/equipmentDeletion/equipmentDeletion.utils.js +78 -0
  19. package/dist/components/network-modifications/equipmentDeletion/hvdcLccDeletion/HvdcLccDeletionSpecificForm.d.ts +7 -0
  20. package/dist/components/network-modifications/equipmentDeletion/hvdcLccDeletion/HvdcLccDeletionSpecificForm.js +43 -0
  21. package/dist/components/network-modifications/equipmentDeletion/hvdcLccDeletion/ShuntCompensatorSelectionForm.d.ts +13 -0
  22. package/dist/components/network-modifications/equipmentDeletion/hvdcLccDeletion/ShuntCompensatorSelectionForm.js +58 -0
  23. package/dist/components/network-modifications/equipmentDeletion/hvdcLccDeletion/hvdcLccDeletion.utils.d.ts +21 -0
  24. package/dist/components/network-modifications/equipmentDeletion/hvdcLccDeletion/hvdcLccDeletion.utils.js +22 -0
  25. package/dist/components/network-modifications/equipmentDeletion/hvdcLccDeletion/index.d.ts +10 -0
  26. package/dist/components/network-modifications/equipmentDeletion/hvdcLccDeletion/index.js +10 -0
  27. package/dist/components/network-modifications/equipmentDeletion/hvdcLccDeletion/useHvdcLccDeletion.d.ts +8 -0
  28. package/dist/components/network-modifications/equipmentDeletion/hvdcLccDeletion/useHvdcLccDeletion.js +85 -0
  29. package/dist/components/network-modifications/equipmentDeletion/index.d.ts +10 -0
  30. package/dist/components/network-modifications/equipmentDeletion/index.js +18 -0
  31. package/dist/components/network-modifications/index.d.ts +1 -0
  32. package/dist/components/network-modifications/index.js +29 -1
  33. package/dist/components/network-modifications/load/common/LoadDialogHeader.d.ts +1 -2
  34. package/dist/components/network-modifications/load/common/LoadDialogHeader.js +4 -7
  35. package/dist/components/network-modifications/load/common/LoadForm.d.ts +3 -2
  36. package/dist/components/network-modifications/load/common/LoadForm.js +1 -9
  37. package/dist/components/network-modifications/load/index.d.ts +1 -0
  38. package/dist/components/network-modifications/load/index.js +6 -1
  39. package/dist/components/network-modifications/load/modification/index.d.ts +8 -0
  40. package/dist/components/network-modifications/load/modification/index.js +7 -0
  41. package/dist/components/network-modifications/load/modification/loadModification.types.d.ts +21 -0
  42. package/dist/components/network-modifications/load/modification/loadModification.types.js +1 -0
  43. package/dist/components/network-modifications/load/modification/loadModification.utils.d.ts +69 -0
  44. package/dist/components/network-modifications/load/modification/loadModification.utils.js +106 -0
  45. package/dist/components/network-modifications/voltage-level/index.d.ts +1 -0
  46. package/dist/components/network-modifications/voltage-level/index.js +8 -1
  47. package/dist/components/network-modifications/voltage-level/modification/VoltageLevelModificationForm.d.ts +5 -0
  48. package/dist/components/network-modifications/voltage-level/modification/VoltageLevelModificationForm.js +159 -0
  49. package/dist/components/network-modifications/voltage-level/modification/index.d.ts +9 -0
  50. package/dist/components/network-modifications/voltage-level/modification/index.js +9 -0
  51. package/dist/components/network-modifications/voltage-level/modification/voltageLevelModification.types.d.ts +35 -0
  52. package/dist/components/network-modifications/voltage-level/modification/voltageLevelModification.types.js +1 -0
  53. package/dist/components/network-modifications/voltage-level/modification/voltageLevelModification.utils.d.ts +36 -0
  54. package/dist/components/network-modifications/voltage-level/modification/voltageLevelModification.utils.js +75 -0
  55. package/dist/components/parameters/loadflow/use-load-flow-parameters-form.js +11 -10
  56. package/dist/hooks/index.d.ts +1 -0
  57. package/dist/hooks/index.js +2 -0
  58. package/dist/hooks/useGetLabelEquipmentTypes.d.ts +2 -0
  59. package/dist/hooks/useGetLabelEquipmentTypes.js +20 -0
  60. package/dist/index.js +42 -1
  61. package/dist/translations/en/equipmentTypesEn.d.ts +30 -0
  62. package/dist/translations/en/equipmentTypesEn.js +27 -0
  63. package/dist/translations/en/index.d.ts +1 -0
  64. package/dist/translations/en/index.js +2 -0
  65. package/dist/translations/en/networkModificationsEn.d.ts +12 -0
  66. package/dist/translations/en/networkModificationsEn.js +15 -3
  67. package/dist/translations/fr/equipmentTypesFr.d.ts +30 -0
  68. package/dist/translations/fr/equipmentTypesFr.js +27 -0
  69. package/dist/translations/fr/index.d.ts +1 -0
  70. package/dist/translations/fr/index.js +2 -0
  71. package/dist/translations/fr/networkModificationsFr.d.ts +12 -0
  72. package/dist/translations/fr/networkModificationsFr.js +17 -5
  73. package/dist/utils/constants/fieldConstants.d.ts +7 -0
  74. package/dist/utils/constants/fieldConstants.js +7 -0
  75. package/dist/utils/index.js +4 -1
  76. package/dist/utils/ts-utils.d.ts +3 -0
  77. package/dist/utils/ts-utils.js +10 -0
  78. package/package.json +1 -1
@@ -0,0 +1,7 @@
1
+ /**
2
+ * Copyright (c) 2023, 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 function HvdcLccDeletionSpecificForm(): import("react/jsx-runtime").JSX.Element;
@@ -0,0 +1,43 @@
1
+ import { jsxs, jsx } from "react/jsx-runtime";
2
+ import { Grid } from "@mui/material";
3
+ import { useFieldArray } from "react-hook-form";
4
+ import { FieldConstants } from "../../../../utils/constants/fieldConstants.js";
5
+ import "../../../../utils/conversionUtils.js";
6
+ import "../../../../utils/types/equipmentType.js";
7
+ import "@mui/icons-material";
8
+ import "../../../../utils/yupConfig.js";
9
+ import GridSection from "../../../grid/grid-section.js";
10
+ import GridItem from "../../../grid/grid-item.js";
11
+ import { ShuntCompensatorSelectionForm } from "./ShuntCompensatorSelectionForm.js";
12
+ function HvdcLccDeletionSpecificForm() {
13
+ const { fields: mcsRows1 } = useFieldArray({
14
+ name: `${FieldConstants.DELETION_SPECIFIC_DATA}.${FieldConstants.SHUNT_COMPENSATOR_SIDE_1}`
15
+ });
16
+ const { fields: mcsRows2 } = useFieldArray({
17
+ name: `${FieldConstants.DELETION_SPECIFIC_DATA}.${FieldConstants.SHUNT_COMPENSATOR_SIDE_2}`
18
+ });
19
+ return /* @__PURE__ */ jsxs(Grid, { container: true, spacing: 1, direction: "column", paddingTop: 2, paddingLeft: 1, children: [
20
+ /* @__PURE__ */ jsx(GridSection, { title: "LCCConverterStationShuntCompensators" }),
21
+ /* @__PURE__ */ jsxs(Grid, { container: true, spacing: 1, children: [
22
+ /* @__PURE__ */ jsx(GridItem, { children: /* @__PURE__ */ jsx(
23
+ ShuntCompensatorSelectionForm,
24
+ {
25
+ title: "Side1",
26
+ arrayFormName: `${FieldConstants.DELETION_SPECIFIC_DATA}.${FieldConstants.SHUNT_COMPENSATOR_SIDE_1}`,
27
+ mcsRows: mcsRows1
28
+ }
29
+ ) }),
30
+ /* @__PURE__ */ jsx(GridItem, { children: /* @__PURE__ */ jsx(
31
+ ShuntCompensatorSelectionForm,
32
+ {
33
+ title: "Side2",
34
+ arrayFormName: `${FieldConstants.DELETION_SPECIFIC_DATA}.${FieldConstants.SHUNT_COMPENSATOR_SIDE_2}`,
35
+ mcsRows: mcsRows2
36
+ }
37
+ ) })
38
+ ] })
39
+ ] });
40
+ }
41
+ export {
42
+ HvdcLccDeletionSpecificForm
43
+ };
@@ -0,0 +1,13 @@
1
+ /**
2
+ * Copyright (c) 2023, RTE (http://www.rte-france.com)
3
+ * This Source Code Form is subject to the terms of the Mozilla Public
4
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
5
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
6
+ */
7
+ interface ShuntCompensatorSelectionFormProps {
8
+ title: string;
9
+ arrayFormName: string;
10
+ mcsRows: Record<'id', string>[];
11
+ }
12
+ export declare function ShuntCompensatorSelectionForm({ title, arrayFormName, mcsRows, }: Readonly<ShuntCompensatorSelectionFormProps>): import("react/jsx-runtime").JSX.Element;
13
+ export {};
@@ -0,0 +1,58 @@
1
+ import { jsxs, jsx } from "react/jsx-runtime";
2
+ import { FormattedMessage } from "react-intl";
3
+ import { Grid } from "@mui/material";
4
+ import { FieldConstants } from "../../../../utils/constants/fieldConstants.js";
5
+ import "../../../../utils/conversionUtils.js";
6
+ import "../../../../utils/types/equipmentType.js";
7
+ import "@mui/icons-material";
8
+ import "../../../../utils/yupConfig.js";
9
+ import "../../../overflowableText/OverflowableText.js";
10
+ import "react";
11
+ import "react-hook-form";
12
+ import "localized-countries";
13
+ import "localized-countries/data/fr";
14
+ import "localized-countries/data/en";
15
+ import "notistack";
16
+ import "../../../inputs/reactHookForm/provider/CustomFormProvider.js";
17
+ import "yup";
18
+ import "../../../treeViewFinder/TreeViewFinder.js";
19
+ import "../../../inputs/reactHookForm/agGridTable/BottomRightButtons.js";
20
+ import "../../../customAGGrid/customAggrid.js";
21
+ import "ag-grid-community";
22
+ import "react-papaparse";
23
+ import "react-csv-downloader";
24
+ import { CheckboxInput } from "../../../inputs/reactHookForm/booleans/CheckboxInput.js";
25
+ import "../../../inputs/reactHookForm/numbers/RangeInput.js";
26
+ import { ReadOnlyInput } from "../../../inputs/reactHookForm/readOnly/ReadOnlyInput.js";
27
+ import "@material-symbols/svg-400/outlined/left_panel_open.svg?react";
28
+ import "@material-symbols/svg-400/outlined/arrows_output.svg?react";
29
+ import "@material-symbols/svg-400/outlined/left_panel_close.svg?react";
30
+ import "@material-symbols/svg-400/outlined/add_notes.svg?react";
31
+ import "../../../dialogs/descriptionModificationDialog/DescriptionModificationDialog.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 ShuntCompensatorSelectionForm({
39
+ title,
40
+ arrayFormName,
41
+ mcsRows
42
+ }) {
43
+ return /* @__PURE__ */ jsxs(Grid, { container: true, spacing: 1, direction: "column", children: [
44
+ /* @__PURE__ */ jsx(Grid, { item: true, children: /* @__PURE__ */ jsx("h4", { children: /* @__PURE__ */ jsx(FormattedMessage, { id: title }) }) }),
45
+ mcsRows.map((field, index) => /* @__PURE__ */ jsxs(Grid, { container: true, spacing: 1, alignItems: "center", children: [
46
+ /* @__PURE__ */ jsx(Grid, { item: true, xs: 1, children: /* @__PURE__ */ jsx(
47
+ CheckboxInput,
48
+ {
49
+ name: `${arrayFormName}[${index}].${FieldConstants.SHUNT_COMPENSATOR_SELECTED}`
50
+ }
51
+ ) }),
52
+ /* @__PURE__ */ jsx(Grid, { item: true, xs: 11, children: /* @__PURE__ */ jsx(ReadOnlyInput, { name: `${arrayFormName}[${index}].${FieldConstants.ID}` }) })
53
+ ] }, field.id))
54
+ ] });
55
+ }
56
+ export {
57
+ ShuntCompensatorSelectionForm
58
+ };
@@ -0,0 +1,21 @@
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 getHvdcLccDeletionSchema: () => import('yup').ObjectSchema<{
8
+ specificType: string;
9
+ mcsOnSide1: {
10
+ id: string;
11
+ connectedToHvdc: NonNullable<boolean | undefined>;
12
+ }[];
13
+ mcsOnSide2: {
14
+ id: string;
15
+ connectedToHvdc: NonNullable<boolean | undefined>;
16
+ }[];
17
+ } | null | undefined, import('yup').AnyObject, {
18
+ specificType: undefined;
19
+ mcsOnSide1: "";
20
+ mcsOnSide2: "";
21
+ }, "">;
@@ -0,0 +1,22 @@
1
+ import { object, array, string, boolean } from "yup";
2
+ import { FieldConstants } from "../../../../utils/constants/fieldConstants.js";
3
+ import { YUP_REQUIRED } from "../../../../utils/constants/translationKeys.js";
4
+ import "../../../../utils/conversionUtils.js";
5
+ import "../../../../utils/types/equipmentType.js";
6
+ import "react/jsx-runtime";
7
+ import "@mui/icons-material";
8
+ import "../../../../utils/yupConfig.js";
9
+ const getMcsConnectionsSchema = () => array().of(
10
+ object().shape({
11
+ [FieldConstants.ID]: string().required(YUP_REQUIRED),
12
+ [FieldConstants.SHUNT_COMPENSATOR_SELECTED]: boolean().required(YUP_REQUIRED)
13
+ })
14
+ ).required();
15
+ const getHvdcLccDeletionSchema = () => object().shape({
16
+ [FieldConstants.DELETION_SPECIFIC_TYPE]: string().required(YUP_REQUIRED),
17
+ [FieldConstants.SHUNT_COMPENSATOR_SIDE_1]: getMcsConnectionsSchema(),
18
+ [FieldConstants.SHUNT_COMPENSATOR_SIDE_2]: getMcsConnectionsSchema()
19
+ }).optional().nullable();
20
+ export {
21
+ getHvdcLccDeletionSchema
22
+ };
@@ -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 * from './hvdcLccDeletion.utils';
8
+ export * from './ShuntCompensatorSelectionForm';
9
+ export * from './useHvdcLccDeletion';
10
+ export * from './HvdcLccDeletionSpecificForm';
@@ -0,0 +1,10 @@
1
+ import { getHvdcLccDeletionSchema } from "./hvdcLccDeletion.utils.js";
2
+ import { ShuntCompensatorSelectionForm } from "./ShuntCompensatorSelectionForm.js";
3
+ import { useHvdcLccDeletion } from "./useHvdcLccDeletion.js";
4
+ import { HvdcLccDeletionSpecificForm } from "./HvdcLccDeletionSpecificForm.js";
5
+ export {
6
+ HvdcLccDeletionSpecificForm,
7
+ ShuntCompensatorSelectionForm,
8
+ getHvdcLccDeletionSchema,
9
+ useHvdcLccDeletion
10
+ };
@@ -0,0 +1,8 @@
1
+ import { UUID } from 'node:crypto';
2
+ import { EquipmentDeletionDto, LccDeletionDto } from '../equipmentDeletion.types';
3
+ export interface UseHvdcLccDeletionProps {
4
+ fetchHvdcWithShuntCompensators?: (hvdcLineId: UUID) => Promise<LccDeletionDto>;
5
+ }
6
+ export declare const useHvdcLccDeletion: ({ fetchHvdcWithShuntCompensators }: UseHvdcLccDeletionProps) => {
7
+ specificUpdate: (equipmentId: UUID, editData?: EquipmentDeletionDto) => void;
8
+ };
@@ -0,0 +1,85 @@
1
+ import { useCallback } from "react";
2
+ import { useFieldArray, useFormContext } from "react-hook-form";
3
+ import { FieldConstants } from "../../../../utils/constants/fieldConstants.js";
4
+ import "../../../../utils/conversionUtils.js";
5
+ import { snackWithFallback } from "../../../../utils/error.js";
6
+ import "../../../../utils/types/equipmentType.js";
7
+ import "react/jsx-runtime";
8
+ import "@mui/icons-material";
9
+ import "../../../../utils/yupConfig.js";
10
+ import "react-intl";
11
+ import "@mui/material";
12
+ import "localized-countries";
13
+ import "localized-countries/data/fr";
14
+ import "localized-countries/data/en";
15
+ import { useSnackMessage } from "../../../../hooks/useSnackMessage.js";
16
+ const useHvdcLccDeletion = ({ fetchHvdcWithShuntCompensators }) => {
17
+ const { replace: replaceMcsList1 } = useFieldArray({
18
+ name: `${FieldConstants.DELETION_SPECIFIC_DATA}.${FieldConstants.SHUNT_COMPENSATOR_SIDE_1}`
19
+ });
20
+ const { replace: replaceMcsList2 } = useFieldArray({
21
+ name: `${FieldConstants.DELETION_SPECIFIC_DATA}.${FieldConstants.SHUNT_COMPENSATOR_SIDE_2}`
22
+ });
23
+ const { setValue } = useFormContext();
24
+ const { snackError } = useSnackMessage();
25
+ const updateMcsLists = useCallback(
26
+ (hvdcLineData, editData) => {
27
+ function mergeMcsLists(dynamicList, editList) {
28
+ if (!dynamicList?.length && !editList?.length) {
29
+ return [];
30
+ }
31
+ if (!dynamicList?.length) {
32
+ return editList.filter((item) => item.connectedToHvdc);
33
+ }
34
+ if (!editList?.length) {
35
+ return dynamicList;
36
+ }
37
+ const mergedList = dynamicList.map((obj) => {
38
+ return { ...obj, connectedToHvdc: false };
39
+ });
40
+ const dynamicIds = new Set(dynamicList.map((obj) => obj.id));
41
+ editList.forEach((editObj) => {
42
+ if (dynamicIds.has(editObj.id)) {
43
+ const mergedObj = mergedList.find((obj) => obj.id === editObj.id);
44
+ if (mergedObj) {
45
+ mergedObj.connectedToHvdc = editObj.connectedToHvdc;
46
+ }
47
+ } else if (editObj.connectedToHvdc) {
48
+ mergedList.push(editObj);
49
+ }
50
+ });
51
+ return mergedList;
52
+ }
53
+ if (hvdcLineData?.mcsOnSide1 || hvdcLineData?.mcsOnSide2 || editData?.equipmentInfos?.mcsOnSide1 || editData?.equipmentInfos?.mcsOnSide2) {
54
+ setValue(
55
+ `${FieldConstants.DELETION_SPECIFIC_DATA}.${FieldConstants.DELETION_SPECIFIC_TYPE}`,
56
+ FieldConstants.HVDC_LINE_LCC_DELETION_SPECIFIC_TYPE
57
+ );
58
+ replaceMcsList1(mergeMcsLists(hvdcLineData?.mcsOnSide1, editData?.equipmentInfos?.mcsOnSide1 ?? []));
59
+ replaceMcsList2(mergeMcsLists(hvdcLineData?.mcsOnSide2, editData?.equipmentInfos?.mcsOnSide2 ?? []));
60
+ } else {
61
+ setValue(FieldConstants.DELETION_SPECIFIC_DATA, null);
62
+ }
63
+ },
64
+ [replaceMcsList1, replaceMcsList2, setValue]
65
+ );
66
+ const specificUpdate = useCallback(
67
+ (equipmentId, editData) => {
68
+ if (fetchHvdcWithShuntCompensators) {
69
+ fetchHvdcWithShuntCompensators(equipmentId).then((hvdcLineData) => {
70
+ updateMcsLists(hvdcLineData, editData);
71
+ }).catch((error) => {
72
+ setValue(FieldConstants.DELETION_SPECIFIC_DATA, null);
73
+ snackWithFallback(snackError, error, { headerId: "FetchHvdcLineWithShuntCompensatorsError" });
74
+ });
75
+ } else {
76
+ updateMcsLists({}, editData);
77
+ }
78
+ },
79
+ [fetchHvdcWithShuntCompensators, setValue, snackError, updateMcsLists]
80
+ );
81
+ return { specificUpdate };
82
+ };
83
+ export {
84
+ useHvdcLccDeletion
85
+ };
@@ -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 * from './hvdcLccDeletion';
8
+ export * from './equipmentDeletion.types';
9
+ export * from './equipmentDeletion.utils';
10
+ export * from './EquipmentDeletionForm';
@@ -0,0 +1,18 @@
1
+ import { getHvdcLccDeletionSchema } from "./hvdcLccDeletion/hvdcLccDeletion.utils.js";
2
+ import { ShuntCompensatorSelectionForm } from "./hvdcLccDeletion/ShuntCompensatorSelectionForm.js";
3
+ import { useHvdcLccDeletion } from "./hvdcLccDeletion/useHvdcLccDeletion.js";
4
+ import { HvdcLccDeletionSpecificForm } from "./hvdcLccDeletion/HvdcLccDeletionSpecificForm.js";
5
+ import { equipmentDeletionDtoToForm, equipmentDeletionEmptyFormData, equipmentDeletionFormSchema, equipmentDeletionFormToDto, newEquipmentDeletionDto } from "./equipmentDeletion.utils.js";
6
+ import { EquipmentDeletionForm } from "./EquipmentDeletionForm.js";
7
+ export {
8
+ EquipmentDeletionForm,
9
+ HvdcLccDeletionSpecificForm,
10
+ ShuntCompensatorSelectionForm,
11
+ equipmentDeletionDtoToForm,
12
+ equipmentDeletionEmptyFormData,
13
+ equipmentDeletionFormSchema,
14
+ equipmentDeletionFormToDto,
15
+ getHvdcLccDeletionSchema,
16
+ newEquipmentDeletionDto,
17
+ useHvdcLccDeletion
18
+ };
@@ -5,6 +5,7 @@
5
5
  * file, You can obtain one at http://mozilla.org/MPL/2.0/.
6
6
  */
7
7
  export * from './common';
8
+ export * from './equipmentDeletion';
8
9
  export * from './substation';
9
10
  export * from './voltage-level';
10
11
  export * from './load';
@@ -13,6 +13,12 @@ import { SetPointsForm } from "./common/setpoints/SetPointsForm.js";
13
13
  import { createConnectivityData, getCon1andCon2WithPositionValidationSchema, getConnectivityBusBarSectionData, getConnectivityData, getConnectivityFormData, getConnectivityFormDataProps, getConnectivityPropertiesData, getConnectivityPropertiesEmptyFormData, getConnectivityPropertiesValidationSchema, getConnectivityVoltageLevelData, getConnectivityWithPositionEmptyFormData, getConnectivityWithPositionEmptyFormDataProps, getConnectivityWithPositionSchema, getConnectivityWithPositionValidationSchema, getConnectivityWithoutPositionEmptyFormData, getConnectivityWithoutPositionValidationSchema, getCont1Cont2WithPositionEmptyFormData, getNewVoltageLevelData } from "./common/connectivity/connectivityForm.utils.js";
14
14
  import { ConnectivityForm } from "./common/connectivity/ConnectivityForm.js";
15
15
  import { BranchConnectivityForm } from "./common/connectivity/BranchConnectivityForm.js";
16
+ import { getHvdcLccDeletionSchema } from "./equipmentDeletion/hvdcLccDeletion/hvdcLccDeletion.utils.js";
17
+ import { ShuntCompensatorSelectionForm } from "./equipmentDeletion/hvdcLccDeletion/ShuntCompensatorSelectionForm.js";
18
+ import { useHvdcLccDeletion } from "./equipmentDeletion/hvdcLccDeletion/useHvdcLccDeletion.js";
19
+ import { HvdcLccDeletionSpecificForm } from "./equipmentDeletion/hvdcLccDeletion/HvdcLccDeletionSpecificForm.js";
20
+ import { equipmentDeletionDtoToForm, equipmentDeletionEmptyFormData, equipmentDeletionFormSchema, equipmentDeletionFormToDto, newEquipmentDeletionDto } from "./equipmentDeletion/equipmentDeletion.utils.js";
21
+ import { EquipmentDeletionForm } from "./equipmentDeletion/EquipmentDeletionForm.js";
16
22
  import { SubstationCreationForm } from "./substation/creation/SubstationCreationForm.js";
17
23
  import { substationCreationDtoToForm, substationCreationEmptyFormData, substationCreationFormSchema, substationCreationFormToDto } from "./substation/creation/substationCreation.utils.js";
18
24
  import { SubstationModificationForm } from "./substation/modification/SubstationModificationForm.js";
@@ -24,12 +30,15 @@ import { CouplingOmnibusCreation } from "./voltage-level/creation/coupling-omnib
24
30
  import { VoltageLevelCreationForm } from "./voltage-level/creation/VoltageLevelCreationForm.js";
25
31
  import { SWITCH_TYPE, buildNewBusbarSections, getCreateSwitchesEmptyFormData, getCreateSwitchesValidationSchema, translateSwitchKinds, voltageLevelCreationDtoToForm, voltageLevelCreationEmptyFormData, voltageLevelCreationFormSchema, voltageLevelCreationFormToDto } from "./voltage-level/creation/voltageLevelCreation.utils.js";
26
32
  import { SwitchKind } from "./voltage-level/creation/voltageLevelCreation.types.js";
33
+ import { VoltageLevelModificationForm } from "./voltage-level/modification/VoltageLevelModificationForm.js";
34
+ import { voltageLevelModificationDtoToForm, voltageLevelModificationEmptyFormData, voltageLevelModificationFormSchema, voltageLevelModificationFormToDto } from "./voltage-level/modification/voltageLevelModification.utils.js";
27
35
  import { LoadDialogTab } from "./load/common/load.utils.js";
28
36
  import { LoadDialogTabs } from "./load/common/LoadDialogTabs.js";
29
37
  import { LoadDialogTabsContent } from "./load/common/LoadDialogTabsContent.js";
30
38
  import { LoadDialogHeader } from "./load/common/LoadDialogHeader.js";
31
39
  import { LoadForm } from "./load/common/LoadForm.js";
32
40
  import { loadCreationDtoToForm, loadCreationEmptyFormData, loadCreationFormSchema, loadCreationFormToDto } from "./load/creation/loadCreation.utils.js";
41
+ import { loadModificationDtoToForm, loadModificationEmptyFormData, loadModificationFormSchema, loadModificationFormToDto } from "./load/modification/loadModification.utils.js";
33
42
  export {
34
43
  BranchActiveReactivePowerMeasurementsForm,
35
44
  BranchConnectivityForm,
@@ -37,6 +46,8 @@ export {
37
46
  CouplingOmnibusCreation,
38
47
  CouplingOmnibusForm,
39
48
  CreateSwitchesDialog,
49
+ EquipmentDeletionForm,
50
+ HvdcLccDeletionSpecificForm,
40
51
  LoadDialogHeader,
41
52
  LoadDialogTab,
42
53
  LoadDialogTabs,
@@ -48,17 +59,23 @@ export {
48
59
  PropertyForm,
49
60
  SWITCH_TYPE,
50
61
  SetPointsForm,
62
+ ShuntCompensatorSelectionForm,
51
63
  SubstationCreationForm,
52
64
  SubstationModificationForm,
53
65
  SwitchKind,
54
66
  SwitchesBetweenSections,
55
67
  VoltageLevelCreationForm,
68
+ VoltageLevelModificationForm,
56
69
  buildNewBusbarSections,
57
70
  copyEquipmentPropertiesForCreation,
58
71
  createConnectivityData,
59
72
  createPropertyModification,
60
73
  creationPropertiesSchema,
61
74
  emptyProperties,
75
+ equipmentDeletionDtoToForm,
76
+ equipmentDeletionEmptyFormData,
77
+ equipmentDeletionFormSchema,
78
+ equipmentDeletionFormToDto,
62
79
  fetchPredefinedProperties,
63
80
  filledTextField,
64
81
  getActivePowerSetPointSchema,
@@ -88,6 +105,7 @@ export {
88
105
  getCreateSwitchesEmptyFormData,
89
106
  getCreateSwitchesValidationSchema,
90
107
  getFilledPropertiesFromModification,
108
+ getHvdcLccDeletionSchema,
91
109
  getInjectionActiveReactivePowerEditData,
92
110
  getInjectionActiveReactivePowerEditDataProperties,
93
111
  getInjectionActiveReactivePowerEmptyFormData,
@@ -109,8 +127,13 @@ export {
109
127
  loadCreationEmptyFormData,
110
128
  loadCreationFormSchema,
111
129
  loadCreationFormToDto,
130
+ loadModificationDtoToForm,
131
+ loadModificationEmptyFormData,
132
+ loadModificationFormSchema,
133
+ loadModificationFormToDto,
112
134
  mergeModificationAndEquipmentProperties,
113
135
  modificationPropertiesSchema,
136
+ newEquipmentDeletionDto,
114
137
  standardTextField,
115
138
  substationCreationDtoToForm,
116
139
  substationCreationEmptyFormData,
@@ -123,8 +146,13 @@ export {
123
146
  testValueWithinPowerInterval,
124
147
  toModificationProperties,
125
148
  translateSwitchKinds,
149
+ useHvdcLccDeletion,
126
150
  voltageLevelCreationDtoToForm,
127
151
  voltageLevelCreationEmptyFormData,
128
152
  voltageLevelCreationFormSchema,
129
- voltageLevelCreationFormToDto
153
+ voltageLevelCreationFormToDto,
154
+ voltageLevelModificationDtoToForm,
155
+ voltageLevelModificationEmptyFormData,
156
+ voltageLevelModificationFormSchema,
157
+ voltageLevelModificationFormToDto
130
158
  };
@@ -1,7 +1,6 @@
1
1
  import { LoadFormInfos } from './load.types';
2
2
  export interface LoadDialogHeaderProps {
3
3
  loadToModify?: LoadFormInfos | null;
4
- equipmentId?: string | null;
5
4
  isModification?: boolean;
6
5
  }
7
- export declare function LoadDialogHeader({ loadToModify, equipmentId, isModification, }: Readonly<LoadDialogHeaderProps>): import("react/jsx-runtime").JSX.Element;
6
+ export declare function LoadDialogHeader({ loadToModify, isModification }: Readonly<LoadDialogHeaderProps>): import("react/jsx-runtime").JSX.Element;
@@ -1,9 +1,9 @@
1
1
  import { jsx, jsxs } from "react/jsx-runtime";
2
2
  import { TextField, Box, Grid } from "@mui/material";
3
3
  import { useIntl } from "react-intl";
4
+ import { useWatch } from "react-hook-form";
4
5
  import { filledTextField } from "../../common/form.utils.js";
5
6
  import "react";
6
- import "react-hook-form";
7
7
  import "../../common/properties/propertyUtils.js";
8
8
  import { FieldConstants } from "../../../../utils/constants/fieldConstants.js";
9
9
  import "../../../../utils/conversionUtils.js";
@@ -38,19 +38,16 @@ import "../../../inputs/reactQueryBuilder/CustomReactQueryBuilder.js";
38
38
  import "uuid";
39
39
  import "../../../inputs/reactQueryBuilder/PropertyValueEditor.js";
40
40
  import "react-querybuilder";
41
- function LoadDialogHeader({
42
- loadToModify,
43
- equipmentId,
44
- isModification = false
45
- }) {
41
+ function LoadDialogHeader({ loadToModify, isModification = false }) {
46
42
  const intl = useIntl();
43
+ const equipmentId = useWatch({ name: FieldConstants.EQUIPMENT_ID });
47
44
  const loadIdField = isModification ? /* @__PURE__ */ jsx(
48
45
  TextField,
49
46
  {
50
47
  size: "small",
51
48
  fullWidth: true,
52
49
  label: "ID",
53
- value: equipmentId,
50
+ value: equipmentId ?? "",
54
51
  InputProps: {
55
52
  readOnly: true
56
53
  },
@@ -1,5 +1,6 @@
1
1
  import { LoadDialogTabsContentProps } from './LoadDialogTabsContent';
2
2
  import { LoadDialogHeaderProps } from './LoadDialogHeader';
3
- export interface LoadFormProps extends LoadDialogHeaderProps, Omit<LoadDialogTabsContentProps, 'tabIndex' | 'isModification' | 'loadToModify'> {
3
+ interface LoadFormProps extends LoadDialogHeaderProps, Omit<LoadDialogTabsContentProps, 'tabIndex' | 'isModification' | 'loadToModify'> {
4
4
  }
5
- export declare function LoadForm({ loadToModify, equipmentId, isModification, voltageLevelOptions, fetchBusesOrBusbarSections, PositionDiagramPane, }: Readonly<LoadFormProps>): import("react/jsx-runtime").JSX.Element;
5
+ export declare function LoadForm({ loadToModify, isModification, voltageLevelOptions, fetchBusesOrBusbarSections, PositionDiagramPane, }: Readonly<LoadFormProps>): import("react/jsx-runtime").JSX.Element;
6
+ export {};
@@ -13,7 +13,6 @@ import "../../../../utils/yupConfig.js";
13
13
  import { LoadDialogTabs } from "./LoadDialogTabs.js";
14
14
  function LoadForm({
15
15
  loadToModify,
16
- equipmentId,
17
16
  isModification,
18
17
  voltageLevelOptions,
19
18
  fetchBusesOrBusbarSections,
@@ -38,14 +37,7 @@ function LoadForm({
38
37
  setTabIndexesWithError(tabsInError);
39
38
  }, [errors]);
40
39
  return /* @__PURE__ */ jsxs(Grid, { container: true, direction: "column", spacing: 2, children: [
41
- /* @__PURE__ */ jsx(Grid, { item: true, children: /* @__PURE__ */ jsx(
42
- LoadDialogHeader,
43
- {
44
- loadToModify,
45
- equipmentId,
46
- isModification
47
- }
48
- ) }),
40
+ /* @__PURE__ */ jsx(Grid, { item: true, children: /* @__PURE__ */ jsx(LoadDialogHeader, { loadToModify, isModification }) }),
49
41
  /* @__PURE__ */ jsx(Grid, { item: true, children: /* @__PURE__ */ jsx(
50
42
  LoadDialogTabs,
51
43
  {
@@ -6,3 +6,4 @@
6
6
  */
7
7
  export * from './common';
8
8
  export * from './creation';
9
+ export * from './modification';
@@ -4,6 +4,7 @@ import { LoadDialogTabsContent } from "./common/LoadDialogTabsContent.js";
4
4
  import { LoadDialogHeader } from "./common/LoadDialogHeader.js";
5
5
  import { LoadForm } from "./common/LoadForm.js";
6
6
  import { loadCreationDtoToForm, loadCreationEmptyFormData, loadCreationFormSchema, loadCreationFormToDto } from "./creation/loadCreation.utils.js";
7
+ import { loadModificationDtoToForm, loadModificationEmptyFormData, loadModificationFormSchema, loadModificationFormToDto } from "./modification/loadModification.utils.js";
7
8
  export {
8
9
  LoadDialogHeader,
9
10
  LoadDialogTab,
@@ -13,5 +14,9 @@ export {
13
14
  loadCreationDtoToForm,
14
15
  loadCreationEmptyFormData,
15
16
  loadCreationFormSchema,
16
- loadCreationFormToDto
17
+ loadCreationFormToDto,
18
+ loadModificationDtoToForm,
19
+ loadModificationEmptyFormData,
20
+ loadModificationFormSchema,
21
+ loadModificationFormToDto
17
22
  };
@@ -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 './loadModification.types';
8
+ export * from './loadModification.utils';
@@ -0,0 +1,7 @@
1
+ import { loadModificationDtoToForm, loadModificationEmptyFormData, loadModificationFormSchema, loadModificationFormToDto } from "./loadModification.utils.js";
2
+ export {
3
+ loadModificationDtoToForm,
4
+ loadModificationEmptyFormData,
5
+ loadModificationFormSchema,
6
+ loadModificationFormToDto
7
+ };
@@ -0,0 +1,21 @@
1
+ import { Property } from '../../common';
2
+ import { AttributeModification, ModificationType } from '../../../../utils';
3
+ export interface LoadModificationDto {
4
+ type: ModificationType;
5
+ equipmentId: string;
6
+ equipmentName: AttributeModification<string> | null;
7
+ loadType: AttributeModification<string> | null;
8
+ p0: AttributeModification<number> | null;
9
+ q0: AttributeModification<number> | null;
10
+ voltageLevelId: AttributeModification<string> | null;
11
+ busOrBusbarSectionId: AttributeModification<string> | null;
12
+ connectionDirection: AttributeModification<string> | null;
13
+ connectionName: AttributeModification<string> | null;
14
+ connectionPosition: AttributeModification<number> | null;
15
+ terminalConnected: AttributeModification<boolean> | null;
16
+ pMeasurementValue: AttributeModification<number> | null;
17
+ pMeasurementValidity: AttributeModification<boolean> | null;
18
+ qMeasurementValue: AttributeModification<number> | null;
19
+ qMeasurementValidity: AttributeModification<boolean> | null;
20
+ properties: Property[] | null;
21
+ }
@@ -0,0 +1,69 @@
1
+ import { InferType } from 'yup';
2
+ import { DeepNullable } from '../../../../utils';
3
+ import { LoadModificationDto } from './loadModification.types';
4
+ export declare const loadModificationFormSchema: import('yup').ObjectSchema<NonNullable<{
5
+ connectivity: {
6
+ terminalConnected?: boolean | null | undefined;
7
+ connectionDirection?: string | null | undefined;
8
+ connectionName?: string | undefined;
9
+ connectionPosition?: number | null | undefined;
10
+ busOrBusbarSection: {
11
+ id?: string | undefined;
12
+ } | null;
13
+ voltageLevel: {
14
+ id?: string | undefined;
15
+ } | null;
16
+ };
17
+ stateEstimation: {
18
+ [x: string]: {
19
+ validity?: boolean | null | undefined;
20
+ value?: number | null | undefined;
21
+ };
22
+ [x: number]: {
23
+ validity?: boolean | null | undefined;
24
+ value?: number | null | undefined;
25
+ };
26
+ };
27
+ reactivePowerSetpoint: number | null | undefined;
28
+ activePowerSetpoint: number | undefined;
29
+ equipmentID: string;
30
+ equipmentName: string | null | undefined;
31
+ loadType: string | null | undefined;
32
+ } & {
33
+ AdditionalProperties: {
34
+ previousValue?: string | null | undefined;
35
+ value?: string | null | undefined;
36
+ added: NonNullable<boolean | undefined>;
37
+ deletionMark: NonNullable<boolean | undefined>;
38
+ name: string;
39
+ }[] | undefined;
40
+ }>, import('yup').AnyObject, {
41
+ connectivity: {
42
+ voltageLevel: {
43
+ id: undefined;
44
+ };
45
+ busOrBusbarSection: {
46
+ id: undefined;
47
+ };
48
+ connectionDirection: undefined;
49
+ connectionName: undefined;
50
+ connectionPosition: undefined;
51
+ terminalConnected: undefined;
52
+ };
53
+ stateEstimation: {
54
+ [x: string]: {
55
+ value: undefined;
56
+ validity: undefined;
57
+ };
58
+ };
59
+ reactivePowerSetpoint: undefined;
60
+ activePowerSetpoint: undefined;
61
+ equipmentID: undefined;
62
+ equipmentName: undefined;
63
+ loadType: undefined;
64
+ AdditionalProperties: "";
65
+ }, "">;
66
+ export type LoadModificationFormData = InferType<typeof loadModificationFormSchema>;
67
+ export declare const loadModificationEmptyFormData: DeepNullable<LoadModificationFormData>;
68
+ export declare const loadModificationDtoToForm: (loadDto: LoadModificationDto, includePreviousValues?: boolean) => LoadModificationFormData;
69
+ export declare const loadModificationFormToDto: (loadForm: LoadModificationFormData) => LoadModificationDto;