@gridsuite/commons-ui 0.249.0 → 0.250.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/composite/reactQueryBuilder/CustomReactQueryBuilder.js +23 -18
- package/dist/components/composite/reactQueryBuilder/PropertyValueEditor.js +1 -1
- package/dist/features/index.js +6 -2
- package/dist/features/network-modifications/common/currentLimits/limitsPane.utils.d.ts +3 -3
- package/dist/features/network-modifications/common/currentLimits/limitsPane.utils.js +1 -1
- package/dist/features/network-modifications/common/index.js +1 -2
- package/dist/features/network-modifications/common/measurements/branchActiveReactivePowerForm.utils.js +1 -1
- package/dist/features/network-modifications/common/measurements/index.js +1 -2
- package/dist/features/network-modifications/common/measurements/injectionActiveReactivePowerForm.utils.d.ts +0 -8
- package/dist/features/network-modifications/common/measurements/injectionActiveReactivePowerForm.utils.js +0 -8
- package/dist/features/network-modifications/index.js +6 -2
- package/dist/features/network-modifications/line/catalog/segment.utils.d.ts +1 -1
- package/dist/features/network-modifications/line/common/LineDialogTabsContent.js +2 -2
- package/dist/features/network-modifications/line/common/line.types.d.ts +7 -0
- package/dist/features/network-modifications/line/creation/lineCreation.types.d.ts +1 -7
- package/dist/features/network-modifications/line/creation/lineCreation.utils.d.ts +1 -1
- package/dist/features/network-modifications/line/index.d.ts +1 -0
- package/dist/features/network-modifications/line/index.js +6 -1
- package/dist/features/network-modifications/line/modification/index.d.ts +8 -0
- package/dist/features/network-modifications/line/modification/index.js +7 -0
- package/dist/features/network-modifications/line/modification/lineModification.types.d.ts +43 -0
- package/dist/features/network-modifications/line/modification/lineModification.types.js +1 -0
- package/dist/features/network-modifications/line/modification/lineModification.utils.d.ts +154 -0
- package/dist/features/network-modifications/line/modification/lineModification.utils.js +193 -0
- package/dist/index.js +6 -2
- package/dist/translations/en/networkModificationsEn.d.ts +2 -0
- package/dist/translations/en/networkModificationsEn.js +2 -0
- package/dist/translations/fr/networkModificationsFr.d.ts +2 -0
- package/dist/translations/fr/networkModificationsFr.js +2 -0
- package/package.json +1 -1
|
@@ -16,7 +16,7 @@ import { ValueSelector } from "./ValueSelector.js";
|
|
|
16
16
|
import { COMBINATOR_OPTIONS } from "../filter/expert/expertFilterConstants.js";
|
|
17
17
|
import { ErrorInput } from "../../ui/reactHookForm/errorManagement/ErrorInput.js";
|
|
18
18
|
import { FieldErrorAlert } from "../../ui/reactHookForm/errorManagement/FieldErrorAlert.js";
|
|
19
|
-
import { countRules, queryValidator
|
|
19
|
+
import { getOperators, countRules, queryValidator } from "../filter/expert/expertFilterUtils.js";
|
|
20
20
|
import { RemoveButton } from "./RemoveButton.js";
|
|
21
21
|
import { FieldSelector } from "./FieldSelector.js";
|
|
22
22
|
import { OperatorSelector } from "./OperatorSelector.js";
|
|
@@ -38,6 +38,22 @@ const customTranslations = {
|
|
|
38
38
|
value: { title: "" },
|
|
39
39
|
combinators: { title: "" }
|
|
40
40
|
};
|
|
41
|
+
const dnd = { ...ReactDnD, ...ReactDndHtml5Backend };
|
|
42
|
+
const controlElements = {
|
|
43
|
+
addRuleAction: RuleAddButton,
|
|
44
|
+
addGroupAction: GroupAddButton,
|
|
45
|
+
combinatorSelector: CombinatorSelector,
|
|
46
|
+
removeRuleAction: RemoveButton,
|
|
47
|
+
removeGroupAction: RemoveButton,
|
|
48
|
+
valueEditor: ValueEditor,
|
|
49
|
+
operatorSelector: OperatorSelector,
|
|
50
|
+
fieldSelector: FieldSelector,
|
|
51
|
+
valueSourceSelector: ValueSelector
|
|
52
|
+
};
|
|
53
|
+
const accessibleDescriptionGenerator = () => "";
|
|
54
|
+
const controlClassnames = {
|
|
55
|
+
queryBuilder: "queryBuilder-branches"
|
|
56
|
+
};
|
|
41
57
|
function CustomReactQueryBuilder(props) {
|
|
42
58
|
const { name, fields } = props;
|
|
43
59
|
const {
|
|
@@ -49,6 +65,7 @@ function CustomReactQueryBuilder(props) {
|
|
|
49
65
|
} = useFormContext();
|
|
50
66
|
const intl = useIntl();
|
|
51
67
|
const query = watch(name);
|
|
68
|
+
const getOperatorsMemo = useCallback((fieldName) => getOperators(fieldName, intl), [intl]);
|
|
52
69
|
const handleQueryChange = useCallback(
|
|
53
70
|
(newQuery) => {
|
|
54
71
|
const oldQuery = getValues(name);
|
|
@@ -68,7 +85,7 @@ function CustomReactQueryBuilder(props) {
|
|
|
68
85
|
}));
|
|
69
86
|
}, [intl]);
|
|
70
87
|
return /* @__PURE__ */ jsxs(Fragment, { children: [
|
|
71
|
-
/* @__PURE__ */ jsx(QueryBuilderMaterial, { children: /* @__PURE__ */ jsx(QueryBuilderDnD, { dnd
|
|
88
|
+
/* @__PURE__ */ jsx(QueryBuilderMaterial, { children: /* @__PURE__ */ jsx(QueryBuilderDnD, { dnd, children: /* @__PURE__ */ jsx(
|
|
72
89
|
QueryBuilder,
|
|
73
90
|
{
|
|
74
91
|
fields,
|
|
@@ -76,24 +93,12 @@ function CustomReactQueryBuilder(props) {
|
|
|
76
93
|
addRuleToNewGroups: true,
|
|
77
94
|
combinators,
|
|
78
95
|
onQueryChange: handleQueryChange,
|
|
79
|
-
getOperators:
|
|
96
|
+
getOperators: getOperatorsMemo,
|
|
80
97
|
validator: queryValidator,
|
|
81
|
-
controlClassnames
|
|
82
|
-
|
|
83
|
-
},
|
|
84
|
-
controlElements: {
|
|
85
|
-
addRuleAction: RuleAddButton,
|
|
86
|
-
addGroupAction: GroupAddButton,
|
|
87
|
-
combinatorSelector: CombinatorSelector,
|
|
88
|
-
removeRuleAction: RemoveButton,
|
|
89
|
-
removeGroupAction: RemoveButton,
|
|
90
|
-
valueEditor: ValueEditor,
|
|
91
|
-
operatorSelector: OperatorSelector,
|
|
92
|
-
fieldSelector: FieldSelector,
|
|
93
|
-
valueSourceSelector: ValueSelector
|
|
94
|
-
},
|
|
98
|
+
controlClassnames,
|
|
99
|
+
controlElements,
|
|
95
100
|
listsAsArrays: true,
|
|
96
|
-
accessibleDescriptionGenerator
|
|
101
|
+
accessibleDescriptionGenerator,
|
|
97
102
|
translations: customTranslations
|
|
98
103
|
}
|
|
99
104
|
) }) }),
|
|
@@ -46,7 +46,7 @@ function PropertyValueEditor(props) {
|
|
|
46
46
|
},
|
|
47
47
|
[valueEditorProps]
|
|
48
48
|
);
|
|
49
|
-
return /* @__PURE__ */ jsxs(Grid2, { container: true, spacing: 1, children: [
|
|
49
|
+
return /* @__PURE__ */ jsxs(Grid2, { container: true, spacing: 1, width: "100%", alignItems: "center", children: [
|
|
50
50
|
/* @__PURE__ */ jsx(Grid2, { size: 4, children: /* @__PURE__ */ jsx(
|
|
51
51
|
Autocomplete,
|
|
52
52
|
{
|
package/dist/features/index.js
CHANGED
|
@@ -74,7 +74,7 @@ import { PropertiesForm } from "./network-modifications/common/properties/Proper
|
|
|
74
74
|
import { PropertyForm } from "./network-modifications/common/properties/PropertyForm.js";
|
|
75
75
|
import { copyEquipmentPropertiesForCreation, createPropertyModification, creationPropertiesSchema, emptyProperties, fetchPredefinedProperties, getConcatenatedProperties, getFilledPropertiesFromModification, getPropertiesFromModification, getPropertyValue, initializedProperty, mergeModificationAndEquipmentProperties, modificationPropertiesSchema, toModificationProperties } from "./network-modifications/common/properties/propertyUtils.js";
|
|
76
76
|
import { getPowerWithValidityEditData, getPowerWithValidityEmptyFormData, getPowerWithValidityValidationSchema } from "./network-modifications/common/measurements/powerWithValidity.utils.js";
|
|
77
|
-
import {
|
|
77
|
+
import { getInjectionActiveReactivePowerEditDataProperties, getInjectionActiveReactivePowerEmptyFormData, getInjectionActiveReactivePowerEmptyFormDataProperties, getInjectionActiveReactivePowerValidationSchema, getInjectionActiveReactivePowerValidationSchemaProperties } from "./network-modifications/common/measurements/injectionActiveReactivePowerForm.utils.js";
|
|
78
78
|
import { getBranchActiveReactivePowerEditData, getBranchActiveReactivePowerEditDataProperties, getBranchActiveReactivePowerEmptyFormData, getBranchActiveReactivePowerEmptyFormDataProperties, getBranchActiveReactivePowerValidationSchema, getBranchActiveReactivePowerValidationSchemaObject, getBranchActiveReactivePowerValidationSchemaProperties } from "./network-modifications/common/measurements/branchActiveReactivePowerForm.utils.js";
|
|
79
79
|
import { PowerWithValidityForm } from "./network-modifications/common/measurements/PowerWithValidityForm.js";
|
|
80
80
|
import { PowerMeasurementsForm } from "./network-modifications/common/measurements/PowerMeasurementsForm.js";
|
|
@@ -206,6 +206,7 @@ import { LineDialogTabsContent } from "./network-modifications/line/common/LineD
|
|
|
206
206
|
import { LineDialogHeader } from "./network-modifications/line/common/LineDialogHeader.js";
|
|
207
207
|
import { LineForm } from "./network-modifications/line/common/LineForm.js";
|
|
208
208
|
import { lineCreationDtoToForm, lineCreationEmptyFormData, lineCreationFormSchema, lineCreationFormToDto } from "./network-modifications/line/creation/lineCreation.utils.js";
|
|
209
|
+
import { lineModificationDtoToForm, lineModificationEmptyFormData, lineModificationFormSchema, lineModificationFormToDto } from "./network-modifications/line/modification/lineModification.utils.js";
|
|
209
210
|
import { BuildStatusChip } from "./node/build-status-chip.js";
|
|
210
211
|
import { BuildStatus } from "./node/constant.js";
|
|
211
212
|
import { COLUMNS_WITHOUT_BORDER, DEPTH_CELL_WIDTH, DROP_FORBIDDEN_INDICATOR_BOTTOM, DROP_FORBIDDEN_INDICATOR_TOP, DROP_INDICATOR_BOTTOM, DROP_INDICATOR_TOP, MODIFICATION_ROW_HEIGHT, createCellBorderColor, createCellContentWrapperSx, createCellStyle, createEditDescriptionStyle, createHeaderCellStyle, createModificationNameCellStyle, createNameCellLabelBoxSx, createNameCellRootStyle, createRootNetworkChipCellSx, createRowSx, networkModificationTableStyles } from "./network-modification-table/network-modification-table-styles.js";
|
|
@@ -675,7 +676,6 @@ export {
|
|
|
675
676
|
getCreateSwitchesValidationSchema,
|
|
676
677
|
getFilledPropertiesFromModification,
|
|
677
678
|
getHvdcLccDeletionSchema,
|
|
678
|
-
getInjectionActiveReactivePowerEditData,
|
|
679
679
|
getInjectionActiveReactivePowerEditDataProperties,
|
|
680
680
|
getInjectionActiveReactivePowerEmptyFormData,
|
|
681
681
|
getInjectionActiveReactivePowerEmptyFormDataProperties,
|
|
@@ -739,6 +739,10 @@ export {
|
|
|
739
739
|
lineCreationEmptyFormData,
|
|
740
740
|
lineCreationFormSchema,
|
|
741
741
|
lineCreationFormToDto,
|
|
742
|
+
lineModificationDtoToForm,
|
|
743
|
+
lineModificationEmptyFormData,
|
|
744
|
+
lineModificationFormSchema,
|
|
745
|
+
lineModificationFormToDto,
|
|
742
746
|
loadCreationDtoToForm,
|
|
743
747
|
loadCreationEmptyFormData,
|
|
744
748
|
loadCreationFormSchema,
|
|
@@ -68,7 +68,7 @@ export declare const getLimitsValidationSchemaProps: (isEquipmentModification?:
|
|
|
68
68
|
}[] | undefined;
|
|
69
69
|
selectedOperationalLimitsGroupId1: string | null | undefined;
|
|
70
70
|
selectedOperationalLimitsGroupId2: string | null | undefined;
|
|
71
|
-
enableOLGModification: boolean | undefined
|
|
71
|
+
enableOLGModification: NonNullable<boolean | undefined>;
|
|
72
72
|
}, import('yup').AnyObject, {
|
|
73
73
|
operationalLimitsGroups: undefined;
|
|
74
74
|
selectedOperationalLimitsGroupId1: undefined;
|
|
@@ -105,7 +105,7 @@ declare const limitsValidationSchemaCreation: (id: string, isModification: boole
|
|
|
105
105
|
}[] | undefined;
|
|
106
106
|
selectedOperationalLimitsGroupId1: string | null | undefined;
|
|
107
107
|
selectedOperationalLimitsGroupId2: string | null | undefined;
|
|
108
|
-
enableOLGModification: boolean | undefined
|
|
108
|
+
enableOLGModification: NonNullable<boolean | undefined>;
|
|
109
109
|
}, import('yup').AnyObject, {
|
|
110
110
|
operationalLimitsGroups: undefined;
|
|
111
111
|
selectedOperationalLimitsGroupId1: undefined;
|
|
@@ -142,7 +142,7 @@ export declare const getLimitsValidationSchema: (id?: string, isModification?: b
|
|
|
142
142
|
}[] | undefined;
|
|
143
143
|
selectedOperationalLimitsGroupId1: string | null | undefined;
|
|
144
144
|
selectedOperationalLimitsGroupId2: string | null | undefined;
|
|
145
|
-
enableOLGModification: boolean | undefined
|
|
145
|
+
enableOLGModification: NonNullable<boolean | undefined>;
|
|
146
146
|
}, import('yup').AnyObject, {
|
|
147
147
|
operationalLimitsGroups: undefined;
|
|
148
148
|
selectedOperationalLimitsGroupId1: undefined;
|
|
@@ -114,7 +114,7 @@ const getLimitsValidationSchemaProps = (isEquipmentModification = false) => obje
|
|
|
114
114
|
}) : array(limitsGroupValidationSchema).required(),
|
|
115
115
|
[FieldConstants.SELECTED_OPERATIONAL_LIMITS_GROUP_ID1]: string().nullable(),
|
|
116
116
|
[FieldConstants.SELECTED_OPERATIONAL_LIMITS_GROUP_ID2]: string().nullable(),
|
|
117
|
-
[FieldConstants.ENABLE_OLG_MODIFICATION]: boolean()
|
|
117
|
+
[FieldConstants.ENABLE_OLG_MODIFICATION]: boolean().required()
|
|
118
118
|
});
|
|
119
119
|
const limitsValidationSchemaCreation = (id, isModification) => {
|
|
120
120
|
return { [id]: getLimitsValidationSchemaProps(isModification) };
|
|
@@ -3,7 +3,7 @@ import { PropertiesForm } from "./properties/PropertiesForm.js";
|
|
|
3
3
|
import { PropertyForm } from "./properties/PropertyForm.js";
|
|
4
4
|
import { copyEquipmentPropertiesForCreation, createPropertyModification, creationPropertiesSchema, emptyProperties, fetchPredefinedProperties, getConcatenatedProperties, getFilledPropertiesFromModification, getPropertiesFromModification, getPropertyValue, initializedProperty, mergeModificationAndEquipmentProperties, modificationPropertiesSchema, toModificationProperties } from "./properties/propertyUtils.js";
|
|
5
5
|
import { getPowerWithValidityEditData, getPowerWithValidityEmptyFormData, getPowerWithValidityValidationSchema } from "./measurements/powerWithValidity.utils.js";
|
|
6
|
-
import {
|
|
6
|
+
import { getInjectionActiveReactivePowerEditDataProperties, getInjectionActiveReactivePowerEmptyFormData, getInjectionActiveReactivePowerEmptyFormDataProperties, getInjectionActiveReactivePowerValidationSchema, getInjectionActiveReactivePowerValidationSchemaProperties } from "./measurements/injectionActiveReactivePowerForm.utils.js";
|
|
7
7
|
import { getBranchActiveReactivePowerEditData, getBranchActiveReactivePowerEditDataProperties, getBranchActiveReactivePowerEmptyFormData, getBranchActiveReactivePowerEmptyFormDataProperties, getBranchActiveReactivePowerValidationSchema, getBranchActiveReactivePowerValidationSchemaObject, getBranchActiveReactivePowerValidationSchemaProperties } from "./measurements/branchActiveReactivePowerForm.utils.js";
|
|
8
8
|
import { PowerWithValidityForm } from "./measurements/PowerWithValidityForm.js";
|
|
9
9
|
import { PowerMeasurementsForm } from "./measurements/PowerMeasurementsForm.js";
|
|
@@ -124,7 +124,6 @@ export {
|
|
|
124
124
|
getConnectivityWithoutPositionValidationSchema,
|
|
125
125
|
getCont1Cont2WithPositionEmptyFormData,
|
|
126
126
|
getFilledPropertiesFromModification,
|
|
127
|
-
getInjectionActiveReactivePowerEditData,
|
|
128
127
|
getInjectionActiveReactivePowerEditDataProperties,
|
|
129
128
|
getInjectionActiveReactivePowerEmptyFormData,
|
|
130
129
|
getInjectionActiveReactivePowerEmptyFormDataProperties,
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { object } from "yup";
|
|
2
|
-
import { getPowerWithValidityEmptyFormData,
|
|
2
|
+
import { getPowerWithValidityEmptyFormData, getPowerWithValidityValidationSchema, getPowerWithValidityEditData } from "./powerWithValidity.utils.js";
|
|
3
3
|
import { FieldConstants } from "../../../../utils/constants/fieldConstants.js";
|
|
4
4
|
import "../../../../utils/conversionUtils.js";
|
|
5
5
|
import "../../../../utils/types/equipmentType.js";
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { getPowerWithValidityEditData, getPowerWithValidityEmptyFormData, getPowerWithValidityValidationSchema } from "./powerWithValidity.utils.js";
|
|
2
|
-
import {
|
|
2
|
+
import { getInjectionActiveReactivePowerEditDataProperties, getInjectionActiveReactivePowerEmptyFormData, getInjectionActiveReactivePowerEmptyFormDataProperties, getInjectionActiveReactivePowerValidationSchema, getInjectionActiveReactivePowerValidationSchemaProperties } from "./injectionActiveReactivePowerForm.utils.js";
|
|
3
3
|
import { getBranchActiveReactivePowerEditData, getBranchActiveReactivePowerEditDataProperties, getBranchActiveReactivePowerEmptyFormData, getBranchActiveReactivePowerEmptyFormDataProperties, getBranchActiveReactivePowerValidationSchema, getBranchActiveReactivePowerValidationSchemaObject, getBranchActiveReactivePowerValidationSchemaProperties } from "./branchActiveReactivePowerForm.utils.js";
|
|
4
4
|
import { PowerWithValidityForm } from "./PowerWithValidityForm.js";
|
|
5
5
|
import { PowerMeasurementsForm } from "./PowerMeasurementsForm.js";
|
|
@@ -17,7 +17,6 @@ export {
|
|
|
17
17
|
getBranchActiveReactivePowerValidationSchema,
|
|
18
18
|
getBranchActiveReactivePowerValidationSchemaObject,
|
|
19
19
|
getBranchActiveReactivePowerValidationSchemaProperties,
|
|
20
|
-
getInjectionActiveReactivePowerEditData,
|
|
21
20
|
getInjectionActiveReactivePowerEditDataProperties,
|
|
22
21
|
getInjectionActiveReactivePowerEmptyFormData,
|
|
23
22
|
getInjectionActiveReactivePowerEmptyFormDataProperties,
|
|
@@ -48,11 +48,3 @@ export declare function getInjectionActiveReactivePowerEditDataProperties(inject
|
|
|
48
48
|
validity: boolean;
|
|
49
49
|
};
|
|
50
50
|
};
|
|
51
|
-
export declare function getInjectionActiveReactivePowerEditData(id: string, injectionData: any): {
|
|
52
|
-
[id]: {
|
|
53
|
-
[x: string]: {
|
|
54
|
-
value: number;
|
|
55
|
-
validity: boolean;
|
|
56
|
-
};
|
|
57
|
-
};
|
|
58
|
-
};
|
|
@@ -37,15 +37,7 @@ function getInjectionActiveReactivePowerEditDataProperties(injectionData) {
|
|
|
37
37
|
})
|
|
38
38
|
};
|
|
39
39
|
}
|
|
40
|
-
function getInjectionActiveReactivePowerEditData(id, injectionData) {
|
|
41
|
-
return {
|
|
42
|
-
[id]: {
|
|
43
|
-
...getInjectionActiveReactivePowerEditDataProperties(injectionData)
|
|
44
|
-
}
|
|
45
|
-
};
|
|
46
|
-
}
|
|
47
40
|
export {
|
|
48
|
-
getInjectionActiveReactivePowerEditData,
|
|
49
41
|
getInjectionActiveReactivePowerEditDataProperties,
|
|
50
42
|
getInjectionActiveReactivePowerEmptyFormData,
|
|
51
43
|
getInjectionActiveReactivePowerEmptyFormDataProperties,
|
|
@@ -3,7 +3,7 @@ import { PropertiesForm } from "./common/properties/PropertiesForm.js";
|
|
|
3
3
|
import { PropertyForm } from "./common/properties/PropertyForm.js";
|
|
4
4
|
import { copyEquipmentPropertiesForCreation, createPropertyModification, creationPropertiesSchema, emptyProperties, fetchPredefinedProperties, getConcatenatedProperties, getFilledPropertiesFromModification, getPropertiesFromModification, getPropertyValue, initializedProperty, mergeModificationAndEquipmentProperties, modificationPropertiesSchema, toModificationProperties } from "./common/properties/propertyUtils.js";
|
|
5
5
|
import { getPowerWithValidityEditData, getPowerWithValidityEmptyFormData, getPowerWithValidityValidationSchema } from "./common/measurements/powerWithValidity.utils.js";
|
|
6
|
-
import {
|
|
6
|
+
import { getInjectionActiveReactivePowerEditDataProperties, getInjectionActiveReactivePowerEmptyFormData, getInjectionActiveReactivePowerEmptyFormDataProperties, getInjectionActiveReactivePowerValidationSchema, getInjectionActiveReactivePowerValidationSchemaProperties } from "./common/measurements/injectionActiveReactivePowerForm.utils.js";
|
|
7
7
|
import { getBranchActiveReactivePowerEditData, getBranchActiveReactivePowerEditDataProperties, getBranchActiveReactivePowerEmptyFormData, getBranchActiveReactivePowerEmptyFormDataProperties, getBranchActiveReactivePowerValidationSchema, getBranchActiveReactivePowerValidationSchemaObject, getBranchActiveReactivePowerValidationSchemaProperties } from "./common/measurements/branchActiveReactivePowerForm.utils.js";
|
|
8
8
|
import { PowerWithValidityForm } from "./common/measurements/PowerWithValidityForm.js";
|
|
9
9
|
import { PowerMeasurementsForm } from "./common/measurements/PowerMeasurementsForm.js";
|
|
@@ -135,6 +135,7 @@ import { LineDialogTabsContent } from "./line/common/LineDialogTabsContent.js";
|
|
|
135
135
|
import { LineDialogHeader } from "./line/common/LineDialogHeader.js";
|
|
136
136
|
import { LineForm } from "./line/common/LineForm.js";
|
|
137
137
|
import { lineCreationDtoToForm, lineCreationEmptyFormData, lineCreationFormSchema, lineCreationFormToDto } from "./line/creation/lineCreation.utils.js";
|
|
138
|
+
import { lineModificationDtoToForm, lineModificationEmptyFormData, lineModificationFormSchema, lineModificationFormToDto } from "./line/modification/lineModification.utils.js";
|
|
138
139
|
export {
|
|
139
140
|
APPLICABILITY,
|
|
140
141
|
ActivePowerControlForm,
|
|
@@ -310,7 +311,6 @@ export {
|
|
|
310
311
|
getCreateSwitchesValidationSchema,
|
|
311
312
|
getFilledPropertiesFromModification,
|
|
312
313
|
getHvdcLccDeletionSchema,
|
|
313
|
-
getInjectionActiveReactivePowerEditData,
|
|
314
314
|
getInjectionActiveReactivePowerEditDataProperties,
|
|
315
315
|
getInjectionActiveReactivePowerEmptyFormData,
|
|
316
316
|
getInjectionActiveReactivePowerEmptyFormDataProperties,
|
|
@@ -357,6 +357,10 @@ export {
|
|
|
357
357
|
lineCreationEmptyFormData,
|
|
358
358
|
lineCreationFormSchema,
|
|
359
359
|
lineCreationFormToDto,
|
|
360
|
+
lineModificationDtoToForm,
|
|
361
|
+
lineModificationEmptyFormData,
|
|
362
|
+
lineModificationFormSchema,
|
|
363
|
+
lineModificationFormToDto,
|
|
360
364
|
loadCreationDtoToForm,
|
|
361
365
|
loadCreationEmptyFormData,
|
|
362
366
|
loadCreationFormSchema,
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { InferType } from 'yup';
|
|
2
2
|
import { CurrentLimitsInfo } from './lineCatalog.type';
|
|
3
3
|
import { OperationalLimitsGroupFormSchema } from '../../common/currentLimits/operationalLimitsGroups/operationalLimitsGroups.types';
|
|
4
|
-
import { LineSegmentInfos } from '../
|
|
4
|
+
import { LineSegmentInfos } from '../common/line.types';
|
|
5
5
|
import { FieldConstants } from '../../../../utils';
|
|
6
6
|
export declare const SegmentTemporaryLimitSchema: import('yup').ObjectSchema<{
|
|
7
7
|
limitValue: number;
|
|
@@ -86,8 +86,8 @@ function LineDialogTabsContent({
|
|
|
86
86
|
}
|
|
87
87
|
)
|
|
88
88
|
] }),
|
|
89
|
-
/* @__PURE__ */ jsx(Box, { hidden: tabIndex !== LineDialogTab.CHARACTERISTICS_TAB,
|
|
90
|
-
/* @__PURE__ */ jsx(Box, { hidden: tabIndex !== LineDialogTab.LIMITS_TAB,
|
|
89
|
+
/* @__PURE__ */ jsx(Box, { hidden: tabIndex !== LineDialogTab.CHARACTERISTICS_TAB, children: /* @__PURE__ */ jsx(LineCharacteristicsPane, { lineToModify, isModification }) }),
|
|
90
|
+
/* @__PURE__ */ jsx(Box, { hidden: tabIndex !== LineDialogTab.LIMITS_TAB, children: /* @__PURE__ */ jsx(LimitsPane, { equipmentToModify: lineToModify, clearableFields }) }),
|
|
91
91
|
isModification && /* @__PURE__ */ jsx(Box, { hidden: tabIndex !== LineDialogTab.STATE_ESTIMATION_TAB, children: /* @__PURE__ */ jsx(BranchActiveReactivePowerMeasurementsForm, { equipmentToModify: lineToModify }) })
|
|
92
92
|
] });
|
|
93
93
|
}
|
|
@@ -1,6 +1,13 @@
|
|
|
1
1
|
import { ConnectablePositionInfos } from '../../common/connectivity/connectivity.type';
|
|
2
2
|
import { CurrentLimitsData } from '../../common/currentLimits/limits.types';
|
|
3
3
|
import { EquipmentWithProperties } from '../../common/properties/propertyUtils';
|
|
4
|
+
export interface LineSegmentInfos {
|
|
5
|
+
segmentTypeId: string;
|
|
6
|
+
segmentDistanceValue: number;
|
|
7
|
+
area: string | null;
|
|
8
|
+
temperature: string;
|
|
9
|
+
shapeFactor: number | null;
|
|
10
|
+
}
|
|
4
11
|
export type BranchInfos = EquipmentWithProperties & {
|
|
5
12
|
name: string;
|
|
6
13
|
voltageLevelId1: string;
|
|
@@ -1,13 +1,7 @@
|
|
|
1
1
|
import { ModificationType } from '../../../../utils';
|
|
2
2
|
import { Property } from '../../common/properties/properties.type';
|
|
3
3
|
import { OperationalLimitsGroupFormSchema } from '../../common/currentLimits/operationalLimitsGroups/operationalLimitsGroups.types';
|
|
4
|
-
|
|
5
|
-
segmentTypeId: string;
|
|
6
|
-
segmentDistanceValue: number;
|
|
7
|
-
area: string | null;
|
|
8
|
-
temperature: string;
|
|
9
|
-
shapeFactor: number | null;
|
|
10
|
-
}
|
|
4
|
+
import { LineSegmentInfos } from '../common/line.types';
|
|
11
5
|
export interface LineCreationDto {
|
|
12
6
|
type: ModificationType;
|
|
13
7
|
uuid?: string | null;
|
|
@@ -39,7 +39,6 @@ export declare const lineCreationFormSchema: (displayConnectivity: boolean) => i
|
|
|
39
39
|
x?: number | null | undefined;
|
|
40
40
|
};
|
|
41
41
|
limits: {
|
|
42
|
-
enableOLGModification?: boolean | undefined;
|
|
43
42
|
operationalLimitsGroups?: {
|
|
44
43
|
AdditionalProperties?: {
|
|
45
44
|
previousValue?: string | null | undefined;
|
|
@@ -67,6 +66,7 @@ export declare const lineCreationFormSchema: (displayConnectivity: boolean) => i
|
|
|
67
66
|
}[] | undefined;
|
|
68
67
|
selectedOperationalLimitsGroupId1?: string | null | undefined;
|
|
69
68
|
selectedOperationalLimitsGroupId2?: string | null | undefined;
|
|
69
|
+
enableOLGModification: NonNullable<boolean | undefined>;
|
|
70
70
|
};
|
|
71
71
|
stateEstimation: {
|
|
72
72
|
[x: string]: {
|
|
@@ -8,6 +8,7 @@ import { LineDialogTabsContent } from "./common/LineDialogTabsContent.js";
|
|
|
8
8
|
import { LineDialogHeader } from "./common/LineDialogHeader.js";
|
|
9
9
|
import { LineForm } from "./common/LineForm.js";
|
|
10
10
|
import { lineCreationDtoToForm, lineCreationEmptyFormData, lineCreationFormSchema, lineCreationFormToDto } from "./creation/lineCreation.utils.js";
|
|
11
|
+
import { lineModificationDtoToForm, lineModificationEmptyFormData, lineModificationFormSchema, lineModificationFormToDto } from "./modification/lineModification.utils.js";
|
|
11
12
|
export {
|
|
12
13
|
CATEGORIES_TABS,
|
|
13
14
|
LINE_TAB_FIELDS,
|
|
@@ -33,5 +34,9 @@ export {
|
|
|
33
34
|
lineCreationDtoToForm,
|
|
34
35
|
lineCreationEmptyFormData,
|
|
35
36
|
lineCreationFormSchema,
|
|
36
|
-
lineCreationFormToDto
|
|
37
|
+
lineCreationFormToDto,
|
|
38
|
+
lineModificationDtoToForm,
|
|
39
|
+
lineModificationEmptyFormData,
|
|
40
|
+
lineModificationFormSchema,
|
|
41
|
+
lineModificationFormToDto
|
|
37
42
|
};
|
|
@@ -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 './lineModification.types';
|
|
8
|
+
export * from './lineModification.utils';
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
import { lineModificationDtoToForm, lineModificationEmptyFormData, lineModificationFormSchema, lineModificationFormToDto } from "./lineModification.utils.js";
|
|
2
|
+
export {
|
|
3
|
+
lineModificationDtoToForm,
|
|
4
|
+
lineModificationEmptyFormData,
|
|
5
|
+
lineModificationFormSchema,
|
|
6
|
+
lineModificationFormToDto
|
|
7
|
+
};
|
|
@@ -0,0 +1,43 @@
|
|
|
1
|
+
import { Property } from '../../common/properties/properties.type';
|
|
2
|
+
import { AttributeModification, ModificationType } from '../../../../utils';
|
|
3
|
+
import { OperationalLimitsGroup } from '../../common/currentLimits/operationalLimitsGroups/operationalLimitsGroups.types';
|
|
4
|
+
import { LineSegmentInfos } from '../common/line.types';
|
|
5
|
+
export interface LineModificationDto {
|
|
6
|
+
type: ModificationType;
|
|
7
|
+
equipmentId: string;
|
|
8
|
+
equipmentName: AttributeModification<string> | null;
|
|
9
|
+
properties: Property[] | null;
|
|
10
|
+
r: AttributeModification<number> | null;
|
|
11
|
+
x: AttributeModification<number> | null;
|
|
12
|
+
enableOLGModification: boolean;
|
|
13
|
+
operationalLimitsGroups: OperationalLimitsGroup[];
|
|
14
|
+
operationalLimitsGroupsModificationType: 'MODIFY' | 'REPLACE' | null;
|
|
15
|
+
selectedOperationalLimitsGroupId1: AttributeModification<string> | null;
|
|
16
|
+
selectedOperationalLimitsGroupId2: AttributeModification<string> | null;
|
|
17
|
+
voltageLevelId1: AttributeModification<string> | null;
|
|
18
|
+
voltageLevelId2: AttributeModification<string> | null;
|
|
19
|
+
busOrBusbarSectionId1: AttributeModification<string> | null;
|
|
20
|
+
busOrBusbarSectionId2: AttributeModification<string> | null;
|
|
21
|
+
connectionName1: AttributeModification<string> | null;
|
|
22
|
+
connectionName2: AttributeModification<string> | null;
|
|
23
|
+
connectionDirection1: AttributeModification<string> | null;
|
|
24
|
+
connectionDirection2: AttributeModification<string> | null;
|
|
25
|
+
connectionPosition1: AttributeModification<number> | null;
|
|
26
|
+
connectionPosition2: AttributeModification<number> | null;
|
|
27
|
+
terminal1Connected: AttributeModification<boolean> | null;
|
|
28
|
+
terminal2Connected: AttributeModification<boolean> | null;
|
|
29
|
+
p1MeasurementValue: AttributeModification<number> | null;
|
|
30
|
+
p1MeasurementValidity: AttributeModification<boolean> | null;
|
|
31
|
+
q1MeasurementValue: AttributeModification<number> | null;
|
|
32
|
+
q1MeasurementValidity: AttributeModification<boolean> | null;
|
|
33
|
+
p2MeasurementValue: AttributeModification<number> | null;
|
|
34
|
+
p2MeasurementValidity: AttributeModification<boolean> | null;
|
|
35
|
+
q2MeasurementValue: AttributeModification<number> | null;
|
|
36
|
+
q2MeasurementValidity: AttributeModification<boolean> | null;
|
|
37
|
+
g1: AttributeModification<number> | null;
|
|
38
|
+
b1: AttributeModification<number> | null;
|
|
39
|
+
g2: AttributeModification<number> | null;
|
|
40
|
+
b2: AttributeModification<number> | null;
|
|
41
|
+
lineSegments?: LineSegmentInfos[];
|
|
42
|
+
applySegmentsLimits: boolean;
|
|
43
|
+
}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
|
|
@@ -0,0 +1,154 @@
|
|
|
1
|
+
import { InferType } from 'yup';
|
|
2
|
+
import { IntlShape } from 'react-intl';
|
|
3
|
+
import { DeepNullable } from '../../../../utils';
|
|
4
|
+
import { LineModificationDto } from './lineModification.types';
|
|
5
|
+
export declare const lineModificationFormSchema: import('yup').ObjectSchema<NonNullable<{
|
|
6
|
+
equipmentID: string;
|
|
7
|
+
equipmentName: string | null | undefined;
|
|
8
|
+
connectivity: {
|
|
9
|
+
connectivity1: {
|
|
10
|
+
terminalConnected?: boolean | null | undefined;
|
|
11
|
+
connectionDirection?: string | null | undefined;
|
|
12
|
+
connectionName?: string | undefined;
|
|
13
|
+
connectionPosition?: number | null | undefined;
|
|
14
|
+
busOrBusbarSection: {
|
|
15
|
+
id?: string | undefined;
|
|
16
|
+
} | null;
|
|
17
|
+
voltageLevel: {
|
|
18
|
+
id?: string | undefined;
|
|
19
|
+
} | null;
|
|
20
|
+
};
|
|
21
|
+
connectivity2: {
|
|
22
|
+
terminalConnected?: boolean | null | undefined;
|
|
23
|
+
connectionDirection?: string | null | undefined;
|
|
24
|
+
connectionName?: string | undefined;
|
|
25
|
+
connectionPosition?: number | null | undefined;
|
|
26
|
+
busOrBusbarSection: {
|
|
27
|
+
id?: string | undefined;
|
|
28
|
+
} | null;
|
|
29
|
+
voltageLevel: {
|
|
30
|
+
id?: string | undefined;
|
|
31
|
+
} | null;
|
|
32
|
+
};
|
|
33
|
+
};
|
|
34
|
+
characteristics: {
|
|
35
|
+
b1?: number | null | undefined;
|
|
36
|
+
b2?: number | null | undefined;
|
|
37
|
+
g1?: number | null | undefined;
|
|
38
|
+
g2?: number | null | undefined;
|
|
39
|
+
r?: number | null | undefined;
|
|
40
|
+
x?: number | null | undefined;
|
|
41
|
+
};
|
|
42
|
+
limits: {
|
|
43
|
+
operationalLimitsGroups?: {
|
|
44
|
+
AdditionalProperties?: {
|
|
45
|
+
previousValue?: string | null | undefined;
|
|
46
|
+
added: NonNullable<boolean | undefined>;
|
|
47
|
+
deletionMark: NonNullable<boolean | undefined>;
|
|
48
|
+
name: string;
|
|
49
|
+
value: string;
|
|
50
|
+
}[] | undefined;
|
|
51
|
+
limitsProperties?: {
|
|
52
|
+
name: string;
|
|
53
|
+
value: string;
|
|
54
|
+
}[] | undefined;
|
|
55
|
+
operationalLimitsGroupsIsDuplicate?: boolean | null | undefined;
|
|
56
|
+
applicability: string;
|
|
57
|
+
currentLimits: {
|
|
58
|
+
temporaryLimits?: {
|
|
59
|
+
name?: string | null | undefined;
|
|
60
|
+
value?: number | null | undefined;
|
|
61
|
+
acceptableDuration?: number | null | undefined;
|
|
62
|
+
}[] | undefined;
|
|
63
|
+
permanentLimit: number;
|
|
64
|
+
};
|
|
65
|
+
id: string;
|
|
66
|
+
name: string;
|
|
67
|
+
}[] | undefined;
|
|
68
|
+
selectedOperationalLimitsGroupId1?: string | null | undefined;
|
|
69
|
+
selectedOperationalLimitsGroupId2?: string | null | undefined;
|
|
70
|
+
enableOLGModification: NonNullable<boolean | undefined>;
|
|
71
|
+
};
|
|
72
|
+
stateEstimation: {
|
|
73
|
+
[x: string]: {
|
|
74
|
+
validity?: boolean | null | undefined;
|
|
75
|
+
value?: number | null | undefined;
|
|
76
|
+
};
|
|
77
|
+
[x: number]: {
|
|
78
|
+
validity?: boolean | null | undefined;
|
|
79
|
+
value?: number | null | undefined;
|
|
80
|
+
};
|
|
81
|
+
};
|
|
82
|
+
lineSegments: {
|
|
83
|
+
segmentDistanceValue: number;
|
|
84
|
+
segmentTypeId: string;
|
|
85
|
+
area: string | null;
|
|
86
|
+
temperature: string | null;
|
|
87
|
+
shapeFactor: number | null;
|
|
88
|
+
}[] | undefined;
|
|
89
|
+
applySegmentsLimits: NonNullable<boolean | undefined>;
|
|
90
|
+
} & {
|
|
91
|
+
AdditionalProperties: {
|
|
92
|
+
previousValue?: string | null | undefined;
|
|
93
|
+
value?: string | null | undefined;
|
|
94
|
+
added: NonNullable<boolean | undefined>;
|
|
95
|
+
deletionMark: NonNullable<boolean | undefined>;
|
|
96
|
+
name: string;
|
|
97
|
+
}[] | undefined;
|
|
98
|
+
}>, import('yup').AnyObject, {
|
|
99
|
+
equipmentID: undefined;
|
|
100
|
+
equipmentName: undefined;
|
|
101
|
+
connectivity: {
|
|
102
|
+
connectivity1: {
|
|
103
|
+
voltageLevel: {
|
|
104
|
+
id: undefined;
|
|
105
|
+
};
|
|
106
|
+
busOrBusbarSection: {
|
|
107
|
+
id: undefined;
|
|
108
|
+
};
|
|
109
|
+
connectionDirection: undefined;
|
|
110
|
+
connectionName: undefined;
|
|
111
|
+
connectionPosition: undefined;
|
|
112
|
+
terminalConnected: undefined;
|
|
113
|
+
};
|
|
114
|
+
connectivity2: {
|
|
115
|
+
voltageLevel: {
|
|
116
|
+
id: undefined;
|
|
117
|
+
};
|
|
118
|
+
busOrBusbarSection: {
|
|
119
|
+
id: undefined;
|
|
120
|
+
};
|
|
121
|
+
connectionDirection: undefined;
|
|
122
|
+
connectionName: undefined;
|
|
123
|
+
connectionPosition: undefined;
|
|
124
|
+
terminalConnected: undefined;
|
|
125
|
+
};
|
|
126
|
+
};
|
|
127
|
+
characteristics: {
|
|
128
|
+
r: undefined;
|
|
129
|
+
x: undefined;
|
|
130
|
+
b1: undefined;
|
|
131
|
+
g1: undefined;
|
|
132
|
+
b2: undefined;
|
|
133
|
+
g2: undefined;
|
|
134
|
+
};
|
|
135
|
+
limits: {
|
|
136
|
+
operationalLimitsGroups: undefined;
|
|
137
|
+
selectedOperationalLimitsGroupId1: undefined;
|
|
138
|
+
selectedOperationalLimitsGroupId2: undefined;
|
|
139
|
+
enableOLGModification: undefined;
|
|
140
|
+
};
|
|
141
|
+
stateEstimation: {
|
|
142
|
+
[x: string]: {
|
|
143
|
+
value: undefined;
|
|
144
|
+
validity: undefined;
|
|
145
|
+
};
|
|
146
|
+
};
|
|
147
|
+
lineSegments: "";
|
|
148
|
+
applySegmentsLimits: undefined;
|
|
149
|
+
AdditionalProperties: "";
|
|
150
|
+
}, "">;
|
|
151
|
+
export type LineModificationFormData = InferType<typeof lineModificationFormSchema>;
|
|
152
|
+
export declare const lineModificationEmptyFormData: DeepNullable<LineModificationFormData>;
|
|
153
|
+
export declare const lineModificationDtoToForm: (lineDto: LineModificationDto, includePreviousValues?: boolean) => LineModificationFormData;
|
|
154
|
+
export declare const lineModificationFormToDto: (line: LineModificationFormData, intl: IntlShape) => LineModificationDto;
|
|
@@ -0,0 +1,193 @@
|
|
|
1
|
+
import { object, boolean, string } from "yup";
|
|
2
|
+
import { FieldConstants } from "../../../../utils/constants/fieldConstants.js";
|
|
3
|
+
import { convertInputValue, toModificationOperation, convertOutputValue } from "../../../../utils/conversionUtils.js";
|
|
4
|
+
import "../../../../utils/types/equipmentType.js";
|
|
5
|
+
import { ModificationType } from "../../../../utils/types/modificationType.js";
|
|
6
|
+
import { FieldType } from "../../../../utils/types/fieldType.js";
|
|
7
|
+
import "react/jsx-runtime";
|
|
8
|
+
import "@mui/icons-material";
|
|
9
|
+
import { sanitizeString } from "../../../../utils/ts-utils.js";
|
|
10
|
+
import { getBranchConnectivityWithPositionSchema, getBranchConnectivityWithPositionEmptyFormDataProps, getConnectivityFormDataProps } from "../../common/connectivity/connectivityForm.utils.js";
|
|
11
|
+
import "@mui/material";
|
|
12
|
+
import "react";
|
|
13
|
+
import "react-intl";
|
|
14
|
+
import "../../../../components/ui/overflowableText/OverflowableText.js";
|
|
15
|
+
import "react-hook-form";
|
|
16
|
+
import "localized-countries";
|
|
17
|
+
import "localized-countries/data/fr";
|
|
18
|
+
import "localized-countries/data/en";
|
|
19
|
+
import "notistack";
|
|
20
|
+
import "../../../../components/ui/reactHookForm/provider/CustomFormProvider.js";
|
|
21
|
+
import "../../../../components/ui/treeViewFinder/TreeViewFinder.js";
|
|
22
|
+
import "../../../../components/ui/reactHookForm/numbers/RangeInput.js";
|
|
23
|
+
import "@material-symbols/svg-400/outlined/left_panel_open.svg?react";
|
|
24
|
+
import "@material-symbols/svg-400/outlined/arrows_output.svg?react";
|
|
25
|
+
import "@material-symbols/svg-400/outlined/arrows_input.svg?react";
|
|
26
|
+
import "@material-symbols/svg-400/outlined/left_panel_close.svg?react";
|
|
27
|
+
import "@material-symbols/svg-400/outlined/add_notes.svg?react";
|
|
28
|
+
import "../../../../components/ui/dialogs/descriptionModificationDialog/DescriptionModificationDialog.js";
|
|
29
|
+
import "../../../../components/ui/reactHookForm/expandableInput/ExpandableInput.js";
|
|
30
|
+
import "../../../../components/ui/reactHookForm/directory-item-input/directory-item-utils.js";
|
|
31
|
+
import "@hello-pangea/dnd";
|
|
32
|
+
import "../../../../components/ui/dialogs/elementSaveDialog/ElementSaveDialog.js";
|
|
33
|
+
import "../../../../components/ui/snackbarProvider/SnackbarProvider.js";
|
|
34
|
+
import "mui-nested-menu";
|
|
35
|
+
import "react-resizable-panels";
|
|
36
|
+
import "react-papaparse";
|
|
37
|
+
import { modificationPropertiesSchema, getPropertiesFromModification, toModificationProperties } from "../../common/properties/propertyUtils.js";
|
|
38
|
+
import { getLineCharacteristicsValidationSchemaProps, getLineCharacteristicsEmptyFormData } from "../characteristics/lineCharacteristicsPane.utils.js";
|
|
39
|
+
import "react-dom";
|
|
40
|
+
import "autosuggest-highlight/match";
|
|
41
|
+
import "autosuggest-highlight/parse";
|
|
42
|
+
import "clsx";
|
|
43
|
+
import "../../../../components/composite/filter/FilterCreationDialog.js";
|
|
44
|
+
import "../../../../components/composite/filter/HeaderFilterForm.js";
|
|
45
|
+
import "../../../../components/composite/filter/explicitNaming/ExplicitNamingFilterForm.js";
|
|
46
|
+
import "../../../../components/composite/filter/expert/ExpertFilterForm.js";
|
|
47
|
+
import "../../../../components/composite/filter/expert/ExpertFilterEditionDialog.js";
|
|
48
|
+
import "../../../../components/composite/filter/expert/expertFilterConstants.js";
|
|
49
|
+
import "react-querybuilder";
|
|
50
|
+
import "uuid";
|
|
51
|
+
import "../../../../components/composite/filter/explicitNaming/ExplicitNamingFilterEditionDialog.js";
|
|
52
|
+
import "../../../../components/composite/filter/utils/filterFormUtils.js";
|
|
53
|
+
import "@react-querybuilder/material";
|
|
54
|
+
import "../../../../components/composite/reactQueryBuilder/CustomReactQueryBuilder.js";
|
|
55
|
+
import "../../../../components/composite/reactQueryBuilder/PropertyValueEditor.js";
|
|
56
|
+
import "../../../../components/composite/agGridTable/BottomTableButtons.js";
|
|
57
|
+
import "../../../../components/composite/agGridTable/CustomAgGridTable.js";
|
|
58
|
+
import "ag-grid-community";
|
|
59
|
+
import "../../../../components/composite/customAGGrid/customAggrid.js";
|
|
60
|
+
import "../../../../components/composite/customAGGrid/context/custom-aggrid-context.js";
|
|
61
|
+
import "mathjs";
|
|
62
|
+
import "../../../../components/composite/report/report-viewer/log-table/log-table.js";
|
|
63
|
+
import "react-window";
|
|
64
|
+
import "../../../../components/composite/report/report-treeview/treeview-item.js";
|
|
65
|
+
import "../../../../components/composite/report/report-viewer/context/report-viewer-context.js";
|
|
66
|
+
import { getLimitsValidationSchemaProps, getLimitsEmptyFormDataProps, getAllLimitsFormDataProperties, formatOpLimitGroupsToFormInfos, addOperationTypeToSelectedOpLG, addModificationTypeToOpLimitsGroups, sanitizeLimitsGroups } from "../../common/currentLimits/limitsPane.utils.js";
|
|
67
|
+
import { getBranchActiveReactivePowerValidationSchemaObject, getBranchActiveReactivePowerEmptyFormDataProperties, getBranchActiveReactivePowerEditDataProperties } from "../../common/measurements/branchActiveReactivePowerForm.utils.js";
|
|
68
|
+
import { LineSegmentsInfoSchema, convertToLineSegmentInfos } from "../catalog/segment.utils.js";
|
|
69
|
+
import "../../common/regulatingTerminal/RegulatingTerminalForm.js";
|
|
70
|
+
import "@mui/material/colors";
|
|
71
|
+
import "@mui/x-charts";
|
|
72
|
+
import { OPERATIONAL_LIMITS_GROUPS_MODIFICATION_TYPE } from "../../common/currentLimits/operationalLimitsGroups/operationalLimitsGroups.types.js";
|
|
73
|
+
const lineModificationFormSchema = object().shape({
|
|
74
|
+
[FieldConstants.EQUIPMENT_ID]: string().required(),
|
|
75
|
+
[FieldConstants.EQUIPMENT_NAME]: string().nullable(),
|
|
76
|
+
[FieldConstants.CONNECTIVITY]: getBranchConnectivityWithPositionSchema(true, true),
|
|
77
|
+
[FieldConstants.CHARACTERISTICS]: getLineCharacteristicsValidationSchemaProps(true),
|
|
78
|
+
[FieldConstants.LIMITS]: getLimitsValidationSchemaProps(true),
|
|
79
|
+
[FieldConstants.STATE_ESTIMATION]: getBranchActiveReactivePowerValidationSchemaObject(),
|
|
80
|
+
[FieldConstants.LINE_SEGMENTS]: LineSegmentsInfoSchema,
|
|
81
|
+
[FieldConstants.APPLY_SEGMENTS_LIMITS]: boolean().required()
|
|
82
|
+
}).concat(modificationPropertiesSchema).required();
|
|
83
|
+
const lineModificationEmptyFormData = {
|
|
84
|
+
[FieldConstants.EQUIPMENT_ID]: "",
|
|
85
|
+
[FieldConstants.EQUIPMENT_NAME]: "",
|
|
86
|
+
[FieldConstants.CONNECTIVITY]: getBranchConnectivityWithPositionEmptyFormDataProps(true),
|
|
87
|
+
[FieldConstants.CHARACTERISTICS]: getLineCharacteristicsEmptyFormData(),
|
|
88
|
+
[FieldConstants.LIMITS]: getLimitsEmptyFormDataProps(true),
|
|
89
|
+
[FieldConstants.STATE_ESTIMATION]: getBranchActiveReactivePowerEmptyFormDataProperties(),
|
|
90
|
+
[FieldConstants.LINE_SEGMENTS]: [],
|
|
91
|
+
[FieldConstants.APPLY_SEGMENTS_LIMITS]: false,
|
|
92
|
+
AdditionalProperties: []
|
|
93
|
+
};
|
|
94
|
+
const lineModificationDtoToForm = (lineDto, includePreviousValues = true) => {
|
|
95
|
+
return {
|
|
96
|
+
equipmentID: lineDto.equipmentId,
|
|
97
|
+
equipmentName: lineDto.equipmentName?.value ?? "",
|
|
98
|
+
...getPropertiesFromModification(lineDto?.properties, includePreviousValues),
|
|
99
|
+
limits: getAllLimitsFormDataProperties(
|
|
100
|
+
formatOpLimitGroupsToFormInfos(lineDto.operationalLimitsGroups),
|
|
101
|
+
lineDto.selectedOperationalLimitsGroupId1?.value ?? null,
|
|
102
|
+
lineDto.selectedOperationalLimitsGroupId2?.value ?? null,
|
|
103
|
+
lineDto.enableOLGModification
|
|
104
|
+
),
|
|
105
|
+
connectivity: {
|
|
106
|
+
connectivity1: getConnectivityFormDataProps({
|
|
107
|
+
voltageLevelId: lineDto?.voltageLevelId1?.value ?? null,
|
|
108
|
+
busbarSectionId: lineDto?.busOrBusbarSectionId1?.value ?? null,
|
|
109
|
+
connectionName: lineDto?.connectionName1?.value ?? "",
|
|
110
|
+
connectionDirection: lineDto?.connectionDirection1?.value ?? null,
|
|
111
|
+
connectionPosition: lineDto?.connectionPosition1?.value ?? null,
|
|
112
|
+
terminalConnected: lineDto?.terminal1Connected?.value ?? null,
|
|
113
|
+
isEquipmentModification: true
|
|
114
|
+
}),
|
|
115
|
+
connectivity2: getConnectivityFormDataProps({
|
|
116
|
+
voltageLevelId: lineDto?.voltageLevelId2?.value ?? null,
|
|
117
|
+
busbarSectionId: lineDto?.busOrBusbarSectionId2?.value ?? null,
|
|
118
|
+
connectionName: lineDto?.connectionName2?.value ?? "",
|
|
119
|
+
connectionDirection: lineDto?.connectionDirection2?.value ?? null,
|
|
120
|
+
connectionPosition: lineDto?.connectionPosition2?.value ?? null,
|
|
121
|
+
terminalConnected: lineDto?.terminal2Connected?.value ?? null,
|
|
122
|
+
isEquipmentModification: true
|
|
123
|
+
})
|
|
124
|
+
},
|
|
125
|
+
stateEstimation: getBranchActiveReactivePowerEditDataProperties(lineDto),
|
|
126
|
+
characteristics: {
|
|
127
|
+
r: lineDto.r?.value ?? null,
|
|
128
|
+
x: lineDto.x?.value ?? null,
|
|
129
|
+
g1: convertInputValue(FieldType.G1, lineDto.g1?.value ?? null),
|
|
130
|
+
b1: convertInputValue(FieldType.B1, lineDto.b1?.value ?? null),
|
|
131
|
+
g2: convertInputValue(FieldType.G2, lineDto.g2?.value ?? null),
|
|
132
|
+
b2: convertInputValue(FieldType.B2, lineDto.b2?.value ?? null)
|
|
133
|
+
},
|
|
134
|
+
lineSegments: lineDto.lineSegments,
|
|
135
|
+
applySegmentsLimits: lineDto.applySegmentsLimits ?? true
|
|
136
|
+
};
|
|
137
|
+
};
|
|
138
|
+
const lineModificationFormToDto = (line, intl) => {
|
|
139
|
+
const connectivity1 = line.connectivity?.connectivity1;
|
|
140
|
+
const connectivity2 = line.connectivity?.connectivity2;
|
|
141
|
+
const { characteristics, limits } = line;
|
|
142
|
+
return {
|
|
143
|
+
type: ModificationType.LINE_MODIFICATION,
|
|
144
|
+
equipmentId: line.equipmentID,
|
|
145
|
+
equipmentName: toModificationOperation(sanitizeString(line.equipmentName) ?? ""),
|
|
146
|
+
r: toModificationOperation(characteristics.r),
|
|
147
|
+
x: toModificationOperation(characteristics.x),
|
|
148
|
+
g1: toModificationOperation(convertOutputValue(FieldType.G1, characteristics.g1)),
|
|
149
|
+
g2: toModificationOperation(convertOutputValue(FieldType.G2, characteristics.g2)),
|
|
150
|
+
b1: toModificationOperation(convertOutputValue(FieldType.B1, characteristics.b1)),
|
|
151
|
+
b2: toModificationOperation(convertOutputValue(FieldType.B2, characteristics.b2)),
|
|
152
|
+
enableOLGModification: limits.enableOLGModification,
|
|
153
|
+
operationalLimitsGroupsModificationType: limits.enableOLGModification ? OPERATIONAL_LIMITS_GROUPS_MODIFICATION_TYPE.REPLACE : null,
|
|
154
|
+
operationalLimitsGroups: limits.enableOLGModification ? addModificationTypeToOpLimitsGroups(sanitizeLimitsGroups(limits.operationalLimitsGroups)) : [],
|
|
155
|
+
selectedOperationalLimitsGroupId1: addOperationTypeToSelectedOpLG(
|
|
156
|
+
limits.selectedOperationalLimitsGroupId1,
|
|
157
|
+
intl.formatMessage({ id: "None" })
|
|
158
|
+
),
|
|
159
|
+
selectedOperationalLimitsGroupId2: addOperationTypeToSelectedOpLG(
|
|
160
|
+
limits.selectedOperationalLimitsGroupId2,
|
|
161
|
+
intl.formatMessage({ id: "None" })
|
|
162
|
+
),
|
|
163
|
+
voltageLevelId1: toModificationOperation(connectivity1.voltageLevel?.id),
|
|
164
|
+
busOrBusbarSectionId1: toModificationOperation(connectivity1.busOrBusbarSection?.id),
|
|
165
|
+
connectionName1: toModificationOperation(sanitizeString(connectivity1.connectionName)),
|
|
166
|
+
connectionDirection1: toModificationOperation(connectivity1.connectionDirection),
|
|
167
|
+
connectionPosition1: toModificationOperation(connectivity1.connectionPosition),
|
|
168
|
+
terminal1Connected: toModificationOperation(connectivity1.terminalConnected),
|
|
169
|
+
voltageLevelId2: toModificationOperation(connectivity2.voltageLevel?.id),
|
|
170
|
+
busOrBusbarSectionId2: toModificationOperation(connectivity2.busOrBusbarSection?.id),
|
|
171
|
+
connectionName2: toModificationOperation(sanitizeString(connectivity2.connectionName)),
|
|
172
|
+
connectionDirection2: toModificationOperation(connectivity2.connectionDirection),
|
|
173
|
+
connectionPosition2: toModificationOperation(connectivity2.connectionPosition),
|
|
174
|
+
terminal2Connected: toModificationOperation(connectivity2.terminalConnected),
|
|
175
|
+
properties: toModificationProperties(line),
|
|
176
|
+
p1MeasurementValue: toModificationOperation(line.stateEstimation?.measurementP1?.value),
|
|
177
|
+
p1MeasurementValidity: toModificationOperation(line.stateEstimation?.measurementP1?.validity),
|
|
178
|
+
q1MeasurementValue: toModificationOperation(line.stateEstimation?.measurementQ1?.value),
|
|
179
|
+
q1MeasurementValidity: toModificationOperation(line.stateEstimation?.measurementQ1?.validity),
|
|
180
|
+
p2MeasurementValue: toModificationOperation(line.stateEstimation?.measurementP2?.value),
|
|
181
|
+
p2MeasurementValidity: toModificationOperation(line.stateEstimation?.measurementP2?.validity),
|
|
182
|
+
q2MeasurementValue: toModificationOperation(line.stateEstimation?.measurementQ2?.value),
|
|
183
|
+
q2MeasurementValidity: toModificationOperation(line.stateEstimation?.measurementQ2?.validity),
|
|
184
|
+
lineSegments: convertToLineSegmentInfos(line.lineSegments),
|
|
185
|
+
applySegmentsLimits: line.applySegmentsLimits ?? true
|
|
186
|
+
};
|
|
187
|
+
};
|
|
188
|
+
export {
|
|
189
|
+
lineModificationDtoToForm,
|
|
190
|
+
lineModificationEmptyFormData,
|
|
191
|
+
lineModificationFormSchema,
|
|
192
|
+
lineModificationFormToDto
|
|
193
|
+
};
|
package/dist/index.js
CHANGED
|
@@ -232,7 +232,7 @@ import { PropertiesForm } from "./features/network-modifications/common/properti
|
|
|
232
232
|
import { PropertyForm } from "./features/network-modifications/common/properties/PropertyForm.js";
|
|
233
233
|
import { copyEquipmentPropertiesForCreation, createPropertyModification, creationPropertiesSchema, emptyProperties, fetchPredefinedProperties, getConcatenatedProperties, getFilledPropertiesFromModification, getPropertiesFromModification, getPropertyValue, initializedProperty, mergeModificationAndEquipmentProperties, modificationPropertiesSchema, toModificationProperties } from "./features/network-modifications/common/properties/propertyUtils.js";
|
|
234
234
|
import { getPowerWithValidityEditData, getPowerWithValidityEmptyFormData, getPowerWithValidityValidationSchema } from "./features/network-modifications/common/measurements/powerWithValidity.utils.js";
|
|
235
|
-
import {
|
|
235
|
+
import { getInjectionActiveReactivePowerEditDataProperties, getInjectionActiveReactivePowerEmptyFormData, getInjectionActiveReactivePowerEmptyFormDataProperties, getInjectionActiveReactivePowerValidationSchema, getInjectionActiveReactivePowerValidationSchemaProperties } from "./features/network-modifications/common/measurements/injectionActiveReactivePowerForm.utils.js";
|
|
236
236
|
import { getBranchActiveReactivePowerEditData, getBranchActiveReactivePowerEditDataProperties, getBranchActiveReactivePowerEmptyFormData, getBranchActiveReactivePowerEmptyFormDataProperties, getBranchActiveReactivePowerValidationSchema, getBranchActiveReactivePowerValidationSchemaObject, getBranchActiveReactivePowerValidationSchemaProperties } from "./features/network-modifications/common/measurements/branchActiveReactivePowerForm.utils.js";
|
|
237
237
|
import { PowerWithValidityForm } from "./features/network-modifications/common/measurements/PowerWithValidityForm.js";
|
|
238
238
|
import { PowerMeasurementsForm } from "./features/network-modifications/common/measurements/PowerMeasurementsForm.js";
|
|
@@ -397,6 +397,7 @@ import { LineDialogTabsContent } from "./features/network-modifications/line/com
|
|
|
397
397
|
import { LineDialogHeader } from "./features/network-modifications/line/common/LineDialogHeader.js";
|
|
398
398
|
import { LineForm } from "./features/network-modifications/line/common/LineForm.js";
|
|
399
399
|
import { lineCreationDtoToForm, lineCreationEmptyFormData, lineCreationFormSchema, lineCreationFormToDto } from "./features/network-modifications/line/creation/lineCreation.utils.js";
|
|
400
|
+
import { lineModificationDtoToForm, lineModificationEmptyFormData, lineModificationFormSchema, lineModificationFormToDto } from "./features/network-modifications/line/modification/lineModification.utils.js";
|
|
400
401
|
import { BuildStatusChip } from "./features/node/build-status-chip.js";
|
|
401
402
|
import { BuildStatus } from "./features/node/constant.js";
|
|
402
403
|
import { COLUMNS_WITHOUT_BORDER, DEPTH_CELL_WIDTH, DROP_FORBIDDEN_INDICATOR_BOTTOM, DROP_FORBIDDEN_INDICATOR_TOP, DROP_INDICATOR_BOTTOM, DROP_INDICATOR_TOP, MODIFICATION_ROW_HEIGHT, createCellBorderColor, createCellContentWrapperSx, createCellStyle, createEditDescriptionStyle, createHeaderCellStyle, createModificationNameCellStyle, createNameCellLabelBoxSx, createNameCellRootStyle, createRootNetworkChipCellSx, createRowSx, networkModificationTableStyles } from "./features/network-modification-table/network-modification-table-styles.js";
|
|
@@ -1367,7 +1368,6 @@ export {
|
|
|
1367
1368
|
getHvdcLccDeletionSchema,
|
|
1368
1369
|
getIdOrSelf,
|
|
1369
1370
|
getIdOrValue,
|
|
1370
|
-
getInjectionActiveReactivePowerEditData,
|
|
1371
1371
|
getInjectionActiveReactivePowerEditDataProperties,
|
|
1372
1372
|
getInjectionActiveReactivePowerEmptyFormData,
|
|
1373
1373
|
getInjectionActiveReactivePowerEmptyFormDataProperties,
|
|
@@ -1483,6 +1483,10 @@ export {
|
|
|
1483
1483
|
lineCreationEmptyFormData,
|
|
1484
1484
|
lineCreationFormSchema,
|
|
1485
1485
|
lineCreationFormToDto,
|
|
1486
|
+
lineModificationDtoToForm,
|
|
1487
|
+
lineModificationEmptyFormData,
|
|
1488
|
+
lineModificationFormSchema,
|
|
1489
|
+
lineModificationFormToDto,
|
|
1486
1490
|
loadCreationDtoToForm,
|
|
1487
1491
|
loadCreationEmptyFormData,
|
|
1488
1492
|
loadCreationFormSchema,
|
|
@@ -275,7 +275,9 @@ export declare const networkModificationsEn: {
|
|
|
275
275
|
GeneratorModificationError: string;
|
|
276
276
|
NoBusbarSectionFound: string;
|
|
277
277
|
CreateLine: string;
|
|
278
|
+
LineModificationError: string;
|
|
278
279
|
LineCreationError: string;
|
|
280
|
+
ModifyLine: string;
|
|
279
281
|
SelectedOperationalLimitGroups: string;
|
|
280
282
|
LimitSets: string;
|
|
281
283
|
DeleteFromMenu: string;
|
|
@@ -280,7 +280,9 @@ const networkModificationsEn = {
|
|
|
280
280
|
GeneratorModificationError: "Error while modifying generator",
|
|
281
281
|
NoBusbarSectionFound: "No busbar section found for this voltage level",
|
|
282
282
|
CreateLine: "Create line",
|
|
283
|
+
LineModificationError: "Error while modifying line",
|
|
283
284
|
LineCreationError: "Error while creating line",
|
|
285
|
+
ModifyLine: "Modify line",
|
|
284
286
|
SelectedOperationalLimitGroups: "Active limit sets",
|
|
285
287
|
LimitSets: "Limit sets",
|
|
286
288
|
DeleteFromMenu: "Delete",
|
|
@@ -276,6 +276,8 @@ export declare const networkModificationsFr: {
|
|
|
276
276
|
NoBusbarSectionFound: string;
|
|
277
277
|
CreateLine: string;
|
|
278
278
|
LineCreationError: string;
|
|
279
|
+
ModifyLine: string;
|
|
280
|
+
LineModificationError: string;
|
|
279
281
|
SelectedOperationalLimitGroups: string;
|
|
280
282
|
LimitSets: string;
|
|
281
283
|
DeleteFromMenu: string;
|
|
@@ -281,6 +281,8 @@ const networkModificationsFr = {
|
|
|
281
281
|
NoBusbarSectionFound: "Aucun jeu de barres trouvé pour ce poste",
|
|
282
282
|
CreateLine: "Créer une ligne",
|
|
283
283
|
LineCreationError: "Erreur lors de la création d'une ligne",
|
|
284
|
+
ModifyLine: "Modifier une ligne",
|
|
285
|
+
LineModificationError: "Erreur lors de la modification d'une ligne",
|
|
284
286
|
SelectedOperationalLimitGroups: "Jeux de limites actifs",
|
|
285
287
|
LimitSets: "Jeux de limites",
|
|
286
288
|
DeleteFromMenu: "Supprimer",
|