@gridsuite/commons-ui 0.63.4 → 0.63.5

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 (129) hide show
  1. package/dist/_mocks_/svg.js +1 -3
  2. package/dist/assets/expert-filter-form.css +18 -8
  3. package/dist/components/AuthenticationRouter/AuthenticationRouter.js +88 -97
  4. package/dist/components/CardErrorBoundary/card-error-boundary.js +6 -20
  5. package/dist/components/CustomAGGrid/custom-aggrid.js +47 -49
  6. package/dist/components/DirectoryItemSelector/directory-item-selector.js +10 -40
  7. package/dist/components/ElementSearchDialog/element-search-dialog.js +1 -17
  8. package/dist/components/ElementSearchDialog/equipment-item.js +29 -47
  9. package/dist/components/ElementSearchDialog/tag-renderer.js +2 -8
  10. package/dist/components/ElementSearchDialog/use-element-search.js +1 -4
  11. package/dist/components/FlatParameters/FlatParameters.js +13 -77
  12. package/dist/components/Login/Login.js +9 -34
  13. package/dist/components/Login/Logout.js +3 -26
  14. package/dist/components/MuiVirtualizedTable/ColumnHeader.js +35 -64
  15. package/dist/components/MuiVirtualizedTable/KeyedColumnsRowIndexer.js +4 -17
  16. package/dist/components/MuiVirtualizedTable/MuiVirtualizedTable.d.ts +1 -1
  17. package/dist/components/MuiVirtualizedTable/MuiVirtualizedTable.js +19 -95
  18. package/dist/components/MuiVirtualizedTable/index.d.ts +1 -1
  19. package/dist/components/MultipleSelectionDialog/MultipleSelectionDialog.js +2 -6
  20. package/dist/components/OverflowableText/overflowable-text.js +3 -10
  21. package/dist/components/ReportViewer/filter-button.d.ts +1 -1
  22. package/dist/components/ReportViewer/filter-button.js +2 -7
  23. package/dist/components/ReportViewer/log-report-item.js +7 -17
  24. package/dist/components/ReportViewer/log-report.js +4 -13
  25. package/dist/components/ReportViewer/log-table.d.ts +1 -1
  26. package/dist/components/ReportViewer/log-table.js +3 -16
  27. package/dist/components/ReportViewer/multi-select-list.d.ts +1 -1
  28. package/dist/components/ReportViewer/multi-select-list.js +2 -14
  29. package/dist/components/ReportViewer/report-item.js +4 -10
  30. package/dist/components/ReportViewer/report-viewer.d.ts +1 -1
  31. package/dist/components/ReportViewer/report-viewer.js +2 -7
  32. package/dist/components/ReportViewerDialog/report-viewer-dialog.js +1 -13
  33. package/dist/components/SignInCallbackHandler/SignInCallbackHandler.d.ts +1 -1
  34. package/dist/components/SignInCallbackHandler/SignInCallbackHandler.js +1 -4
  35. package/dist/components/SilentRenewCallbackHandler/SilentRenewCallbackHandler.d.ts +1 -1
  36. package/dist/components/SilentRenewCallbackHandler/SilentRenewCallbackHandler.js +1 -4
  37. package/dist/components/SnackbarProvider/SnackbarProvider.js +4 -11
  38. package/dist/components/TopBar/AboutDialog.js +51 -152
  39. package/dist/components/TopBar/GridLogo.d.ts +2 -2
  40. package/dist/components/TopBar/GridLogo.js +8 -41
  41. package/dist/components/TopBar/TopBar.js +197 -328
  42. package/dist/components/TreeViewFinder/TreeViewFinder.js +23 -66
  43. package/dist/components/TreeViewFinder/index.d.ts +2 -2
  44. package/dist/components/dialogs/custom-mui-dialog.d.ts +2 -1
  45. package/dist/components/dialogs/custom-mui-dialog.js +64 -39
  46. package/dist/components/dialogs/modify-element-selection.js +1 -3
  47. package/dist/components/dialogs/popup-confirmation-dialog.d.ts +1 -1
  48. package/dist/components/dialogs/popup-confirmation-dialog.js +8 -15
  49. package/dist/components/filter/criteria-based/criteria-based-filter-edition-dialog.js +3 -18
  50. package/dist/components/filter/criteria-based/criteria-based-filter-utils.js +3 -9
  51. package/dist/components/filter/criteria-based/criteria-based-form.d.ts +1 -1
  52. package/dist/components/filter/criteria-based/criteria-based-form.js +7 -15
  53. package/dist/components/filter/criteria-based/filter-free-properties.d.ts +1 -1
  54. package/dist/components/filter/criteria-based/filter-free-properties.js +1 -4
  55. package/dist/components/filter/criteria-based/filter-properties.js +16 -24
  56. package/dist/components/filter/criteria-based/filter-property.js +1 -4
  57. package/dist/components/filter/expert/expert-filter-constants.d.ts +10 -3
  58. package/dist/components/filter/expert/expert-filter-constants.js +16 -12
  59. package/dist/components/filter/expert/expert-filter-edition-dialog.js +3 -18
  60. package/dist/components/filter/expert/expert-filter-form.js +1 -7
  61. package/dist/components/filter/expert/expert-filter-utils.js +10 -30
  62. package/dist/components/filter/expert/expert-filter.type.d.ts +3 -1
  63. package/dist/components/filter/expert/expert-filter.type.js +2 -0
  64. package/dist/components/filter/explicit-naming/explicit-naming-filter-edition-dialog.js +2 -15
  65. package/dist/components/filter/explicit-naming/explicit-naming-filter-form.d.ts +1 -1
  66. package/dist/components/filter/explicit-naming/explicit-naming-filter-form.js +10 -35
  67. package/dist/components/filter/filter-creation-dialog.js +5 -10
  68. package/dist/components/filter/filter-form.js +1 -6
  69. package/dist/components/filter/utils/filter-api.js +1 -7
  70. package/dist/components/inputs/react-hook-form/ExpandingTextField.js +1 -9
  71. package/dist/components/inputs/react-hook-form/ag-grid-table/bottom-right-buttons.js +14 -52
  72. package/dist/components/inputs/react-hook-form/ag-grid-table/csv-uploader/csv-uploader.js +14 -62
  73. package/dist/components/inputs/react-hook-form/ag-grid-table/custom-ag-grid-table.js +29 -40
  74. package/dist/components/inputs/react-hook-form/autocomplete-inputs/autocomplete-input.js +2 -8
  75. package/dist/components/inputs/react-hook-form/autocomplete-inputs/multiple-autocomplete-input.js +1 -3
  76. package/dist/components/inputs/react-hook-form/booleans/boolean-input.js +1 -7
  77. package/dist/components/inputs/react-hook-form/booleans/checkbox-input.js +1 -9
  78. package/dist/components/inputs/react-hook-form/booleans/switch-input.js +1 -9
  79. package/dist/components/inputs/react-hook-form/directory-items-input.js +5 -29
  80. package/dist/components/inputs/react-hook-form/error-management/error-input.d.ts +1 -1
  81. package/dist/components/inputs/react-hook-form/provider/custom-form-provider.js +1 -7
  82. package/dist/components/inputs/react-hook-form/radio-input.js +8 -18
  83. package/dist/components/inputs/react-hook-form/range-input.js +1 -4
  84. package/dist/components/inputs/react-hook-form/select-inputs/countries-input.js +1 -9
  85. package/dist/components/inputs/react-hook-form/select-inputs/mui-select-input.js +2 -13
  86. package/dist/components/inputs/react-hook-form/select-inputs/select-input.js +2 -6
  87. package/dist/components/inputs/react-hook-form/slider-input.d.ts +1 -1
  88. package/dist/components/inputs/react-hook-form/slider-input.js +2 -19
  89. package/dist/components/inputs/react-hook-form/unique-name-input.js +1 -9
  90. package/dist/components/inputs/react-hook-form/utils/field-label.d.ts +1 -1
  91. package/dist/components/inputs/react-hook-form/utils/field-label.js +1 -5
  92. package/dist/components/inputs/react-hook-form/utils/submit-button.js +1 -8
  93. package/dist/components/inputs/react-hook-form/utils/text-field-with-adornment.js +18 -47
  94. package/dist/components/inputs/react-query-builder/add-button.js +1 -10
  95. package/dist/components/inputs/react-query-builder/autocomplete-with-favorites.d.ts +12 -0
  96. package/dist/components/inputs/react-query-builder/autocomplete-with-favorites.js +43 -0
  97. package/dist/components/inputs/react-query-builder/composite-rule-editor/group-value-editor.js +14 -27
  98. package/dist/components/inputs/react-query-builder/composite-rule-editor/rule-value-editor.js +1 -3
  99. package/dist/components/inputs/react-query-builder/country-value-editor.js +27 -28
  100. package/dist/components/inputs/react-query-builder/custom-react-query-builder.js +25 -31
  101. package/dist/components/inputs/react-query-builder/element-value-editor.js +1 -10
  102. package/dist/components/inputs/react-query-builder/property-value-editor.js +6 -11
  103. package/dist/components/inputs/react-query-builder/remove-button.js +1 -9
  104. package/dist/components/inputs/react-query-builder/text-value-editor.js +2 -1
  105. package/dist/components/inputs/react-query-builder/translated-value-editor.js +3 -4
  106. package/dist/components/inputs/react-query-builder/use-convert-value.d.ts +1 -1
  107. package/dist/components/inputs/react-query-builder/use-convert-value.js +1 -6
  108. package/dist/components/inputs/react-query-builder/value-editor.js +4 -20
  109. package/dist/components/translations/filter-expert-en.d.ts +2 -0
  110. package/dist/components/translations/filter-expert-en.js +3 -1
  111. package/dist/components/translations/filter-expert-fr.d.ts +2 -0
  112. package/dist/components/translations/filter-expert-fr.js +3 -1
  113. package/dist/hooks/localized-countries-hook.js +1 -3
  114. package/dist/hooks/useConfidentialityWarning.d.ts +8 -0
  115. package/dist/hooks/useConfidentialityWarning.js +14 -0
  116. package/dist/hooks/useDebounce.js +1 -4
  117. package/dist/hooks/useSnackMessage.js +3 -12
  118. package/dist/index.d.ts +10 -9
  119. package/dist/index.js +77 -73
  120. package/dist/services/apps-metadata.d.ts +7 -0
  121. package/dist/services/apps-metadata.js +13 -0
  122. package/dist/services/directory.js +3 -11
  123. package/dist/services/explore.js +2 -8
  124. package/dist/services/index.js +3 -1
  125. package/dist/services/utils.js +4 -12
  126. package/dist/utils/AuthService.js +8 -29
  127. package/dist/utils/UserManagerMock.js +6 -23
  128. package/dist/utils/styles.js +1 -6
  129. package/package.json +1 -1
@@ -233,8 +233,7 @@ const FIELDS_OPTIONS = {
233
233
  name: FieldType.COUNTRY,
234
234
  label: "country",
235
235
  dataType: DataType.ENUM,
236
- valueEditorType: "select",
237
- defaultValue: "AF"
236
+ valueEditorType: "select"
238
237
  },
239
238
  VOLTAGE_REGULATOR_ON: {
240
239
  name: FieldType.VOLTAGE_REGULATOR_ON,
@@ -471,15 +470,13 @@ const FIELDS_OPTIONS = {
471
470
  name: FieldType.COUNTRY_1,
472
471
  label: "country1",
473
472
  dataType: DataType.ENUM,
474
- valueEditorType: "select",
475
- defaultValue: "AF"
473
+ valueEditorType: "select"
476
474
  },
477
475
  COUNTRY_2: {
478
476
  name: FieldType.COUNTRY_2,
479
477
  label: "country2",
480
478
  dataType: DataType.ENUM,
481
- valueEditorType: "select",
482
- defaultValue: "AF"
479
+ valueEditorType: "select"
483
480
  },
484
481
  SERIE_RESISTANCE: {
485
482
  name: FieldType.SERIE_RESISTANCE,
@@ -1012,15 +1009,20 @@ const FIELDS_OPTIONS = {
1012
1009
  label: "dcNominalVoltage",
1013
1010
  dataType: DataType.NUMBER,
1014
1011
  inputType: "number"
1012
+ },
1013
+ PAIRING_KEY: {
1014
+ name: FieldType.PAIRING_KEY,
1015
+ label: "pairingKey",
1016
+ dataType: DataType.STRING
1017
+ },
1018
+ TIE_LINE_ID: {
1019
+ name: FieldType.TIE_LINE_ID,
1020
+ label: "tieLineId",
1021
+ dataType: DataType.STRING
1015
1022
  }
1016
1023
  };
1017
1024
  const fields = {
1018
- SUBSTATION: [
1019
- FIELDS_OPTIONS.ID,
1020
- FIELDS_OPTIONS.NAME,
1021
- FIELDS_OPTIONS.COUNTRY,
1022
- FIELDS_OPTIONS.PROPERTY
1023
- ],
1025
+ SUBSTATION: [FIELDS_OPTIONS.ID, FIELDS_OPTIONS.NAME, FIELDS_OPTIONS.COUNTRY, FIELDS_OPTIONS.PROPERTY],
1024
1026
  VOLTAGE_LEVEL: [
1025
1027
  FIELDS_OPTIONS.ID,
1026
1028
  FIELDS_OPTIONS.NAME,
@@ -1325,6 +1327,7 @@ const fields = {
1325
1327
  FIELDS_OPTIONS.COUNTRY,
1326
1328
  FIELDS_OPTIONS.VOLTAGE_LEVEL_ID,
1327
1329
  FIELDS_OPTIONS.NOMINAL_VOLTAGE,
1330
+ FIELDS_OPTIONS.TIE_LINE_ID,
1328
1331
  FIELDS_OPTIONS.CONNECTED,
1329
1332
  FIELDS_OPTIONS.P0,
1330
1333
  FIELDS_OPTIONS.Q0,
@@ -1333,6 +1336,7 @@ const fields = {
1333
1336
  FIELDS_OPTIONS.SHUNT_SUSCEPTANCE,
1334
1337
  FIELDS_OPTIONS.SHUNT_CONDUCTANCE,
1335
1338
  FIELDS_OPTIONS.PAIRED,
1339
+ FIELDS_OPTIONS.PAIRING_KEY,
1336
1340
  FIELDS_OPTIONS.PROPERTY,
1337
1341
  FIELDS_OPTIONS.SUBSTATION_PROPERTY,
1338
1342
  FIELDS_OPTIONS.VOLTAGE_LEVEL_PROPERTY
@@ -55,9 +55,7 @@ function ExpertFilterEditionDialog({
55
55
  [FieldConstants.NAME]: name,
56
56
  [FieldConstants.FILTER_TYPE]: FilterType.EXPERT.id,
57
57
  [FieldConstants.EQUIPMENT_TYPE]: response[FieldConstants.EQUIPMENT_TYPE],
58
- [EXPERT_FILTER_QUERY]: importExpertRules(
59
- response[EXPERT_FILTER_QUERY]
60
- )
58
+ [EXPERT_FILTER_QUERY]: importExpertRules(response[EXPERT_FILTER_QUERY])
61
59
  });
62
60
  }).catch((error) => {
63
61
  setDataFetchStatus(FetchStatus.FETCH_ERROR);
@@ -93,14 +91,7 @@ function ExpertFilterEditionDialog({
93
91
  });
94
92
  }
95
93
  },
96
- [
97
- broadcastChannel,
98
- id,
99
- onClose,
100
- selectionForCopy.sourceItemUuid,
101
- snackError,
102
- setSelectionForCopy
103
- ]
94
+ [broadcastChannel, id, onClose, selectionForCopy.sourceItemUuid, snackError, setSelectionForCopy]
104
95
  );
105
96
  const isDataReady = dataFetchStatus === FetchStatus.FETCH_SUCCESS;
106
97
  return /* @__PURE__ */ jsx(
@@ -116,13 +107,7 @@ function ExpertFilterEditionDialog({
116
107
  disabledSave: !!nameError || !!isValidating,
117
108
  isDataFetching: dataFetchStatus === FetchStatus.FETCHING,
118
109
  language,
119
- children: isDataReady && /* @__PURE__ */ jsx(
120
- FilterForm,
121
- {
122
- activeDirectory,
123
- elementExists
124
- }
125
- )
110
+ children: isDataReady && /* @__PURE__ */ jsx(FilterForm, { activeDirectory, elementExists })
126
111
  }
127
112
  );
128
113
  }
@@ -99,13 +99,7 @@ function ExpertFilterForm() {
99
99
  validateButtonLabel: "button.changeType"
100
100
  }
101
101
  ) }),
102
- watchEquipmentType && isSupportedEquipmentType(watchEquipmentType) && /* @__PURE__ */ jsx(
103
- CustomReactQueryBuilder,
104
- {
105
- name: EXPERT_FILTER_QUERY,
106
- fields: translatedFields
107
- }
108
- )
102
+ watchEquipmentType && isSupportedEquipmentType(watchEquipmentType) && /* @__PURE__ */ jsx(CustomReactQueryBuilder, { name: EXPERT_FILTER_QUERY, fields: translatedFields })
109
103
  ] });
110
104
  }
111
105
  export {
@@ -36,9 +36,7 @@ const getDataType = (fieldName, operator) => {
36
36
  return fieldData == null ? void 0 : fieldData.dataType;
37
37
  };
38
38
  const getOperators = (fieldName, intl) => {
39
- const field = Object.values(FIELDS_OPTIONS).find(
40
- (fieldOption) => fieldOption.name === fieldName
41
- );
39
+ const field = Object.values(FIELDS_OPTIONS).find((fieldOption) => fieldOption.name === fieldName);
42
40
  switch (field == null ? void 0 : field.dataType) {
43
41
  case DataType.STRING: {
44
42
  let stringOperators = [
@@ -83,10 +81,7 @@ const getOperators = (fieldName, intl) => {
83
81
  case DataType.BOOLEAN: {
84
82
  let booleanOperators = [OPERATOR_OPTIONS.EQUALS];
85
83
  if (field.name === FieldType.AUTOMATE) {
86
- booleanOperators = [
87
- OPERATOR_OPTIONS.EXISTS,
88
- OPERATOR_OPTIONS.NOT_EXISTS
89
- ];
84
+ booleanOperators = [OPERATOR_OPTIONS.EXISTS, OPERATOR_OPTIONS.NOT_EXISTS];
90
85
  }
91
86
  return booleanOperators.map((operator) => ({
92
87
  name: operator.name,
@@ -100,9 +95,7 @@ const getOperators = (fieldName, intl) => {
100
95
  OPERATOR_OPTIONS.IN
101
96
  ];
102
97
  if (field.name === FieldType.SHUNT_COMPENSATOR_TYPE || field.name === FieldType.REGULATION_TYPE || field.name === FieldType.SVAR_REGULATION_MODE) {
103
- enumOperators = enumOperators.filter(
104
- (operator) => operator !== OPERATOR_OPTIONS.IN
105
- );
98
+ enumOperators = enumOperators.filter((operator) => operator !== OPERATOR_OPTIONS.IN);
106
99
  }
107
100
  return enumOperators.map((operator) => ({
108
101
  name: operator.name,
@@ -151,9 +144,7 @@ function exportExpertRules(query) {
151
144
  return {
152
145
  id: rule.id,
153
146
  field: rule.field,
154
- operator: dataType !== DataType.PROPERTY ? (_a = Object.values(OPERATOR_OPTIONS).find(
155
- (operator) => operator.name === rule.operator
156
- )) == null ? void 0 : _a.customName : rule.value.propertyOperator,
147
+ operator: dataType !== DataType.PROPERTY ? (_a = Object.values(OPERATOR_OPTIONS).find((operator) => operator.name === rule.operator)) == null ? void 0 : _a.customName : rule.value.propertyOperator,
157
148
  value: !isValueAnArray && rule.operator !== OPERATOR_OPTIONS.EXISTS.name && rule.operator !== OPERATOR_OPTIONS.NOT_EXISTS.name && dataType !== DataType.PROPERTY ? changeValueUnit(rule.value, rule.field) : void 0,
158
149
  values: isValueAnArray && dataType !== DataType.PROPERTY ? changeValueUnit(rule.value, rule.field) : void 0,
159
150
  dataType,
@@ -178,9 +169,7 @@ function exportExpertRules(query) {
178
169
  dataType: DataType.COMBINATOR,
179
170
  rules: transformedRules,
180
171
  // two additional attributes to distinct a composite rule from a normal rule group
181
- operator: (_a = Object.values(OPERATOR_OPTIONS).find(
182
- (operator) => operator.name === compositeRule.operator
183
- )) == null ? void 0 : _a.customName,
172
+ operator: (_a = Object.values(OPERATOR_OPTIONS).find((operator) => operator.name === compositeRule.operator)) == null ? void 0 : _a.customName,
184
173
  field: compositeRule.field
185
174
  };
186
175
  }
@@ -224,9 +213,7 @@ function importExpertRules(query) {
224
213
  return {
225
214
  id: rule.id,
226
215
  field: rule.field,
227
- operator: rule.dataType !== DataType.PROPERTY ? (_a = Object.values(OPERATOR_OPTIONS).find(
228
- (operator) => operator.customName === rule.operator
229
- )) == null ? void 0 : _a.name : OPERATOR_OPTIONS.IS.name,
216
+ operator: rule.dataType !== DataType.PROPERTY ? (_a = Object.values(OPERATOR_OPTIONS).find((operator) => operator.customName === rule.operator)) == null ? void 0 : _a.name : OPERATOR_OPTIONS.IS.name,
230
217
  value: parseValue(rule)
231
218
  };
232
219
  }
@@ -245,9 +232,7 @@ function importExpertRules(query) {
245
232
  return {
246
233
  id: group.id,
247
234
  field: group.field,
248
- operator: (_a = Object.values(OPERATOR_OPTIONS).find(
249
- (operator) => operator.customName === group.operator
250
- )) == null ? void 0 : _a.name,
235
+ operator: (_a = Object.values(OPERATOR_OPTIONS).find((operator) => operator.customName === group.operator)) == null ? void 0 : _a.name,
251
236
  value: {
252
237
  combinator: group.combinator,
253
238
  rules: transformedRules
@@ -278,10 +263,7 @@ function countRules(query) {
278
263
  }
279
264
  if ("rules" in query) {
280
265
  const group = query;
281
- return group.rules.reduce(
282
- (sum, ruleOrGroup) => sum + countRules(ruleOrGroup),
283
- 0
284
- );
266
+ return group.rules.reduce((sum, ruleOrGroup) => sum + countRules(ruleOrGroup), 0);
285
267
  }
286
268
  return 1;
287
269
  }
@@ -295,7 +277,7 @@ const queryValidator = (query) => {
295
277
  const isValueAnArray = Array.isArray(rule.value);
296
278
  const dataType = getDataType(rule.field, rule.operator);
297
279
  const isNumberInput = dataType === DataType.NUMBER && !isValueAnArray;
298
- const isStringInput = dataType === DataType.STRING && !isValueAnArray;
280
+ const isStringInput = (dataType === DataType.STRING || dataType === DataType.ENUM) && !isValueAnArray;
299
281
  if (rule.id && (rule.operator === OPERATOR_OPTIONS.EXISTS.name || rule.operator === OPERATOR_OPTIONS.NOT_EXISTS.name)) {
300
282
  result[rule.id] = {
301
283
  valid: true,
@@ -344,9 +326,7 @@ const queryValidator = (query) => {
344
326
  reasons: [RULES.EMPTY_RULE]
345
327
  };
346
328
  } else if (rule.id && dataType === DataType.COMBINATOR) {
347
- const childrenFields = Object.keys(
348
- getFieldData(rule.field).children ?? {}
349
- );
329
+ const childrenFields = Object.keys(getFieldData(rule.field).children ?? {});
350
330
  const compositeGroup = rule.value;
351
331
  childrenFields.forEach((field) => {
352
332
  var _a2, _b2, _c2, _d2;
@@ -154,7 +154,9 @@ export declare enum FieldType {
154
154
  CONVERTER_STATION_ID_2 = "CONVERTER_STATION_ID_2",
155
155
  CONVERTER_STATION_NOMINAL_VOLTAGE_1 = "CONVERTER_STATION_NOMINAL_VOLTAGE_1",
156
156
  CONVERTER_STATION_NOMINAL_VOLTAGE_2 = "CONVERTER_STATION_NOMINAL_VOLTAGE_2",
157
- DC_NOMINAL_VOLTAGE = "DC_NOMINAL_VOLTAGE"
157
+ DC_NOMINAL_VOLTAGE = "DC_NOMINAL_VOLTAGE",
158
+ PAIRING_KEY = "PAIRING_KEY",
159
+ TIE_LINE_ID = "TIE_LINE_ID"
158
160
  }
159
161
  export declare enum DataType {
160
162
  STRING = "STRING",
@@ -154,6 +154,8 @@ var FieldType = /* @__PURE__ */ ((FieldType2) => {
154
154
  FieldType2["CONVERTER_STATION_NOMINAL_VOLTAGE_1"] = "CONVERTER_STATION_NOMINAL_VOLTAGE_1";
155
155
  FieldType2["CONVERTER_STATION_NOMINAL_VOLTAGE_2"] = "CONVERTER_STATION_NOMINAL_VOLTAGE_2";
156
156
  FieldType2["DC_NOMINAL_VOLTAGE"] = "DC_NOMINAL_VOLTAGE";
157
+ FieldType2["PAIRING_KEY"] = "PAIRING_KEY";
158
+ FieldType2["TIE_LINE_ID"] = "TIE_LINE_ID";
157
159
  return FieldType2;
158
160
  })(FieldType || {});
159
161
  var DataType = /* @__PURE__ */ ((DataType2) => {
@@ -94,14 +94,7 @@ function ExplicitNamingFilterEditionDialog({
94
94
  });
95
95
  }
96
96
  },
97
- [
98
- broadcastChannel,
99
- id,
100
- selectionForCopy,
101
- onClose,
102
- snackError,
103
- setSelectionForCopy
104
- ]
97
+ [broadcastChannel, id, selectionForCopy, onClose, snackError, setSelectionForCopy]
105
98
  );
106
99
  const isDataReady = dataFetchStatus === FetchStatus.FETCH_SUCCESS;
107
100
  return /* @__PURE__ */ jsx(
@@ -117,13 +110,7 @@ function ExplicitNamingFilterEditionDialog({
117
110
  disabledSave: !!nameError || !!isValidating,
118
111
  isDataFetching: dataFetchStatus === FetchStatus.FETCHING,
119
112
  language,
120
- children: isDataReady && /* @__PURE__ */ jsx(
121
- FilterForm,
122
- {
123
- activeDirectory,
124
- elementExists
125
- }
126
- )
113
+ children: isDataReady && /* @__PURE__ */ jsx(FilterForm, { activeDirectory, elementExists })
127
114
  }
128
115
  );
129
116
  }
@@ -25,5 +25,5 @@ export interface FilterForExplicitConversionProps {
25
25
  interface ExplicitNamingFilterFormProps {
26
26
  sourceFilterForExplicitNamingConversion?: FilterForExplicitConversionProps;
27
27
  }
28
- declare function ExplicitNamingFilterForm({ sourceFilterForExplicitNamingConversion, }: ExplicitNamingFilterFormProps): import("react/jsx-runtime").JSX.Element;
28
+ declare function ExplicitNamingFilterForm({ sourceFilterForExplicitNamingConversion }: ExplicitNamingFilterFormProps): import("react/jsx-runtime").JSX.Element;
29
29
  export default ExplicitNamingFilterForm;
@@ -29,31 +29,15 @@ const explicitNamingFilterSchema = {
29
29
  [FieldConstants.EQUIPMENT_ID]: yup.string().nullable(),
30
30
  [DISTRIBUTION_KEY]: yup.number().nullable()
31
31
  })
32
- ).compact(
33
- (row) => !row[DISTRIBUTION_KEY] && !row[FieldConstants.EQUIPMENT_ID]
34
- ).when([FieldConstants.FILTER_TYPE], {
32
+ ).compact((row) => !row[DISTRIBUTION_KEY] && !row[FieldConstants.EQUIPMENT_ID]).when([FieldConstants.FILTER_TYPE], {
35
33
  is: FilterType.EXPLICIT_NAMING.id,
36
34
  then: (schema) => schema.min(1, "emptyFilterError").when([FieldConstants.EQUIPMENT_TYPE], {
37
35
  is: (equipmentType) => isGeneratorOrLoad(equipmentType),
38
- then: (innerSchema) => innerSchema.test(
39
- "noKeyWithoutId",
40
- "distributionKeyWithMissingIdError",
41
- (array) => {
42
- return !array.some(
43
- (row) => !row[FieldConstants.EQUIPMENT_ID]
44
- );
45
- }
46
- ).test(
47
- "ifOneKeyThenKeyEverywhere",
48
- "missingDistributionKeyError",
49
- (array) => {
50
- return !(array.some(
51
- (row) => row[DISTRIBUTION_KEY]
52
- ) && array.some(
53
- (row) => !row[DISTRIBUTION_KEY]
54
- ));
55
- }
56
- )
36
+ then: (innerSchema) => innerSchema.test("noKeyWithoutId", "distributionKeyWithMissingIdError", (array) => {
37
+ return !array.some((row) => !row[FieldConstants.EQUIPMENT_ID]);
38
+ }).test("ifOneKeyThenKeyEverywhere", "missingDistributionKeyError", (array) => {
39
+ return !(array.some((row) => row[DISTRIBUTION_KEY]) && array.some((row) => !row[DISTRIBUTION_KEY]));
40
+ })
57
41
  })
58
42
  })
59
43
  };
@@ -72,9 +56,7 @@ function getExplicitNamingFilterEmptyFormData() {
72
56
  [FILTER_EQUIPMENTS_ATTRIBUTES]: makeDefaultTableRows()
73
57
  };
74
58
  }
75
- function ExplicitNamingFilterForm({
76
- sourceFilterForExplicitNamingConversion
77
- }) {
59
+ function ExplicitNamingFilterForm({ sourceFilterForExplicitNamingConversion }) {
78
60
  const intl = useIntl();
79
61
  const { snackError } = useSnackMessage();
80
62
  const { getValues, setValue } = useFormContext();
@@ -91,10 +73,7 @@ function ExplicitNamingFilterForm({
91
73
  const forGeneratorOrLoad = isGeneratorOrLoad(watchEquipmentType);
92
74
  useEffect(() => {
93
75
  if (sourceFilterForExplicitNamingConversion) {
94
- setValue(
95
- FieldConstants.EQUIPMENT_TYPE,
96
- sourceFilterForExplicitNamingConversion.equipmentType
97
- );
76
+ setValue(FieldConstants.EQUIPMENT_TYPE, sourceFilterForExplicitNamingConversion.equipmentType);
98
77
  }
99
78
  }, [sourceFilterForExplicitNamingConversion, setValue]);
100
79
  const columnDefs = useMemo(() => {
@@ -132,13 +111,9 @@ function ExplicitNamingFilterForm({
132
111
  []
133
112
  );
134
113
  const csvFileHeaders = useMemo(() => {
135
- const newCsvFileHeaders = [
136
- intl.formatMessage({ id: FieldConstants.EQUIPMENT_ID })
137
- ];
114
+ const newCsvFileHeaders = [intl.formatMessage({ id: FieldConstants.EQUIPMENT_ID })];
138
115
  if (forGeneratorOrLoad) {
139
- newCsvFileHeaders.push(
140
- intl.formatMessage({ id: DISTRIBUTION_KEY })
141
- );
116
+ newCsvFileHeaders.push(intl.formatMessage({ id: DISTRIBUTION_KEY }));
142
117
  }
143
118
  return newCsvFileHeaders;
144
119
  }, [intl, forGeneratorOrLoad]);
@@ -69,16 +69,11 @@ function FilterCreationDialog({
69
69
  activeDirectory
70
70
  );
71
71
  } else if (filterForm[FieldConstants.FILTER_TYPE] === FilterType.CRITERIA_BASED.id) {
72
- saveCriteriaBasedFilter(
73
- filterForm,
74
- activeDirectory,
75
- onClose,
76
- (error) => {
77
- snackError({
78
- messageTxt: error
79
- });
80
- }
81
- );
72
+ saveCriteriaBasedFilter(filterForm, activeDirectory, onClose, (error) => {
73
+ snackError({
74
+ messageTxt: error
75
+ });
76
+ });
82
77
  } else if (filterForm[FieldConstants.FILTER_TYPE] === FilterType.EXPERT.id) {
83
78
  saveExpertFilter(
84
79
  null,
@@ -13,12 +13,7 @@ import { ElementType } from "../../utils/ElementType.js";
13
13
  import ExpandingTextField from "../inputs/react-hook-form/ExpandingTextField.js";
14
14
  import UniqueNameInput from "../inputs/react-hook-form/unique-name-input.js";
15
15
  function FilterForm(props) {
16
- const {
17
- sourceFilterForExplicitNamingConversion,
18
- creation,
19
- activeDirectory,
20
- elementExists
21
- } = props;
16
+ const { sourceFilterForExplicitNamingConversion, creation, activeDirectory, elementExists } = props;
22
17
  const { setValue } = useFormContext();
23
18
  const filterType = useWatch({ name: FieldConstants.FILTER_TYPE });
24
19
  const handleChange = (_event, value) => {
@@ -52,13 +52,7 @@ const saveExplicitNamingFilter = (tableValues, isFilterCreation, equipmentType,
52
52
  };
53
53
  const saveCriteriaBasedFilter = (filter, activeDirectory, onClose, onError, token) => {
54
54
  const filterForBack = frontToBackTweak(void 0, filter);
55
- createFilter(
56
- filterForBack,
57
- filter[FieldConstants.NAME],
58
- filter[FieldConstants.DESCRIPTION],
59
- activeDirectory,
60
- token
61
- ).then(() => {
55
+ createFilter(filterForBack, filter[FieldConstants.NAME], filter[FieldConstants.DESCRIPTION], activeDirectory, token).then(() => {
62
56
  onClose();
63
57
  }).catch((error) => {
64
58
  onError(error.message);
@@ -56,15 +56,7 @@ function ExpandingTextField({
56
56
  ...sx && { sx },
57
57
  ...textFieldFormProps
58
58
  };
59
- return /* @__PURE__ */ jsx(
60
- TextInput,
61
- {
62
- name,
63
- label,
64
- formProps,
65
- ...otherTexFieldProps
66
- }
67
- );
59
+ return /* @__PURE__ */ jsx(TextInput, { name, label, formProps, ...otherTexFieldProps });
68
60
  }
69
61
  export {
70
62
  ExpandingTextField as default
@@ -31,60 +31,22 @@ function BottomRightButtons({
31
31
  const intl = useIntl();
32
32
  return /* @__PURE__ */ jsxs(Fragment, { children: [
33
33
  /* @__PURE__ */ jsxs(Grid, { container: true, paddingTop: 1, paddingLeft: 2, children: [
34
- /* @__PURE__ */ jsx(Grid, { item: true, xs: 1, children: csvProps && /* @__PURE__ */ jsx(
35
- InnerColoredButton,
34
+ /* @__PURE__ */ jsx(Grid, { item: true, xs: 1, children: csvProps && /* @__PURE__ */ jsx(InnerColoredButton, { onClick: () => setUploaderOpen(true), children: /* @__PURE__ */ jsx(
35
+ Tooltip,
36
36
  {
37
- onClick: () => setUploaderOpen(true),
38
- children: /* @__PURE__ */ jsx(
39
- Tooltip,
40
- {
41
- title: intl.formatMessage({
42
- id: "ImportCSV"
43
- }),
44
- placement: "bottom",
45
- children: /* @__PURE__ */ jsx(Upload, {})
46
- }
47
- )
37
+ title: intl.formatMessage({
38
+ id: "ImportCSV"
39
+ }),
40
+ placement: "bottom",
41
+ children: /* @__PURE__ */ jsx(Upload, {})
48
42
  }
49
- ) }),
50
- /* @__PURE__ */ jsxs(
51
- Grid,
52
- {
53
- item: true,
54
- xs: 11,
55
- sx: { display: "flex", justifyContent: "right" },
56
- children: [
57
- /* @__PURE__ */ jsx(InnerColoredButton, { onClick: handleAddRow, children: /* @__PURE__ */ jsx(AddIcon, {}) }, "addButton"),
58
- /* @__PURE__ */ jsx(
59
- InnerColoredButton,
60
- {
61
- onClick: handleDeleteRows,
62
- disabled: disableDelete,
63
- children: /* @__PURE__ */ jsx(DeleteIcon, {})
64
- },
65
- "DeleteButton"
66
- ),
67
- /* @__PURE__ */ jsx(
68
- InnerColoredButton,
69
- {
70
- disabled: disableUp,
71
- onClick: handleMoveRowUp,
72
- children: /* @__PURE__ */ jsx(ArrowCircleUp, {})
73
- },
74
- "upButton"
75
- ),
76
- /* @__PURE__ */ jsx(
77
- InnerColoredButton,
78
- {
79
- disabled: disableDown,
80
- onClick: handleMoveRowDown,
81
- children: /* @__PURE__ */ jsx(ArrowCircleDown, {})
82
- },
83
- "downButton"
84
- )
85
- ]
86
- }
87
- )
43
+ ) }) }),
44
+ /* @__PURE__ */ jsxs(Grid, { item: true, xs: 11, sx: { display: "flex", justifyContent: "right" }, children: [
45
+ /* @__PURE__ */ jsx(InnerColoredButton, { onClick: handleAddRow, children: /* @__PURE__ */ jsx(AddIcon, {}) }, "addButton"),
46
+ /* @__PURE__ */ jsx(InnerColoredButton, { onClick: handleDeleteRows, disabled: disableDelete, children: /* @__PURE__ */ jsx(DeleteIcon, {}) }, "DeleteButton"),
47
+ /* @__PURE__ */ jsx(InnerColoredButton, { disabled: disableUp, onClick: handleMoveRowUp, children: /* @__PURE__ */ jsx(ArrowCircleUp, {}) }, "upButton"),
48
+ /* @__PURE__ */ jsx(InnerColoredButton, { disabled: disableDown, onClick: handleMoveRowDown, children: /* @__PURE__ */ jsx(ArrowCircleDown, {}) }, "downButton")
49
+ ] })
88
50
  ] }),
89
51
  /* @__PURE__ */ jsx(Grid, { item: true, xs: 12, children: /* @__PURE__ */ jsx(ErrorInput, { name, InputField: FieldErrorAlert }) }),
90
52
  /* @__PURE__ */ jsx(
@@ -52,9 +52,7 @@ function CsvUploader({
52
52
  }
53
53
  for (let i = 0; i < fileHeaders.length; i++) {
54
54
  if (fileHeaders[i] !== "" && rows[0][i] !== fileHeaders[i]) {
55
- setCreateError(
56
- intl.formatMessage({ id: "wrongCsvHeadersError" })
57
- );
55
+ setCreateError(intl.formatMessage({ id: "wrongCsvHeadersError" }));
58
56
  return false;
59
57
  }
60
58
  }
@@ -87,11 +85,7 @@ function CsvUploader({
87
85
  };
88
86
  const handleOpenCSVConfirmationDataDialog = () => {
89
87
  const isValuesInTable = Array.isArray(watchTableValues) && watchTableValues.some(
90
- (val) => val && Object.keys(val).filter(
91
- (key) => key !== FieldConstants.AG_GRID_ROW_UUID
92
- ).some(
93
- (e) => val[e] !== void 0 && val[e] !== null && String(val[e]).trim().length > 0
94
- )
88
+ (val) => val && Object.keys(val).filter((key) => key !== FieldConstants.AG_GRID_ROW_UUID).some((e) => val[e] !== void 0 && val[e] !== null && String(val[e]).trim().length > 0)
95
89
  );
96
90
  if (isValuesInTable && getResultsFromImportedData().length > 0) {
97
91
  setIsConfirmationPopupOpen(true);
@@ -112,51 +106,22 @@ function CsvUploader({
112
106
  setIsConfirmationPopupOpen(false);
113
107
  };
114
108
  const renderConfirmationCsvData = () => {
115
- return /* @__PURE__ */ jsxs(
116
- Dialog,
117
- {
118
- open: isConfirmationPopupOpen,
119
- "aria-labelledby": "dialog-confirmation-csv-data",
120
- children: [
121
- /* @__PURE__ */ jsx(DialogTitle, { id: "dialog-confirmation-csv-data", children: "Confirmation" }),
122
- /* @__PURE__ */ jsx(DialogContent, { children: /* @__PURE__ */ jsx(DialogContentText, { children: intl.formatMessage({ id: "keepCSVDataMessage" }) }) }),
123
- /* @__PURE__ */ jsxs(DialogActions, { children: [
124
- /* @__PURE__ */ jsx(CancelButton, { onClick: handleCancelDialog }),
125
- /* @__PURE__ */ jsx(
126
- Button,
127
- {
128
- onClick: () => handleReplacePopupConfirmation(),
129
- variant: "outlined",
130
- children: /* @__PURE__ */ jsx(FormattedMessage, { id: "replace" })
131
- }
132
- ),
133
- /* @__PURE__ */ jsx(
134
- Button,
135
- {
136
- onClick: () => handleAddPopupConfirmation(),
137
- variant: "outlined",
138
- children: /* @__PURE__ */ jsx(FormattedMessage, { id: "add" })
139
- }
140
- )
141
- ] })
142
- ]
143
- }
144
- );
109
+ return /* @__PURE__ */ jsxs(Dialog, { open: isConfirmationPopupOpen, "aria-labelledby": "dialog-confirmation-csv-data", children: [
110
+ /* @__PURE__ */ jsx(DialogTitle, { id: "dialog-confirmation-csv-data", children: "Confirmation" }),
111
+ /* @__PURE__ */ jsx(DialogContent, { children: /* @__PURE__ */ jsx(DialogContentText, { children: intl.formatMessage({ id: "keepCSVDataMessage" }) }) }),
112
+ /* @__PURE__ */ jsxs(DialogActions, { children: [
113
+ /* @__PURE__ */ jsx(CancelButton, { onClick: handleCancelDialog }),
114
+ /* @__PURE__ */ jsx(Button, { onClick: () => handleReplacePopupConfirmation(), variant: "outlined", children: /* @__PURE__ */ jsx(FormattedMessage, { id: "replace" }) }),
115
+ /* @__PURE__ */ jsx(Button, { onClick: () => handleAddPopupConfirmation(), variant: "outlined", children: /* @__PURE__ */ jsx(FormattedMessage, { id: "add" }) })
116
+ ] })
117
+ ] });
145
118
  };
146
119
  return /* @__PURE__ */ jsxs(Fragment, { children: [
147
120
  /* @__PURE__ */ jsxs(Dialog, { open, onClose: handleClose, fullWidth: true, children: [
148
121
  /* @__PURE__ */ jsx(DialogTitle, { children: title }),
149
122
  /* @__PURE__ */ jsx(DialogContent, { children: /* @__PURE__ */ jsxs("div", { children: [
150
123
  /* @__PURE__ */ jsxs(Grid, { container: true, spacing: 2, children: [
151
- /* @__PURE__ */ jsx(Grid, { container: true, item: true, children: /* @__PURE__ */ jsx(Grid, { item: true, xs: 6, children: /* @__PURE__ */ jsx(
152
- CsvDownloader,
153
- {
154
- datas: data,
155
- filename: fileName,
156
- separator: ",",
157
- children: /* @__PURE__ */ jsx(Button, { variant: "contained", children: /* @__PURE__ */ jsx(FormattedMessage, { id: "GenerateCSV" }) })
158
- }
159
- ) }) }),
124
+ /* @__PURE__ */ jsx(Grid, { container: true, item: true, children: /* @__PURE__ */ jsx(Grid, { item: true, xs: 6, children: /* @__PURE__ */ jsx(CsvDownloader, { datas: data, filename: fileName, separator: ",", children: /* @__PURE__ */ jsx(Button, { variant: "contained", children: /* @__PURE__ */ jsx(FormattedMessage, { id: "GenerateCSV" }) }) }) }) }),
160
125
  /* @__PURE__ */ jsx(Grid, { container: true, item: true, spacing: 3, children: /* @__PURE__ */ jsx(
161
126
  CSVReader,
162
127
  {
@@ -166,23 +131,10 @@ function CsvUploader({
166
131
  },
167
132
  config: {
168
133
  // We use | for multi values in one cell, then we remove it from the default value for this config, to avoid delimiter autodetection
169
- delimitersToGuess: [
170
- ",",
171
- " ",
172
- ";",
173
- RECORD_SEP,
174
- UNIT_SEP
175
- ]
134
+ delimitersToGuess: [",", " ", ";", RECORD_SEP, UNIT_SEP]
176
135
  },
177
136
  children: ({ getRootProps, acceptedFile }) => /* @__PURE__ */ jsxs(Grid, { item: true, children: [
178
- /* @__PURE__ */ jsx(
179
- Button,
180
- {
181
- ...getRootProps(),
182
- variant: "contained",
183
- children: /* @__PURE__ */ jsx(FormattedMessage, { id: "UploadCSV" })
184
- }
185
- ),
137
+ /* @__PURE__ */ jsx(Button, { ...getRootProps(), variant: "contained", children: /* @__PURE__ */ jsx(FormattedMessage, { id: "UploadCSV" }) }),
186
138
  /* @__PURE__ */ jsx(
187
139
  "span",
188
140
  {