@gridsuite/commons-ui 0.223.0 → 0.224.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 (44) hide show
  1. package/dist/components/ui/directoryItemSelector/DirectoryItemSelector.js +1 -1
  2. package/dist/components/ui/directoryItemSelector/utils.js +1 -1
  3. package/dist/components/ui/reactHookForm/DirectoryItemsInput.js +1 -1
  4. package/dist/features/parameters/common/contingency-table/columns-definitions.d.ts +3 -3
  5. package/dist/features/parameters/common/contingency-table/columns-definitions.js +5 -5
  6. package/dist/features/parameters/common/contingency-table/contingency-table.js +1 -1
  7. package/dist/features/parameters/common/contingency-table/types.d.ts +6 -17
  8. package/dist/features/parameters/security-analysis/columns-definitions.d.ts +3 -3
  9. package/dist/features/parameters/security-analysis/columns-definitions.js +8 -8
  10. package/dist/features/parameters/security-analysis/security-analysis-parameters-inline.js +1 -1
  11. package/dist/features/parameters/security-analysis/security-analysis-parameters-selector.d.ts +1 -1
  12. package/dist/features/parameters/security-analysis/use-security-analysis-parameters-form.d.ts +1 -1
  13. package/dist/features/parameters/security-analysis/use-security-analysis-parameters-form.js +1 -1
  14. package/dist/features/parameters/sensi/constants.d.ts +0 -2
  15. package/dist/features/parameters/sensi/constants.js +0 -4
  16. package/dist/features/parameters/sensi/use-sensitivity-analysis-parameters.js +33 -32
  17. package/dist/features/parameters/sensi/utils.d.ts +31 -63
  18. package/dist/features/parameters/sensi/utils.js +49 -61
  19. package/dist/hooks/use-unique-name-validation.js +1 -1
  20. package/dist/index.js +8 -5
  21. package/dist/services/directory.d.ts +1 -1
  22. package/dist/services/index.js +6 -3
  23. package/dist/services/pcc-min.d.ts +2 -1
  24. package/dist/services/pcc-min.js +27 -1
  25. package/dist/services/security-analysis.d.ts +2 -1
  26. package/dist/services/security-analysis.js +33 -1
  27. package/dist/services/sensitivity-analysis.d.ts +2 -1
  28. package/dist/services/sensitivity-analysis.js +87 -1
  29. package/dist/utils/constants/filterConstant.d.ts +1 -1
  30. package/dist/utils/index.js +4 -4
  31. package/dist/utils/types/dynamic-security-analysis.type.d.ts +3 -5
  32. package/dist/utils/types/index.d.ts +1 -0
  33. package/dist/utils/types/index.js +4 -4
  34. package/dist/utils/types/parameters.type.d.ts +1 -1
  35. package/dist/utils/types/pcc-min.type.d.ts +0 -1
  36. package/dist/utils/types/pcc-min.type.js +0 -21
  37. package/dist/utils/types/security-analysis.type.d.ts +26 -0
  38. package/dist/utils/types/security-analysis.type.js +14 -0
  39. package/dist/utils/types/sensitivity-analysis.type.d.ts +3 -7
  40. package/dist/utils/types/sensitivity-analysis.type.js +17 -103
  41. package/dist/utils/types/types.d.ts +7 -0
  42. package/package.json +1 -1
  43. package/dist/features/parameters/security-analysis/types.d.ts +0 -20
  44. package/dist/features/parameters/security-analysis/types.js +0 -42
@@ -1,4 +1,3 @@
1
- import { fetchElementNames } from "../../services/directory.js";
2
1
  import { FILTERS } from "../constants/filterConstant.js";
3
2
  function mapPccMinParameters(parametersInfos) {
4
3
  return {
@@ -6,26 +5,6 @@ function mapPccMinParameters(parametersInfos) {
6
5
  [FILTERS]: parametersInfos.filters?.map((filter) => filter.filterId)
7
6
  };
8
7
  }
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
8
  export {
29
- enrichPccMinParameters,
30
9
  mapPccMinParameters
31
10
  };
@@ -0,0 +1,26 @@
1
+ import { UUID } from 'node:crypto';
2
+ import { ILimitReductionsByVoltageLevel } from '../../features/parameters/common/limitreductions/columns-definitions';
3
+ import { IdName } from './types';
4
+ export type ContingencyListsInfos = {
5
+ contingencyLists: UUID[];
6
+ description: string;
7
+ activated: boolean;
8
+ };
9
+ export type ContingencyListsInfosEnriched = Omit<ContingencyListsInfos, 'contingencyLists'> & {
10
+ contingencyLists: IdName[];
11
+ };
12
+ export type SAParameters = {
13
+ uuid?: UUID;
14
+ provider: string;
15
+ contingencyListsInfos: ContingencyListsInfos[];
16
+ limitReductions: ILimitReductionsByVoltageLevel[];
17
+ flowProportionalThreshold: number;
18
+ lowVoltageProportionalThreshold: number;
19
+ lowVoltageAbsoluteThreshold: number;
20
+ highVoltageProportionalThreshold: number;
21
+ highVoltageAbsoluteThreshold: number;
22
+ };
23
+ export type SAParametersEnriched = Omit<SAParameters, 'contingencyListsInfos'> & {
24
+ contingencyListsInfos: ContingencyListsInfosEnriched[];
25
+ };
26
+ export declare function mapSecurityAnalysisParameters(parameters: SAParametersEnriched): SAParameters;
@@ -0,0 +1,14 @@
1
+ function mapSecurityAnalysisParameters(parameters) {
2
+ return {
3
+ ...parameters,
4
+ contingencyListsInfos: parameters.contingencyListsInfos?.map((clInfos) => {
5
+ return {
6
+ ...clInfos,
7
+ contingencyLists: clInfos.contingencyLists.map((c) => c.id)
8
+ };
9
+ })
10
+ };
11
+ }
12
+ export {
13
+ mapSecurityAnalysisParameters
14
+ };
@@ -1,4 +1,5 @@
1
1
  import { UUID } from 'node:crypto';
2
+ import { IdName } from './types';
2
3
  export declare enum DistributionType {
3
4
  PROPORTIONAL = "PROPORTIONAL",
4
5
  PROPORTIONAL_MAXP = "PROPORTIONAL_MAXP",
@@ -9,11 +10,7 @@ export declare enum SensitivityType {
9
10
  DELTA_MW = "DELTA_MW",
10
11
  DELTA_A = "DELTA_A"
11
12
  }
12
- interface EquipmentsContainer {
13
- containerId: string;
14
- containerName: string;
15
- }
16
- type EquipmentsInfos = EquipmentsContainer | UUID;
13
+ type EquipmentsInfos = IdName | UUID;
17
14
  interface SensitivityParamsCommon<T extends EquipmentsInfos> {
18
15
  contingencies?: T[];
19
16
  activated?: boolean | null;
@@ -55,7 +52,7 @@ export interface SensitivityAnalysisParameters<T extends EquipmentsInfos> {
55
52
  sensitivityPST?: SensitivityPST<T>[];
56
53
  sensitivityNodes?: SensitivityNodes<T>[];
57
54
  }
58
- export type SensitivityAnalysisParametersInfosEnriched = SensitivityAnalysisParameters<EquipmentsContainer>;
55
+ export type SensitivityAnalysisParametersInfosEnriched = SensitivityAnalysisParameters<IdName>;
59
56
  export type SensitivityAnalysisParametersInfos = SensitivityAnalysisParameters<UUID>;
60
57
  export interface FactorsCount {
61
58
  resultCount: number | null;
@@ -99,5 +96,4 @@ export type SensitivityResultFilterOptions = {
99
96
  allVariableIds?: string[];
100
97
  };
101
98
  export declare function mapSensitivityAnalysisParameters(parameters: SensitivityAnalysisParametersInfosEnriched): SensitivityAnalysisParametersInfos;
102
- export declare function enrichSensitivityAnalysisParameters(parameters: SensitivityAnalysisParametersInfos): Promise<SensitivityAnalysisParametersInfosEnriched>;
103
99
  export {};
@@ -1,4 +1,3 @@
1
- import { fetchElementNames } from "../../services/directory.js";
2
1
  var DistributionType = /* @__PURE__ */ ((DistributionType2) => {
3
2
  DistributionType2["PROPORTIONAL"] = "PROPORTIONAL";
4
3
  DistributionType2["PROPORTIONAL_MAXP"] = "PROPORTIONAL_MAXP";
@@ -12,140 +11,55 @@ var SensitivityType = /* @__PURE__ */ ((SensitivityType2) => {
12
11
  return SensitivityType2;
13
12
  })(SensitivityType || {});
14
13
  function mapSensitivityAnalysisParameters(parameters) {
15
- const mapEquipmentsContainerToIds = (containers) => {
16
- return containers ? containers.map((c) => c.containerId) : [];
14
+ const mapIdNamesToIds = (objects) => {
15
+ return objects?.map((c) => c.id) ?? [];
17
16
  };
18
17
  return {
19
18
  ...parameters,
20
19
  sensitivityInjectionsSet: parameters.sensitivityInjectionsSet?.map((injectionsSet) => {
21
20
  return {
22
21
  ...injectionsSet,
23
- monitoredBranches: mapEquipmentsContainerToIds(injectionsSet.monitoredBranches),
24
- injections: mapEquipmentsContainerToIds(injectionsSet.injections),
25
- contingencies: mapEquipmentsContainerToIds(injectionsSet.contingencies)
22
+ monitoredBranches: mapIdNamesToIds(injectionsSet.monitoredBranches),
23
+ injections: mapIdNamesToIds(injectionsSet.injections),
24
+ contingencies: mapIdNamesToIds(injectionsSet.contingencies)
26
25
  };
27
26
  }),
28
27
  sensitivityInjection: parameters.sensitivityInjection?.map((injection) => {
29
28
  return {
30
29
  ...injection,
31
- monitoredBranches: mapEquipmentsContainerToIds(injection.monitoredBranches),
32
- injections: mapEquipmentsContainerToIds(injection.injections),
33
- contingencies: mapEquipmentsContainerToIds(injection.contingencies)
30
+ monitoredBranches: mapIdNamesToIds(injection.monitoredBranches),
31
+ injections: mapIdNamesToIds(injection.injections),
32
+ contingencies: mapIdNamesToIds(injection.contingencies)
34
33
  };
35
34
  }),
36
35
  sensitivityHVDC: parameters.sensitivityHVDC?.map((hvdc) => {
37
36
  return {
38
37
  ...hvdc,
39
- monitoredBranches: mapEquipmentsContainerToIds(hvdc.monitoredBranches),
40
- hvdcs: mapEquipmentsContainerToIds(hvdc.hvdcs),
41
- contingencies: mapEquipmentsContainerToIds(hvdc.contingencies)
38
+ monitoredBranches: mapIdNamesToIds(hvdc.monitoredBranches),
39
+ hvdcs: mapIdNamesToIds(hvdc.hvdcs),
40
+ contingencies: mapIdNamesToIds(hvdc.contingencies)
42
41
  };
43
42
  }),
44
43
  sensitivityPST: parameters.sensitivityPST?.map((pst) => {
45
44
  return {
46
45
  ...pst,
47
- monitoredBranches: mapEquipmentsContainerToIds(pst.monitoredBranches),
48
- psts: mapEquipmentsContainerToIds(pst.psts),
49
- contingencies: mapEquipmentsContainerToIds(pst.contingencies)
46
+ monitoredBranches: mapIdNamesToIds(pst.monitoredBranches),
47
+ psts: mapIdNamesToIds(pst.psts),
48
+ contingencies: mapIdNamesToIds(pst.contingencies)
50
49
  };
51
50
  }),
52
51
  sensitivityNodes: parameters.sensitivityNodes?.map((nodes) => {
53
52
  return {
54
53
  ...nodes,
55
- monitoredVoltageLevels: mapEquipmentsContainerToIds(nodes.monitoredVoltageLevels),
56
- equipmentsInVoltageRegulation: mapEquipmentsContainerToIds(nodes.equipmentsInVoltageRegulation),
57
- contingencies: mapEquipmentsContainerToIds(nodes.contingencies)
54
+ monitoredVoltageLevels: mapIdNamesToIds(nodes.monitoredVoltageLevels),
55
+ equipmentsInVoltageRegulation: mapIdNamesToIds(nodes.equipmentsInVoltageRegulation),
56
+ contingencies: mapIdNamesToIds(nodes.contingencies)
58
57
  };
59
58
  })
60
59
  };
61
60
  }
62
- function getEquipmentsContainerIds(parameters) {
63
- const allContainerIds = /* @__PURE__ */ new Set();
64
- parameters.sensitivityInjection?.forEach((i) => {
65
- i.monitoredBranches?.forEach((id) => allContainerIds.add(id));
66
- i.injections?.forEach((id) => allContainerIds.add(id));
67
- i.contingencies?.forEach((id) => allContainerIds.add(id));
68
- });
69
- parameters.sensitivityInjectionsSet?.forEach((is) => {
70
- is.monitoredBranches?.forEach((id) => allContainerIds.add(id));
71
- is.injections?.forEach((id) => allContainerIds.add(id));
72
- is.contingencies?.forEach((id) => allContainerIds.add(id));
73
- });
74
- parameters.sensitivityHVDC?.forEach((hvdc) => {
75
- hvdc.monitoredBranches?.forEach((id) => allContainerIds.add(id));
76
- hvdc.hvdcs?.forEach((id) => allContainerIds.add(id));
77
- hvdc.contingencies?.forEach((id) => allContainerIds.add(id));
78
- });
79
- parameters.sensitivityPST?.forEach((pst) => {
80
- pst.monitoredBranches?.forEach((id) => allContainerIds.add(id));
81
- pst.psts?.forEach((id) => allContainerIds.add(id));
82
- pst.contingencies?.forEach((id) => allContainerIds.add(id));
83
- });
84
- parameters.sensitivityNodes?.forEach((n) => {
85
- n.monitoredVoltageLevels?.forEach((id) => allContainerIds.add(id));
86
- n.equipmentsInVoltageRegulation?.forEach((id) => allContainerIds.add(id));
87
- n.contingencies?.forEach((id) => allContainerIds.add(id));
88
- });
89
- return allContainerIds;
90
- }
91
- function enrichSensitivityAnalysisParameters(parameters) {
92
- const allElementIds = getEquipmentsContainerIds(parameters);
93
- const elementNamesPromise = allElementIds.size === 0 ? Promise.resolve(null) : fetchElementNames(allElementIds);
94
- return elementNamesPromise.then((elementNames) => {
95
- const mapIdsToEquipmentsContainer = (ids) => {
96
- return ids ? ids.map((id) => ({
97
- containerId: id,
98
- containerName: elementNames?.[id] ?? null
99
- })) : [];
100
- };
101
- return {
102
- ...parameters,
103
- sensitivityInjectionsSet: parameters.sensitivityInjectionsSet ? parameters.sensitivityInjectionsSet.map((is) => {
104
- return {
105
- ...is,
106
- monitoredBranches: mapIdsToEquipmentsContainer(is.monitoredBranches),
107
- injections: mapIdsToEquipmentsContainer(is.injections),
108
- contingencies: mapIdsToEquipmentsContainer(is.contingencies)
109
- };
110
- }) : [],
111
- sensitivityInjection: parameters.sensitivityInjection ? parameters.sensitivityInjection.map((i) => {
112
- return {
113
- ...i,
114
- monitoredBranches: mapIdsToEquipmentsContainer(i.monitoredBranches),
115
- injections: mapIdsToEquipmentsContainer(i.injections),
116
- contingencies: mapIdsToEquipmentsContainer(i.contingencies)
117
- };
118
- }) : [],
119
- sensitivityHVDC: parameters.sensitivityHVDC ? parameters.sensitivityHVDC.map((hvdc) => {
120
- return {
121
- ...hvdc,
122
- monitoredBranches: mapIdsToEquipmentsContainer(hvdc.monitoredBranches),
123
- hvdcs: mapIdsToEquipmentsContainer(hvdc.hvdcs),
124
- contingencies: mapIdsToEquipmentsContainer(hvdc.contingencies)
125
- };
126
- }) : [],
127
- sensitivityPST: parameters.sensitivityPST ? parameters.sensitivityPST.map((pst) => {
128
- return {
129
- ...pst,
130
- monitoredBranches: mapIdsToEquipmentsContainer(pst.monitoredBranches),
131
- psts: mapIdsToEquipmentsContainer(pst.psts),
132
- contingencies: mapIdsToEquipmentsContainer(pst.contingencies)
133
- };
134
- }) : [],
135
- sensitivityNodes: parameters.sensitivityNodes ? parameters.sensitivityNodes.map((n) => {
136
- return {
137
- ...n,
138
- monitoredVoltageLevels: mapIdsToEquipmentsContainer(n.monitoredVoltageLevels),
139
- equipmentsInVoltageRegulation: mapIdsToEquipmentsContainer(n.equipmentsInVoltageRegulation),
140
- contingencies: mapIdsToEquipmentsContainer(n.contingencies)
141
- };
142
- }) : []
143
- };
144
- });
145
- }
146
61
  export {
147
62
  DistributionType,
148
63
  SensitivityType,
149
- enrichSensitivityAnalysisParameters,
150
64
  mapSensitivityAnalysisParameters
151
65
  };
@@ -77,3 +77,10 @@ export type ItemSelectionForCopy = {
77
77
  parentDirectoryUuid: UUID | null;
78
78
  specificTypeItem: string | null;
79
79
  };
80
+ /**
81
+ * A directory element uuid but enriched with the corresponding name.
82
+ */
83
+ export interface IdName {
84
+ id: UUID;
85
+ name?: string;
86
+ }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@gridsuite/commons-ui",
3
- "version": "0.223.0",
3
+ "version": "0.224.0",
4
4
  "description": "common react components for gridsuite applications",
5
5
  "author": "gridsuite team",
6
6
  "homepage": "https://github.com/gridsuite",
@@ -1,20 +0,0 @@
1
- import { UUID } from 'node:crypto';
2
- import { CONTINGENCY_LISTS_INFOS, PARAM_SA_FLOW_PROPORTIONAL_THRESHOLD, PARAM_SA_HIGH_VOLTAGE_ABSOLUTE_THRESHOLD, PARAM_SA_HIGH_VOLTAGE_PROPORTIONAL_THRESHOLD, PARAM_SA_LOW_VOLTAGE_ABSOLUTE_THRESHOLD, PARAM_SA_LOW_VOLTAGE_PROPORTIONAL_THRESHOLD, PARAM_SA_PROVIDER } from '../common/constants';
3
- import { ContingencyListsInfos, ContingencyListsInfosEnriched } from '../common/contingency-table/types';
4
- import { ILimitReductionsByVoltageLevel } from '../common/limitreductions/columns-definitions';
5
- export type SAParameters = {
6
- uuid?: UUID;
7
- [PARAM_SA_PROVIDER]: string;
8
- [CONTINGENCY_LISTS_INFOS]: ContingencyListsInfos[];
9
- limitReductions: ILimitReductionsByVoltageLevel[];
10
- [PARAM_SA_FLOW_PROPORTIONAL_THRESHOLD]: number;
11
- [PARAM_SA_LOW_VOLTAGE_PROPORTIONAL_THRESHOLD]: number;
12
- [PARAM_SA_LOW_VOLTAGE_ABSOLUTE_THRESHOLD]: number;
13
- [PARAM_SA_HIGH_VOLTAGE_PROPORTIONAL_THRESHOLD]: number;
14
- [PARAM_SA_HIGH_VOLTAGE_ABSOLUTE_THRESHOLD]: number;
15
- };
16
- export type SAParametersEnriched = Omit<SAParameters, typeof CONTINGENCY_LISTS_INFOS> & {
17
- [CONTINGENCY_LISTS_INFOS]: ContingencyListsInfosEnriched[];
18
- };
19
- export declare function mapSecurityAnalysisParameters(parameters: SAParametersEnriched): SAParameters;
20
- export declare function enrichSecurityAnalysisParameters(parameters: SAParameters): Promise<SAParametersEnriched>;
@@ -1,42 +0,0 @@
1
- import { fetchElementNames } from "../../../services/directory.js";
2
- import { NAME, ID } from "../common/parameter-table/constants.js";
3
- function mapSecurityAnalysisParameters(parameters) {
4
- return {
5
- ...parameters,
6
- contingencyListsInfos: parameters.contingencyListsInfos?.map((clInfos) => {
7
- return {
8
- ...clInfos,
9
- contingencyLists: clInfos.contingencyLists.map((c) => c.id)
10
- };
11
- })
12
- };
13
- }
14
- function getEquipmentsContainerIds(params) {
15
- const allContainerIds = params.contingencyListsInfos ? params.contingencyListsInfos.flatMap((cli) => cli.contingencyLists ?? []) : [];
16
- return new Set(allContainerIds);
17
- }
18
- function enrichSecurityAnalysisParameters(parameters) {
19
- const allElementIds = getEquipmentsContainerIds(parameters);
20
- const elementNamesPromise = allElementIds.size === 0 ? Promise.resolve(null) : fetchElementNames(allElementIds);
21
- return elementNamesPromise.then((elementNames) => {
22
- const mapIdsToIdNames = (ids) => {
23
- return ids ? ids.map((id) => ({
24
- [ID]: id,
25
- [NAME]: elementNames?.[id] ?? null
26
- })) : [];
27
- };
28
- return {
29
- ...parameters,
30
- contingencyListsInfos: parameters.contingencyListsInfos ? parameters.contingencyListsInfos.map((cli) => {
31
- return {
32
- ...cli,
33
- contingencyLists: mapIdsToIdNames(cli.contingencyLists)
34
- };
35
- }) : []
36
- };
37
- });
38
- }
39
- export {
40
- enrichSecurityAnalysisParameters,
41
- mapSecurityAnalysisParameters
42
- };