@gridsuite/commons-ui 0.226.0 → 0.228.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/filter/expert/expertFilterUtils.js +17 -5
- package/dist/components/composite/reactQueryBuilder/PropertyValueEditor.js +10 -5
- package/dist/components/composite/reactQueryBuilder/TextValueEditor.js +2 -3
- package/dist/components/composite/reactQueryBuilder/utils.d.ts +5 -0
- package/dist/components/composite/reactQueryBuilder/utils.js +17 -0
- package/dist/components/ui/dialogs/elementSaveDialog/ElementSaveDialog.d.ts +2 -1
- package/dist/components/ui/dialogs/elementSaveDialog/ElementSaveDialog.js +6 -14
- package/dist/components/ui/treeViewFinder/TreeViewFinder.js +14 -2
- package/dist/features/index.js +3 -1
- package/dist/features/network-modifications/by-filter/assignment/assignment/assignment-constants.d.ts +1 -1
- package/dist/features/network-modifications/by-filter/assignment/assignment/assignment-constants.js +17 -2
- package/dist/features/network-modifications/common/measurements/BusbarSectionVoltageMeasurementsForm.js +8 -5
- package/dist/features/network-modifications/common/measurements/measurement.type.d.ts +5 -0
- package/dist/features/network-modifications/voltageLevel/creation/voltageLevelCreation.utils.d.ts +2 -12
- package/dist/features/network-modifications/voltageLevel/creation/voltageLevelCreation.utils.js +4 -1
- package/dist/features/network-modifications/voltageLevel/modification/voltageLevelModification.utils.d.ts +1 -5
- package/dist/features/parameters/dynamic-margin-calculation/use-dynamic-margin-calculation-parameters-form.js +1 -1
- package/dist/features/parameters/index.js +3 -1
- package/dist/features/parameters/network-visualizations/constants.d.ts +2 -0
- package/dist/features/parameters/network-visualizations/constants.js +4 -0
- package/dist/features/parameters/network-visualizations/index.js +3 -1
- package/dist/features/parameters/network-visualizations/network-visualizations.types.d.ts +1 -0
- package/dist/features/parameters/network-visualizations/single-line-diagram-parameters.js +4 -2
- package/dist/features/parameters/network-visualizations/use-network-visualizations-parameters-form.js +5 -3
- package/dist/index.js +3 -1
- package/dist/translations/en/networkModificationsEn.d.ts +2 -0
- package/dist/translations/en/networkModificationsEn.js +2 -0
- package/dist/translations/en/parameters.d.ts +1 -0
- package/dist/translations/en/parameters.js +1 -0
- package/dist/translations/fr/networkModificationsFr.d.ts +2 -0
- package/dist/translations/fr/networkModificationsFr.js +2 -0
- package/dist/translations/fr/parameters.d.ts +1 -0
- package/dist/translations/fr/parameters.js +1 -0
- package/dist/utils/types/elementType.d.ts +1 -0
- package/dist/utils/types/elementType.js +1 -0
- package/dist/utils/types/fieldType.d.ts +2 -0
- package/dist/utils/types/fieldType.js +2 -0
- package/package.json +1 -1
- package/dist/hooks/useCustomFilterOptions.d.ts +0 -5
- package/dist/hooks/useCustomFilterOptions.js +0 -20
|
@@ -302,11 +302,23 @@ const queryValidator = (query) => {
|
|
|
302
302
|
valid: false,
|
|
303
303
|
reasons: [RULES.EMPTY_RULE]
|
|
304
304
|
};
|
|
305
|
-
} else if (rule.id && dataType === DataType.PROPERTY
|
|
306
|
-
|
|
307
|
-
|
|
308
|
-
|
|
309
|
-
|
|
305
|
+
} else if (rule.id && dataType === DataType.PROPERTY) {
|
|
306
|
+
if (isBlankOrEmpty(rule.value?.propertyName) || isBlankOrEmpty(rule.value?.propertyOperator)) {
|
|
307
|
+
result[rule.id] = {
|
|
308
|
+
valid: false,
|
|
309
|
+
reasons: [RULES.EMPTY_RULE]
|
|
310
|
+
};
|
|
311
|
+
} else if (rule.value?.propertyOperator === OPERATOR_OPTIONS.EXISTS.name || rule.value?.propertyOperator === OPERATOR_OPTIONS.NOT_EXISTS.name) {
|
|
312
|
+
result[rule.id] = {
|
|
313
|
+
valid: true,
|
|
314
|
+
reasons: void 0
|
|
315
|
+
};
|
|
316
|
+
} else if (isBlankOrEmpty(rule.value?.propertyValues) || !rule.value?.propertyValues?.length) {
|
|
317
|
+
result[rule.id] = {
|
|
318
|
+
valid: false,
|
|
319
|
+
reasons: [RULES.EMPTY_RULE]
|
|
320
|
+
};
|
|
321
|
+
}
|
|
310
322
|
} else if (rule.id && dataType === DataType.COMBINATOR) {
|
|
311
323
|
const childrenFields = Object.keys(getFieldData(rule.field).children ?? {});
|
|
312
324
|
const compositeGroup = rule.value;
|
|
@@ -6,8 +6,13 @@ import { useValid } from "./hooks/useValid.js";
|
|
|
6
6
|
import { OPERATOR_OPTIONS } from "../filter/expert/expertFilterConstants.js";
|
|
7
7
|
import { FieldConstants } from "../../../utils/constants/fieldConstants.js";
|
|
8
8
|
import { usePredefinedProperties } from "../../../hooks/usePredefinedProperties.js";
|
|
9
|
-
import {
|
|
10
|
-
const PROPERTY_VALUE_OPERATORS = [
|
|
9
|
+
import { createCustomFilterOptions } from "./utils.js";
|
|
10
|
+
const PROPERTY_VALUE_OPERATORS = [
|
|
11
|
+
OPERATOR_OPTIONS.IN,
|
|
12
|
+
OPERATOR_OPTIONS.NOT_IN,
|
|
13
|
+
OPERATOR_OPTIONS.EXISTS,
|
|
14
|
+
OPERATOR_OPTIONS.NOT_EXISTS
|
|
15
|
+
];
|
|
11
16
|
function PropertyValueEditor(props) {
|
|
12
17
|
const { equipmentType, valueEditorProps } = props;
|
|
13
18
|
const valid = useValid(valueEditorProps);
|
|
@@ -55,7 +60,7 @@ function PropertyValueEditor(props) {
|
|
|
55
60
|
onChange(FieldConstants.PROPERTY_NAME, value);
|
|
56
61
|
},
|
|
57
62
|
size: "small",
|
|
58
|
-
filterOptions:
|
|
63
|
+
filterOptions: createCustomFilterOptions
|
|
59
64
|
}
|
|
60
65
|
) }),
|
|
61
66
|
/* @__PURE__ */ jsx(Grid, { item: true, xs: "auto", children: /* @__PURE__ */ jsx(FormControl, { variant: "standard", sx: { mt: 1, minWidth: 160 }, children: /* @__PURE__ */ jsx(
|
|
@@ -71,7 +76,7 @@ function PropertyValueEditor(props) {
|
|
|
71
76
|
children: PROPERTY_VALUE_OPERATORS.map((operator) => /* @__PURE__ */ jsx(MenuItem, { value: operator.customName, children: intl.formatMessage({ id: operator.label }) }, operator.customName))
|
|
72
77
|
}
|
|
73
78
|
) }) }),
|
|
74
|
-
/* @__PURE__ */ jsx(Grid, { item: true, xs: true, children: /* @__PURE__ */ jsx(
|
|
79
|
+
valueEditorProps?.value?.propertyOperator !== OPERATOR_OPTIONS.EXISTS.customName && valueEditorProps?.value?.propertyOperator !== OPERATOR_OPTIONS.NOT_EXISTS.customName && /* @__PURE__ */ jsx(Grid, { item: true, xs: true, children: /* @__PURE__ */ jsx(
|
|
75
80
|
Autocomplete,
|
|
76
81
|
{
|
|
77
82
|
value: propertyValues ?? [],
|
|
@@ -92,7 +97,7 @@ function PropertyValueEditor(props) {
|
|
|
92
97
|
onChange(FieldConstants.PROPERTY_VALUES, value);
|
|
93
98
|
},
|
|
94
99
|
size: "small",
|
|
95
|
-
filterOptions:
|
|
100
|
+
filterOptions: createCustomFilterOptions
|
|
96
101
|
}
|
|
97
102
|
) })
|
|
98
103
|
] });
|
|
@@ -4,12 +4,11 @@ import { Autocomplete, TextField } from "@mui/material";
|
|
|
4
4
|
import { useIntl } from "react-intl";
|
|
5
5
|
import { useConvertValue } from "./hooks/useConvertValue.js";
|
|
6
6
|
import { useValid } from "./hooks/useValid.js";
|
|
7
|
-
import {
|
|
7
|
+
import { createCustomFilterOptions } from "./utils.js";
|
|
8
8
|
function TextValueEditor(props) {
|
|
9
9
|
useConvertValue(props);
|
|
10
10
|
const valid = useValid(props);
|
|
11
11
|
const { value, handleOnChange, title } = props;
|
|
12
|
-
const customFilterOptions = useCustomFilterOptions();
|
|
13
12
|
const intl = useIntl();
|
|
14
13
|
if (!Array.isArray(value)) {
|
|
15
14
|
return /* @__PURE__ */ jsx(MaterialValueEditor, { ...props });
|
|
@@ -33,7 +32,7 @@ function TextValueEditor(props) {
|
|
|
33
32
|
),
|
|
34
33
|
size: "small",
|
|
35
34
|
title,
|
|
36
|
-
filterOptions:
|
|
35
|
+
filterOptions: createCustomFilterOptions
|
|
37
36
|
}
|
|
38
37
|
);
|
|
39
38
|
}
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
import { createFilterOptions } from "@mui/material";
|
|
2
|
+
function createCustomFilterOptions(options, params) {
|
|
3
|
+
const filter = createFilterOptions();
|
|
4
|
+
const filteredOptions = filter(options, params);
|
|
5
|
+
const { inputValue } = params;
|
|
6
|
+
const isExisting = options.some((option) => inputValue === option);
|
|
7
|
+
if (isExisting && options.length === 1 && options[0] === inputValue) {
|
|
8
|
+
return [];
|
|
9
|
+
}
|
|
10
|
+
if (inputValue !== "" && !isExisting) {
|
|
11
|
+
filteredOptions.push(inputValue);
|
|
12
|
+
}
|
|
13
|
+
return filteredOptions;
|
|
14
|
+
}
|
|
15
|
+
export {
|
|
16
|
+
createCustomFilterOptions
|
|
17
|
+
};
|
|
@@ -25,6 +25,7 @@ export type ElementSaveDialogProps = {
|
|
|
25
25
|
onSave: (data: IElementCreationDialog) => void;
|
|
26
26
|
OnUpdate?: (data: IElementUpdateDialog) => void;
|
|
27
27
|
prefixIdForGeneratedName?: string;
|
|
28
|
+
defaultName?: string | null;
|
|
28
29
|
initialOperation?: OperationType;
|
|
29
30
|
selectorTitleId?: string;
|
|
30
31
|
createLabelId?: string;
|
|
@@ -52,5 +53,5 @@ export type ElementSaveDialogProps = {
|
|
|
52
53
|
/** or directly a given directory */
|
|
53
54
|
initDirectory?: ElementAttributes;
|
|
54
55
|
});
|
|
55
|
-
export declare function ElementSaveDialog({ open, onSave, OnUpdate, onClose, type, titleId, prefixIdForGeneratedName, studyUuid, initDirectory, initialOperation, selectorTitleId, createLabelId, updateLabelId, createOnlyMode, }: Readonly<ElementSaveDialogProps>): import("react/jsx-runtime").JSX.Element;
|
|
56
|
+
export declare function ElementSaveDialog({ open, onSave, OnUpdate, onClose, type, titleId, prefixIdForGeneratedName, defaultName, studyUuid, initDirectory, initialOperation, selectorTitleId, createLabelId, updateLabelId, createOnlyMode, }: Readonly<ElementSaveDialogProps>): import("react/jsx-runtime").JSX.Element;
|
|
56
57
|
export {};
|
|
@@ -55,6 +55,7 @@ function ElementSaveDialog({
|
|
|
55
55
|
type,
|
|
56
56
|
titleId,
|
|
57
57
|
prefixIdForGeneratedName,
|
|
58
|
+
defaultName,
|
|
58
59
|
studyUuid,
|
|
59
60
|
initDirectory,
|
|
60
61
|
initialOperation = "CREATE",
|
|
@@ -117,21 +118,12 @@ function ElementSaveDialog({
|
|
|
117
118
|
onClose();
|
|
118
119
|
}, [onClose, reset, initialOperation]);
|
|
119
120
|
useEffect(() => {
|
|
120
|
-
if (isCreateMode
|
|
121
|
-
|
|
122
|
-
const formattedMessage = intl.formatMessage({
|
|
123
|
-
id: prefixIdForGeneratedName
|
|
124
|
-
});
|
|
125
|
-
const dateTime = getCurrentDateTime();
|
|
126
|
-
reset(
|
|
127
|
-
{
|
|
128
|
-
...emptyFormData,
|
|
129
|
-
[FieldConstants.NAME]: `${formattedMessage}-${dateTime}`
|
|
130
|
-
},
|
|
131
|
-
{ keepDefaultValues: true }
|
|
132
|
-
);
|
|
121
|
+
if (!isCreateMode) {
|
|
122
|
+
return;
|
|
133
123
|
}
|
|
134
|
-
|
|
124
|
+
const name = defaultName ?? `${intl.formatMessage({ id: prefixIdForGeneratedName })}-${(/* @__PURE__ */ new Date()).toISOString()}`;
|
|
125
|
+
reset({ ...emptyFormData, [FieldConstants.NAME]: name }, { keepDefaultValues: true });
|
|
126
|
+
}, [prefixIdForGeneratedName, intl, reset, isCreateMode, defaultName]);
|
|
135
127
|
useEffect(() => {
|
|
136
128
|
if (!open || !isCreateMode) {
|
|
137
129
|
return;
|
|
@@ -185,8 +185,20 @@ function TreeViewFinderComponant(props) {
|
|
|
185
185
|
}
|
|
186
186
|
setSelected(newSelected);
|
|
187
187
|
if (inline && onSelectionChange) {
|
|
188
|
-
const
|
|
189
|
-
|
|
188
|
+
const selectedSet = new Set(newSelected);
|
|
189
|
+
const orderedNodes = [];
|
|
190
|
+
const collectInTreeOrder = (nodes) => {
|
|
191
|
+
[...nodes ?? []].sort(sortMethod).forEach((node) => {
|
|
192
|
+
if (selectedSet.has(node.id)) {
|
|
193
|
+
orderedNodes.push(node);
|
|
194
|
+
}
|
|
195
|
+
if (node.children) {
|
|
196
|
+
collectInTreeOrder(node.children);
|
|
197
|
+
}
|
|
198
|
+
});
|
|
199
|
+
};
|
|
200
|
+
collectInTreeOrder(data);
|
|
201
|
+
onSelectionChange(orderedNodes);
|
|
190
202
|
}
|
|
191
203
|
};
|
|
192
204
|
const getValidationButtonText = () => {
|
package/dist/features/index.js
CHANGED
|
@@ -40,7 +40,7 @@ import { ContingencyTable } from "./parameters/common/contingency-table/continge
|
|
|
40
40
|
import { COLUMNS_DEFINITIONS_CONTINGENCY_LISTS_INFOS, getContingencyListsInfosFormSchema, isValidContingencyRow, toFormValuesContingencyListsInfos } from "./parameters/common/contingency-table/columns-definitions.js";
|
|
41
41
|
import { useTabs } from "./parameters/common/hook/use-tabs.js";
|
|
42
42
|
import { useParametersForm } from "./parameters/common/hook/use-parameters-form.js";
|
|
43
|
-
import { CENTER_LABEL, COMPONENT_LIBRARY, DIAGONAL_LABEL, INTL_LINE_FLOW_MODE_OPTIONS, INTL_SUBSTATION_LAYOUT_OPTIONS, LINE_FLOW_MODE, LineFlowMode, MAP_BASE_MAP, MAP_MANUAL_REFRESH, NAD_POSITIONS_GENERATION_MODE, NAD_POSITIONS_GENERATION_MODE_LABEL, NetworkVisualizationTabValues, PARAM_CENTER_LABEL, PARAM_COMPONENT_LIBRARY, PARAM_DIAGONAL_LABEL, PARAM_LINE_FLOW_MODE, PARAM_LINE_FULL_PATH, PARAM_LINE_PARALLEL_PATH, PARAM_MAP_BASEMAP, PARAM_MAP_MANUAL_REFRESH, PARAM_NAD_POSITIONS_GENERATION_MODE, PARAM_SUBSTATION_LAYOUT, SUBSTATION_LAYOUT } from "./parameters/network-visualizations/constants.js";
|
|
43
|
+
import { CENTER_LABEL, COMPONENT_LIBRARY, CUSTOM_REAL_TIME_STATE_ESTIMATION, DIAGONAL_LABEL, INTL_LINE_FLOW_MODE_OPTIONS, INTL_SUBSTATION_LAYOUT_OPTIONS, LINE_FLOW_MODE, LineFlowMode, MAP_BASE_MAP, MAP_MANUAL_REFRESH, NAD_POSITIONS_GENERATION_MODE, NAD_POSITIONS_GENERATION_MODE_LABEL, NetworkVisualizationTabValues, PARAM_CENTER_LABEL, PARAM_COMPONENT_LIBRARY, PARAM_DIAGONAL_LABEL, PARAM_LINE_FLOW_MODE, PARAM_LINE_FULL_PATH, PARAM_LINE_PARALLEL_PATH, PARAM_MAP_BASEMAP, PARAM_MAP_MANUAL_REFRESH, PARAM_NAD_POSITIONS_GENERATION_MODE, PARAM_STATE_ESTIMATION, PARAM_SUBSTATION_LAYOUT, SUBSTATION_LAYOUT } from "./parameters/network-visualizations/constants.js";
|
|
44
44
|
import { MAP_BASEMAP_CARTO, MAP_BASEMAP_CARTO_NOLABEL, MAP_BASEMAP_ETALAB, MAP_BASEMAP_MAPBOX, NadPositionsGenerationMode, SubstationLayout } from "./parameters/network-visualizations/network-visualizations.types.js";
|
|
45
45
|
import { NetworkVisualizationParametersInline } from "./parameters/network-visualizations/network-visualizations-parameters-inline.js";
|
|
46
46
|
import { NetworkVisualizationsParametersEditionDialog } from "./parameters/network-visualizations/network-visualizations-parameters-dialog.js";
|
|
@@ -246,6 +246,7 @@ export {
|
|
|
246
246
|
CONTINGENCY_LISTS,
|
|
247
247
|
CONTINGENCY_LISTS_INFOS,
|
|
248
248
|
COUNTRIES_TO_BALANCE,
|
|
249
|
+
CUSTOM_REAL_TIME_STATE_ESTIMATION,
|
|
249
250
|
CardErrorBoundary,
|
|
250
251
|
CharacteristicsForm,
|
|
251
252
|
ComputingType,
|
|
@@ -383,6 +384,7 @@ export {
|
|
|
383
384
|
PARAM_SA_LOW_VOLTAGE_ABSOLUTE_THRESHOLD,
|
|
384
385
|
PARAM_SA_LOW_VOLTAGE_PROPORTIONAL_THRESHOLD,
|
|
385
386
|
PARAM_SA_PROVIDER,
|
|
387
|
+
PARAM_STATE_ESTIMATION,
|
|
386
388
|
PARAM_SUBSTATION_LAYOUT,
|
|
387
389
|
PHASE_SHIFTER_REGULATION_ON,
|
|
388
390
|
PRIORITY,
|
|
@@ -10,7 +10,7 @@ export declare const EQUIPMENTS_FIELDS: {
|
|
|
10
10
|
readonly BATTERY: readonly [FieldOptionType, FieldOptionType, FieldOptionType, FieldOptionType, FieldOptionType, FieldOptionType, FieldOptionType, FieldOptionType];
|
|
11
11
|
readonly LOAD: readonly [FieldOptionType, FieldOptionType, FieldOptionType, FieldOptionType];
|
|
12
12
|
readonly SHUNT_COMPENSATOR: readonly [FieldOptionType, FieldOptionType, FieldOptionType, FieldOptionType, FieldOptionType];
|
|
13
|
-
readonly STATIC_VAR_COMPENSATOR: readonly [FieldOptionType];
|
|
13
|
+
readonly STATIC_VAR_COMPENSATOR: readonly [FieldOptionType, FieldOptionType, FieldOptionType];
|
|
14
14
|
readonly HVDC_LINE: readonly [FieldOptionType];
|
|
15
15
|
};
|
|
16
16
|
export type EquipmentTypeOptionType = keyof typeof EQUIPMENTS_FIELDS;
|
package/dist/features/network-modifications/by-filter/assignment/assignment/assignment-constants.js
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { DataType } from "./assignment.type.js";
|
|
2
|
-
import {
|
|
2
|
+
import { MEGA_VAR, SIEMENS, MEGA_WATT, PERCENTAGE, OHM, MEGA_VOLT_AMPERE, KILO_VOLT, MICRO_SIEMENS, KILO_AMPERE } from "../../../../../utils/constants/unitsConstants.js";
|
|
3
3
|
import "../../../../../utils/conversionUtils.js";
|
|
4
4
|
import { EquipmentType, LOAD_TYPES } from "../../../../../utils/types/equipmentType.js";
|
|
5
5
|
import { FieldType } from "../../../../../utils/types/fieldType.js";
|
|
@@ -42,6 +42,17 @@ const FIELD_OPTIONS = {
|
|
|
42
42
|
unit: MEGA_VAR,
|
|
43
43
|
dataType: DataType.DOUBLE
|
|
44
44
|
},
|
|
45
|
+
REACTIVE_POWER_MEASUREMENT_VALUE: {
|
|
46
|
+
id: FieldType.REACTIVE_POWER_MEASUREMENT_VALUE,
|
|
47
|
+
label: "ReactivePowerMeasurementValue",
|
|
48
|
+
unit: MEGA_VAR,
|
|
49
|
+
dataType: DataType.DOUBLE
|
|
50
|
+
},
|
|
51
|
+
REACTIVE_POWER_MEASUREMENT_VALIDITY: {
|
|
52
|
+
id: FieldType.REACTIVE_POWER_MEASUREMENT_VALIDITY,
|
|
53
|
+
label: "ReactivePowerMeasurementValidity",
|
|
54
|
+
dataType: DataType.BOOLEAN
|
|
55
|
+
},
|
|
45
56
|
VOLTAGE_SET_POINT: {
|
|
46
57
|
id: FieldType.VOLTAGE_SET_POINT,
|
|
47
58
|
label: "GeneratorTargetV",
|
|
@@ -392,7 +403,11 @@ const EQUIPMENTS_FIELDS = {
|
|
|
392
403
|
FIELD_OPTIONS.MAX_SUSCEPTANCE,
|
|
393
404
|
FIELD_OPTIONS.MAX_Q_AT_NOMINAL_V
|
|
394
405
|
],
|
|
395
|
-
[EquipmentType.STATIC_VAR_COMPENSATOR]: [
|
|
406
|
+
[EquipmentType.STATIC_VAR_COMPENSATOR]: [
|
|
407
|
+
FIELD_OPTIONS.PROPERTY,
|
|
408
|
+
FIELD_OPTIONS.REACTIVE_POWER_MEASUREMENT_VALUE,
|
|
409
|
+
FIELD_OPTIONS.REACTIVE_POWER_MEASUREMENT_VALIDITY
|
|
410
|
+
],
|
|
396
411
|
[EquipmentType.HVDC_LINE]: [FIELD_OPTIONS.PROPERTY]
|
|
397
412
|
};
|
|
398
413
|
export {
|
|
@@ -58,12 +58,15 @@ const BUSBAR_SECTION_V_MEASUREMENTS = "busbarSectionVMeasurements";
|
|
|
58
58
|
function BusbarSectionVoltageMeasurementsForm({
|
|
59
59
|
busbarSections
|
|
60
60
|
}) {
|
|
61
|
-
const { fields } = useFieldArray({
|
|
61
|
+
const { fields } = useFieldArray({
|
|
62
|
+
name: BUSBAR_SECTION_V_MEASUREMENTS
|
|
63
|
+
});
|
|
62
64
|
const intl = useIntl();
|
|
65
|
+
const sortedFields = fields.map((field, i) => ({ ...field, originalIndex: i })).sort((a, b) => a.busbarSectionId.localeCompare(b.busbarSectionId));
|
|
63
66
|
return /* @__PURE__ */ jsxs(Grid2, { container: true, direction: "column", spacing: 1, children: [
|
|
64
67
|
fields.length === 0 && /* @__PURE__ */ jsx(Grid2, { children: /* @__PURE__ */ jsx(FormattedMessage, { id: "NoBusbarSectionFound" }) }),
|
|
65
|
-
|
|
66
|
-
const bbsId = field
|
|
68
|
+
sortedFields.map((field) => {
|
|
69
|
+
const { busbarSectionId: bbsId, originalIndex } = field;
|
|
67
70
|
const networkBbs = busbarSections.find((b) => b.id === bbsId);
|
|
68
71
|
const previousValue = networkBbs?.measurementV?.value ?? void 0;
|
|
69
72
|
const validity = networkBbs?.measurementV?.validity;
|
|
@@ -76,7 +79,7 @@ function BusbarSectionVoltageMeasurementsForm({
|
|
|
76
79
|
/* @__PURE__ */ jsx(Grid2, { size: 4, children: /* @__PURE__ */ jsx(
|
|
77
80
|
FloatInput,
|
|
78
81
|
{
|
|
79
|
-
name: `${BUSBAR_SECTION_V_MEASUREMENTS}.${
|
|
82
|
+
name: `${BUSBAR_SECTION_V_MEASUREMENTS}.${originalIndex}.${FieldConstants.VALUE}`,
|
|
80
83
|
label: "VoltageText",
|
|
81
84
|
adornment: VoltageAdornment,
|
|
82
85
|
previousValue,
|
|
@@ -86,7 +89,7 @@ function BusbarSectionVoltageMeasurementsForm({
|
|
|
86
89
|
/* @__PURE__ */ jsx(Grid2, { size: 3, children: /* @__PURE__ */ jsx(
|
|
87
90
|
CheckboxNullableInput,
|
|
88
91
|
{
|
|
89
|
-
name: `${BUSBAR_SECTION_V_MEASUREMENTS}.${
|
|
92
|
+
name: `${BUSBAR_SECTION_V_MEASUREMENTS}.${originalIndex}.${FieldConstants.VALIDITY}`,
|
|
90
93
|
label: "ValidMeasurement",
|
|
91
94
|
previousValue: previousValidity
|
|
92
95
|
}
|
package/dist/features/network-modifications/voltageLevel/creation/voltageLevelCreation.utils.d.ts
CHANGED
|
@@ -30,15 +30,7 @@ export declare const voltageLevelCreationFormSchema: import('yup').ObjectSchema<
|
|
|
30
30
|
substationCreationId: string | null | undefined;
|
|
31
31
|
substationName: string | null | undefined;
|
|
32
32
|
country: string | null | undefined;
|
|
33
|
-
substationCreation: {
|
|
34
|
-
AdditionalProperties?: {
|
|
35
|
-
previousValue?: string | null | undefined;
|
|
36
|
-
added: NonNullable<boolean | undefined>;
|
|
37
|
-
deletionMark: NonNullable<boolean | undefined>;
|
|
38
|
-
name: string;
|
|
39
|
-
value: string;
|
|
40
|
-
}[] | undefined;
|
|
41
|
-
};
|
|
33
|
+
substationCreation: {};
|
|
42
34
|
hideNominalVoltage: NonNullable<boolean | undefined>;
|
|
43
35
|
nominalV: number | null | undefined;
|
|
44
36
|
lowVoltageLimit: number | null | undefined;
|
|
@@ -73,9 +65,7 @@ export declare const voltageLevelCreationFormSchema: import('yup').ObjectSchema<
|
|
|
73
65
|
substationCreationId: undefined;
|
|
74
66
|
substationName: undefined;
|
|
75
67
|
country: undefined;
|
|
76
|
-
substationCreation: {
|
|
77
|
-
AdditionalProperties: "";
|
|
78
|
-
};
|
|
68
|
+
substationCreation: {};
|
|
79
69
|
hideNominalVoltage: undefined;
|
|
80
70
|
nominalV: undefined;
|
|
81
71
|
lowVoltageLimit: undefined;
|
package/dist/features/network-modifications/voltageLevel/creation/voltageLevelCreation.utils.js
CHANGED
|
@@ -119,7 +119,10 @@ const voltageLevelCreationFormSchema = object().shape({
|
|
|
119
119
|
}),
|
|
120
120
|
[FieldConstants.SUBSTATION_NAME]: string().nullable(),
|
|
121
121
|
[FieldConstants.COUNTRY]: string().nullable(),
|
|
122
|
-
[FieldConstants.SUBSTATION_CREATION]:
|
|
122
|
+
[FieldConstants.SUBSTATION_CREATION]: object().when([FieldConstants.ADD_SUBSTATION_CREATION], {
|
|
123
|
+
is: (addSubstationCreation) => addSubstationCreation,
|
|
124
|
+
then: () => creationPropertiesSchema
|
|
125
|
+
}),
|
|
123
126
|
[FieldConstants.HIDE_NOMINAL_VOLTAGE]: boolean().required(),
|
|
124
127
|
[FieldConstants.NOMINAL_V]: number().nullable().when([FieldConstants.HIDE_NOMINAL_VOLTAGE], {
|
|
125
128
|
is: (hideNominalVoltage) => !hideNominalVoltage,
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import { InferType } from 'yup';
|
|
2
2
|
import { VoltageLevelModificationDto } from './voltageLevelModification.types';
|
|
3
|
+
import { BbsMeasurementItem } from '../../common';
|
|
3
4
|
export declare const voltageLevelModificationFormSchema: import('yup').ObjectSchema<{
|
|
4
5
|
equipmentID: string;
|
|
5
6
|
equipmentName: string | null | undefined;
|
|
@@ -70,11 +71,6 @@ export declare const voltageLevelModificationWithMeasurementsFormSchema: import(
|
|
|
70
71
|
AdditionalProperties: "";
|
|
71
72
|
busbarSectionVMeasurements: "";
|
|
72
73
|
}, "">;
|
|
73
|
-
export type BbsMeasurementItem = {
|
|
74
|
-
busbarSectionId: string;
|
|
75
|
-
value: number | null;
|
|
76
|
-
validity: boolean | null;
|
|
77
|
-
};
|
|
78
74
|
export type VoltageLevelModificationWithMeasurementsFormData = VoltageLevelModificationFormData & {
|
|
79
75
|
busbarSectionVMeasurements: BbsMeasurementItem[] | null;
|
|
80
76
|
};
|
|
@@ -63,7 +63,7 @@ const toFormValues = (_params) => ({
|
|
|
63
63
|
[CALCULATION_TYPE]: _params.calculationType,
|
|
64
64
|
[ACCURACY]: _params.accuracy,
|
|
65
65
|
[LOAD_MODELS_RULE]: _params.loadModelsRule,
|
|
66
|
-
[LOADS_VARIATIONS]: _params.loadsVariations
|
|
66
|
+
[LOADS_VARIATIONS]: _params.loadsVariations ?? []
|
|
67
67
|
}
|
|
68
68
|
});
|
|
69
69
|
const toParamsInfos = (_formData) => ({
|
|
@@ -20,7 +20,7 @@ import { ContingencyTable } from "./common/contingency-table/contingency-table.j
|
|
|
20
20
|
import { COLUMNS_DEFINITIONS_CONTINGENCY_LISTS_INFOS, getContingencyListsInfosFormSchema, isValidContingencyRow, toFormValuesContingencyListsInfos } from "./common/contingency-table/columns-definitions.js";
|
|
21
21
|
import { useTabs } from "./common/hook/use-tabs.js";
|
|
22
22
|
import { useParametersForm } from "./common/hook/use-parameters-form.js";
|
|
23
|
-
import { CENTER_LABEL, COMPONENT_LIBRARY, DIAGONAL_LABEL, INTL_LINE_FLOW_MODE_OPTIONS, INTL_SUBSTATION_LAYOUT_OPTIONS, LINE_FLOW_MODE, LineFlowMode, MAP_BASE_MAP, MAP_MANUAL_REFRESH, NAD_POSITIONS_GENERATION_MODE, NAD_POSITIONS_GENERATION_MODE_LABEL, NetworkVisualizationTabValues, PARAM_CENTER_LABEL, PARAM_COMPONENT_LIBRARY, PARAM_DIAGONAL_LABEL, PARAM_LINE_FLOW_MODE, PARAM_LINE_FULL_PATH, PARAM_LINE_PARALLEL_PATH, PARAM_MAP_BASEMAP, PARAM_MAP_MANUAL_REFRESH, PARAM_NAD_POSITIONS_GENERATION_MODE, PARAM_SUBSTATION_LAYOUT, SUBSTATION_LAYOUT } from "./network-visualizations/constants.js";
|
|
23
|
+
import { CENTER_LABEL, COMPONENT_LIBRARY, CUSTOM_REAL_TIME_STATE_ESTIMATION, DIAGONAL_LABEL, INTL_LINE_FLOW_MODE_OPTIONS, INTL_SUBSTATION_LAYOUT_OPTIONS, LINE_FLOW_MODE, LineFlowMode, MAP_BASE_MAP, MAP_MANUAL_REFRESH, NAD_POSITIONS_GENERATION_MODE, NAD_POSITIONS_GENERATION_MODE_LABEL, NetworkVisualizationTabValues, PARAM_CENTER_LABEL, PARAM_COMPONENT_LIBRARY, PARAM_DIAGONAL_LABEL, PARAM_LINE_FLOW_MODE, PARAM_LINE_FULL_PATH, PARAM_LINE_PARALLEL_PATH, PARAM_MAP_BASEMAP, PARAM_MAP_MANUAL_REFRESH, PARAM_NAD_POSITIONS_GENERATION_MODE, PARAM_STATE_ESTIMATION, PARAM_SUBSTATION_LAYOUT, SUBSTATION_LAYOUT } from "./network-visualizations/constants.js";
|
|
24
24
|
import { MAP_BASEMAP_CARTO, MAP_BASEMAP_CARTO_NOLABEL, MAP_BASEMAP_ETALAB, MAP_BASEMAP_MAPBOX, NadPositionsGenerationMode, SubstationLayout } from "./network-visualizations/network-visualizations.types.js";
|
|
25
25
|
import { NetworkVisualizationParametersInline } from "./network-visualizations/network-visualizations-parameters-inline.js";
|
|
26
26
|
import { NetworkVisualizationsParametersEditionDialog } from "./network-visualizations/network-visualizations-parameters-dialog.js";
|
|
@@ -68,6 +68,7 @@ export {
|
|
|
68
68
|
CONTINGENCY_LISTS,
|
|
69
69
|
CONTINGENCY_LISTS_INFOS,
|
|
70
70
|
COUNTRIES_TO_BALANCE,
|
|
71
|
+
CUSTOM_REAL_TIME_STATE_ESTIMATION,
|
|
71
72
|
ComputingType,
|
|
72
73
|
ContingencyTable,
|
|
73
74
|
CreateParameterDialog,
|
|
@@ -155,6 +156,7 @@ export {
|
|
|
155
156
|
PARAM_SA_LOW_VOLTAGE_ABSOLUTE_THRESHOLD,
|
|
156
157
|
PARAM_SA_LOW_VOLTAGE_PROPORTIONAL_THRESHOLD,
|
|
157
158
|
PARAM_SA_PROVIDER,
|
|
159
|
+
PARAM_STATE_ESTIMATION,
|
|
158
160
|
PARAM_SUBSTATION_LAYOUT,
|
|
159
161
|
PHASE_SHIFTER_REGULATION_ON,
|
|
160
162
|
PRIORITY,
|
|
@@ -14,6 +14,7 @@ export declare const PARAM_COMPONENT_LIBRARY = "componentLibrary";
|
|
|
14
14
|
export declare const PARAM_DIAGONAL_LABEL = "diagonalLabel";
|
|
15
15
|
export declare const PARAM_SUBSTATION_LAYOUT = "substationLayout";
|
|
16
16
|
export declare const PARAM_NAD_POSITIONS_GENERATION_MODE = "nadPositionsGenerationMode";
|
|
17
|
+
export declare const PARAM_STATE_ESTIMATION = "stateEstimation";
|
|
17
18
|
export declare enum NetworkVisualizationTabValues {
|
|
18
19
|
MAP = "mapParameters",
|
|
19
20
|
SINGLE_LINE_DIAGRAM = "singleLineDiagramParameters",
|
|
@@ -27,6 +28,7 @@ export declare const CENTER_LABEL = "centerLabel";
|
|
|
27
28
|
export declare const SUBSTATION_LAYOUT = "SubstationLayout";
|
|
28
29
|
export declare const COMPONENT_LIBRARY = "ComponentLibrary";
|
|
29
30
|
export declare const NAD_POSITIONS_GENERATION_MODE_LABEL = "nadPositionsGenerationModeLabel";
|
|
31
|
+
export declare const CUSTOM_REAL_TIME_STATE_ESTIMATION = "CustomRealTimeStateEstimation";
|
|
30
32
|
export declare const INTL_LINE_FLOW_MODE_OPTIONS: {
|
|
31
33
|
id: LineFlowMode;
|
|
32
34
|
label: string;
|
|
@@ -15,6 +15,7 @@ const PARAM_COMPONENT_LIBRARY = "componentLibrary";
|
|
|
15
15
|
const PARAM_DIAGONAL_LABEL = "diagonalLabel";
|
|
16
16
|
const PARAM_SUBSTATION_LAYOUT = "substationLayout";
|
|
17
17
|
const PARAM_NAD_POSITIONS_GENERATION_MODE = "nadPositionsGenerationMode";
|
|
18
|
+
const PARAM_STATE_ESTIMATION = "stateEstimation";
|
|
18
19
|
var NetworkVisualizationTabValues = /* @__PURE__ */ ((NetworkVisualizationTabValues2) => {
|
|
19
20
|
NetworkVisualizationTabValues2["MAP"] = "mapParameters";
|
|
20
21
|
NetworkVisualizationTabValues2["SINGLE_LINE_DIAGRAM"] = "singleLineDiagramParameters";
|
|
@@ -29,6 +30,7 @@ const CENTER_LABEL = "centerLabel";
|
|
|
29
30
|
const SUBSTATION_LAYOUT = "SubstationLayout";
|
|
30
31
|
const COMPONENT_LIBRARY = "ComponentLibrary";
|
|
31
32
|
const NAD_POSITIONS_GENERATION_MODE_LABEL = "nadPositionsGenerationModeLabel";
|
|
33
|
+
const CUSTOM_REAL_TIME_STATE_ESTIMATION = "CustomRealTimeStateEstimation";
|
|
32
34
|
const INTL_LINE_FLOW_MODE_OPTIONS = [
|
|
33
35
|
{
|
|
34
36
|
id: "staticArrows",
|
|
@@ -70,6 +72,7 @@ const NAD_POSITIONS_GENERATION_MODE = [
|
|
|
70
72
|
export {
|
|
71
73
|
CENTER_LABEL,
|
|
72
74
|
COMPONENT_LIBRARY,
|
|
75
|
+
CUSTOM_REAL_TIME_STATE_ESTIMATION,
|
|
73
76
|
DIAGONAL_LABEL,
|
|
74
77
|
INTL_LINE_FLOW_MODE_OPTIONS,
|
|
75
78
|
INTL_SUBSTATION_LAYOUT_OPTIONS,
|
|
@@ -89,6 +92,7 @@ export {
|
|
|
89
92
|
PARAM_MAP_BASEMAP,
|
|
90
93
|
PARAM_MAP_MANUAL_REFRESH,
|
|
91
94
|
PARAM_NAD_POSITIONS_GENERATION_MODE,
|
|
95
|
+
PARAM_STATE_ESTIMATION,
|
|
92
96
|
PARAM_SUBSTATION_LAYOUT,
|
|
93
97
|
SUBSTATION_LAYOUT
|
|
94
98
|
};
|
|
@@ -1,10 +1,11 @@
|
|
|
1
|
-
import { CENTER_LABEL, COMPONENT_LIBRARY, DIAGONAL_LABEL, INTL_LINE_FLOW_MODE_OPTIONS, INTL_SUBSTATION_LAYOUT_OPTIONS, LINE_FLOW_MODE, LineFlowMode, MAP_BASE_MAP, MAP_MANUAL_REFRESH, NAD_POSITIONS_GENERATION_MODE, NAD_POSITIONS_GENERATION_MODE_LABEL, NetworkVisualizationTabValues, PARAM_CENTER_LABEL, PARAM_COMPONENT_LIBRARY, PARAM_DIAGONAL_LABEL, PARAM_LINE_FLOW_MODE, PARAM_LINE_FULL_PATH, PARAM_LINE_PARALLEL_PATH, PARAM_MAP_BASEMAP, PARAM_MAP_MANUAL_REFRESH, PARAM_NAD_POSITIONS_GENERATION_MODE, PARAM_SUBSTATION_LAYOUT, SUBSTATION_LAYOUT } from "./constants.js";
|
|
1
|
+
import { CENTER_LABEL, COMPONENT_LIBRARY, CUSTOM_REAL_TIME_STATE_ESTIMATION, DIAGONAL_LABEL, INTL_LINE_FLOW_MODE_OPTIONS, INTL_SUBSTATION_LAYOUT_OPTIONS, LINE_FLOW_MODE, LineFlowMode, MAP_BASE_MAP, MAP_MANUAL_REFRESH, NAD_POSITIONS_GENERATION_MODE, NAD_POSITIONS_GENERATION_MODE_LABEL, NetworkVisualizationTabValues, PARAM_CENTER_LABEL, PARAM_COMPONENT_LIBRARY, PARAM_DIAGONAL_LABEL, PARAM_LINE_FLOW_MODE, PARAM_LINE_FULL_PATH, PARAM_LINE_PARALLEL_PATH, PARAM_MAP_BASEMAP, PARAM_MAP_MANUAL_REFRESH, PARAM_NAD_POSITIONS_GENERATION_MODE, PARAM_STATE_ESTIMATION, PARAM_SUBSTATION_LAYOUT, SUBSTATION_LAYOUT } from "./constants.js";
|
|
2
2
|
import { MAP_BASEMAP_CARTO, MAP_BASEMAP_CARTO_NOLABEL, MAP_BASEMAP_ETALAB, MAP_BASEMAP_MAPBOX, NadPositionsGenerationMode, SubstationLayout } from "./network-visualizations.types.js";
|
|
3
3
|
import { NetworkVisualizationParametersInline } from "./network-visualizations-parameters-inline.js";
|
|
4
4
|
import { NetworkVisualizationsParametersEditionDialog } from "./network-visualizations-parameters-dialog.js";
|
|
5
5
|
export {
|
|
6
6
|
CENTER_LABEL,
|
|
7
7
|
COMPONENT_LIBRARY,
|
|
8
|
+
CUSTOM_REAL_TIME_STATE_ESTIMATION,
|
|
8
9
|
DIAGONAL_LABEL,
|
|
9
10
|
INTL_LINE_FLOW_MODE_OPTIONS,
|
|
10
11
|
INTL_SUBSTATION_LAYOUT_OPTIONS,
|
|
@@ -31,6 +32,7 @@ export {
|
|
|
31
32
|
PARAM_MAP_BASEMAP,
|
|
32
33
|
PARAM_MAP_MANUAL_REFRESH,
|
|
33
34
|
PARAM_NAD_POSITIONS_GENERATION_MODE,
|
|
35
|
+
PARAM_STATE_ESTIMATION,
|
|
34
36
|
PARAM_SUBSTATION_LAYOUT,
|
|
35
37
|
SUBSTATION_LAYOUT,
|
|
36
38
|
SubstationLayout
|
|
@@ -37,7 +37,7 @@ import "../common/contingency-table/contingency-table.js";
|
|
|
37
37
|
import "../common/contingency-table/columns-definitions.js";
|
|
38
38
|
import "@hookform/resolvers/yup";
|
|
39
39
|
import "../../../components/composite/filter/HeaderFilterForm.js";
|
|
40
|
-
import { INTL_SUBSTATION_LAYOUT_OPTIONS, SUBSTATION_LAYOUT, NetworkVisualizationTabValues, PARAM_SUBSTATION_LAYOUT, COMPONENT_LIBRARY, PARAM_COMPONENT_LIBRARY, DIAGONAL_LABEL, PARAM_DIAGONAL_LABEL, CENTER_LABEL, PARAM_CENTER_LABEL } from "./constants.js";
|
|
40
|
+
import { INTL_SUBSTATION_LAYOUT_OPTIONS, SUBSTATION_LAYOUT, NetworkVisualizationTabValues, PARAM_SUBSTATION_LAYOUT, COMPONENT_LIBRARY, PARAM_COMPONENT_LIBRARY, DIAGONAL_LABEL, PARAM_DIAGONAL_LABEL, CENTER_LABEL, PARAM_CENTER_LABEL, CUSTOM_REAL_TIME_STATE_ESTIMATION, PARAM_STATE_ESTIMATION } from "./constants.js";
|
|
41
41
|
function SingleLineDiagramParameters({ componentLibraries }) {
|
|
42
42
|
const componentLibsRenderCache = useMemo(
|
|
43
43
|
() => Object.fromEntries(componentLibraries.filter(Boolean).map((libLabel) => [libLabel, libLabel])),
|
|
@@ -91,7 +91,9 @@ function SingleLineDiagramParameters({ componentLibraries }) {
|
|
|
91
91
|
/* @__PURE__ */ jsx(LineSeparator, {}),
|
|
92
92
|
substationLineDropDown,
|
|
93
93
|
/* @__PURE__ */ jsx(LineSeparator, {}),
|
|
94
|
-
componentLineDropDown
|
|
94
|
+
componentLineDropDown,
|
|
95
|
+
/* @__PURE__ */ jsx(LineSeparator, {}),
|
|
96
|
+
labelPosition(PARAM_STATE_ESTIMATION, CUSTOM_REAL_TIME_STATE_ESTIMATION)
|
|
95
97
|
]
|
|
96
98
|
},
|
|
97
99
|
"singleLineDiagramParameters"
|
|
@@ -34,7 +34,7 @@ import "../../../components/ui/dialogs/elementSaveDialog/ElementSaveDialog.js";
|
|
|
34
34
|
import "../../../components/ui/snackbarProvider/SnackbarProvider.js";
|
|
35
35
|
import "mui-nested-menu";
|
|
36
36
|
import "react-resizable-panels";
|
|
37
|
-
import { NetworkVisualizationTabValues, PARAM_NAD_POSITIONS_GENERATION_MODE, PARAM_COMPONENT_LIBRARY, PARAM_SUBSTATION_LAYOUT, PARAM_CENTER_LABEL, PARAM_DIAGONAL_LABEL, PARAM_MAP_BASEMAP, PARAM_MAP_MANUAL_REFRESH, PARAM_LINE_FLOW_MODE, PARAM_LINE_PARALLEL_PATH, PARAM_LINE_FULL_PATH } from "./constants.js";
|
|
37
|
+
import { NetworkVisualizationTabValues, PARAM_NAD_POSITIONS_GENERATION_MODE, PARAM_STATE_ESTIMATION, PARAM_COMPONENT_LIBRARY, PARAM_SUBSTATION_LAYOUT, PARAM_CENTER_LABEL, PARAM_DIAGONAL_LABEL, PARAM_MAP_BASEMAP, PARAM_MAP_MANUAL_REFRESH, PARAM_LINE_FLOW_MODE, PARAM_LINE_PARALLEL_PATH, PARAM_LINE_FULL_PATH } from "./constants.js";
|
|
38
38
|
import "../../../components/composite/filter/HeaderFilterForm.js";
|
|
39
39
|
import { getNameElementEditorSchema, getNameElementEditorEmptyFormData } from "../common/name-element-editor/name-element-editor-utils.js";
|
|
40
40
|
const useNetworkVisualizationParametersForm = ({
|
|
@@ -63,7 +63,8 @@ const useNetworkVisualizationParametersForm = ({
|
|
|
63
63
|
[PARAM_DIAGONAL_LABEL]: yup.boolean(),
|
|
64
64
|
[PARAM_CENTER_LABEL]: yup.boolean(),
|
|
65
65
|
[PARAM_SUBSTATION_LAYOUT]: yup.string(),
|
|
66
|
-
[PARAM_COMPONENT_LIBRARY]: yup.string()
|
|
66
|
+
[PARAM_COMPONENT_LIBRARY]: yup.string(),
|
|
67
|
+
[PARAM_STATE_ESTIMATION]: yup.boolean()
|
|
67
68
|
}),
|
|
68
69
|
[NetworkVisualizationTabValues.NETWORK_AREA_DIAGRAM]: yup.object().shape({
|
|
69
70
|
[PARAM_NAD_POSITIONS_GENERATION_MODE]: yup.string()
|
|
@@ -84,7 +85,8 @@ const useNetworkVisualizationParametersForm = ({
|
|
|
84
85
|
[PARAM_DIAGONAL_LABEL]: false,
|
|
85
86
|
[PARAM_CENTER_LABEL]: false,
|
|
86
87
|
[PARAM_SUBSTATION_LAYOUT]: "",
|
|
87
|
-
[PARAM_COMPONENT_LIBRARY]: ""
|
|
88
|
+
[PARAM_COMPONENT_LIBRARY]: "",
|
|
89
|
+
[PARAM_STATE_ESTIMATION]: false
|
|
88
90
|
},
|
|
89
91
|
[NetworkVisualizationTabValues.NETWORK_AREA_DIAGRAM]: {
|
|
90
92
|
[PARAM_NAD_POSITIONS_GENERATION_MODE]: ""
|
package/dist/index.js
CHANGED
|
@@ -167,7 +167,7 @@ import { ContingencyTable } from "./features/parameters/common/contingency-table
|
|
|
167
167
|
import { COLUMNS_DEFINITIONS_CONTINGENCY_LISTS_INFOS, getContingencyListsInfosFormSchema, isValidContingencyRow, toFormValuesContingencyListsInfos } from "./features/parameters/common/contingency-table/columns-definitions.js";
|
|
168
168
|
import { useTabs } from "./features/parameters/common/hook/use-tabs.js";
|
|
169
169
|
import { useParametersForm } from "./features/parameters/common/hook/use-parameters-form.js";
|
|
170
|
-
import { CENTER_LABEL, COMPONENT_LIBRARY, DIAGONAL_LABEL, INTL_LINE_FLOW_MODE_OPTIONS, INTL_SUBSTATION_LAYOUT_OPTIONS, LINE_FLOW_MODE, LineFlowMode, MAP_BASE_MAP, MAP_MANUAL_REFRESH, NAD_POSITIONS_GENERATION_MODE, NAD_POSITIONS_GENERATION_MODE_LABEL, NetworkVisualizationTabValues, PARAM_CENTER_LABEL, PARAM_COMPONENT_LIBRARY, PARAM_DIAGONAL_LABEL, PARAM_LINE_FLOW_MODE, PARAM_LINE_FULL_PATH, PARAM_LINE_PARALLEL_PATH, PARAM_MAP_BASEMAP, PARAM_MAP_MANUAL_REFRESH, PARAM_NAD_POSITIONS_GENERATION_MODE, PARAM_SUBSTATION_LAYOUT, SUBSTATION_LAYOUT } from "./features/parameters/network-visualizations/constants.js";
|
|
170
|
+
import { CENTER_LABEL, COMPONENT_LIBRARY, CUSTOM_REAL_TIME_STATE_ESTIMATION, DIAGONAL_LABEL, INTL_LINE_FLOW_MODE_OPTIONS, INTL_SUBSTATION_LAYOUT_OPTIONS, LINE_FLOW_MODE, LineFlowMode, MAP_BASE_MAP, MAP_MANUAL_REFRESH, NAD_POSITIONS_GENERATION_MODE, NAD_POSITIONS_GENERATION_MODE_LABEL, NetworkVisualizationTabValues, PARAM_CENTER_LABEL, PARAM_COMPONENT_LIBRARY, PARAM_DIAGONAL_LABEL, PARAM_LINE_FLOW_MODE, PARAM_LINE_FULL_PATH, PARAM_LINE_PARALLEL_PATH, PARAM_MAP_BASEMAP, PARAM_MAP_MANUAL_REFRESH, PARAM_NAD_POSITIONS_GENERATION_MODE, PARAM_STATE_ESTIMATION, PARAM_SUBSTATION_LAYOUT, SUBSTATION_LAYOUT } from "./features/parameters/network-visualizations/constants.js";
|
|
171
171
|
import { MAP_BASEMAP_CARTO, MAP_BASEMAP_CARTO_NOLABEL, MAP_BASEMAP_ETALAB, MAP_BASEMAP_MAPBOX, NadPositionsGenerationMode, SubstationLayout } from "./features/parameters/network-visualizations/network-visualizations.types.js";
|
|
172
172
|
import { NetworkVisualizationParametersInline } from "./features/parameters/network-visualizations/network-visualizations-parameters-inline.js";
|
|
173
173
|
import { NetworkVisualizationsParametersEditionDialog } from "./features/parameters/network-visualizations/network-visualizations-parameters-dialog.js";
|
|
@@ -509,6 +509,7 @@ export {
|
|
|
509
509
|
CONVERTERS_MODE_OPTIONS,
|
|
510
510
|
COUNTRIES_TO_BALANCE,
|
|
511
511
|
CUSTOM_AGGRID_THEME,
|
|
512
|
+
CUSTOM_REAL_TIME_STATE_ESTIMATION,
|
|
512
513
|
CalculationType,
|
|
513
514
|
CancelButton,
|
|
514
515
|
CardErrorBoundary,
|
|
@@ -801,6 +802,7 @@ export {
|
|
|
801
802
|
PARAM_SA_LOW_VOLTAGE_ABSOLUTE_THRESHOLD,
|
|
802
803
|
PARAM_SA_LOW_VOLTAGE_PROPORTIONAL_THRESHOLD,
|
|
803
804
|
PARAM_SA_PROVIDER,
|
|
805
|
+
PARAM_STATE_ESTIMATION,
|
|
804
806
|
PARAM_SUBSTATION_LAYOUT,
|
|
805
807
|
PARAM_THEME,
|
|
806
808
|
PERCENTAGE,
|
|
@@ -179,6 +179,8 @@ export declare const networkModificationsEn: {
|
|
|
179
179
|
MaximumActivePowerText: string;
|
|
180
180
|
ActivePowerSetPointText: string;
|
|
181
181
|
ReactivePowerSetPointText: string;
|
|
182
|
+
ReactivePowerMeasurementValue: string;
|
|
183
|
+
ReactivePowerMeasurementValidity: string;
|
|
182
184
|
GeneratorTargetV: string;
|
|
183
185
|
PlannedActivePowerSetPointForm: string;
|
|
184
186
|
MarginalCost: string;
|
|
@@ -184,6 +184,8 @@ const networkModificationsEn = {
|
|
|
184
184
|
MaximumActivePowerText: "Maximum active power",
|
|
185
185
|
ActivePowerSetPointText: "Active power setpoint",
|
|
186
186
|
ReactivePowerSetPointText: "Reactive power setpoint",
|
|
187
|
+
ReactivePowerMeasurementValue: "Reactive power measurement value",
|
|
188
|
+
ReactivePowerMeasurementValidity: "Reactive power measurement validity",
|
|
187
189
|
GeneratorTargetV: "Target V",
|
|
188
190
|
PlannedActivePowerSetPointForm: "Planning active power set point",
|
|
189
191
|
MarginalCost: "Generation dispatch cost",
|
|
@@ -87,6 +87,7 @@ export declare const parametersEn: {
|
|
|
87
87
|
HorizontalSubstationLayout: string;
|
|
88
88
|
VerticalSubstationLayout: string;
|
|
89
89
|
ComponentLibrary: string;
|
|
90
|
+
CustomRealTimeStateEstimation: string;
|
|
90
91
|
nadPositionsGenerationModeLabel: string;
|
|
91
92
|
NadGeoPositionsModeLabel: string;
|
|
92
93
|
NadAutoPositionsModeLabel: string;
|
|
@@ -81,6 +81,7 @@ const parametersEn = {
|
|
|
81
81
|
HorizontalSubstationLayout: "Horizontal",
|
|
82
82
|
VerticalSubstationLayout: "Vertical",
|
|
83
83
|
ComponentLibrary: "Component library selection",
|
|
84
|
+
CustomRealTimeStateEstimation: "State estimation",
|
|
84
85
|
nadPositionsGenerationModeLabel: "Initialization of the positions",
|
|
85
86
|
NadGeoPositionsModeLabel: "Geographical",
|
|
86
87
|
NadAutoPositionsModeLabel: "Automatic",
|
|
@@ -179,6 +179,8 @@ export declare const networkModificationsFr: {
|
|
|
179
179
|
MaximumActivePowerText: string;
|
|
180
180
|
ActivePowerSetPointText: string;
|
|
181
181
|
ReactivePowerSetPointText: string;
|
|
182
|
+
ReactivePowerMeasurementValue: string;
|
|
183
|
+
ReactivePowerMeasurementValidity: string;
|
|
182
184
|
GeneratorTargetV: string;
|
|
183
185
|
PlannedActivePowerSetPointForm: string;
|
|
184
186
|
MarginalCost: string;
|
|
@@ -184,6 +184,8 @@ const networkModificationsFr = {
|
|
|
184
184
|
MaximumActivePowerText: "Puissance active max",
|
|
185
185
|
ActivePowerSetPointText: "Consigne de puissance active",
|
|
186
186
|
ReactivePowerSetPointText: "Consigne de puissance réactive",
|
|
187
|
+
ReactivePowerMeasurementValue: "Valeur TM puissance réactive",
|
|
188
|
+
ReactivePowerMeasurementValidity: "Validité TM puissance réactive",
|
|
187
189
|
GeneratorTargetV: "Consigne tension",
|
|
188
190
|
PlannedActivePowerSetPointForm: "Puissance imposée",
|
|
189
191
|
MarginalCost: "Coût de démarrage",
|
|
@@ -87,6 +87,7 @@ export declare const parametersFr: {
|
|
|
87
87
|
HorizontalSubstationLayout: string;
|
|
88
88
|
VerticalSubstationLayout: string;
|
|
89
89
|
ComponentLibrary: string;
|
|
90
|
+
CustomRealTimeStateEstimation: string;
|
|
90
91
|
nadPositionsGenerationModeLabel: string;
|
|
91
92
|
NadGeoPositionsModeLabel: string;
|
|
92
93
|
NadAutoPositionsModeLabel: string;
|
|
@@ -81,6 +81,7 @@ const parametersFr = {
|
|
|
81
81
|
HorizontalSubstationLayout: "Horizontal",
|
|
82
82
|
VerticalSubstationLayout: "Vertical",
|
|
83
83
|
ComponentLibrary: "Sélection de la bibliothèque de composants",
|
|
84
|
+
CustomRealTimeStateEstimation: "Estimation d'état",
|
|
84
85
|
nadPositionsGenerationModeLabel: "Initialisation des positions",
|
|
85
86
|
NadGeoPositionsModeLabel: "Géographique",
|
|
86
87
|
NadAutoPositionsModeLabel: "Automatique",
|
|
@@ -14,6 +14,7 @@ export declare enum ElementType {
|
|
|
14
14
|
FILTER = "FILTER",
|
|
15
15
|
MODIFICATION = "MODIFICATION",
|
|
16
16
|
CONTINGENCY_LIST = "CONTINGENCY_LIST",
|
|
17
|
+
DYNAMIC_SIMULATION_MAPPING = "DYNAMIC_SIMULATION_MAPPING",
|
|
17
18
|
VOLTAGE_INIT_PARAMETERS = "VOLTAGE_INIT_PARAMETERS",
|
|
18
19
|
SECURITY_ANALYSIS_PARAMETERS = "SECURITY_ANALYSIS_PARAMETERS",
|
|
19
20
|
PCC_MIN_PARAMETERS = "PCC_MIN_PARAMETERS",
|
|
@@ -5,6 +5,7 @@ var ElementType = /* @__PURE__ */ ((ElementType2) => {
|
|
|
5
5
|
ElementType2["FILTER"] = "FILTER";
|
|
6
6
|
ElementType2["MODIFICATION"] = "MODIFICATION";
|
|
7
7
|
ElementType2["CONTINGENCY_LIST"] = "CONTINGENCY_LIST";
|
|
8
|
+
ElementType2["DYNAMIC_SIMULATION_MAPPING"] = "DYNAMIC_SIMULATION_MAPPING";
|
|
8
9
|
ElementType2["VOLTAGE_INIT_PARAMETERS"] = "VOLTAGE_INIT_PARAMETERS";
|
|
9
10
|
ElementType2["SECURITY_ANALYSIS_PARAMETERS"] = "SECURITY_ANALYSIS_PARAMETERS";
|
|
10
11
|
ElementType2["PCC_MIN_PARAMETERS"] = "PCC_MIN_PARAMETERS";
|
|
@@ -125,6 +125,8 @@ export declare enum FieldType {
|
|
|
125
125
|
VOLTAGE_SET_POINT = "VOLTAGE_SET_POINT",
|
|
126
126
|
ACTIVE_POWER_SET_POINT = "ACTIVE_POWER_SET_POINT",
|
|
127
127
|
REACTIVE_POWER_SET_POINT = "REACTIVE_POWER_SET_POINT",
|
|
128
|
+
REACTIVE_POWER_MEASUREMENT_VALUE = "REACTIVE_POWER_MEASUREMENT_VALUE",
|
|
129
|
+
REACTIVE_POWER_MEASUREMENT_VALIDITY = "REACTIVE_POWER_MEASUREMENT_VALIDITY",
|
|
128
130
|
REMOTE_REGULATED_TERMINAL = "REMOTE_REGULATED_TERMINAL",
|
|
129
131
|
REGULATING_TERMINAL_VL_ID = "REGULATING_TERMINAL_VL_ID",
|
|
130
132
|
REGULATING_TERMINAL_CONNECTABLE_ID = "REGULATING_TERMINAL_CONNECTABLE_ID",
|
|
@@ -119,6 +119,8 @@ var FieldType = /* @__PURE__ */ ((FieldType2) => {
|
|
|
119
119
|
FieldType2["VOLTAGE_SET_POINT"] = "VOLTAGE_SET_POINT";
|
|
120
120
|
FieldType2["ACTIVE_POWER_SET_POINT"] = "ACTIVE_POWER_SET_POINT";
|
|
121
121
|
FieldType2["REACTIVE_POWER_SET_POINT"] = "REACTIVE_POWER_SET_POINT";
|
|
122
|
+
FieldType2["REACTIVE_POWER_MEASUREMENT_VALUE"] = "REACTIVE_POWER_MEASUREMENT_VALUE";
|
|
123
|
+
FieldType2["REACTIVE_POWER_MEASUREMENT_VALIDITY"] = "REACTIVE_POWER_MEASUREMENT_VALIDITY";
|
|
122
124
|
FieldType2["REMOTE_REGULATED_TERMINAL"] = "REMOTE_REGULATED_TERMINAL";
|
|
123
125
|
FieldType2["REGULATING_TERMINAL_VL_ID"] = "REGULATING_TERMINAL_VL_ID";
|
|
124
126
|
FieldType2["REGULATING_TERMINAL_CONNECTABLE_ID"] = "REGULATING_TERMINAL_CONNECTABLE_ID";
|
package/package.json
CHANGED
|
@@ -1,20 +0,0 @@
|
|
|
1
|
-
import { useCallback } from "react";
|
|
2
|
-
import { createFilterOptions } from "@mui/material";
|
|
3
|
-
function useCustomFilterOptions() {
|
|
4
|
-
return useCallback((options, params) => {
|
|
5
|
-
const filter = createFilterOptions();
|
|
6
|
-
const filteredOptions = filter(options, params);
|
|
7
|
-
const { inputValue } = params;
|
|
8
|
-
const isExisting = options.some((option) => inputValue === option);
|
|
9
|
-
if (isExisting && options.length === 1 && options[0] === inputValue) {
|
|
10
|
-
return [];
|
|
11
|
-
}
|
|
12
|
-
if (inputValue !== "" && !isExisting) {
|
|
13
|
-
filteredOptions.push(inputValue);
|
|
14
|
-
}
|
|
15
|
-
return filteredOptions;
|
|
16
|
-
}, []);
|
|
17
|
-
}
|
|
18
|
-
export {
|
|
19
|
-
useCustomFilterOptions
|
|
20
|
-
};
|