@gridsuite/commons-ui 0.122.0 → 0.124.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/components/filter/FilterCreationDialog.js +2 -2
- package/dist/components/filter/expert/ExpertFilterEditionDialog.js +2 -1
- package/dist/components/filter/explicitNaming/ExplicitNamingFilterEditionDialog.js +1 -1
- package/dist/components/filter/utils/filterApi.d.ts +2 -2
- package/dist/components/filter/utils/filterApi.js +4 -4
- package/dist/components/flatParameters/FlatParameters.js +19 -3
- package/dist/components/inputs/reactHookForm/autocompleteInputs/AutocompleteInput.js +1 -7
- package/dist/components/inputs/reactQueryBuilder/ValueEditor.js +2 -7
- package/dist/components/notifications/hooks/useListenerManager.js +7 -1
- package/dist/components/parameters/common/limitreductions/columns-definitions.d.ts +2 -2
- package/dist/components/parameters/common/limitreductions/limit-reduction-table-cell.d.ts +3 -2
- package/dist/components/parameters/common/limitreductions/limit-reduction-table-cell.js +20 -4
- package/dist/components/parameters/common/limitreductions/limit-reduction-table-row.d.ts +3 -2
- package/dist/components/parameters/common/limitreductions/limit-reduction-table-row.js +2 -2
- package/dist/components/parameters/common/limitreductions/limit-reductions-label-column.d.ts +6 -0
- package/dist/components/parameters/common/limitreductions/limit-reductions-label-column.js +22 -0
- package/dist/components/parameters/common/limitreductions/limit-reductions-table-form.js +11 -34
- package/dist/components/parameters/common/limitreductions/limit-reductions-tooltip-column.d.ts +6 -0
- package/dist/components/parameters/common/limitreductions/limit-reductions-tooltip-column.js +24 -0
- package/dist/components/parameters/common/voltage-level-table/custom-voltage-level-table.d.ts +3 -2
- package/dist/components/parameters/common/voltage-level-table/custom-voltage-level-table.js +7 -6
- package/dist/components/parameters/loadflow/load-flow-parameters-inline.d.ts +1 -2
- package/dist/components/parameters/network-visualizations/network-visualizations-parameters-inline.d.ts +1 -2
- package/dist/components/parameters/security-analysis/security-analysis-parameters-inline.d.ts +1 -2
- package/dist/components/parameters/security-analysis/security-analysis-parameters-selector.js +1 -2
- package/dist/components/parameters/sensi/sensitivity-analysis-parameters-inline.d.ts +1 -1
- package/dist/components/parameters/short-circuit/short-circuit-parameters-inline.d.ts +1 -2
- package/dist/components/parameters/voltage-init/voltage-init-parameters-inline.d.ts +1 -2
- package/dist/translations/en/filterExpertEn.d.ts +1 -0
- package/dist/translations/en/filterExpertEn.js +1 -0
- package/dist/translations/en/parameters.d.ts +3 -1
- package/dist/translations/en/parameters.js +5 -3
- package/dist/translations/fr/filterExpertFr.d.ts +1 -0
- package/dist/translations/fr/filterExpertFr.js +1 -0
- package/dist/translations/fr/parameters.d.ts +3 -1
- package/dist/translations/fr/parameters.js +4 -2
- package/package.json +1 -1
|
@@ -60,7 +60,7 @@ function FilterCreationDialog({
|
|
|
60
60
|
null,
|
|
61
61
|
(error) => {
|
|
62
62
|
snackError({
|
|
63
|
-
messageTxt: error
|
|
63
|
+
messageTxt: error.message
|
|
64
64
|
});
|
|
65
65
|
},
|
|
66
66
|
onClose,
|
|
@@ -78,7 +78,7 @@ function FilterCreationDialog({
|
|
|
78
78
|
onClose,
|
|
79
79
|
(error) => {
|
|
80
80
|
snackError({
|
|
81
|
-
messageTxt: error
|
|
81
|
+
messageTxt: error.message
|
|
82
82
|
});
|
|
83
83
|
}
|
|
84
84
|
);
|
|
@@ -1,3 +1,3 @@
|
|
|
1
1
|
import { UUID } from 'crypto';
|
|
2
|
-
export declare const saveExplicitNamingFilter: (tableValues: any[], isFilterCreation: boolean, equipmentType: string, name: string, description: string, id: string | null, setCreateFilterErr: (
|
|
3
|
-
export declare const saveExpertFilter: (id: string | null, query: any, equipmentType: string, name: string, description: string, isFilterCreation: boolean, activeDirectory: UUID | undefined | null, onClose: () => void, onError: (
|
|
2
|
+
export declare const saveExplicitNamingFilter: (tableValues: any[], isFilterCreation: boolean, equipmentType: string, name: string, description: string, id: string | null, setCreateFilterErr: (error: Error) => void, handleClose: () => void, activeDirectory?: UUID, token?: string) => void;
|
|
3
|
+
export declare const saveExpertFilter: (id: string | null, query: any, equipmentType: string, name: string, description: string, isFilterCreation: boolean, activeDirectory: UUID | undefined | null, onClose: () => void, onError: (error: Error) => void, token?: string) => void;
|
|
@@ -37,7 +37,7 @@ const saveExplicitNamingFilter = (tableValues, isFilterCreation, equipmentType,
|
|
|
37
37
|
).then(() => {
|
|
38
38
|
handleClose();
|
|
39
39
|
}).catch((error) => {
|
|
40
|
-
setCreateFilterErr(error
|
|
40
|
+
setCreateFilterErr(error instanceof Error ? error : new Error("unknown error"));
|
|
41
41
|
});
|
|
42
42
|
} else {
|
|
43
43
|
saveFilter(
|
|
@@ -53,7 +53,7 @@ const saveExplicitNamingFilter = (tableValues, isFilterCreation, equipmentType,
|
|
|
53
53
|
).then(() => {
|
|
54
54
|
handleClose();
|
|
55
55
|
}).catch((error) => {
|
|
56
|
-
setCreateFilterErr(error
|
|
56
|
+
setCreateFilterErr(error instanceof Error ? error : new Error("unknown error"));
|
|
57
57
|
});
|
|
58
58
|
}
|
|
59
59
|
};
|
|
@@ -74,7 +74,7 @@ const saveExpertFilter = (id, query, equipmentType, name, description, isFilterC
|
|
|
74
74
|
onClose();
|
|
75
75
|
}).catch((error) => {
|
|
76
76
|
catchErrorHandler(error, (message) => {
|
|
77
|
-
onError(message);
|
|
77
|
+
onError(new Error(message));
|
|
78
78
|
});
|
|
79
79
|
});
|
|
80
80
|
} else {
|
|
@@ -92,7 +92,7 @@ const saveExpertFilter = (id, query, equipmentType, name, description, isFilterC
|
|
|
92
92
|
onClose();
|
|
93
93
|
}).catch((error) => {
|
|
94
94
|
catchErrorHandler(error, (message) => {
|
|
95
|
-
onError(message);
|
|
95
|
+
onError(new Error(message));
|
|
96
96
|
});
|
|
97
97
|
});
|
|
98
98
|
}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { jsx, jsxs, Fragment as Fragment$1 } from "react/jsx-runtime";
|
|
2
|
-
import { useState, useCallback, Fragment } from "react";
|
|
2
|
+
import { useState, useCallback, Fragment, createElement } from "react";
|
|
3
3
|
import { List, ListItem, Tooltip, Typography, Divider, Select, MenuItem, TextField, IconButton, Autocomplete, Chip, Switch } from "@mui/material";
|
|
4
4
|
import { Tune } from "@mui/icons-material";
|
|
5
5
|
import { useIntl, FormattedMessage } from "react-intl";
|
|
@@ -274,7 +274,14 @@ function FlatParameters({
|
|
|
274
274
|
onChange: (e, value) => onFieldChange(value, param),
|
|
275
275
|
value: fieldValue,
|
|
276
276
|
renderTags: (values, getTagProps) => {
|
|
277
|
-
return values.map((value, index) => /* @__PURE__ */
|
|
277
|
+
return values.map((value, index) => /* @__PURE__ */ createElement(
|
|
278
|
+
Chip,
|
|
279
|
+
{
|
|
280
|
+
label: getTranslatedValue(param.name, value),
|
|
281
|
+
...getTagProps({ index }),
|
|
282
|
+
key: `chip_${value}`
|
|
283
|
+
}
|
|
284
|
+
));
|
|
278
285
|
},
|
|
279
286
|
renderInput: (inputProps) => /* @__PURE__ */ jsx(TextField, { ...inputProps, variant })
|
|
280
287
|
}
|
|
@@ -292,7 +299,16 @@ function FlatParameters({
|
|
|
292
299
|
onChange: (e, value) => onFieldChange(value, param),
|
|
293
300
|
value: fieldValue,
|
|
294
301
|
renderTags: (values, getTagProps) => {
|
|
295
|
-
return values.map((value, index) => /* @__PURE__ */
|
|
302
|
+
return values.map((value, index) => /* @__PURE__ */ createElement(
|
|
303
|
+
Chip,
|
|
304
|
+
{
|
|
305
|
+
id: `chip_${value}`,
|
|
306
|
+
size: "small",
|
|
307
|
+
label: value,
|
|
308
|
+
...getTagProps({ index }),
|
|
309
|
+
key: `chip_${value}`
|
|
310
|
+
}
|
|
311
|
+
));
|
|
296
312
|
},
|
|
297
313
|
renderInput: (inputProps) => /* @__PURE__ */ jsx(TextField, { ...inputProps, variant })
|
|
298
314
|
}
|
|
@@ -78,13 +78,7 @@ function AutocompleteInput({
|
|
|
78
78
|
})
|
|
79
79
|
},
|
|
80
80
|
inputRef: ref,
|
|
81
|
-
inputProps: {
|
|
82
|
-
style: {
|
|
83
|
-
fontSize: "small"
|
|
84
|
-
},
|
|
85
|
-
...inputProps,
|
|
86
|
-
readOnly
|
|
87
|
-
},
|
|
81
|
+
inputProps: { ...inputProps, readOnly },
|
|
88
82
|
helperText: previousValue && /* @__PURE__ */ jsx(
|
|
89
83
|
HelperPreviousValue,
|
|
90
84
|
{
|
|
@@ -12,7 +12,6 @@ import { VoltageLevel, Substation } from "../../../utils/types/equipmentTypes.js
|
|
|
12
12
|
import { ElementValueEditor } from "./ElementValueEditor.js";
|
|
13
13
|
import { ElementType } from "../../../utils/types/elementType.js";
|
|
14
14
|
import { PropertyValueEditor } from "./PropertyValueEditor.js";
|
|
15
|
-
import { FilterType } from "../../filter/constants/FilterConstants.js";
|
|
16
15
|
import { GroupValueEditor } from "./compositeRuleEditor/GroupValueEditor.js";
|
|
17
16
|
import { OPERATOR_OPTIONS } from "../../filter/expert/expertFilterConstants.js";
|
|
18
17
|
import { FieldType } from "../../../utils/types/fieldType.js";
|
|
@@ -32,13 +31,9 @@ function ValueEditor(props) {
|
|
|
32
31
|
const { getValues } = formContext;
|
|
33
32
|
const itemFilter = useCallback(
|
|
34
33
|
(filterValue) => {
|
|
35
|
-
var _a, _b, _c
|
|
34
|
+
var _a, _b, _c;
|
|
36
35
|
if ((filterValue == null ? void 0 : filterValue.type) === ElementType.FILTER) {
|
|
37
|
-
return (
|
|
38
|
-
// we do not authorize to use an expert filter in the rules of
|
|
39
|
-
// another expert filter, to prevent potential cycle problems
|
|
40
|
-
((_a = filterValue == null ? void 0 : filterValue.specificMetadata) == null ? void 0 : _a.type) !== FilterType.EXPERT.id && (field === FieldType.ID && ((_b = filterValue == null ? void 0 : filterValue.specificMetadata) == null ? void 0 : _b.equipmentType) === getValues(FieldConstants.EQUIPMENT_TYPE) || (field === FieldType.VOLTAGE_LEVEL_ID || field === FieldType.VOLTAGE_LEVEL_ID_1 || field === FieldType.VOLTAGE_LEVEL_ID_2 || field === FieldType.VOLTAGE_LEVEL_ID_3) && ((_c = filterValue == null ? void 0 : filterValue.specificMetadata) == null ? void 0 : _c.equipmentType) === VoltageLevel.type || (field === FieldType.SUBSTATION_ID || field === FieldType.SUBSTATION_ID_1 || field === FieldType.SUBSTATION_ID_2) && ((_d = filterValue == null ? void 0 : filterValue.specificMetadata) == null ? void 0 : _d.equipmentType) === Substation.type)
|
|
41
|
-
);
|
|
36
|
+
return field === FieldType.ID && ((_a = filterValue == null ? void 0 : filterValue.specificMetadata) == null ? void 0 : _a.equipmentType) === getValues(FieldConstants.EQUIPMENT_TYPE) || (field === FieldType.VOLTAGE_LEVEL_ID || field === FieldType.VOLTAGE_LEVEL_ID_1 || field === FieldType.VOLTAGE_LEVEL_ID_2 || field === FieldType.VOLTAGE_LEVEL_ID_3) && ((_b = filterValue == null ? void 0 : filterValue.specificMetadata) == null ? void 0 : _b.equipmentType) === VoltageLevel.type || (field === FieldType.SUBSTATION_ID || field === FieldType.SUBSTATION_ID_1 || field === FieldType.SUBSTATION_ID_2) && ((_c = filterValue == null ? void 0 : filterValue.specificMetadata) == null ? void 0 : _c.equipmentType) === Substation.type;
|
|
42
37
|
}
|
|
43
38
|
return true;
|
|
44
39
|
},
|
|
@@ -13,7 +13,13 @@ const useListenerManager = (urls) => {
|
|
|
13
13
|
const addListenerEvent = useCallback((urlKey, listener) => {
|
|
14
14
|
const urlsListeners = urlsListenersRef.current;
|
|
15
15
|
if (urlKey in urlsListeners) {
|
|
16
|
-
urlsListeners[urlKey].
|
|
16
|
+
const existingIndex = urlsListeners[urlKey].findIndex((l) => l.id === listener.id);
|
|
17
|
+
if (existingIndex !== -1) {
|
|
18
|
+
console.warn(`🔄 Replacing existing listener ${listener.id} on ${urlKey}`);
|
|
19
|
+
urlsListeners[urlKey][existingIndex] = listener;
|
|
20
|
+
} else {
|
|
21
|
+
urlsListeners[urlKey].push(listener);
|
|
22
|
+
}
|
|
17
23
|
} else {
|
|
18
24
|
urlsListeners[urlKey] = [listener];
|
|
19
25
|
}
|
|
@@ -44,9 +44,9 @@ export declare const TAB_INFO: {
|
|
|
44
44
|
developerModeOnly: boolean;
|
|
45
45
|
}[];
|
|
46
46
|
export interface LimitReductionIColumnsDef {
|
|
47
|
-
label:
|
|
47
|
+
label: React.ReactNode;
|
|
48
48
|
dataKey: string;
|
|
49
|
-
tooltip:
|
|
49
|
+
tooltip: React.ReactNode;
|
|
50
50
|
width?: string;
|
|
51
51
|
}
|
|
52
52
|
export declare const COLUMNS_DEFINITIONS_LIMIT_REDUCTIONS: LimitReductionIColumnsDef[];
|
|
@@ -1,5 +1,6 @@
|
|
|
1
|
-
import { LimitReductionIColumnsDef } from './columns-definitions';
|
|
2
|
-
export declare function LimitReductionTableCell({ rowIndex, column, }: Readonly<{
|
|
1
|
+
import { LimitReductionIColumnsDef, ILimitReductionsByVoltageLevel } from './columns-definitions';
|
|
2
|
+
export declare function LimitReductionTableCell({ rowIndex, column, limits, }: Readonly<{
|
|
3
3
|
rowIndex: number;
|
|
4
4
|
column: LimitReductionIColumnsDef;
|
|
5
|
+
limits: ILimitReductionsByVoltageLevel[];
|
|
5
6
|
}>): import("react/jsx-runtime").JSX.Element;
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { jsx } from "react/jsx-runtime";
|
|
2
|
-
import { TableCell } from "@mui/material";
|
|
2
|
+
import { Tooltip, TableCell } from "@mui/material";
|
|
3
|
+
import { FormattedMessage } from "react-intl";
|
|
3
4
|
import { VOLTAGE_LEVELS_FORM, LIMIT_REDUCTIONS_FORM } from "./columns-definitions.js";
|
|
4
|
-
import "react-intl";
|
|
5
5
|
import "react";
|
|
6
6
|
import "react-hook-form";
|
|
7
7
|
import "../../../../utils/types/equipmentType.js";
|
|
@@ -32,9 +32,25 @@ import "../../../inputs/reactQueryBuilder/PropertyValueEditor.js";
|
|
|
32
32
|
import "react-querybuilder";
|
|
33
33
|
function LimitReductionTableCell({
|
|
34
34
|
rowIndex,
|
|
35
|
-
column
|
|
35
|
+
column,
|
|
36
|
+
limits
|
|
36
37
|
}) {
|
|
37
|
-
return
|
|
38
|
+
return column.dataKey === VOLTAGE_LEVELS_FORM ? /* @__PURE__ */ jsx(
|
|
39
|
+
Tooltip,
|
|
40
|
+
{
|
|
41
|
+
title: /* @__PURE__ */ jsx(
|
|
42
|
+
FormattedMessage,
|
|
43
|
+
{
|
|
44
|
+
id: "VoltageRangeInterval",
|
|
45
|
+
values: {
|
|
46
|
+
lowBound: `${limits[rowIndex].voltageLevel.lowBound}`,
|
|
47
|
+
highBound: `${limits[rowIndex].voltageLevel.highBound}`
|
|
48
|
+
}
|
|
49
|
+
}
|
|
50
|
+
),
|
|
51
|
+
children: /* @__PURE__ */ jsx(TableCell, { sx: { fontWeight: "bold" }, children: /* @__PURE__ */ jsx(RawReadOnlyInput, { name: `${LIMIT_REDUCTIONS_FORM}[${rowIndex}].${column.dataKey}` }) })
|
|
52
|
+
}
|
|
53
|
+
) : /* @__PURE__ */ jsx(TableCell, { sx: { fontWeight: "bold" }, children: /* @__PURE__ */ jsx(FloatInput, { name: `${LIMIT_REDUCTIONS_FORM}[${rowIndex}].${column.dataKey}` }) });
|
|
38
54
|
}
|
|
39
55
|
export {
|
|
40
56
|
LimitReductionTableCell
|
|
@@ -1,7 +1,8 @@
|
|
|
1
|
-
import { LimitReductionIColumnsDef } from './columns-definitions';
|
|
1
|
+
import { ILimitReductionsByVoltageLevel, LimitReductionIColumnsDef } from './columns-definitions';
|
|
2
2
|
interface TableRowComponentProps {
|
|
3
3
|
columnsDefinition: LimitReductionIColumnsDef[];
|
|
4
4
|
index: number;
|
|
5
|
+
limits: ILimitReductionsByVoltageLevel[];
|
|
5
6
|
}
|
|
6
|
-
export declare function LimitReductionTableRow({ columnsDefinition, index }: Readonly<TableRowComponentProps>): import("react/jsx-runtime").JSX.Element;
|
|
7
|
+
export declare function LimitReductionTableRow({ columnsDefinition, index, limits }: Readonly<TableRowComponentProps>): import("react/jsx-runtime").JSX.Element;
|
|
7
8
|
export {};
|
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
import { jsx } from "react/jsx-runtime";
|
|
2
2
|
import { TableRow } from "@mui/material";
|
|
3
3
|
import { LimitReductionTableCell } from "./limit-reduction-table-cell.js";
|
|
4
|
-
function LimitReductionTableRow({ columnsDefinition, index }) {
|
|
5
|
-
return /* @__PURE__ */ jsx(TableRow, { children: columnsDefinition.map((column) => /* @__PURE__ */ jsx(LimitReductionTableCell, { rowIndex: index, column }, `${column.dataKey}`)) });
|
|
4
|
+
function LimitReductionTableRow({ columnsDefinition, index, limits }) {
|
|
5
|
+
return /* @__PURE__ */ jsx(TableRow, { children: columnsDefinition.map((column) => /* @__PURE__ */ jsx(LimitReductionTableCell, { rowIndex: index, column, limits }, `${column.dataKey}`)) });
|
|
6
6
|
}
|
|
7
7
|
export {
|
|
8
8
|
LimitReductionTableRow
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
import { ITemporaryLimitReduction } from './columns-definitions';
|
|
2
|
+
type LimitReductionsLabelColumnProps = {
|
|
3
|
+
limits: ITemporaryLimitReduction;
|
|
4
|
+
};
|
|
5
|
+
export declare function LimitReductionsLabelColumn({ limits }: Readonly<LimitReductionsLabelColumnProps>): import("react/jsx-runtime").JSX.Element;
|
|
6
|
+
export {};
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
import { jsx } from "react/jsx-runtime";
|
|
2
|
+
import { FormattedMessage } from "react-intl";
|
|
3
|
+
function LimitReductionsLabelColumn({ limits }) {
|
|
4
|
+
const highBound = Math.trunc(limits.limitDuration.lowBound / 60);
|
|
5
|
+
const lowBound = Math.trunc(limits.limitDuration.highBound / 60);
|
|
6
|
+
if (lowBound === 0) {
|
|
7
|
+
return /* @__PURE__ */ jsx(FormattedMessage, { id: "LimitVoltageAfterIST", values: { highBound: `${highBound}` } });
|
|
8
|
+
}
|
|
9
|
+
return /* @__PURE__ */ jsx(
|
|
10
|
+
FormattedMessage,
|
|
11
|
+
{
|
|
12
|
+
id: "LimitVoltageInterval",
|
|
13
|
+
values: {
|
|
14
|
+
lowBound: `${lowBound}`,
|
|
15
|
+
highBound: `${highBound}`
|
|
16
|
+
}
|
|
17
|
+
}
|
|
18
|
+
);
|
|
19
|
+
}
|
|
20
|
+
export {
|
|
21
|
+
LimitReductionsLabelColumn
|
|
22
|
+
};
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { jsx } from "react/jsx-runtime";
|
|
2
|
-
import {
|
|
3
|
-
import {
|
|
2
|
+
import { useMemo } from "react";
|
|
3
|
+
import { FormattedMessage } from "react-intl";
|
|
4
4
|
import { COLUMNS_DEFINITIONS_LIMIT_REDUCTIONS, LIMIT_DURATION_FORM, LIMIT_REDUCTIONS_FORM } from "./columns-definitions.js";
|
|
5
5
|
import { CustomVoltageLevelTable } from "../voltage-level-table/custom-voltage-level-table.js";
|
|
6
6
|
import "@mui/material";
|
|
@@ -29,56 +29,33 @@ import "../../../inputs/reactQueryBuilder/CustomReactQueryBuilder.js";
|
|
|
29
29
|
import "uuid";
|
|
30
30
|
import "../../../inputs/reactQueryBuilder/PropertyValueEditor.js";
|
|
31
31
|
import "react-querybuilder";
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
const highBoundValue = Math.trunc(limit.limitDuration.highBound / 60);
|
|
35
|
-
const highBound = highBoundValue === 0 ? "∞" : `${Math.trunc(limit.limitDuration.highBound / 60)} min`;
|
|
36
|
-
const lowerBoundClosed = limit.limitDuration.lowClosed ? "[" : "]";
|
|
37
|
-
const highBoundClosed = limit.limitDuration.highClosed || null ? "]" : "[";
|
|
38
|
-
return `${lowerBoundClosed}${lowBound}, ${highBound}${highBoundClosed}`;
|
|
39
|
-
};
|
|
32
|
+
import { LimitReductionsToolTipColumn } from "./limit-reductions-tooltip-column.js";
|
|
33
|
+
import { LimitReductionsLabelColumn } from "./limit-reductions-label-column.js";
|
|
40
34
|
function LimitReductionsTableForm({ limits }) {
|
|
41
|
-
const intl = useIntl();
|
|
42
|
-
const getToolTipColumn = useCallback(
|
|
43
|
-
(limit) => {
|
|
44
|
-
const lowBound = Math.trunc(limit.limitDuration.lowBound / 60);
|
|
45
|
-
const highBound = Math.trunc(limit.limitDuration.highBound / 60);
|
|
46
|
-
if (lowBound === 0) {
|
|
47
|
-
return intl.formatMessage({ id: "LimitDurationAfterIST" }, { value: highBound });
|
|
48
|
-
}
|
|
49
|
-
return intl.formatMessage(
|
|
50
|
-
{ id: "LimitDurationInterval" },
|
|
51
|
-
{
|
|
52
|
-
lowBound: `IT${lowBound}`,
|
|
53
|
-
highBound: highBound === 0 ? "IST" : `IT${highBound}`
|
|
54
|
-
}
|
|
55
|
-
);
|
|
56
|
-
},
|
|
57
|
-
[intl]
|
|
58
|
-
);
|
|
59
35
|
const columnsDefinition = useMemo(() => {
|
|
60
36
|
const columnsDef = COLUMNS_DEFINITIONS_LIMIT_REDUCTIONS.map((column) => ({
|
|
61
37
|
...column,
|
|
62
|
-
label:
|
|
63
|
-
tooltip:
|
|
38
|
+
label: /* @__PURE__ */ jsx(FormattedMessage, { id: column.label }),
|
|
39
|
+
tooltip: /* @__PURE__ */ jsx(FormattedMessage, { id: column.tooltip })
|
|
64
40
|
}));
|
|
65
41
|
if (limits !== null && limits.length > 0) {
|
|
66
42
|
limits[0].temporaryLimitReductions.forEach((tlimit, index) => {
|
|
67
43
|
columnsDef.push({
|
|
68
|
-
label:
|
|
44
|
+
label: /* @__PURE__ */ jsx(LimitReductionsLabelColumn, { limits: tlimit }),
|
|
69
45
|
dataKey: LIMIT_DURATION_FORM + index,
|
|
70
|
-
tooltip:
|
|
46
|
+
tooltip: /* @__PURE__ */ jsx(LimitReductionsToolTipColumn, { limits: tlimit })
|
|
71
47
|
});
|
|
72
48
|
});
|
|
73
49
|
}
|
|
74
50
|
return columnsDef;
|
|
75
|
-
}, [
|
|
51
|
+
}, [limits]);
|
|
76
52
|
return /* @__PURE__ */ jsx(
|
|
77
53
|
CustomVoltageLevelTable,
|
|
78
54
|
{
|
|
79
55
|
formName: LIMIT_REDUCTIONS_FORM,
|
|
80
56
|
columnsDefinition,
|
|
81
|
-
tableHeight: 450
|
|
57
|
+
tableHeight: 450,
|
|
58
|
+
limits
|
|
82
59
|
}
|
|
83
60
|
);
|
|
84
61
|
}
|
package/dist/components/parameters/common/limitreductions/limit-reductions-tooltip-column.d.ts
ADDED
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
import { ITemporaryLimitReduction } from './columns-definitions';
|
|
2
|
+
type LimitReductionsLabelColumnProps = {
|
|
3
|
+
limits: ITemporaryLimitReduction;
|
|
4
|
+
};
|
|
5
|
+
export declare function LimitReductionsToolTipColumn({ limits }: Readonly<LimitReductionsLabelColumnProps>): import("react/jsx-runtime").JSX.Element;
|
|
6
|
+
export {};
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
import { jsx } from "react/jsx-runtime";
|
|
2
|
+
import { FormattedMessage } from "react-intl";
|
|
3
|
+
function LimitReductionsToolTipColumn({ limits }) {
|
|
4
|
+
const lowBound = `${Math.trunc(limits.limitDuration.lowBound / 60)} min`;
|
|
5
|
+
const highBoundValue = Math.trunc(limits.limitDuration.highBound / 60);
|
|
6
|
+
const highBound = highBoundValue === 0 ? "∞" : `${Math.trunc(limits.limitDuration.highBound / 60)} min`;
|
|
7
|
+
const lowerBoundClosed = limits.limitDuration.lowClosed ? "[" : "]";
|
|
8
|
+
const higherBoundClosed = limits.limitDuration.highClosed || null ? "]" : "[";
|
|
9
|
+
return /* @__PURE__ */ jsx(
|
|
10
|
+
FormattedMessage,
|
|
11
|
+
{
|
|
12
|
+
id: "LimitDurationInterval",
|
|
13
|
+
values: {
|
|
14
|
+
lowBound: `${lowBound}`,
|
|
15
|
+
highBound: `${highBound}`,
|
|
16
|
+
higherBoundClosed: `${higherBoundClosed}`,
|
|
17
|
+
lowerBoundClosed: `${lowerBoundClosed}`
|
|
18
|
+
}
|
|
19
|
+
}
|
|
20
|
+
);
|
|
21
|
+
}
|
|
22
|
+
export {
|
|
23
|
+
LimitReductionsToolTipColumn
|
|
24
|
+
};
|
package/dist/components/parameters/common/voltage-level-table/custom-voltage-level-table.d.ts
CHANGED
|
@@ -1,8 +1,9 @@
|
|
|
1
|
-
import { LimitReductionIColumnsDef } from '../limitreductions/columns-definitions';
|
|
1
|
+
import { LimitReductionIColumnsDef, ILimitReductionsByVoltageLevel } from '../limitreductions/columns-definitions';
|
|
2
2
|
interface LimitReductionsTableProps {
|
|
3
3
|
columnsDefinition: LimitReductionIColumnsDef[];
|
|
4
4
|
tableHeight: number;
|
|
5
5
|
formName: string;
|
|
6
|
+
limits: ILimitReductionsByVoltageLevel[];
|
|
6
7
|
}
|
|
7
|
-
export declare function CustomVoltageLevelTable({ formName, columnsDefinition, tableHeight, }: Readonly<LimitReductionsTableProps>): import("react/jsx-runtime").JSX.Element;
|
|
8
|
+
export declare function CustomVoltageLevelTable({ formName, columnsDefinition, tableHeight, limits, }: Readonly<LimitReductionsTableProps>): import("react/jsx-runtime").JSX.Element;
|
|
8
9
|
export {};
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { jsx, jsxs } from "react/jsx-runtime";
|
|
2
|
-
import { TableContainer, Table, TableHead, TableRow, TableCell, TableBody } from "@mui/material";
|
|
2
|
+
import { TableContainer, Table, TableHead, TableRow, Tooltip, TableCell, TableBody } from "@mui/material";
|
|
3
3
|
import { useMemo } from "react";
|
|
4
4
|
import { useFieldArray } from "react-hook-form";
|
|
5
5
|
import { LIMIT_REDUCTIONS_FORM } from "../limitreductions/columns-definitions.js";
|
|
@@ -8,7 +8,8 @@ import { CustomVoltageLevelTableRow } from "./custom-voltage-level-table-row.js"
|
|
|
8
8
|
function CustomVoltageLevelTable({
|
|
9
9
|
formName,
|
|
10
10
|
columnsDefinition,
|
|
11
|
-
tableHeight
|
|
11
|
+
tableHeight,
|
|
12
|
+
limits
|
|
12
13
|
}) {
|
|
13
14
|
const { fields: rows } = useFieldArray({
|
|
14
15
|
name: formName
|
|
@@ -26,23 +27,23 @@ function CustomVoltageLevelTable({
|
|
|
26
27
|
border: "solid 0px rgba(0,0,0,0.1)"
|
|
27
28
|
},
|
|
28
29
|
children: /* @__PURE__ */ jsxs(Table, { stickyHeader: true, size: "small", sx: { tableLayout: "fixed" }, children: [
|
|
29
|
-
/* @__PURE__ */ jsx(TableHead, { children: /* @__PURE__ */ jsx(TableRow, { children: columnsDefinition.map((column) => /* @__PURE__ */ jsx(
|
|
30
|
+
/* @__PURE__ */ jsx(TableHead, { children: /* @__PURE__ */ jsx(TableRow, { children: columnsDefinition.map((column) => /* @__PURE__ */ jsx(Tooltip, { title: column.tooltip, children: /* @__PURE__ */ jsx(
|
|
30
31
|
TableCell,
|
|
31
32
|
{
|
|
32
33
|
sx: {
|
|
33
34
|
textAlign: "center"
|
|
34
35
|
},
|
|
35
|
-
title: column.tooltip,
|
|
36
36
|
children: column.label
|
|
37
37
|
},
|
|
38
38
|
column.dataKey
|
|
39
|
-
)) }) }),
|
|
39
|
+
) })) }) }),
|
|
40
40
|
/* @__PURE__ */ jsx(TableBody, { children: rows.map((row, index) => /* @__PURE__ */ jsx(
|
|
41
41
|
TableRowComponent,
|
|
42
42
|
{
|
|
43
43
|
columnsDefinition,
|
|
44
44
|
index,
|
|
45
|
-
formName
|
|
45
|
+
formName,
|
|
46
|
+
limits
|
|
46
47
|
},
|
|
47
48
|
`${row.id}`
|
|
48
49
|
)) })
|
|
@@ -1,4 +1,3 @@
|
|
|
1
|
-
import { Dispatch, SetStateAction } from 'react';
|
|
2
1
|
import { UUID } from 'crypto';
|
|
3
2
|
import { UseParametersBackendReturnProps } from '../../../utils/types/parameters.type';
|
|
4
3
|
import { ComputingType } from '../common/computing-type';
|
|
@@ -7,6 +6,6 @@ export declare function LoadFlowParametersInline({ studyUuid, language, paramete
|
|
|
7
6
|
studyUuid: UUID | null;
|
|
8
7
|
language: GsLang;
|
|
9
8
|
parametersBackend: UseParametersBackendReturnProps<ComputingType.LOAD_FLOW>;
|
|
10
|
-
setHaveDirtyFields:
|
|
9
|
+
setHaveDirtyFields: (isDirty: boolean) => void;
|
|
11
10
|
enableDeveloperMode: boolean;
|
|
12
11
|
}>): import("react/jsx-runtime").JSX.Element;
|
|
@@ -1,10 +1,9 @@
|
|
|
1
|
-
import { Dispatch, SetStateAction } from 'react';
|
|
2
1
|
import { UUID } from 'crypto';
|
|
3
2
|
import { User } from 'oidc-client';
|
|
4
3
|
import { NetworkVisualizationParameters } from './network-visualizations.types';
|
|
5
4
|
export declare function NetworkVisualizationParametersInline({ studyUuid, setHaveDirtyFields, user, parameters, }: Readonly<{
|
|
6
5
|
studyUuid: UUID | null;
|
|
7
|
-
setHaveDirtyFields:
|
|
6
|
+
setHaveDirtyFields: (isDirty: boolean) => void;
|
|
8
7
|
user: User | null;
|
|
9
8
|
parameters: NetworkVisualizationParameters | null;
|
|
10
9
|
}>): import("react/jsx-runtime").JSX.Element;
|
package/dist/components/parameters/security-analysis/security-analysis-parameters-inline.d.ts
CHANGED
|
@@ -1,10 +1,9 @@
|
|
|
1
|
-
import { Dispatch, SetStateAction } from 'react';
|
|
2
1
|
import { UUID } from 'crypto';
|
|
3
2
|
import { UseParametersBackendReturnProps } from '../../../utils';
|
|
4
3
|
import { ComputingType } from '../common';
|
|
5
4
|
export declare function SecurityAnalysisParametersInline({ studyUuid, parametersBackend, setHaveDirtyFields, enableDeveloperMode, }: Readonly<{
|
|
6
5
|
studyUuid: UUID | null;
|
|
7
6
|
parametersBackend: UseParametersBackendReturnProps<ComputingType.SECURITY_ANALYSIS>;
|
|
8
|
-
setHaveDirtyFields:
|
|
7
|
+
setHaveDirtyFields: (isDirty: boolean) => void;
|
|
9
8
|
enableDeveloperMode: boolean;
|
|
10
9
|
}>): import("react/jsx-runtime").JSX.Element;
|
|
@@ -6,7 +6,7 @@ interface SensitivityAnalysisParametersProps {
|
|
|
6
6
|
currentNodeUuid: UUID | null;
|
|
7
7
|
currentRootNetworkUuid: UUID | null;
|
|
8
8
|
parametersBackend: UseParametersBackendReturnProps<ComputingType.SENSITIVITY_ANALYSIS>;
|
|
9
|
-
setHaveDirtyFields:
|
|
9
|
+
setHaveDirtyFields: (isDirty: boolean) => void;
|
|
10
10
|
enableDeveloperMode: boolean;
|
|
11
11
|
}
|
|
12
12
|
export declare function SensitivityAnalysisParametersInline({ studyUuid, currentNodeUuid, currentRootNetworkUuid, parametersBackend, setHaveDirtyFields, enableDeveloperMode, }: Readonly<SensitivityAnalysisParametersProps>): import("react/jsx-runtime").JSX.Element;
|
|
@@ -1,8 +1,7 @@
|
|
|
1
|
-
import { Dispatch, SetStateAction } from 'react';
|
|
2
1
|
import { UUID } from 'crypto';
|
|
3
2
|
import { ShortCircuitParametersInfos } from './short-circuit-parameters.type';
|
|
4
3
|
export declare function ShortCircuitParametersInLine({ studyUuid, setHaveDirtyFields, shortCircuitParameters, }: Readonly<{
|
|
5
4
|
studyUuid: UUID | null;
|
|
6
|
-
setHaveDirtyFields:
|
|
5
|
+
setHaveDirtyFields: (isDirty: boolean) => void;
|
|
7
6
|
shortCircuitParameters: ShortCircuitParametersInfos | null;
|
|
8
7
|
}>): import("react/jsx-runtime").JSX.Element;
|
|
@@ -1,8 +1,7 @@
|
|
|
1
|
-
import { Dispatch, SetStateAction } from 'react';
|
|
2
1
|
import { UUID } from 'crypto';
|
|
3
2
|
import { VoltageInitStudyParameters } from './voltage-init.type';
|
|
4
3
|
export declare function VoltageInitParametersInLine({ studyUuid, setHaveDirtyFields, voltageInitParameters, }: Readonly<{
|
|
5
4
|
studyUuid: UUID | null;
|
|
6
|
-
setHaveDirtyFields:
|
|
5
|
+
setHaveDirtyFields: (isDirty: boolean) => void;
|
|
7
6
|
voltageInitParameters: VoltageInitStudyParameters | null;
|
|
8
7
|
}>): import("react/jsx-runtime").JSX.Element;
|
|
@@ -55,9 +55,11 @@ export declare const parametersEn: {
|
|
|
55
55
|
General: string;
|
|
56
56
|
LimitReductions: string;
|
|
57
57
|
IST: string;
|
|
58
|
+
LimitVoltageInterval: string;
|
|
59
|
+
LimitVoltageAfterIST: string;
|
|
58
60
|
LimitDurationInterval: string;
|
|
59
|
-
LimitDurationAfterIST: string;
|
|
60
61
|
voltageRange: string;
|
|
62
|
+
VoltageRangeInterval: string;
|
|
61
63
|
Provider: string;
|
|
62
64
|
LimitReduction: string;
|
|
63
65
|
Default: string;
|
|
@@ -48,10 +48,12 @@ const parametersEn = {
|
|
|
48
48
|
RealPercentage: "This value must be between 0 and 1",
|
|
49
49
|
General: "General",
|
|
50
50
|
LimitReductions: "Limit reductions",
|
|
51
|
-
IST: "
|
|
52
|
-
|
|
53
|
-
|
|
51
|
+
IST: "PATL",
|
|
52
|
+
LimitVoltageInterval: "Between TATL{lowBound} and TATL{highBound}",
|
|
53
|
+
LimitVoltageAfterIST: "Between PATL and TATL{highBound}",
|
|
54
|
+
LimitDurationInterval: "Duration {lowerBoundClosed}{lowBound}, {highBound}{higherBoundClosed}",
|
|
54
55
|
voltageRange: "Voltage range",
|
|
56
|
+
VoltageRangeInterval: "Voltage interval ]{lowBound} kV,{highBound} kV]",
|
|
55
57
|
Provider: "Provider",
|
|
56
58
|
LimitReduction: "Limit reduction",
|
|
57
59
|
Default: "Default",
|
|
@@ -172,6 +172,7 @@ const filterExpertFr = {
|
|
|
172
172
|
pairingKey: "Xnode",
|
|
173
173
|
tieLineId: "ID de l'interconnexion",
|
|
174
174
|
cannotRetrieveFilter: "Erreur d'accès au filtre : ",
|
|
175
|
+
cannotSaveFilter: "Erreur lors de la mise à jour du filtre : ",
|
|
175
176
|
equality: "=",
|
|
176
177
|
notEquality: "!=",
|
|
177
178
|
greaterThan: ">",
|
|
@@ -55,9 +55,11 @@ export declare const parametersFr: {
|
|
|
55
55
|
General: string;
|
|
56
56
|
LimitReductions: string;
|
|
57
57
|
IST: string;
|
|
58
|
+
LimitVoltageInterval: string;
|
|
59
|
+
LimitVoltageAfterIST: string;
|
|
58
60
|
LimitDurationInterval: string;
|
|
59
|
-
LimitDurationAfterIST: string;
|
|
60
61
|
voltageRange: string;
|
|
62
|
+
VoltageRangeInterval: string;
|
|
61
63
|
Provider: string;
|
|
62
64
|
LimitReduction: string;
|
|
63
65
|
Default: string;
|
|
@@ -49,9 +49,11 @@ const parametersFr = {
|
|
|
49
49
|
General: "Général",
|
|
50
50
|
LimitReductions: "Abattements",
|
|
51
51
|
IST: "IST",
|
|
52
|
-
|
|
53
|
-
|
|
52
|
+
LimitVoltageInterval: "Entre IT{lowBound} et IT{highBound}",
|
|
53
|
+
LimitVoltageAfterIST: "Entre IST et IT{highBound}",
|
|
54
|
+
LimitDurationInterval: "Tempo {lowerBoundClosed}{lowBound}, {highBound}{higherBoundClosed}",
|
|
54
55
|
voltageRange: "Niveau de tension",
|
|
56
|
+
VoltageRangeInterval: "Plage de tension ]{lowBound} kV,{highBound} kV]",
|
|
55
57
|
Provider: "Simulateur",
|
|
56
58
|
LimitReduction: "Abattement des seuils",
|
|
57
59
|
Default: "Défaut",
|