@gridsuite/commons-ui 0.207.0 → 0.208.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (46) hide show
  1. package/dist/components/dialogs/modifyElementSelection/ModifyElementSelection.js +1 -1
  2. package/dist/components/directoryItemSelector/DirectoryItemSelector.js +1 -1
  3. package/dist/components/directoryItemSelector/utils.js +1 -1
  4. package/dist/components/inputs/reactHookForm/DirectoryItemsInput.js +1 -1
  5. package/dist/components/parameters/common/contingency-table/columns-definitions.d.ts +2 -2
  6. package/dist/components/parameters/common/contingency-table/columns-definitions.js +10 -8
  7. package/dist/components/parameters/common/contingency-table/contingency-table.js +4 -4
  8. package/dist/components/parameters/common/contingency-table/types.d.ts +6 -1
  9. package/dist/components/parameters/pcc-min/pcc-min-form-utils.d.ts +5 -4
  10. package/dist/components/parameters/pcc-min/pcc-min-form-utils.js +5 -1
  11. package/dist/components/parameters/pcc-min/pcc-min-parameters-inline.d.ts +2 -2
  12. package/dist/components/parameters/pcc-min/pcc-min-parameters-inline.js +3 -2
  13. package/dist/components/parameters/pcc-min/use-pcc-min-parameters-form.d.ts +2 -2
  14. package/dist/components/parameters/pcc-min/use-pcc-min-parameters-form.js +9 -7
  15. package/dist/components/parameters/security-analysis/columns-definitions.d.ts +2 -2
  16. package/dist/components/parameters/security-analysis/security-analysis-parameters-inline.js +3 -2
  17. package/dist/components/parameters/security-analysis/security-analysis-parameters-selector.d.ts +2 -2
  18. package/dist/components/parameters/security-analysis/types.d.ts +8 -3
  19. package/dist/components/parameters/security-analysis/types.js +42 -1
  20. package/dist/components/parameters/security-analysis/use-security-analysis-parameters-form.d.ts +4 -4
  21. package/dist/components/parameters/security-analysis/use-security-analysis-parameters-form.js +2 -1
  22. package/dist/components/parameters/sensi/sensitivity-analysis-parameters-dialog.js +1 -1
  23. package/dist/components/parameters/sensi/sensitivity-analysis-parameters-inline.js +6 -3
  24. package/dist/components/parameters/sensi/use-sensitivity-analysis-parameters.d.ts +4 -4
  25. package/dist/components/parameters/sensi/use-sensitivity-analysis-parameters.js +3 -2
  26. package/dist/hooks/use-unique-name-validation.js +1 -1
  27. package/dist/index.js +17 -2
  28. package/dist/services/directory.d.ts +2 -1
  29. package/dist/services/directory.js +11 -0
  30. package/dist/services/index.d.ts +1 -0
  31. package/dist/services/index.js +11 -1
  32. package/dist/services/pcc-min.d.ts +4 -7
  33. package/dist/services/pcc-min.js +8 -5
  34. package/dist/services/security-analysis.d.ts +5 -4
  35. package/dist/services/security-analysis.js +7 -4
  36. package/dist/services/sensitivity-analysis.d.ts +5 -6
  37. package/dist/services/sensitivity-analysis.js +13 -6
  38. package/dist/utils/index.js +6 -1
  39. package/dist/utils/types/index.d.ts +1 -0
  40. package/dist/utils/types/index.js +7 -2
  41. package/dist/utils/types/parameters.type.d.ts +3 -3
  42. package/dist/utils/types/pcc-min.type.d.ts +10 -0
  43. package/dist/utils/types/pcc-min.type.js +31 -0
  44. package/dist/utils/types/sensitivity-analysis.type.d.ts +28 -23
  45. package/dist/utils/types/sensitivity-analysis.type.js +136 -1
  46. package/package.json +1 -1
package/dist/index.js CHANGED
@@ -264,9 +264,10 @@ import { MODIFICATION_TYPES, ModificationType } from "./utils/types/modification
264
264
  import { FieldType } from "./utils/types/fieldType.js";
265
265
  import { ParameterType } from "./utils/types/parameters.type.js";
266
266
  import { SolverType } from "./utils/types/dynamic-simulation.type.js";
267
- import { DistributionType, SensitivityType } from "./utils/types/sensitivity-analysis.type.js";
267
+ import { DistributionType, SensitivityType, enrichSensitivityAnalysisParameters, mapSensitivityAnalysisParameters } from "./utils/types/sensitivity-analysis.type.js";
268
268
  import { CalculationType, LoadModelsRule } from "./utils/types/dynamic-margin-calculation.type.js";
269
269
  import { OperationType } from "./utils/types/network-modification-types.js";
270
+ import { enrichPccMinParameters, mapPccMinParameters } from "./utils/types/pcc-min.type.js";
270
271
  import { areIdsEqual, getIdOrSelf, getIdOrValue, getLabelOrValue, getObjectId, notNull, notUndefined, parseIntData, removeNullFields, richTypeEquals, sanitizeString } from "./utils/ts-utils.js";
271
272
  import { toNumber, validateValueIsANumber } from "./utils/validation-functions.js";
272
273
  import { NO_ITEM_SELECTION_FOR_COPY } from "./utils/directory-utils.js";
@@ -274,11 +275,12 @@ import "./utils/yupConfig.js";
274
275
  import "react";
275
276
  import { fetchAppsMetadata, fetchBaseVoltages, fetchDefaultCountry, fetchEnv, fetchFavoriteAndDefaultCountries, fetchStudyMetadata, isExploreMetadata, isStudyMetadata } from "./services/appsMetadata.js";
276
277
  import { fetchConfigParameter, fetchConfigParameters, getAppName, updateConfigParameter } from "./services/config.js";
277
- import { PermissionType, elementAlreadyExists, fetchDirectoryContent, fetchDirectoryElementPath, fetchRootFolders, hasElementPermission } from "./services/directory.js";
278
+ import { PermissionType, elementAlreadyExists, fetchDirectoryContent, fetchDirectoryElementPath, fetchElementNames, fetchRootFolders, hasElementPermission } from "./services/directory.js";
278
279
  import { createFilter, createParameter, fetchElementsInfos, saveFilter, updateParameter } from "./services/explore.js";
279
280
  import { PREFIX_STUDY_QUERIES, fetchLoadFlowParameters, getLoadFlowDefaultLimitReductions, getLoadFlowProviders, getLoadFlowSpecificParametersDescription, getLoadFlowUrl, setLoadFlowParameters } from "./services/loadflow.js";
280
281
  import { fetchPccMinParameters, getPccMinStudyParameters, updatePccMinParameters } from "./services/pcc-min.js";
281
282
  import { fetchSecurityAnalysisParameters, fetchSecurityAnalysisProviders, getSecurityAnalysisDefaultLimitReductions, getSecurityAnalysisParameters, getStudyUrl, setSecurityAnalysisParameters, updateSecurityAnalysisParameters } from "./services/security-analysis.js";
283
+ import { fetchSensitivityAnalysisParameters, fetchSensitivityAnalysisProviders, getSensiUrl, getSensitivityAnalysisFactorsCount, getSensitivityAnalysisParameters, getStudyUrlWithNodeUuidAndRootNetworkUuid, setSensitivityAnalysisParameters, updateSensitivityAnalysisParameters } from "./services/sensitivity-analysis.js";
282
284
  import { exportFilter, getAvailableComponentLibraries, getStudyNetworkVisualizationsParameters, getStudyShortCircuitParameters, setStudyNetworkVisualizationParameters, updateVoltageInitParameters } from "./services/study.js";
283
285
  import { getNetworkVisualizationsParameters } from "./services/study-config.js";
284
286
  import { fetchCurrentAnnouncement, fetchUserDetails } from "./services/userAdmin.js";
@@ -977,6 +979,8 @@ export {
977
979
  emptyFormData,
978
980
  emptyModificationByAssignmentFormData,
979
981
  emptyProperties,
982
+ enrichPccMinParameters,
983
+ enrichSensitivityAnalysisParameters,
980
984
  equalsArray,
981
985
  equipmentDeletionDtoToForm,
982
986
  equipmentDeletionEmptyFormData,
@@ -1021,6 +1025,7 @@ export {
1021
1025
  fetchDynamicSimulationModels,
1022
1026
  fetchDynamicSimulationParameters,
1023
1027
  fetchDynamicSimulationProviders,
1028
+ fetchElementNames,
1024
1029
  fetchElementsInfos,
1025
1030
  fetchEnv,
1026
1031
  fetchFavoriteAndDefaultCountries,
@@ -1031,6 +1036,8 @@ export {
1031
1036
  fetchRootFolders,
1032
1037
  fetchSecurityAnalysisParameters,
1033
1038
  fetchSecurityAnalysisProviders,
1039
+ fetchSensitivityAnalysisParameters,
1040
+ fetchSensitivityAnalysisProviders,
1034
1041
  fetchShortCircuitParameters,
1035
1042
  fetchStudyMetadata,
1036
1043
  fetchSubModificationsForExpandedRows,
@@ -1130,6 +1137,9 @@ export {
1130
1137
  getRowEmptyFormData,
1131
1138
  getSecurityAnalysisDefaultLimitReductions,
1132
1139
  getSecurityAnalysisParameters,
1140
+ getSensiUrl,
1141
+ getSensitivityAnalysisFactorsCount,
1142
+ getSensitivityAnalysisParameters,
1133
1143
  getSetPointsEmptyFormData,
1134
1144
  getSetPointsSchema,
1135
1145
  getShortCircuitEmptyFormData,
@@ -1140,6 +1150,7 @@ export {
1140
1150
  getStudyShortCircuitParameters,
1141
1151
  getStudyUrl,
1142
1152
  getStudyUrlWithNodeUuid,
1153
+ getStudyUrlWithNodeUuidAndRootNetworkUuid,
1143
1154
  getSystemLanguage,
1144
1155
  getUserToken,
1145
1156
  getVoltageInitParameters,
@@ -1188,6 +1199,8 @@ export {
1188
1199
  loginFr,
1189
1200
  logout,
1190
1201
  makeComposeClasses,
1202
+ mapPccMinParameters,
1203
+ mapSensitivityAnalysisParameters,
1191
1204
  mergeModificationAndEquipmentProperties,
1192
1205
  mergeSubModificationsIntoTree,
1193
1206
  mergeSx,
@@ -1232,6 +1245,7 @@ export {
1232
1245
  setLogoutError,
1233
1246
  setSecurityAnalysisParameters,
1234
1247
  setSelectedReactiveLimits,
1248
+ setSensitivityAnalysisParameters,
1235
1249
  setShowAuthenticationRouterLogin,
1236
1250
  setSignInCallbackError,
1237
1251
  setStudyNetworkVisualizationParameters,
@@ -1278,6 +1292,7 @@ export {
1278
1292
  updateParameter,
1279
1293
  updatePccMinParameters,
1280
1294
  updateSecurityAnalysisParameters,
1295
+ updateSensitivityAnalysisParameters,
1281
1296
  updateShortCircuitParameters,
1282
1297
  updateSubModificationsOfACompositeInTree,
1283
1298
  updateVoltageInitParameters,
@@ -1,5 +1,5 @@
1
1
  import { UUID } from 'node:crypto';
2
- import { ElementAttributes } from '../utils';
2
+ import { ElementAttributes } from '../utils/types/types';
3
3
  export declare function fetchRootFolders(types: string[]): Promise<ElementAttributes[]>;
4
4
  export declare function fetchDirectoryContent(directoryUuid: UUID, types?: string[]): Promise<ElementAttributes[]>;
5
5
  export declare function fetchDirectoryElementPath(elementUuid: UUID): Promise<ElementAttributes[]>;
@@ -10,3 +10,4 @@ export declare enum PermissionType {
10
10
  MANAGE = "MANAGE"
11
11
  }
12
12
  export declare function hasElementPermission(elementUuid: UUID, permission: PermissionType): Promise<boolean>;
13
+ export declare function fetchElementNames(elementUuids: Set<string>): Promise<any>;
@@ -52,11 +52,22 @@ function hasElementPermission(elementUuid, permission) {
52
52
  return false;
53
53
  });
54
54
  }
55
+ function fetchElementNames(elementUuids) {
56
+ console.info("fetch directory element names");
57
+ const params = new URLSearchParams();
58
+ elementUuids.forEach((id) => {
59
+ params.append("ids", id);
60
+ });
61
+ const url = `${PREFIX_EXPLORE_SERVER_QUERIES}/v1/explore/elements/name?${params.toString()}`;
62
+ console.log(url);
63
+ return backendFetchJson(url);
64
+ }
55
65
  export {
56
66
  PermissionType,
57
67
  elementAlreadyExists,
58
68
  fetchDirectoryContent,
59
69
  fetchDirectoryElementPath,
70
+ fetchElementNames,
60
71
  fetchRootFolders,
61
72
  hasElementPermission
62
73
  };
@@ -11,6 +11,7 @@ export * from './explore';
11
11
  export * from './loadflow';
12
12
  export * from './pcc-min';
13
13
  export * from './security-analysis';
14
+ export * from './sensitivity-analysis';
14
15
  export * from './study';
15
16
  export * from './study-config';
16
17
  export * from './userAdmin';
@@ -1,10 +1,11 @@
1
1
  import { fetchAppsMetadata, fetchBaseVoltages, fetchDefaultCountry, fetchEnv, fetchFavoriteAndDefaultCountries, fetchStudyMetadata, isExploreMetadata, isStudyMetadata } from "./appsMetadata.js";
2
2
  import { fetchConfigParameter, fetchConfigParameters, getAppName, updateConfigParameter } from "./config.js";
3
- import { PermissionType, elementAlreadyExists, fetchDirectoryContent, fetchDirectoryElementPath, fetchRootFolders, hasElementPermission } from "./directory.js";
3
+ import { PermissionType, elementAlreadyExists, fetchDirectoryContent, fetchDirectoryElementPath, fetchElementNames, fetchRootFolders, hasElementPermission } from "./directory.js";
4
4
  import { createFilter, createParameter, fetchElementsInfos, saveFilter, updateParameter } from "./explore.js";
5
5
  import { PREFIX_STUDY_QUERIES, fetchLoadFlowParameters, getLoadFlowDefaultLimitReductions, getLoadFlowProviders, getLoadFlowSpecificParametersDescription, getLoadFlowUrl, setLoadFlowParameters } from "./loadflow.js";
6
6
  import { fetchPccMinParameters, getPccMinStudyParameters, updatePccMinParameters } from "./pcc-min.js";
7
7
  import { fetchSecurityAnalysisParameters, fetchSecurityAnalysisProviders, getSecurityAnalysisDefaultLimitReductions, getSecurityAnalysisParameters, getStudyUrl, setSecurityAnalysisParameters, updateSecurityAnalysisParameters } from "./security-analysis.js";
8
+ import { fetchSensitivityAnalysisParameters, fetchSensitivityAnalysisProviders, getSensiUrl, getSensitivityAnalysisFactorsCount, getSensitivityAnalysisParameters, getStudyUrlWithNodeUuidAndRootNetworkUuid, setSensitivityAnalysisParameters, updateSensitivityAnalysisParameters } from "./sensitivity-analysis.js";
8
9
  import { exportFilter, getAvailableComponentLibraries, getStudyNetworkVisualizationsParameters, getStudyShortCircuitParameters, setStudyNetworkVisualizationParameters, updateVoltageInitParameters } from "./study.js";
9
10
  import { getNetworkVisualizationsParameters } from "./study-config.js";
10
11
  import { fetchCurrentAnnouncement, fetchUserDetails } from "./userAdmin.js";
@@ -47,6 +48,7 @@ export {
47
48
  fetchDynamicSimulationModels,
48
49
  fetchDynamicSimulationParameters,
49
50
  fetchDynamicSimulationProviders,
51
+ fetchElementNames,
50
52
  fetchElementsInfos,
51
53
  fetchEnv,
52
54
  fetchFavoriteAndDefaultCountries,
@@ -56,6 +58,8 @@ export {
56
58
  fetchRootFolders,
57
59
  fetchSecurityAnalysisParameters,
58
60
  fetchSecurityAnalysisProviders,
61
+ fetchSensitivityAnalysisParameters,
62
+ fetchSensitivityAnalysisProviders,
59
63
  fetchShortCircuitParameters,
60
64
  fetchStudyMetadata,
61
65
  fetchUserDetails,
@@ -73,11 +77,15 @@ export {
73
77
  getRequestParamFromList,
74
78
  getSecurityAnalysisDefaultLimitReductions,
75
79
  getSecurityAnalysisParameters,
80
+ getSensiUrl,
81
+ getSensitivityAnalysisFactorsCount,
82
+ getSensitivityAnalysisParameters,
76
83
  getShortCircuitSpecificParametersDescription,
77
84
  getStudyNetworkVisualizationsParameters,
78
85
  getStudyShortCircuitParameters,
79
86
  getStudyUrl,
80
87
  getStudyUrlWithNodeUuid,
88
+ getStudyUrlWithNodeUuidAndRootNetworkUuid,
81
89
  getVoltageInitParameters,
82
90
  getVoltageInitUrl,
83
91
  handleNotOkResponse,
@@ -89,6 +97,7 @@ export {
89
97
  saveFilter,
90
98
  setLoadFlowParameters,
91
99
  setSecurityAnalysisParameters,
100
+ setSensitivityAnalysisParameters,
92
101
  setStudyNetworkVisualizationParameters,
93
102
  updateConfigParameter,
94
103
  updateDynamicMarginCalculationParameters,
@@ -97,6 +106,7 @@ export {
97
106
  updateParameter,
98
107
  updatePccMinParameters,
99
108
  updateSecurityAnalysisParameters,
109
+ updateSensitivityAnalysisParameters,
100
110
  updateShortCircuitParameters,
101
111
  updateVoltageInitParameters
102
112
  };
@@ -1,8 +1,5 @@
1
1
  import { UUID } from 'node:crypto';
2
- import { FilterIdentifier, FILTERS } from '../utils/constants/filterConstant';
3
- export type PccMinParameters = {
4
- [FILTERS]: FilterIdentifier[];
5
- };
6
- export declare function getPccMinStudyParameters(studyUuid: UUID): Promise<PccMinParameters | null>;
7
- export declare function fetchPccMinParameters(parameterUuid: UUID): Promise<PccMinParameters>;
8
- export declare function updatePccMinParameters(studyUuid: UUID | null, newParams: PccMinParameters | null): Promise<Response>;
2
+ import { PccMinParametersEnriched } from '../utils';
3
+ export declare function getPccMinStudyParameters(studyUuid: UUID): Promise<PccMinParametersEnriched | null>;
4
+ export declare function fetchPccMinParameters(parameterUuid: UUID): Promise<PccMinParametersEnriched>;
5
+ export declare function updatePccMinParameters(studyUuid: UUID | null, newParams: PccMinParametersEnriched | null): Promise<Response>;
@@ -1,20 +1,23 @@
1
1
  import { backendFetchJson, backendFetch } from "./utils.js";
2
2
  import { getStudyUrl } from "./security-analysis.js";
3
+ import { enrichPccMinParameters, mapPccMinParameters } from "../utils/types/pcc-min.type.js";
3
4
  const PREFIX_PCC_MIN_SERVER_QUERIES = `${"api/gateway"}/pcc-min`;
4
5
  function getPccMinUrl() {
5
6
  return `${PREFIX_PCC_MIN_SERVER_QUERIES}/v1/`;
6
7
  }
7
8
  function getPccMinStudyParameters(studyUuid) {
8
9
  console.info("get pcc min study parameters");
9
- const getPccMintParams = `${getStudyUrl(studyUuid)}/pcc-min/parameters`;
10
- console.debug(getPccMintParams);
11
- return backendFetchJson(getPccMintParams);
10
+ const url = `${getStudyUrl(studyUuid)}/pcc-min/parameters`;
11
+ console.debug(url);
12
+ const parametersPromise = backendFetchJson(url);
13
+ return parametersPromise.then((parameters) => enrichPccMinParameters(parameters));
12
14
  }
13
15
  function fetchPccMinParameters(parameterUuid) {
14
16
  console.info("fetch pcc min parameters");
15
17
  const url = `${getPccMinUrl()}parameters/${encodeURIComponent(parameterUuid)}`;
16
18
  console.debug(url);
17
- return backendFetchJson(url);
19
+ const parametersPromise = backendFetchJson(url);
20
+ return parametersPromise.then((parameters) => enrichPccMinParameters(parameters));
18
21
  }
19
22
  function updatePccMinParameters(studyUuid, newParams) {
20
23
  console.info("set study pcc min parameters");
@@ -26,7 +29,7 @@ function updatePccMinParameters(studyUuid, newParams) {
26
29
  Accept: "application/json",
27
30
  "Content-Type": "application/json"
28
31
  },
29
- body: newParams == null ? null : JSON.stringify(newParams)
32
+ body: newParams == null ? null : JSON.stringify(mapPccMinParameters(newParams))
30
33
  });
31
34
  }
32
35
  export {
@@ -1,8 +1,9 @@
1
1
  import { UUID } from 'node:crypto';
2
+ import { SAParametersEnriched } from '../components/parameters/security-analysis/types';
2
3
  export declare const getStudyUrl: (studyUuid: UUID | null) => string;
3
4
  export declare function fetchSecurityAnalysisProviders(): Promise<any>;
4
- export declare function fetchSecurityAnalysisParameters(parameterUuid: string): Promise<any>;
5
+ export declare function fetchSecurityAnalysisParameters(parameterUuid: string): Promise<SAParametersEnriched>;
5
6
  export declare function getSecurityAnalysisDefaultLimitReductions(): Promise<any>;
6
- export declare function getSecurityAnalysisParameters(studyUuid: UUID): Promise<any>;
7
- export declare function setSecurityAnalysisParameters(studyUuid: UUID, newParams: any): Promise<Response>;
8
- export declare function updateSecurityAnalysisParameters(parameterUuid: UUID, newParams: any): Promise<Response>;
7
+ export declare function getSecurityAnalysisParameters(studyUuid: UUID): Promise<SAParametersEnriched>;
8
+ export declare function setSecurityAnalysisParameters(studyUuid: UUID, newParams: SAParametersEnriched | null): Promise<Response>;
9
+ export declare function updateSecurityAnalysisParameters(parameterUuid: UUID, newParams: SAParametersEnriched | null): Promise<Response>;
@@ -1,5 +1,6 @@
1
1
  import { safeEncodeURIComponent, backendFetchJson, backendFetch } from "./utils.js";
2
2
  import { PREFIX_STUDY_QUERIES } from "./loadflow.js";
3
+ import { enrichSecurityAnalysisParameters, mapSecurityAnalysisParameters } from "../components/parameters/security-analysis/types.js";
3
4
  const PREFIX_SECURITY_ANALYSIS_SERVER_QUERIES = `${"api/gateway"}/security-analysis`;
4
5
  const getStudyUrl = (studyUuid) => `${PREFIX_STUDY_QUERIES}/v1/studies/${safeEncodeURIComponent(studyUuid)}`;
5
6
  function getSecurityAnalysisUrl() {
@@ -15,7 +16,8 @@ function fetchSecurityAnalysisParameters(parameterUuid) {
15
16
  console.info("fetch security analysis parameters");
16
17
  const url = `${getSecurityAnalysisUrl()}parameters/${encodeURIComponent(parameterUuid)}`;
17
18
  console.debug(url);
18
- return backendFetchJson(url);
19
+ const parametersPromise = backendFetchJson(url);
20
+ return parametersPromise.then((parameters) => enrichSecurityAnalysisParameters(parameters));
19
21
  }
20
22
  function getSecurityAnalysisDefaultLimitReductions() {
21
23
  console.info("get security analysis default limit reductions");
@@ -27,7 +29,8 @@ function getSecurityAnalysisParameters(studyUuid) {
27
29
  console.info("get security analysis parameters");
28
30
  const url = `${getStudyUrl(studyUuid)}/security-analysis/parameters`;
29
31
  console.debug(url);
30
- return backendFetchJson(url);
32
+ const parametersPromise = backendFetchJson(url);
33
+ return parametersPromise.then((parameters) => enrichSecurityAnalysisParameters(parameters));
31
34
  }
32
35
  function setSecurityAnalysisParameters(studyUuid, newParams) {
33
36
  console.info("set security analysis parameters");
@@ -39,7 +42,7 @@ function setSecurityAnalysisParameters(studyUuid, newParams) {
39
42
  Accept: "application/json",
40
43
  "Content-Type": "application/json"
41
44
  },
42
- body: newParams ? JSON.stringify(newParams) : null
45
+ body: newParams ? JSON.stringify(mapSecurityAnalysisParameters(newParams)) : null
43
46
  });
44
47
  }
45
48
  function updateSecurityAnalysisParameters(parameterUuid, newParams) {
@@ -52,7 +55,7 @@ function updateSecurityAnalysisParameters(parameterUuid, newParams) {
52
55
  Accept: "application/json",
53
56
  "Content-Type": "application/json"
54
57
  },
55
- body: newParams ? JSON.stringify(newParams) : null
58
+ body: newParams ? JSON.stringify(mapSecurityAnalysisParameters(newParams)) : null
56
59
  });
57
60
  }
58
61
  export {
@@ -1,11 +1,10 @@
1
1
  import { UUID } from 'node:crypto';
2
- import { FactorsCount, SensitivityAnalysisParametersInfos } from '../utils';
3
- export declare const getStudyUrl: (studyUuid: UUID | null) => string;
2
+ import { FactorsCount, SensitivityAnalysisParametersInfosEnriched } from '../utils';
4
3
  export declare const getStudyUrlWithNodeUuidAndRootNetworkUuid: (studyUuid: string | null | undefined, nodeUuid: string | undefined, rootNetworkUuid: string | undefined | null) => string;
5
4
  export declare function getSensiUrl(): string;
6
5
  export declare function fetchSensitivityAnalysisProviders(): Promise<string[]>;
7
- export declare function getSensitivityAnalysisParameters(studyUuid: UUID): Promise<any>;
8
- export declare function fetchSensitivityAnalysisParameters(parameterUuid: string): Promise<any>;
9
- export declare function setSensitivityAnalysisParameters(studyUuid: UUID | null, newParams: SensitivityAnalysisParametersInfos | null): Promise<Response>;
10
- export declare function getSensitivityAnalysisFactorsCount(studyUuid: UUID | null, currentNodeUuid: UUID, currentRootNetworkUuid: UUID, newParams: SensitivityAnalysisParametersInfos, abortSignal: AbortSignal): Promise<FactorsCount>;
6
+ export declare function getSensitivityAnalysisParameters(studyUuid: UUID): Promise<SensitivityAnalysisParametersInfosEnriched>;
7
+ export declare function fetchSensitivityAnalysisParameters(parameterUuid: string): Promise<SensitivityAnalysisParametersInfosEnriched>;
8
+ export declare function setSensitivityAnalysisParameters(studyUuid: UUID | null, newParams: SensitivityAnalysisParametersInfosEnriched | null): Promise<Response>;
9
+ export declare function getSensitivityAnalysisFactorsCount(studyUuid: UUID | null, currentNodeUuid: UUID, currentRootNetworkUuid: UUID, newParams: SensitivityAnalysisParametersInfosEnriched, abortSignal: AbortSignal): Promise<FactorsCount>;
11
10
  export declare function updateSensitivityAnalysisParameters(parameterUuid: UUID, newParams: any): Promise<Response>;
@@ -1,4 +1,10 @@
1
1
  import { safeEncodeURIComponent, backendFetchJson, backendFetch } from "./utils.js";
2
+ import "../utils/conversionUtils.js";
3
+ import "../utils/types/equipmentType.js";
4
+ import { enrichSensitivityAnalysisParameters, mapSensitivityAnalysisParameters } from "../utils/types/sensitivity-analysis.type.js";
5
+ import "react/jsx-runtime";
6
+ import "@mui/icons-material";
7
+ import "../utils/yupConfig.js";
2
8
  import { PREFIX_STUDY_QUERIES } from "./loadflow.js";
3
9
  const GET_PARAMETERS_PREFIX = `${"api/gateway"}/sensitivity-analysis/v1/parameters`;
4
10
  const PREFIX_SENSITIVITY_ANALYSIS_SERVER_QUERIES = `${"api/gateway"}/sensitivity-analysis`;
@@ -19,13 +25,15 @@ function getSensitivityAnalysisParameters(studyUuid) {
19
25
  console.info("get sensitivity analysis parameters");
20
26
  const url = `${getStudyUrl(studyUuid)}/sensitivity-analysis/parameters`;
21
27
  console.debug(url);
22
- return backendFetchJson(url);
28
+ const parametersPromise = backendFetchJson(url);
29
+ return parametersPromise.then((parameters) => enrichSensitivityAnalysisParameters(parameters));
23
30
  }
24
31
  function fetchSensitivityAnalysisParameters(parameterUuid) {
25
32
  console.info("get sensitivity analysis parameters");
26
33
  const url = `${GET_PARAMETERS_PREFIX}/${parameterUuid}`;
27
34
  console.debug(url);
28
- return backendFetchJson(url);
35
+ const parametersPromise = backendFetchJson(url);
36
+ return parametersPromise.then((parameters) => enrichSensitivityAnalysisParameters(parameters));
29
37
  }
30
38
  function setSensitivityAnalysisParameters(studyUuid, newParams) {
31
39
  console.info("set sensitivity analysis parameters");
@@ -37,7 +45,7 @@ function setSensitivityAnalysisParameters(studyUuid, newParams) {
37
45
  Accept: "application/json",
38
46
  "Content-Type": "application/json"
39
47
  },
40
- body: newParams ? JSON.stringify(newParams) : null
48
+ body: newParams ? JSON.stringify(mapSensitivityAnalysisParameters(newParams)) : null
41
49
  });
42
50
  }
43
51
  function getSensitivityAnalysisFactorsCount(studyUuid, currentNodeUuid, currentRootNetworkUuid, newParams, abortSignal) {
@@ -49,7 +57,7 @@ function getSensitivityAnalysisFactorsCount(studyUuid, currentNodeUuid, currentR
49
57
  headers: {
50
58
  "Content-Type": "application/json"
51
59
  },
52
- body: JSON.stringify(newParams),
60
+ body: JSON.stringify(mapSensitivityAnalysisParameters(newParams)),
53
61
  signal: abortSignal
54
62
  });
55
63
  }
@@ -63,7 +71,7 @@ function updateSensitivityAnalysisParameters(parameterUuid, newParams) {
63
71
  Accept: "application/json",
64
72
  "Content-Type": "application/json"
65
73
  },
66
- body: newParams ? JSON.stringify(newParams) : null
74
+ body: newParams ? JSON.stringify(mapSensitivityAnalysisParameters(newParams)) : null
67
75
  });
68
76
  }
69
77
  export {
@@ -72,7 +80,6 @@ export {
72
80
  getSensiUrl,
73
81
  getSensitivityAnalysisFactorsCount,
74
82
  getSensitivityAnalysisParameters,
75
- getStudyUrl,
76
83
  getStudyUrlWithNodeUuidAndRootNetworkUuid,
77
84
  setSensitivityAnalysisParameters,
78
85
  updateSensitivityAnalysisParameters
@@ -28,9 +28,10 @@ import { MODIFICATION_TYPES, ModificationType } from "./types/modificationType.j
28
28
  import { FieldType } from "./types/fieldType.js";
29
29
  import { ParameterType } from "./types/parameters.type.js";
30
30
  import { SolverType } from "./types/dynamic-simulation.type.js";
31
- import { DistributionType, SensitivityType } from "./types/sensitivity-analysis.type.js";
31
+ import { DistributionType, SensitivityType, enrichSensitivityAnalysisParameters, mapSensitivityAnalysisParameters } from "./types/sensitivity-analysis.type.js";
32
32
  import { CalculationType, LoadModelsRule } from "./types/dynamic-margin-calculation.type.js";
33
33
  import { OperationType } from "./types/network-modification-types.js";
34
+ import { enrichPccMinParameters, mapPccMinParameters } from "./types/pcc-min.type.js";
34
35
  import { areIdsEqual, getIdOrSelf, getIdOrValue, getLabelOrValue, getObjectId, notNull, notUndefined, parseIntData, removeNullFields, richTypeEquals, sanitizeString } from "./ts-utils.js";
35
36
  import { toNumber, validateValueIsANumber } from "./validation-functions.js";
36
37
  import { NO_ITEM_SELECTION_FOR_COPY } from "./directory-utils.js";
@@ -144,6 +145,8 @@ export {
144
145
  convertInputValue,
145
146
  convertOutputValue,
146
147
  copyToClipboard,
148
+ enrichPccMinParameters,
149
+ enrichSensitivityAnalysisParameters,
147
150
  equalsArray,
148
151
  equipmentStyles,
149
152
  equipmentTypesForPredefinedPropertiesMapper,
@@ -163,6 +166,8 @@ export {
163
166
  keyGenerator,
164
167
  kiloUnitToUnit,
165
168
  makeComposeClasses,
169
+ mapPccMinParameters,
170
+ mapSensitivityAnalysisParameters,
166
171
  mergeSx,
167
172
  microUnitToUnit,
168
173
  notNull,
@@ -21,4 +21,5 @@ export * from './loadflow.type';
21
21
  export * from './sensitivity-analysis.type';
22
22
  export * from './dynamic-margin-calculation.type';
23
23
  export * from './network-modification-types';
24
+ export * from './pcc-min.type';
24
25
  export * from './network-modification-metadata';
@@ -9,9 +9,10 @@ import { MODIFICATION_TYPES, ModificationType } from "./modificationType.js";
9
9
  import { FieldType } from "./fieldType.js";
10
10
  import { ParameterType } from "./parameters.type.js";
11
11
  import { SolverType } from "./dynamic-simulation.type.js";
12
- import { DistributionType, SensitivityType } from "./sensitivity-analysis.type.js";
12
+ import { DistributionType, SensitivityType, enrichSensitivityAnalysisParameters, mapSensitivityAnalysisParameters } from "./sensitivity-analysis.type.js";
13
13
  import { CalculationType, LoadModelsRule } from "./dynamic-margin-calculation.type.js";
14
14
  import { OperationType } from "./network-modification-types.js";
15
+ import { enrichPccMinParameters, mapPccMinParameters } from "./pcc-min.type.js";
15
16
  export {
16
17
  ALL_EQUIPMENTS,
17
18
  AnnouncementSeverity,
@@ -62,8 +63,12 @@ export {
62
63
  VL_TAG_MAX_SIZE,
63
64
  VSC,
64
65
  VoltageLevel,
66
+ enrichPccMinParameters,
67
+ enrichSensitivityAnalysisParameters,
65
68
  equipmentStyles,
66
69
  getConnectionDirectionLabel,
67
70
  getEquipmentsInfosForSearchBar,
68
- getLoadTypeLabel
71
+ getLoadTypeLabel,
72
+ mapPccMinParameters,
73
+ mapSensitivityAnalysisParameters
69
74
  };
@@ -4,9 +4,9 @@ import { LoadFlowParametersInfos } from './loadflow.type';
4
4
  import { DynamicSecurityAnalysisParametersFetchReturn } from './dynamic-security-analysis.type';
5
5
  import { ILimitReductionsByVoltageLevel } from '../../components/parameters/common/limitreductions/columns-definitions';
6
6
  import { DynamicSimulationParametersInfos } from './dynamic-simulation.type';
7
- import { SensitivityAnalysisParametersInfos } from './sensitivity-analysis.type';
7
+ import { SensitivityAnalysisParametersInfosEnriched } from './sensitivity-analysis.type';
8
8
  import { ShortCircuitParametersInfos } from '../../components/parameters/short-circuit/short-circuit-parameters.type';
9
- import { SAParameters } from '../../components/parameters/security-analysis/types';
9
+ import { SAParametersEnriched } from '../../components/parameters/security-analysis/types';
10
10
  import { DynamicMarginCalculationParametersInfos } from './dynamic-margin-calculation.type';
11
11
  export declare enum ParameterType {
12
12
  BOOLEAN = "BOOLEAN",
@@ -29,7 +29,7 @@ export type SpecificParameterInfos = {
29
29
  export type SpecificParametersDescription = Record<string, SpecificParameterInfos[]>;
30
30
  export type SpecificParametersValues = Record<string, any>;
31
31
  export type SpecificParametersPerProvider = Record<string, SpecificParametersValues>;
32
- export type ParametersInfos<T extends ComputingType> = T extends ComputingType.SENSITIVITY_ANALYSIS ? SensitivityAnalysisParametersInfos : T extends ComputingType.SECURITY_ANALYSIS ? SAParameters : T extends ComputingType.LOAD_FLOW ? LoadFlowParametersInfos : T extends ComputingType.DYNAMIC_SIMULATION ? DynamicSimulationParametersInfos : T extends ComputingType.DYNAMIC_SECURITY_ANALYSIS ? DynamicSecurityAnalysisParametersFetchReturn : T extends ComputingType.DYNAMIC_MARGIN_CALCULATION ? DynamicMarginCalculationParametersInfos : T extends ComputingType.SHORT_CIRCUIT ? ShortCircuitParametersInfos : Record<string, any>;
32
+ export type ParametersInfos<T extends ComputingType> = T extends ComputingType.SENSITIVITY_ANALYSIS ? SensitivityAnalysisParametersInfosEnriched : T extends ComputingType.SECURITY_ANALYSIS ? SAParametersEnriched : T extends ComputingType.LOAD_FLOW ? LoadFlowParametersInfos : T extends ComputingType.DYNAMIC_SIMULATION ? DynamicSimulationParametersInfos : T extends ComputingType.DYNAMIC_SECURITY_ANALYSIS ? DynamicSecurityAnalysisParametersFetchReturn : T extends ComputingType.DYNAMIC_MARGIN_CALCULATION ? DynamicMarginCalculationParametersInfos : T extends ComputingType.SHORT_CIRCUIT ? ShortCircuitParametersInfos : Record<string, any>;
33
33
  export type BackendFunctions<T extends ComputingType> = {
34
34
  backendFetchProviders?: (() => Promise<string[]>) | null;
35
35
  backendFetchParameters: (paramsUuidOrStudyUuid: UUID) => Promise<ParametersInfos<T>>;
@@ -0,0 +1,10 @@
1
+ import { UUID } from 'node:crypto';
2
+ import { FilterIdentifier, FILTERS } from '../constants';
3
+ export type PccMinParametersEnriched = {
4
+ [FILTERS]: FilterIdentifier[];
5
+ };
6
+ export type PccMinParameters = {
7
+ [FILTERS]: UUID[];
8
+ };
9
+ export declare function mapPccMinParameters(parametersInfos: PccMinParametersEnriched): PccMinParameters;
10
+ export declare function enrichPccMinParameters(parameters: PccMinParameters): Promise<PccMinParametersEnriched>;
@@ -0,0 +1,31 @@
1
+ import { fetchElementNames } from "../../services/directory.js";
2
+ import { FILTERS } from "../constants/filterConstant.js";
3
+ function mapPccMinParameters(parametersInfos) {
4
+ return {
5
+ ...parametersInfos,
6
+ [FILTERS]: parametersInfos.filters?.map((filter) => filter.filterId)
7
+ };
8
+ }
9
+ function getFilterIdentifierIds(params) {
10
+ return new Set(params[FILTERS]);
11
+ }
12
+ function enrichPccMinParameters(parameters) {
13
+ const allElementIds = getFilterIdentifierIds(parameters);
14
+ const elementNamesPromise = allElementIds.size === 0 ? Promise.resolve(null) : fetchElementNames(allElementIds);
15
+ return elementNamesPromise.then((elementNames) => {
16
+ const mapIdsToFilterIdentifiers = (ids) => {
17
+ return ids ? ids.map((id) => ({
18
+ filterId: id,
19
+ filterName: elementNames?.[id] ?? null
20
+ })) : [];
21
+ };
22
+ return {
23
+ ...parameters,
24
+ [FILTERS]: mapIdsToFilterIdentifiers(parameters[FILTERS])
25
+ };
26
+ });
27
+ }
28
+ export {
29
+ enrichPccMinParameters,
30
+ mapPccMinParameters
31
+ };
@@ -13,34 +13,35 @@ interface EquipmentsContainer {
13
13
  containerId: string;
14
14
  containerName: string;
15
15
  }
16
- interface SensitivityParamsCommon {
17
- contingencies?: EquipmentsContainer[];
16
+ type EquipmentsInfos = EquipmentsContainer | UUID;
17
+ interface SensitivityParamsCommon<T extends EquipmentsInfos> {
18
+ contingencies?: T[];
18
19
  activated?: boolean | null;
19
20
  }
20
- export interface SensitivityInjectionsSet extends SensitivityParamsCommon {
21
- monitoredBranches?: EquipmentsContainer[];
22
- injections?: EquipmentsContainer[];
21
+ export interface SensitivityInjectionsSet<T extends EquipmentsInfos> extends SensitivityParamsCommon<T> {
22
+ monitoredBranches?: T[];
23
+ injections?: T[];
23
24
  distributionType?: DistributionType;
24
25
  }
25
- export interface SensitivityInjection extends SensitivityParamsCommon {
26
- monitoredBranches?: EquipmentsContainer[];
27
- injections?: EquipmentsContainer[];
26
+ export interface SensitivityInjection<T extends EquipmentsInfos> extends SensitivityParamsCommon<T> {
27
+ monitoredBranches?: T[];
28
+ injections?: T[];
28
29
  }
29
- export interface SensitivityHVDC extends SensitivityParamsCommon {
30
- monitoredBranches?: EquipmentsContainer[];
30
+ export interface SensitivityHVDC<T extends EquipmentsInfos> extends SensitivityParamsCommon<T> {
31
+ monitoredBranches?: T[];
31
32
  sensitivityType?: SensitivityType;
32
- hvdcs?: EquipmentsContainer[];
33
+ hvdcs?: T[];
33
34
  }
34
- export interface SensitivityPST extends SensitivityParamsCommon {
35
- monitoredBranches?: EquipmentsContainer[];
35
+ export interface SensitivityPST<T extends EquipmentsInfos> extends SensitivityParamsCommon<T> {
36
+ monitoredBranches?: T[];
36
37
  sensitivityType?: SensitivityType;
37
- psts?: EquipmentsContainer[];
38
+ psts?: T[];
38
39
  }
39
- export interface SensitivityNodes extends SensitivityParamsCommon {
40
- monitoredVoltageLevels?: EquipmentsContainer[];
41
- equipmentsInVoltageRegulation?: EquipmentsContainer[];
40
+ export interface SensitivityNodes<T extends EquipmentsInfos> extends SensitivityParamsCommon<T> {
41
+ monitoredVoltageLevels?: T[];
42
+ equipmentsInVoltageRegulation?: T[];
42
43
  }
43
- export interface SensitivityAnalysisParametersInfos {
44
+ export interface SensitivityAnalysisParameters<T extends EquipmentsInfos> {
44
45
  provider: string;
45
46
  uuid?: UUID;
46
47
  date?: Date;
@@ -48,12 +49,14 @@ export interface SensitivityAnalysisParametersInfos {
48
49
  flowFlowSensitivityValueThreshold: number;
49
50
  angleFlowSensitivityValueThreshold: number;
50
51
  flowVoltageSensitivityValueThreshold: number;
51
- sensitivityInjectionsSet?: SensitivityInjectionsSet[];
52
- sensitivityInjection?: SensitivityInjection[];
53
- sensitivityHVDC?: SensitivityHVDC[];
54
- sensitivityPST?: SensitivityPST[];
55
- sensitivityNodes?: SensitivityNodes[];
52
+ sensitivityInjectionsSet?: SensitivityInjectionsSet<T>[];
53
+ sensitivityInjection?: SensitivityInjection<T>[];
54
+ sensitivityHVDC?: SensitivityHVDC<T>[];
55
+ sensitivityPST?: SensitivityPST<T>[];
56
+ sensitivityNodes?: SensitivityNodes<T>[];
56
57
  }
58
+ export type SensitivityAnalysisParametersInfosEnriched = SensitivityAnalysisParameters<EquipmentsContainer>;
59
+ export type SensitivityAnalysisParametersInfos = SensitivityAnalysisParameters<UUID>;
57
60
  export interface FactorsCount {
58
61
  resultCount: number | null;
59
62
  variableCount: number | null;
@@ -95,4 +98,6 @@ export type SensitivityResultFilterOptions = {
95
98
  allFunctionIds?: string[];
96
99
  allVariableIds?: string[];
97
100
  };
101
+ export declare function mapSensitivityAnalysisParameters(parameters: SensitivityAnalysisParametersInfosEnriched): SensitivityAnalysisParametersInfos;
102
+ export declare function enrichSensitivityAnalysisParameters(parameters: SensitivityAnalysisParametersInfos): Promise<SensitivityAnalysisParametersInfosEnriched>;
98
103
  export {};