@gridsuite/commons-ui 0.207.0 → 0.209.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 (75) 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/index.js +12 -2
  5. package/dist/components/inputs/reactHookForm/DirectoryItemsInput.js +1 -1
  6. package/dist/components/inputs/reactHookForm/booleans/RadioInput.js +1 -1
  7. package/dist/components/network-modification-table/renderers/name-cell.d.ts +2 -1
  8. package/dist/components/network-modification-table/renderers/name-cell.js +136 -19
  9. package/dist/components/network-modifications/battery/creation/BatteryCreationForm.d.ts +4 -0
  10. package/dist/components/network-modifications/battery/creation/BatteryCreationForm.js +105 -0
  11. package/dist/components/network-modifications/battery/creation/batteryCreation.types.d.ts +26 -0
  12. package/dist/components/network-modifications/battery/creation/batteryCreation.types.js +1 -0
  13. package/dist/components/network-modifications/battery/creation/batteryCreation.utils.d.ts +79 -0
  14. package/dist/components/network-modifications/battery/creation/batteryCreation.utils.js +145 -0
  15. package/dist/components/network-modifications/battery/creation/index.d.ts +9 -0
  16. package/dist/components/network-modifications/battery/creation/index.js +9 -0
  17. package/dist/components/network-modifications/battery/index.d.ts +7 -0
  18. package/dist/components/network-modifications/battery/index.js +9 -0
  19. package/dist/components/network-modifications/common/index.js +5 -2
  20. package/dist/components/network-modifications/common/reactiveLimits/index.js +5 -2
  21. package/dist/components/network-modifications/common/reactiveLimits/reactiveCapabilityCurve/index.js +2 -1
  22. package/dist/components/network-modifications/common/reactiveLimits/reactiveCapabilityCurve/reactiveCapability.utils.d.ts +10 -1
  23. package/dist/components/network-modifications/common/reactiveLimits/reactiveCapabilityCurve/reactiveCapability.utils.js +26 -24
  24. package/dist/components/network-modifications/common/reactiveLimits/reactiveLimits.type.d.ts +3 -3
  25. package/dist/components/network-modifications/common/reactiveLimits/reactiveLimits.utils.d.ts +33 -0
  26. package/dist/components/network-modifications/common/reactiveLimits/reactiveLimits.utils.js +68 -34
  27. package/dist/components/network-modifications/index.d.ts +1 -0
  28. package/dist/components/network-modifications/index.js +12 -2
  29. package/dist/components/parameters/common/contingency-table/columns-definitions.d.ts +2 -2
  30. package/dist/components/parameters/common/contingency-table/columns-definitions.js +10 -8
  31. package/dist/components/parameters/common/contingency-table/contingency-table.js +4 -4
  32. package/dist/components/parameters/common/contingency-table/types.d.ts +6 -1
  33. package/dist/components/parameters/pcc-min/pcc-min-form-utils.d.ts +5 -4
  34. package/dist/components/parameters/pcc-min/pcc-min-form-utils.js +5 -1
  35. package/dist/components/parameters/pcc-min/pcc-min-parameters-inline.d.ts +2 -2
  36. package/dist/components/parameters/pcc-min/pcc-min-parameters-inline.js +3 -2
  37. package/dist/components/parameters/pcc-min/use-pcc-min-parameters-form.d.ts +2 -2
  38. package/dist/components/parameters/pcc-min/use-pcc-min-parameters-form.js +9 -7
  39. package/dist/components/parameters/security-analysis/columns-definitions.d.ts +2 -2
  40. package/dist/components/parameters/security-analysis/security-analysis-parameters-inline.js +3 -2
  41. package/dist/components/parameters/security-analysis/security-analysis-parameters-selector.d.ts +2 -2
  42. package/dist/components/parameters/security-analysis/types.d.ts +8 -3
  43. package/dist/components/parameters/security-analysis/types.js +42 -1
  44. package/dist/components/parameters/security-analysis/use-security-analysis-parameters-form.d.ts +4 -4
  45. package/dist/components/parameters/security-analysis/use-security-analysis-parameters-form.js +2 -1
  46. package/dist/components/parameters/sensi/sensitivity-analysis-parameters-dialog.js +1 -1
  47. package/dist/components/parameters/sensi/sensitivity-analysis-parameters-inline.js +6 -3
  48. package/dist/components/parameters/sensi/use-sensitivity-analysis-parameters.d.ts +4 -4
  49. package/dist/components/parameters/sensi/use-sensitivity-analysis-parameters.js +3 -2
  50. package/dist/hooks/use-unique-name-validation.js +1 -1
  51. package/dist/index.js +29 -4
  52. package/dist/services/directory.d.ts +2 -1
  53. package/dist/services/directory.js +11 -0
  54. package/dist/services/index.d.ts +1 -0
  55. package/dist/services/index.js +11 -1
  56. package/dist/services/pcc-min.d.ts +4 -7
  57. package/dist/services/pcc-min.js +8 -5
  58. package/dist/services/security-analysis.d.ts +5 -4
  59. package/dist/services/security-analysis.js +7 -4
  60. package/dist/services/sensitivity-analysis.d.ts +5 -6
  61. package/dist/services/sensitivity-analysis.js +13 -6
  62. package/dist/translations/en/networkModificationsEn.d.ts +10 -0
  63. package/dist/translations/en/networkModificationsEn.js +10 -0
  64. package/dist/translations/fr/networkModificationsFr.d.ts +10 -0
  65. package/dist/translations/fr/networkModificationsFr.js +10 -0
  66. package/dist/utils/index.js +6 -1
  67. package/dist/utils/types/index.d.ts +1 -0
  68. package/dist/utils/types/index.js +7 -2
  69. package/dist/utils/types/network-modification-metadata.d.ts +1 -0
  70. package/dist/utils/types/parameters.type.d.ts +3 -3
  71. package/dist/utils/types/pcc-min.type.d.ts +10 -0
  72. package/dist/utils/types/pcc-min.type.js +31 -0
  73. package/dist/utils/types/sensitivity-analysis.type.d.ts +28 -23
  74. package/dist/utils/types/sensitivity-analysis.type.js +136 -1
  75. package/package.json +1 -1
@@ -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
@@ -194,6 +194,11 @@ export declare const networkModificationsEn: {
194
194
  addNewAssignment: string;
195
195
  changeTypeConfirmation: string;
196
196
  Or: string;
197
+ CreateBattery: string;
198
+ BatteryCreationError: string;
199
+ Connectivity: string;
200
+ ActiveLimits: string;
201
+ ReactiveLimits: string;
197
202
  NormalizedPercentage: string;
198
203
  On: string;
199
204
  Off: string;
@@ -205,12 +210,17 @@ export declare const networkModificationsEn: {
205
210
  ReactiveLimitsKindCurve: string;
206
211
  MinimumReactivePower: string;
207
212
  MaximumReactivePower: string;
213
+ ActiveLimitsMinMaxInvalid: string;
214
+ ReactiveLimitsMinMaxInvalid: string;
215
+ MinReactivePowerRequired: string;
216
+ MaxReactivePowerRequired: string;
208
217
  ReactiveCapabilityCurveCreationErrorMissingPoints: string;
209
218
  ReactiveCapabilityCurveCreationErrorPInvalid: string;
210
219
  ReactiveCapabilityCurveCreationErrorPOutOfRange: string;
211
220
  ReactiveCapabilityCurveCreationErrorQminPQmaxPIncoherence: string;
212
221
  ReactiveCapabilityCurveCreationErrorMissingNegativeP: string;
213
222
  ReactiveCapabilityCurveCreationErrorMissingPositiveP: string;
223
+ ActivePowerMustBeZeroOrBetweenMinAndMaxActivePower: string;
214
224
  P: string;
215
225
  QminP: string;
216
226
  QmaxP: string;
@@ -200,6 +200,11 @@ const networkModificationsEn = {
200
200
  addNewAssignment: "Modify another field",
201
201
  changeTypeConfirmation: "The type will be changed. All fields values will be erased.",
202
202
  Or: "or",
203
+ CreateBattery: "Create battery",
204
+ BatteryCreationError: "Error while creating battery",
205
+ Connectivity: "Connectivity",
206
+ ActiveLimits: "Active limits",
207
+ ReactiveLimits: "Reactive limits",
203
208
  NormalizedPercentage: "This percentage must be between 0 and 100",
204
209
  On: "On",
205
210
  Off: "Off",
@@ -211,12 +216,17 @@ const networkModificationsEn = {
211
216
  ReactiveLimitsKindCurve: "By diagram",
212
217
  MinimumReactivePower: "Minimum reactive power",
213
218
  MaximumReactivePower: "Maximum reactive power",
219
+ ActiveLimitsMinMaxInvalid: "Maximum active power must be greater than minimum active power",
220
+ ReactiveLimitsMinMaxInvalid: "Maximum reactive power must be greater than minimum reactive power",
221
+ MinReactivePowerRequired: "Minimum reactive power is required if maximum is defined",
222
+ MaxReactivePowerRequired: "Maximum reactive power is required if minimum is defined",
214
223
  ReactiveCapabilityCurveCreationErrorMissingPoints: "The table of reactive capability curve must have at least four points.",
215
224
  ReactiveCapabilityCurveCreationErrorPInvalid: "Each active power value must be a valid unique number.",
216
225
  ReactiveCapabilityCurveCreationErrorPOutOfRange: "Each active power value must be within the min P and max P values.",
217
226
  ReactiveCapabilityCurveCreationErrorQminPQmaxPIncoherence: "Each minimum reactive power value must be less than or equal to the corresponding maximum reactive power value.",
218
227
  ReactiveCapabilityCurveCreationErrorMissingNegativeP: "The reactive capability curve table must have at least one row with negative active power",
219
228
  ReactiveCapabilityCurveCreationErrorMissingPositiveP: "The reactive capability curve table must have at least one row with positive active power",
229
+ ActivePowerMustBeZeroOrBetweenMinAndMaxActivePower: "Active power value must be equal to 0 or between minimum and maximum active power values",
220
230
  P: "P{labelSuffix}",
221
231
  QminP: "QminP{labelSuffix}",
222
232
  QmaxP: "QmaxP{labelSuffix}",
@@ -194,6 +194,11 @@ export declare const networkModificationsFr: {
194
194
  addNewAssignment: string;
195
195
  changeTypeConfirmation: string;
196
196
  Or: string;
197
+ CreateBattery: string;
198
+ BatteryCreationError: string;
199
+ Connectivity: string;
200
+ ActiveLimits: string;
201
+ ReactiveLimits: string;
197
202
  NormalizedPercentage: string;
198
203
  On: string;
199
204
  Off: string;
@@ -205,12 +210,17 @@ export declare const networkModificationsFr: {
205
210
  ReactiveLimitsKindCurve: string;
206
211
  MinimumReactivePower: string;
207
212
  MaximumReactivePower: string;
213
+ ActiveLimitsMinMaxInvalid: string;
214
+ ReactiveLimitsMinMaxInvalid: string;
215
+ MinReactivePowerRequired: string;
216
+ MaxReactivePowerRequired: string;
208
217
  ReactiveCapabilityCurveCreationErrorMissingPoints: string;
209
218
  ReactiveCapabilityCurveCreationErrorPInvalid: string;
210
219
  ReactiveCapabilityCurveCreationErrorPOutOfRange: string;
211
220
  ReactiveCapabilityCurveCreationErrorQminPQmaxPIncoherence: string;
212
221
  ReactiveCapabilityCurveCreationErrorMissingNegativeP: string;
213
222
  ReactiveCapabilityCurveCreationErrorMissingPositiveP: string;
223
+ ActivePowerMustBeZeroOrBetweenMinAndMaxActivePower: string;
214
224
  P: string;
215
225
  QminP: string;
216
226
  QmaxP: string;
@@ -200,6 +200,11 @@ const networkModificationsFr = {
200
200
  addNewAssignment: "Modifier un autre champ",
201
201
  changeTypeConfirmation: "Le type va être modifié. Toutes les valeurs des champs seront effacées.",
202
202
  Or: "ou",
203
+ CreateBattery: "Créer une batterie",
204
+ BatteryCreationError: "Erreur lors de la création d'une batterie",
205
+ Connectivity: "Connectivité",
206
+ ActiveLimits: "Limites en actif",
207
+ ReactiveLimits: "Limites en réactif",
203
208
  NormalizedPercentage: "Ce pourcentage doit être compris entre 0 et 100",
204
209
  On: "Activé",
205
210
  Off: "Désactivé",
@@ -211,12 +216,17 @@ const networkModificationsFr = {
211
216
  ReactiveLimitsKindCurve: "Par diagramme",
212
217
  MinimumReactivePower: "Puissance réactive minimale",
213
218
  MaximumReactivePower: "Puissance réactive maximale",
219
+ ActiveLimitsMinMaxInvalid: "La puissance active maximale doit être supérieure à la puissance active minimale",
220
+ ReactiveLimitsMinMaxInvalid: "La puissance réactive maximale doit être supérieure à la puissance réactive minimale",
221
+ MinReactivePowerRequired: "La puissance réactive minimale est requise si la maximale est définie",
222
+ MaxReactivePowerRequired: "La puissance réactive maximale est requise si la minimale est définie",
214
223
  ReactiveCapabilityCurveCreationErrorMissingPoints: "Le tableau des limites de réactifs par diagramme doit comporter au moins quatre points.",
215
224
  ReactiveCapabilityCurveCreationErrorPInvalid: "Chaque valeur de puissance active doit être un nombre unique et valide.",
216
225
  ReactiveCapabilityCurveCreationErrorPOutOfRange: "Chaque valeur de puissance active doit être comprise entre les valeurs P min et P max.",
217
226
  ReactiveCapabilityCurveCreationErrorQminPQmaxPIncoherence: "Chaque valeur de puissance réactive minimale doit être inférieure ou égale à la puissance réactive maximale correspondante.",
218
227
  ReactiveCapabilityCurveCreationErrorMissingNegativeP: "Le tableau des limites de réactifs par diagramme doit comporter au moins une ligne avec une puissance active négative",
219
228
  ReactiveCapabilityCurveCreationErrorMissingPositiveP: "Le tableau des limites de réactifs par diagramme doit comporter au moins une ligne avec une puissance active positive",
229
+ ActivePowerMustBeZeroOrBetweenMinAndMaxActivePower: "La valeur de la puissance active doit être égale à 0 ou comprise entre la valeur de la puissance active min et la valeur de la puissance active max",
220
230
  P: "P{labelSuffix}",
221
231
  QminP: "QminP{labelSuffix}",
222
232
  QmaxP: "QmaxP{labelSuffix}",
@@ -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
  };
@@ -13,4 +13,5 @@ export interface NetworkModificationMetadata {
13
13
  export interface ComposedModificationMetadata extends NetworkModificationMetadata {
14
14
  subModifications: ComposedModificationMetadata[];
15
15
  maxDepth?: number;
16
+ name?: string;
16
17
  }
@@ -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 {};