@gridsuite/commons-ui 0.265.0 → 0.267.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 (223) hide show
  1. package/dist/components/composite/dnd-table/dnd-table-add-rows-dialog.js +1 -1
  2. package/dist/components/composite/dnd-table/dnd-table-row.js +1 -1
  3. package/dist/components/composite/dnd-table/dnd-table.js +1 -1
  4. package/dist/components/composite/filter/FilterForm.js +1 -1
  5. package/dist/components/composite/filter/HeaderFilterForm.js +1 -1
  6. package/dist/components/composite/filter/expert/ExpertFilterForm.js +1 -1
  7. package/dist/components/composite/filter/explicitNaming/ExplicitNamingFilterForm.js +1 -1
  8. package/dist/components/composite/report/report-viewer/log-table/log-table.js +1 -1
  9. package/dist/components/ui/csvPicker/csv-picker-confirmation-dialog.js +1 -1
  10. package/dist/components/ui/dialogs/elementSaveDialog/ElementSaveDialog.js +1 -1
  11. package/dist/components/ui/dialogs/name-element-editor/name-element-editor-utils.js +1 -1
  12. package/dist/components/ui/icons/DatasetLinkedIcon.d.ts +2 -0
  13. package/dist/components/ui/icons/DatasetLinkedIcon.js +9 -0
  14. package/dist/components/ui/icons/EditNoteIcon.js +1 -1
  15. package/dist/components/ui/inputs/checkbox-autocomplete/checkbox-autocomplete.js +2 -1
  16. package/dist/components/ui/reactHookForm/CheckboxNullableInput.js +4 -2
  17. package/dist/components/ui/reactHookForm/autocompleteInputs/MultipleAutocompleteInput.js +3 -2
  18. package/dist/components/ui/reactHookForm/booleans/BooleanInput.d.ts +1 -1
  19. package/dist/components/ui/reactHookForm/booleans/BooleanInput.js +4 -6
  20. package/dist/components/ui/reactHookForm/tableInputs/table-numerical-input.js +4 -2
  21. package/dist/components/ui/reactHookForm/tableInputs/table-text-input.d.ts +1 -1
  22. package/dist/components/ui/reactHookForm/tableInputs/table-text-input.js +2 -3
  23. package/dist/components/ui/reactHookForm/text/ExpandingTextField.js +15 -13
  24. package/dist/components/ui/reactHookForm/text/TextInput.js +4 -2
  25. package/dist/components/ui/reactHookForm/text/UniqueNameInput.js +4 -2
  26. package/dist/components/ui/reactHookForm/utils/TextFieldWithAdornment.js +2 -1
  27. package/dist/features/global-filter/ui/global-filter-dropdown-panel.js +1 -1
  28. package/dist/features/global-filter/ui/global-filter-panel.js +1 -1
  29. package/dist/features/global-filter/ui/selected-global-filters.js +1 -1
  30. package/dist/features/index.js +13 -4
  31. package/dist/features/network-modification-table/columns-definition.d.ts +4 -0
  32. package/dist/features/network-modification-table/columns-definition.js +4 -0
  33. package/dist/features/network-modification-table/index.js +5 -3
  34. package/dist/features/network-modification-table/network-modification-table-styles.js +2 -2
  35. package/dist/features/network-modification-table/network-modifications-table.d.ts +1 -1
  36. package/dist/features/network-modification-table/network-modifications-table.js +15 -12
  37. package/dist/features/network-modification-table/renderers/cell-renderers.d.ts +1 -0
  38. package/dist/features/network-modification-table/renderers/cell-renderers.js +10 -0
  39. package/dist/features/network-modification-table/renderers/index.js +2 -1
  40. package/dist/features/network-modification-table/renderers/name-cell.js +3 -3
  41. package/dist/features/network-modification-table/renderers/reference-link-cell.d.ts +7 -0
  42. package/dist/features/network-modification-table/renderers/reference-link-cell.js +128 -0
  43. package/dist/features/network-modification-table/renderers/root-network-chip-cell.js +3 -1
  44. package/dist/features/network-modification-table/row/modification-row.js +76 -68
  45. package/dist/features/network-modification-table/use-modifications-drag-and-drop.js +40 -22
  46. package/dist/features/network-modification-table/use-modifications-selection.js +14 -14
  47. package/dist/features/network-modification-table/utils.d.ts +20 -12
  48. package/dist/features/network-modification-table/utils.js +102 -48
  49. package/dist/features/network-modifications/battery/creation/BatteryCreationForm.js +1 -1
  50. package/dist/features/network-modifications/battery/creation/batteryCreation.utils.js +1 -1
  51. package/dist/features/network-modifications/battery/modification/BatteryDialogHeader.js +1 -1
  52. package/dist/features/network-modifications/battery/modification/BatteryDialogTabsContent.js +1 -1
  53. package/dist/features/network-modifications/battery/modification/batteryModification.utils.js +1 -1
  54. package/dist/features/network-modifications/by-filter/assignment/assignment/assignment-form.js +1 -1
  55. package/dist/features/network-modifications/by-filter/assignment/modification-by-assignment-form.js +1 -1
  56. package/dist/features/network-modifications/by-filter/deletion/ByFilterDeletionForm.js +1 -1
  57. package/dist/features/network-modifications/by-filter/formula/formula/formula-form.js +1 -1
  58. package/dist/features/network-modifications/by-filter/formula/formula/reference-autocomplete-input.js +1 -1
  59. package/dist/features/network-modifications/by-filter/formula/modification-by-formula-form.js +1 -1
  60. package/dist/features/network-modifications/common/activePowerControl/ActivePowerControlForm.js +1 -1
  61. package/dist/features/network-modifications/common/connectivity/ConnectivityForm.js +1 -1
  62. package/dist/features/network-modifications/common/connectivity/PositionForm.js +1 -1
  63. package/dist/features/network-modifications/common/connectivity/VoltageLevelConnectivityForm.js +1 -1
  64. package/dist/features/network-modifications/common/connectivity/connectivity.type.d.ts +1 -1
  65. package/dist/features/network-modifications/common/currentLimits/LimitsPane.js +1 -1
  66. package/dist/features/network-modifications/common/currentLimits/SelectedOperationalLimitGroup.js +1 -1
  67. package/dist/features/network-modifications/common/currentLimits/limitsEditor/LimitsEditor.js +1 -1
  68. package/dist/features/network-modifications/common/currentLimits/limitsEditor/LimitsPropertiesSideStack.js +1 -1
  69. package/dist/features/network-modifications/common/currentLimits/limitsEditor/TemporaryLimitsTable.js +1 -1
  70. package/dist/features/network-modifications/common/currentLimits/limitsPane.utils.js +1 -1
  71. package/dist/features/network-modifications/common/measurements/BusbarSectionVoltageMeasurementsForm.js +1 -1
  72. package/dist/features/network-modifications/common/measurements/PowerWithValidityForm.js +1 -1
  73. package/dist/features/network-modifications/common/properties/PropertiesForm.js +1 -1
  74. package/dist/features/network-modifications/common/properties/PropertyForm.js +1 -1
  75. package/dist/features/network-modifications/common/reactiveLimits/ReactiveLimitsForm.js +1 -1
  76. package/dist/features/network-modifications/common/reactiveLimits/reactiveCapabilityCurve/ReactiveCapabilityCurveRowForm.js +1 -1
  77. package/dist/features/network-modifications/common/reactiveLimits/reactiveCapabilityCurve/ReactiveCapabilityCurveTableForm.js +1 -1
  78. package/dist/features/network-modifications/common/regulatingTerminal/RegulatingTerminalForm.js +1 -1
  79. package/dist/features/network-modifications/common/setpoints/SetPointsForm.js +1 -1
  80. package/dist/features/network-modifications/common/shortCircuit/ShortCircuitForm.js +1 -1
  81. package/dist/features/network-modifications/common/voltageRegulation/VoltageRegulationForm.js +1 -1
  82. package/dist/features/network-modifications/equipmentDeletion/EquipmentDeletionForm.js +1 -1
  83. package/dist/features/network-modifications/equipmentDeletion/equipmentDeletion.utils.js +1 -1
  84. package/dist/features/network-modifications/equipmentDeletion/hvdcLccDeletion/ShuntCompensatorSelectionForm.js +1 -1
  85. package/dist/features/network-modifications/generator/creation/GeneratorCreationForm.js +1 -1
  86. package/dist/features/network-modifications/generator/creation/generatorCreation.utils.js +1 -1
  87. package/dist/features/network-modifications/generator/modification/GeneratorDialogHeader.js +1 -1
  88. package/dist/features/network-modifications/generator/modification/GeneratorDialogTabsContent.js +1 -1
  89. package/dist/features/network-modifications/generator/modification/generatorModification.utils.js +1 -1
  90. package/dist/features/network-modifications/index.js +8 -1
  91. package/dist/features/network-modifications/line/characteristics/LineCharacteristicsPane.js +1 -1
  92. package/dist/features/network-modifications/line/common/LineDialogHeader.js +1 -1
  93. package/dist/features/network-modifications/line/common/LineDialogTabsContent.js +1 -1
  94. package/dist/features/network-modifications/line/creation/lineCreation.utils.js +1 -1
  95. package/dist/features/network-modifications/line/modification/lineModification.utils.js +1 -1
  96. package/dist/features/network-modifications/load/common/LoadDialogHeader.js +1 -1
  97. package/dist/features/network-modifications/load/creation/loadCreation.utils.js +1 -1
  98. package/dist/features/network-modifications/load/modification/loadModification.utils.js +1 -1
  99. package/dist/features/network-modifications/shunt-compensator/common/CharacteristicsForm.js +1 -1
  100. package/dist/features/network-modifications/shunt-compensator/creation/ShuntCompensatorCreationForm.js +1 -1
  101. package/dist/features/network-modifications/shunt-compensator/creation/shuntCompensatorCreation.utils.js +1 -1
  102. package/dist/features/network-modifications/shunt-compensator/modification/ShuntCompensatorModificationForm.js +1 -1
  103. package/dist/features/network-modifications/shunt-compensator/modification/shuntCompensatorModification.utils.js +1 -1
  104. package/dist/features/network-modifications/substation/creation/SubstationCreationForm.js +1 -1
  105. package/dist/features/network-modifications/substation/modification/SubstationModificationForm.js +1 -1
  106. package/dist/features/network-modifications/voltageLevel/creation/VoltageLevelCreationForm.js +1 -1
  107. package/dist/features/network-modifications/voltageLevel/creation/index.js +1 -1
  108. package/dist/features/network-modifications/voltageLevel/creation/tabs/characteristicsTab/CharacteristicsTab.js +1 -1
  109. package/dist/features/network-modifications/voltageLevel/creation/tabs/structureTab/StructureTab.js +1 -1
  110. package/dist/features/network-modifications/voltageLevel/creation/tabs/structureTab/couplingOmnibus/CouplingOmnibusForm.js +1 -1
  111. package/dist/features/network-modifications/voltageLevel/creation/tabs/structureTab/switchesBetweenSections/SwitchesBetweenSections.js +1 -1
  112. package/dist/features/network-modifications/voltageLevel/creation/tabs/substationTab/SubstationCreationSection.js +1 -1
  113. package/dist/features/network-modifications/voltageLevel/creation/tabs/substationTab/SubstationTab.js +1 -1
  114. package/dist/features/network-modifications/voltageLevel/creation/voltageLevelCreation.utils.js +1 -1
  115. package/dist/features/network-modifications/voltageLevel/index.d.ts +1 -0
  116. package/dist/features/network-modifications/voltageLevel/index.js +8 -1
  117. package/dist/features/network-modifications/voltageLevel/modification/VoltageLevelModificationForm.js +1 -1
  118. package/dist/features/network-modifications/voltageLevel/topology/CreateVoltageLevelTopologyForm.d.ts +6 -0
  119. package/dist/features/network-modifications/voltageLevel/topology/CreateVoltageLevelTopologyForm.js +135 -0
  120. package/dist/features/network-modifications/voltageLevel/topology/index.d.ts +9 -0
  121. package/dist/features/network-modifications/voltageLevel/topology/index.js +9 -0
  122. package/dist/features/network-modifications/voltageLevel/topology/voltageLevelTopologyCreation.types.d.ts +8 -0
  123. package/dist/features/network-modifications/voltageLevel/topology/voltageLevelTopologyCreation.types.js +1 -0
  124. package/dist/features/network-modifications/voltageLevel/topology/voltageLevelTopologyCreation.utils.d.ts +25 -0
  125. package/dist/features/network-modifications/voltageLevel/topology/voltageLevelTopologyCreation.utils.js +48 -0
  126. package/dist/features/parameters/common/contingency-table/columns-definitions.js +1 -1
  127. package/dist/features/parameters/common/limitreductions/limit-reduction-table-cell.js +1 -1
  128. package/dist/features/parameters/common/limitreductions/limit-reductions-table-form.js +1 -1
  129. package/dist/features/parameters/common/parameter-field.js +1 -1
  130. package/dist/features/parameters/common/parameter-layout/parameter-layout.js +1 -1
  131. package/dist/features/parameters/common/parameter-table-field/parameter-table-field.js +1 -1
  132. package/dist/features/parameters/common/parameters-creation-dialog.js +1 -1
  133. package/dist/features/parameters/common/provider-param.js +1 -1
  134. package/dist/features/parameters/common/voltage-level-table/custom-voltage-level-table-cell.js +1 -1
  135. package/dist/features/parameters/common/widget/parameter-float.js +1 -1
  136. package/dist/features/parameters/common/widget/parameter-line-directory-items-input.js +1 -1
  137. package/dist/features/parameters/common/widget/parameter-line-slider.js +1 -1
  138. package/dist/features/parameters/dynamic-margin-calculation/dynamic-margin-calculation-form.js +1 -1
  139. package/dist/features/parameters/dynamic-margin-calculation/dynamic-margin-calculation-inline.js +1 -1
  140. package/dist/features/parameters/dynamic-margin-calculation/loads-variations-parameters.js +1 -1
  141. package/dist/features/parameters/dynamic-margin-calculation/use-dynamic-margin-calculation-parameters-form.js +1 -1
  142. package/dist/features/parameters/dynamic-security-analysis/contingency-parameters.js +1 -1
  143. package/dist/features/parameters/dynamic-security-analysis/dynamic-security-analysis-inline.js +1 -1
  144. package/dist/features/parameters/dynamic-security-analysis/dynamic-security-analysis-parameters-form.js +1 -1
  145. package/dist/features/parameters/dynamic-security-analysis/use-dynamic-security-analysis-parameters-form.js +1 -1
  146. package/dist/features/parameters/dynamic-simulation/dynamic-simulation-inline.js +1 -1
  147. package/dist/features/parameters/dynamic-simulation/dynamic-simulation-parameters-form.js +1 -1
  148. package/dist/features/parameters/dynamic-simulation/mapping/mapping-parameters-utils.js +1 -1
  149. package/dist/features/parameters/dynamic-simulation/mapping/mapping-parameters.js +1 -1
  150. package/dist/features/parameters/dynamic-simulation/use-dynamic-simulation-parameters-form.js +1 -1
  151. package/dist/features/parameters/loadflow/load-flow-advanced-parameters.js +1 -1
  152. package/dist/features/parameters/loadflow/load-flow-general-parameters.js +1 -1
  153. package/dist/features/parameters/loadflow/load-flow-parameters-content.js +1 -1
  154. package/dist/features/parameters/loadflow/load-flow-parameters-dialog.js +1 -1
  155. package/dist/features/parameters/loadflow/load-flow-parameters-header.js +1 -1
  156. package/dist/features/parameters/loadflow/load-flow-parameters-inline.js +1 -1
  157. package/dist/features/parameters/loadflow/load-flow-parameters-utils.js +1 -1
  158. package/dist/features/parameters/loadflow/load-flow-provider-specific-parameters.js +1 -1
  159. package/dist/features/parameters/loadflow/use-load-flow-parameters-form.js +1 -1
  160. package/dist/features/parameters/network-visualizations/map-parameters.js +1 -1
  161. package/dist/features/parameters/network-visualizations/network-area-diagram-parameters.js +1 -1
  162. package/dist/features/parameters/network-visualizations/network-visualizations-form.js +1 -1
  163. package/dist/features/parameters/network-visualizations/network-visualizations-parameters-dialog.js +1 -1
  164. package/dist/features/parameters/network-visualizations/network-visualizations-parameters-inline.js +1 -1
  165. package/dist/features/parameters/network-visualizations/single-line-diagram-parameters.js +1 -1
  166. package/dist/features/parameters/network-visualizations/use-network-visualizations-parameters-form.js +1 -1
  167. package/dist/features/parameters/pcc-min/pcc-min-form-utils.js +1 -1
  168. package/dist/features/parameters/pcc-min/pcc-min-parameters-dialog.js +1 -1
  169. package/dist/features/parameters/pcc-min/pcc-min-parameters-inline.js +1 -1
  170. package/dist/features/parameters/pcc-min/use-pcc-min-parameters-form.js +1 -1
  171. package/dist/features/parameters/security-analysis/columns-definitions.js +1 -1
  172. package/dist/features/parameters/security-analysis/security-analysis-parameters-content.js +1 -1
  173. package/dist/features/parameters/security-analysis/security-analysis-parameters-dialog.js +1 -1
  174. package/dist/features/parameters/security-analysis/security-analysis-parameters-form.js +1 -1
  175. package/dist/features/parameters/security-analysis/security-analysis-parameters-inline.js +1 -1
  176. package/dist/features/parameters/security-analysis/security-analysis-parameters-utils.js +1 -1
  177. package/dist/features/parameters/security-analysis/security-analysis-violations-hiding.js +1 -1
  178. package/dist/features/parameters/security-analysis/use-security-analysis-parameters-form.js +1 -1
  179. package/dist/features/parameters/sensi/columns-definitions.js +1 -1
  180. package/dist/features/parameters/sensi/sensitivity-analysis-parameters-dialog.js +1 -1
  181. package/dist/features/parameters/sensi/sensitivity-analysis-parameters-form.js +1 -1
  182. package/dist/features/parameters/sensi/sensitivity-analysis-parameters-inline.js +1 -1
  183. package/dist/features/parameters/sensi/sensitivity-parameters-fields.js +1 -1
  184. package/dist/features/parameters/sensi/sensitivity-parameters-selector.js +1 -1
  185. package/dist/features/parameters/sensi/use-sensitivity-analysis-parameters.js +1 -1
  186. package/dist/features/parameters/sensi/utils.js +1 -1
  187. package/dist/features/parameters/short-circuit/short-circuit-general-tab-panel.js +1 -1
  188. package/dist/features/parameters/short-circuit/short-circuit-icc-cluster-table-cell.js +1 -1
  189. package/dist/features/parameters/short-circuit/short-circuit-icc-material-table-cell.js +1 -1
  190. package/dist/features/parameters/short-circuit/short-circuit-parameters-content.js +1 -1
  191. package/dist/features/parameters/short-circuit/short-circuit-parameters-dialog.js +1 -1
  192. package/dist/features/parameters/short-circuit/short-circuit-parameters-inline.js +1 -1
  193. package/dist/features/parameters/short-circuit/short-circuit-parameters-utils.js +1 -1
  194. package/dist/features/parameters/short-circuit/short-circuit-power-electronics-tab-panel.js +1 -1
  195. package/dist/features/parameters/short-circuit/short-circuit-study-area-tab-panel.js +1 -1
  196. package/dist/features/parameters/short-circuit/use-short-circuit-parameters-form.js +1 -1
  197. package/dist/features/parameters/voltage-init/equipment-selection-parameters.js +1 -1
  198. package/dist/features/parameters/voltage-init/general-parameters.js +1 -1
  199. package/dist/features/parameters/voltage-init/use-voltage-init-parameters-form.js +1 -1
  200. package/dist/features/parameters/voltage-init/voltage-init-form-utils.js +1 -1
  201. package/dist/features/parameters/voltage-init/voltage-init-parameters-dialog.js +1 -1
  202. package/dist/features/parameters/voltage-init/voltage-init-parameters-form.js +1 -1
  203. package/dist/features/parameters/voltage-init/voltage-init-parameters-inline.js +1 -1
  204. package/dist/features/parameters/voltage-init/voltage-limits-parameters.js +1 -1
  205. package/dist/features/process-configs/common/process-config-modifications-edition.js +1 -1
  206. package/dist/features/process-configs/lf-process-config-edition-dialog.js +1 -1
  207. package/dist/features/process-configs/loadflow/lf-process-config-edition.js +1 -1
  208. package/dist/features/process-configs/loadflow/lf-process-config-edition.utils.js +1 -1
  209. package/dist/features/process-configs/process-config.utils.js +1 -1
  210. package/dist/features/process-configs/sa-process-config-edition-dialog.js +1 -1
  211. package/dist/features/process-configs/security-analysis/sa-process-config-edition.js +1 -1
  212. package/dist/features/process-configs/security-analysis/sa-process-config-edition.utils.js +1 -1
  213. package/dist/features/results/securityanalysis/security-analysis-result-nmk.js +1 -1
  214. package/dist/features/results/securityanalysis/security-analysis-table.js +1 -1
  215. package/dist/index.js +12 -3
  216. package/dist/translations/en/networkModificationsEn.d.ts +10 -0
  217. package/dist/translations/en/networkModificationsEn.js +12 -1
  218. package/dist/translations/fr/networkModificationsFr.d.ts +10 -0
  219. package/dist/translations/fr/networkModificationsFr.js +12 -1
  220. package/dist/utils/constants/fieldConstants.d.ts +9 -0
  221. package/dist/utils/constants/fieldConstants.js +9 -0
  222. package/dist/utils/types/network-modification-metadata.d.ts +13 -1
  223. package/package.json +1 -1
@@ -4,13 +4,13 @@ function normalizeCompositeSelection(rawSelection, roots) {
4
4
  const visit = (node) => {
5
5
  const children = node.subModifications;
6
6
  if (!children || children.length === 0) {
7
- return next[node.uuid];
7
+ return next[node.rowKey];
8
8
  }
9
9
  const everyChildSelected = children.map((child) => visit(child)).every(Boolean);
10
10
  if (everyChildSelected) {
11
- next[node.uuid] = true;
11
+ next[node.rowKey] = true;
12
12
  } else {
13
- delete next[node.uuid];
13
+ delete next[node.rowKey];
14
14
  }
15
15
  return everyChildSelected;
16
16
  };
@@ -36,30 +36,30 @@ function propagateSelectionToLoadedDescendants(selection, roots) {
36
36
  let next = selection;
37
37
  let mutated = false;
38
38
  const visit = (node, ancestorSelected) => {
39
- const effectiveSelected = ancestorSelected || next[node.uuid];
40
- if (effectiveSelected && !next[node.uuid]) {
39
+ const effectiveSelected = ancestorSelected || next[node.rowKey];
40
+ if (effectiveSelected && !next[node.rowKey]) {
41
41
  if (!mutated) {
42
42
  next = { ...selection };
43
43
  mutated = true;
44
44
  }
45
- next[node.uuid] = true;
45
+ next[node.rowKey] = true;
46
46
  }
47
47
  node.subModifications?.forEach((child) => visit(child, effectiveSelected));
48
48
  };
49
49
  roots.forEach((root) => visit(root, false));
50
50
  return mutated ? next : selection;
51
51
  }
52
- function collectAllUuids(mods) {
53
- const uuids = /* @__PURE__ */ new Set();
52
+ function collectAllRowKeys(mods) {
53
+ const rowKeys = /* @__PURE__ */ new Set();
54
54
  const visit = (nodes) => nodes.forEach((m) => {
55
- uuids.add(m.uuid);
55
+ rowKeys.add(m.rowKey);
56
56
  visit(m.subModifications);
57
57
  });
58
58
  visit(mods);
59
- return uuids;
59
+ return rowKeys;
60
60
  }
61
- function pruneStaleSelection(selection, allUuids) {
62
- const pruned = Object.fromEntries(Object.entries(selection).filter(([uuid]) => allUuids.has(uuid)));
61
+ function pruneStaleSelection(selection, allRowKeys) {
62
+ const pruned = Object.fromEntries(Object.entries(selection).filter(([rowKey]) => allRowKeys.has(rowKey)));
63
63
  return Object.keys(pruned).length === Object.keys(selection).length ? selection : pruned;
64
64
  }
65
65
  function useModificationsSelection({
@@ -86,8 +86,8 @@ function useModificationsSelection({
86
86
  useEffect(() => {
87
87
  setRowSelection((prev) => {
88
88
  const propagated = propagateSelectionToLoadedDescendants(prev, modifications);
89
- const allUuids = collectAllUuids(modifications);
90
- return pruneStaleSelection(propagated, allUuids);
89
+ const allRowKeys = collectAllRowKeys(modifications);
90
+ return pruneStaleSelection(propagated, allRowKeys);
91
91
  });
92
92
  }, [modifications]);
93
93
  return { rowSelection, onRowSelectionChange, lastClickedRowId, emitSelection };
@@ -4,7 +4,10 @@ import { ComposedModificationMetadata, NetworkModificationMetadata } from '../..
4
4
  export declare const MAX_COMPOSITE_NESTING_DEPTH = 5;
5
5
  export declare const formatToComposedModification: (modifications: NetworkModificationMetadata[]) => ComposedModificationMetadata[];
6
6
  export declare function isCompositeModification(modification: ComposedModificationMetadata | undefined): boolean;
7
- export declare function isSharedModification(modification: ComposedModificationMetadata | undefined): boolean;
7
+ export declare function isReferenceModification(modification: ComposedModificationMetadata | undefined): boolean;
8
+ export declare function isTargetChildOfReference(targetRow: {
9
+ original: ComposedModificationMetadata;
10
+ }): boolean;
8
11
  export declare function findDepth(mods: ComposedModificationMetadata[], uuid: UUID, currentDepth?: number): number;
9
12
  export declare function removeUuidsFromTree(mods: ComposedModificationMetadata[], uuidsToRemove: Set<string>): ComposedModificationMetadata[];
10
13
  /**
@@ -13,14 +16,14 @@ export declare function removeUuidsFromTree(mods: ComposedModificationMetadata[]
13
16
  * @param composites result : all the composite modifications found
14
17
  */
15
18
  export declare function findAllLoadedCompositeModifications(modifications: ComposedModificationMetadata[], composites: ComposedModificationMetadata[]): void;
16
- export declare function findModificationInTree(uuid: string, mods: ComposedModificationMetadata[]): ComposedModificationMetadata | undefined;
19
+ export declare function findModificationInTree(rowKey: UUID, mods: ComposedModificationMetadata[]): ComposedModificationMetadata | undefined;
17
20
  /**
18
- * in the tree, replaces the sub-modifications of 'parentModUuid' with 'subModifications' and returns the result
19
- * @param parentModUuid
20
- * @param subModifications new subModifications of parentModUuid
21
+ * in the tree, replaces the sub-modifications of 'parentRowKey' with 'subModifications' and returns the result
22
+ * @param parentRowKey
23
+ * @param subModifications new subModifications of parentRowKey
21
24
  * @param tree all the modifications of the tree
22
25
  */
23
- export declare function updateSubModificationsOfACompositeInTree(parentModUuid: string, subModifications: ComposedModificationMetadata[], tree: ComposedModificationMetadata[]): ComposedModificationMetadata[];
26
+ export declare function updateSubModificationsOfACompositeInTree(parentRowKey: UUID, subModifications: ComposedModificationMetadata[], tree: ComposedModificationMetadata[]): ComposedModificationMetadata[];
24
27
  /**
25
28
  * Recursively merges already-loaded subModifications from the previous tree into a freshly
26
29
  * formatted tree (where all subModifications start as []). This ensures that when `modifications`
@@ -33,12 +36,17 @@ export declare function mergeSubModificationsIntoTree(nextMods: ComposedModifica
33
36
  */
34
37
  export declare function updateModificationFieldInTree(uuid: string, fields: Partial<ComposedModificationMetadata>, mods: ComposedModificationMetadata[]): ComposedModificationMetadata[];
35
38
  /**
36
- * @param movingUuid moved submodification uuid
37
- * @param sourceParentUuid composite from which movingUuid comes from. null if movingUuid is at the root level
38
- * @param targetParentUuid composite where movingUuid is moved. null if movingUuid is moved to the root level
39
- * @param beforeUuid movingUuid is moved just before beforeUuid. If null, movingUuid is moved to the end.
39
+ * @param movingRowKey moved submodification's internal row key
40
+ * @param sourceParentRowKey composite from which movingRowKey comes from. null if movingRowKey is at the root level
41
+ * @param targetParentRowKey composite where movingRowKey is moved. null if movingRowKey is moved to the root level
42
+ * @param beforeRowKey movingRowKey is moved just before beforeRowKey. If null, movingRowKey is moved to the end.
40
43
  * @param mods all the network modifications of the tree
41
44
  * @return mods updated according to the moved submodification
42
45
  */
43
- export declare function moveSubModificationInTree(movingUuid: UUID, sourceParentUuid: UUID | null, targetParentUuid: UUID | null, beforeUuid: UUID | null, mods: ComposedModificationMetadata[]): ComposedModificationMetadata[];
44
- export declare function fetchSubModificationsForExpandedRows(expandedIds: string[], mods: ComposedModificationMetadata[], setMods: Dispatch<SetStateAction<ComposedModificationMetadata[]>>, force?: boolean): void;
46
+ export declare function moveSubModificationInTree(movingRowKey: UUID, sourceParentRowKey: UUID | null, targetParentRowKey: UUID | null, beforeRowKey: UUID | null, mods: ComposedModificationMetadata[]): ComposedModificationMetadata[];
47
+ /**
48
+ * @param expandedRowKeys rowKeys of the rows that were just expanded — this is exactly what
49
+ * ExpandedState is keyed by now, since getRowId returns row.rowKey, so no translation is needed
50
+ * at the call site (unlike the previous resolveUuidFromRowId path-parsing scheme, now removed).
51
+ */
52
+ export declare function fetchSubModificationsForExpandedRows(expandedRowKeys: UUID[], mods: ComposedModificationMetadata[], setMods: Dispatch<SetStateAction<ComposedModificationMetadata[]>>, force?: boolean): Promise<void>;
@@ -3,17 +3,46 @@ import "../../utils/types/equipmentType.js";
3
3
  import { MODIFICATION_TYPES } from "../../utils/types/modificationType.js";
4
4
  import "react/jsx-runtime";
5
5
  import "@mui/icons-material";
6
- import { getNetworkModificationsFromComposite } from "../../services/networkModification.js";
6
+ import { getNetworkModificationsFromComposite, fetchNetworkModification } from "../../services/networkModification.js";
7
7
  const MAX_COMPOSITE_NESTING_DEPTH = 5;
8
8
  const formatToComposedModification = (modifications) => {
9
- return modifications.map((modification) => ({ ...modification, subModifications: [] }));
9
+ return modifications.map((modification) => ({
10
+ ...modification,
11
+ subModifications: [],
12
+ rowKey: crypto.randomUUID()
13
+ }));
10
14
  };
11
15
  function isCompositeModification(modification) {
12
16
  return modification?.type === MODIFICATION_TYPES.COMPOSITE_MODIFICATION.type;
13
17
  }
14
- function isSharedModification(modification) {
18
+ function isReferenceModification(modification) {
15
19
  return modification?.type === MODIFICATION_TYPES.MODIFICATION_REFERENCE.type;
16
20
  }
21
+ function normalizeReferenceChild(child) {
22
+ return {
23
+ ...child,
24
+ messageType: child.messageType ?? child.type,
25
+ messageValues: child.messageValues ?? "{}"
26
+ };
27
+ }
28
+ function isTargetChildOfReference(targetRow) {
29
+ if (targetRow.original.childFromShared === true) {
30
+ return true;
31
+ }
32
+ return false;
33
+ }
34
+ function extractReferenceChildren(detail) {
35
+ const referenceInfos = detail?.referenceInfos;
36
+ if (!referenceInfos) {
37
+ return [];
38
+ }
39
+ if (referenceInfos.type === MODIFICATION_TYPES.COMPOSITE_MODIFICATION.type) {
40
+ return (referenceInfos.modificationsInfos ?? []).map(
41
+ normalizeReferenceChild
42
+ );
43
+ }
44
+ return [normalizeReferenceChild(referenceInfos)];
45
+ }
17
46
  function findDepth(mods, uuid, currentDepth = 0) {
18
47
  for (const mod of mods) {
19
48
  if (mod.uuid === uuid) return currentDepth;
@@ -37,28 +66,28 @@ function findAllLoadedCompositeModifications(modifications, composites) {
37
66
  }
38
67
  });
39
68
  }
40
- function findModificationInTree(uuid, mods) {
69
+ function findModificationInTree(rowKey, mods) {
41
70
  for (const mod of mods) {
42
- if (mod.uuid === uuid) {
71
+ if (mod.rowKey === rowKey) {
43
72
  return mod;
44
73
  }
45
- const found = findModificationInTree(uuid, mod.subModifications);
74
+ const found = findModificationInTree(rowKey, mod.subModifications);
46
75
  if (found) {
47
76
  return found;
48
77
  }
49
78
  }
50
79
  return void 0;
51
80
  }
52
- function updateSubModificationsOfACompositeInTree(parentModUuid, subModifications, tree) {
81
+ function updateSubModificationsOfACompositeInTree(parentRowKey, subModifications, tree) {
53
82
  return tree.map((m) => {
54
- if (m.uuid === parentModUuid) {
83
+ if (m.rowKey === parentRowKey) {
55
84
  return { ...m, subModifications };
56
85
  }
57
86
  if (m.subModifications.length > 0) {
58
87
  return {
59
88
  ...m,
60
89
  subModifications: updateSubModificationsOfACompositeInTree(
61
- parentModUuid,
90
+ parentRowKey,
62
91
  subModifications,
63
92
  m.subModifications
64
93
  )
@@ -70,15 +99,14 @@ function updateSubModificationsOfACompositeInTree(parentModUuid, subModification
70
99
  function mergeSubModificationsIntoTree(nextMods, prevMods) {
71
100
  return nextMods.map((nextMod) => {
72
101
  const prevMod = prevMods.find((m) => m.uuid === nextMod.uuid);
73
- if (!prevMod || prevMod.subModifications.length === 0) {
102
+ if (!prevMod) {
74
103
  return nextMod;
75
104
  }
105
+ const carriedOverSubModifications = nextMod.subModifications.length > 0 ? nextMod.subModifications : prevMod.subModifications;
76
106
  return {
77
107
  ...nextMod,
78
- subModifications: mergeSubModificationsIntoTree(
79
- nextMod.subModifications.length > 0 ? nextMod.subModifications : prevMod.subModifications,
80
- prevMod.subModifications
81
- )
108
+ rowKey: prevMod.rowKey,
109
+ subModifications: prevMod.subModifications.length === 0 ? nextMod.subModifications : mergeSubModificationsIntoTree(carriedOverSubModifications, prevMod.subModifications)
82
110
  };
83
111
  });
84
112
  }
@@ -93,81 +121,106 @@ function updateModificationFieldInTree(uuid, fields, mods) {
93
121
  return m;
94
122
  });
95
123
  }
96
- function getModificationInTree(modUuid, sourceParentUuid, mods) {
97
- if (sourceParentUuid) {
98
- const sourceMod = findModificationInTree(sourceParentUuid, mods);
124
+ function getModificationInTree(modRowKey, sourceParentRowKey, mods) {
125
+ if (sourceParentRowKey) {
126
+ const sourceMod = findModificationInTree(sourceParentRowKey, mods);
99
127
  if (!sourceMod) {
100
128
  return void 0;
101
129
  }
102
- return sourceMod.subModifications.find((m) => m.uuid === modUuid);
130
+ return sourceMod.subModifications.find((m) => m.rowKey === modRowKey);
103
131
  }
104
- return mods.find((m) => m.uuid === modUuid);
132
+ return mods.find((m) => m.rowKey === modRowKey);
105
133
  }
106
- function moveSubModificationInTree(movingUuid, sourceParentUuid, targetParentUuid, beforeUuid, mods) {
134
+ function moveSubModificationInTree(movingRowKey, sourceParentRowKey, targetParentRowKey, beforeRowKey, mods) {
107
135
  const movedMod = getModificationInTree(
108
- movingUuid,
109
- sourceParentUuid,
136
+ movingRowKey,
137
+ sourceParentRowKey,
110
138
  mods
111
139
  );
112
140
  if (!movedMod) {
113
- console.error(`Can't find the ${movingUuid} modification that should be moved`);
141
+ console.error(`Can't find the ${movingRowKey} modification that should be moved`);
114
142
  return mods;
115
143
  }
116
144
  let modsWithoutTheMovedModification;
117
- if (sourceParentUuid) {
118
- const sourceMod = findModificationInTree(sourceParentUuid, mods);
145
+ if (sourceParentRowKey) {
146
+ const sourceMod = findModificationInTree(sourceParentRowKey, mods);
119
147
  if (!sourceMod) {
120
148
  return mods;
121
149
  }
122
- const newSourceSubs = sourceMod.subModifications.filter((m) => m.uuid !== movingUuid);
150
+ const newSourceSubs = sourceMod.subModifications.filter((m) => m.rowKey !== movingRowKey);
123
151
  modsWithoutTheMovedModification = updateSubModificationsOfACompositeInTree(
124
- sourceParentUuid,
152
+ sourceParentRowKey,
125
153
  newSourceSubs,
126
154
  mods
127
155
  );
128
156
  } else {
129
- modsWithoutTheMovedModification = mods.filter((m) => m.uuid !== movingUuid);
157
+ modsWithoutTheMovedModification = mods.filter((m) => m.rowKey !== movingRowKey);
130
158
  }
131
- if (targetParentUuid) {
132
- const targetMod = findModificationInTree(targetParentUuid, modsWithoutTheMovedModification);
159
+ if (targetParentRowKey) {
160
+ const targetMod = findModificationInTree(targetParentRowKey, modsWithoutTheMovedModification);
133
161
  if (!targetMod) {
134
162
  return mods;
135
163
  }
136
164
  const newTargetSubs = [...targetMod.subModifications];
137
- const insertIdx2 = beforeUuid ? newTargetSubs.findIndex((m) => m.uuid === beforeUuid) : -1;
165
+ const insertIdx2 = beforeRowKey ? newTargetSubs.findIndex((m) => m.rowKey === beforeRowKey) : -1;
138
166
  newTargetSubs.splice(insertIdx2 === -1 ? newTargetSubs.length : insertIdx2, 0, movedMod);
139
167
  return updateSubModificationsOfACompositeInTree(
140
- targetParentUuid,
168
+ targetParentRowKey,
141
169
  newTargetSubs,
142
170
  modsWithoutTheMovedModification
143
171
  );
144
172
  }
145
- const insertIdx = beforeUuid ? modsWithoutTheMovedModification.findIndex((m) => m.uuid === beforeUuid) : -1;
173
+ const insertIdx = beforeRowKey ? modsWithoutTheMovedModification.findIndex((m) => m.rowKey === beforeRowKey) : -1;
146
174
  const result = [...modsWithoutTheMovedModification];
147
175
  result.splice(insertIdx === -1 ? result.length : insertIdx, 0, movedMod);
148
176
  return result;
149
177
  }
150
- function fetchSubModificationsForExpandedRows(expandedIds, mods, setMods, force = false) {
151
- const uuidsToFetch = expandedIds.filter((id) => {
152
- const mod = findModificationInTree(id, mods);
153
- return isCompositeModification(mod) && (force || mod?.subModifications.length === 0);
154
- });
155
- if (uuidsToFetch.length === 0) {
156
- return;
157
- }
158
- getNetworkModificationsFromComposite(uuidsToFetch).then((subModsByUuid) => {
178
+ async function fetchSubModificationsForExpandedRows(expandedRowKeys, mods, setMods, force = false) {
179
+ const expandedNodes = expandedRowKeys.map((rowKey) => findModificationInTree(rowKey, mods)).filter((mod) => !!mod);
180
+ const compositeNodesToFetch = expandedNodes.filter(
181
+ (mod) => isCompositeModification(mod) && (force || mod.subModifications.length === 0)
182
+ );
183
+ if (compositeNodesToFetch.length > 0) {
184
+ const uniqueUuidsToFetch = [...new Set(compositeNodesToFetch.map((m) => m.uuid))];
185
+ const subModsByUuid = await getNetworkModificationsFromComposite(uniqueUuidsToFetch);
159
186
  setMods(
160
- (prev) => Object.entries(subModsByUuid).reduce((tree, [uuid, subMods]) => {
161
- const liveModifications = formatToComposedModification(subMods.filter((m) => !m.stashed));
162
- const existingMod = findModificationInTree(uuid, tree);
187
+ (prev) => compositeNodesToFetch.reduce((tree, node) => {
188
+ const subMods = subModsByUuid[node.uuid];
189
+ if (!subMods) {
190
+ return tree;
191
+ }
192
+ const existingMod = findModificationInTree(node.rowKey, tree);
193
+ const inheritsReference = existingMod?.childFromShared === true;
194
+ const liveModifications = formatToComposedModification(subMods.filter((m) => !m.stashed)).map(
195
+ (m) => inheritsReference ? { ...m, childFromShared: true } : m
196
+ );
163
197
  const mergedSubs = mergeSubModificationsIntoTree(
164
198
  liveModifications,
165
199
  existingMod?.subModifications ?? []
166
200
  );
167
- return updateSubModificationsOfACompositeInTree(uuid, mergedSubs, tree);
201
+ return updateSubModificationsOfACompositeInTree(node.rowKey, mergedSubs, tree);
168
202
  }, prev)
169
203
  );
170
- });
204
+ }
205
+ const referenceNodesToFetch = expandedNodes.filter(
206
+ (mod) => isReferenceModification(mod) && (force || mod.subModifications.length === 0)
207
+ );
208
+ await Promise.all(
209
+ referenceNodesToFetch.map(async (node) => {
210
+ try {
211
+ const res = await fetchNetworkModification(node.uuid);
212
+ const detail = await res.json();
213
+ const children = extractReferenceChildren(detail).filter((m) => !m.stashed);
214
+ const liveModifications = formatToComposedModification(children).map((m) => ({
215
+ ...m,
216
+ childFromShared: true
217
+ }));
218
+ setMods((prev) => updateSubModificationsOfACompositeInTree(node.rowKey, liveModifications, prev));
219
+ } catch (error) {
220
+ console.error(`Failed to load reference children for ${node.uuid}`, error);
221
+ }
222
+ })
223
+ );
171
224
  }
172
225
  export {
173
226
  MAX_COMPOSITE_NESTING_DEPTH,
@@ -177,7 +230,8 @@ export {
177
230
  findModificationInTree,
178
231
  formatToComposedModification,
179
232
  isCompositeModification,
180
- isSharedModification,
233
+ isReferenceModification,
234
+ isTargetChildOfReference,
181
235
  mergeSubModificationsIntoTree,
182
236
  moveSubModificationInTree,
183
237
  removeUuidsFromTree,
@@ -26,7 +26,7 @@ import "@material-symbols/svg-400/outlined/left_panel_open.svg?react";
26
26
  import "@material-symbols/svg-400/outlined/arrows_output.svg?react";
27
27
  import "@material-symbols/svg-400/outlined/arrows_input.svg?react";
28
28
  import "@material-symbols/svg-400/outlined/left_panel_close.svg?react";
29
- import "@material-symbols/svg-400/outlined/add_notes.svg?react";
29
+ import "@material-symbols/svg-400/outlined/add_notes-fill.svg?react";
30
30
  import "../../../../components/ui/dialogs/descriptionModificationDialog/DescriptionModificationDialog.js";
31
31
  import "../../../../components/ui/reactHookForm/expandableInput/ExpandableInput.js";
32
32
  import "../../../../components/ui/reactHookForm/directory-item-input/directory-item-utils.js";
@@ -24,7 +24,7 @@ import "@material-symbols/svg-400/outlined/left_panel_open.svg?react";
24
24
  import "@material-symbols/svg-400/outlined/arrows_output.svg?react";
25
25
  import "@material-symbols/svg-400/outlined/arrows_input.svg?react";
26
26
  import "@material-symbols/svg-400/outlined/left_panel_close.svg?react";
27
- import "@material-symbols/svg-400/outlined/add_notes.svg?react";
27
+ import "@material-symbols/svg-400/outlined/add_notes-fill.svg?react";
28
28
  import "../../../../components/ui/dialogs/descriptionModificationDialog/DescriptionModificationDialog.js";
29
29
  import "../../../../components/ui/reactHookForm/expandableInput/ExpandableInput.js";
30
30
  import "../../../../components/ui/reactHookForm/directory-item-input/directory-item-utils.js";
@@ -23,7 +23,7 @@ import "@material-symbols/svg-400/outlined/left_panel_open.svg?react";
23
23
  import "@material-symbols/svg-400/outlined/arrows_output.svg?react";
24
24
  import "@material-symbols/svg-400/outlined/arrows_input.svg?react";
25
25
  import "@material-symbols/svg-400/outlined/left_panel_close.svg?react";
26
- import "@material-symbols/svg-400/outlined/add_notes.svg?react";
26
+ import "@material-symbols/svg-400/outlined/add_notes-fill.svg?react";
27
27
  import "../../../../components/ui/dialogs/descriptionModificationDialog/DescriptionModificationDialog.js";
28
28
  import "../../../../components/ui/reactHookForm/expandableInput/ExpandableInput.js";
29
29
  import "../../../../components/ui/reactHookForm/directory-item-input/directory-item-utils.js";
@@ -26,7 +26,7 @@ import "@material-symbols/svg-400/outlined/left_panel_open.svg?react";
26
26
  import "@material-symbols/svg-400/outlined/arrows_output.svg?react";
27
27
  import "@material-symbols/svg-400/outlined/arrows_input.svg?react";
28
28
  import "@material-symbols/svg-400/outlined/left_panel_close.svg?react";
29
- import "@material-symbols/svg-400/outlined/add_notes.svg?react";
29
+ import "@material-symbols/svg-400/outlined/add_notes-fill.svg?react";
30
30
  import "../../../../components/ui/dialogs/descriptionModificationDialog/DescriptionModificationDialog.js";
31
31
  import "../../../../components/ui/reactHookForm/expandableInput/ExpandableInput.js";
32
32
  import { CheckboxNullableInput } from "../../../../components/ui/reactHookForm/CheckboxNullableInput.js";
@@ -24,7 +24,7 @@ import "@material-symbols/svg-400/outlined/left_panel_open.svg?react";
24
24
  import "@material-symbols/svg-400/outlined/arrows_output.svg?react";
25
25
  import "@material-symbols/svg-400/outlined/arrows_input.svg?react";
26
26
  import "@material-symbols/svg-400/outlined/left_panel_close.svg?react";
27
- import "@material-symbols/svg-400/outlined/add_notes.svg?react";
27
+ import "@material-symbols/svg-400/outlined/add_notes-fill.svg?react";
28
28
  import "../../../../components/ui/dialogs/descriptionModificationDialog/DescriptionModificationDialog.js";
29
29
  import "../../../../components/ui/reactHookForm/expandableInput/ExpandableInput.js";
30
30
  import "../../../../components/ui/reactHookForm/directory-item-input/directory-item-utils.js";
@@ -32,7 +32,7 @@ import "@material-symbols/svg-400/outlined/left_panel_open.svg?react";
32
32
  import "@material-symbols/svg-400/outlined/arrows_output.svg?react";
33
33
  import "@material-symbols/svg-400/outlined/arrows_input.svg?react";
34
34
  import "@material-symbols/svg-400/outlined/left_panel_close.svg?react";
35
- import "@material-symbols/svg-400/outlined/add_notes.svg?react";
35
+ import "@material-symbols/svg-400/outlined/add_notes-fill.svg?react";
36
36
  import "../../../../../components/ui/dialogs/descriptionModificationDialog/DescriptionModificationDialog.js";
37
37
  import "../../../../../components/ui/reactHookForm/expandableInput/ExpandableInput.js";
38
38
  import "../../../../../components/ui/reactHookForm/directory-item-input/directory-item-utils.js";
@@ -23,7 +23,7 @@ import "@material-symbols/svg-400/outlined/left_panel_open.svg?react";
23
23
  import "@material-symbols/svg-400/outlined/arrows_output.svg?react";
24
24
  import "@material-symbols/svg-400/outlined/arrows_input.svg?react";
25
25
  import "@material-symbols/svg-400/outlined/left_panel_close.svg?react";
26
- import "@material-symbols/svg-400/outlined/add_notes.svg?react";
26
+ import "@material-symbols/svg-400/outlined/add_notes-fill.svg?react";
27
27
  import "../../../../components/ui/dialogs/descriptionModificationDialog/DescriptionModificationDialog.js";
28
28
  import { ExpandableInput } from "../../../../components/ui/reactHookForm/expandableInput/ExpandableInput.js";
29
29
  import "../../../../components/ui/reactHookForm/directory-item-input/directory-item-utils.js";
@@ -24,7 +24,7 @@ import "@material-symbols/svg-400/outlined/left_panel_open.svg?react";
24
24
  import "@material-symbols/svg-400/outlined/arrows_output.svg?react";
25
25
  import "@material-symbols/svg-400/outlined/arrows_input.svg?react";
26
26
  import "@material-symbols/svg-400/outlined/left_panel_close.svg?react";
27
- import "@material-symbols/svg-400/outlined/add_notes.svg?react";
27
+ import "@material-symbols/svg-400/outlined/add_notes-fill.svg?react";
28
28
  import "../../../../components/ui/dialogs/descriptionModificationDialog/DescriptionModificationDialog.js";
29
29
  import "../../../../components/ui/reactHookForm/expandableInput/ExpandableInput.js";
30
30
  import "../../../../components/ui/reactHookForm/directory-item-input/directory-item-utils.js";
@@ -27,7 +27,7 @@ import "@material-symbols/svg-400/outlined/left_panel_open.svg?react";
27
27
  import "@material-symbols/svg-400/outlined/arrows_output.svg?react";
28
28
  import "@material-symbols/svg-400/outlined/arrows_input.svg?react";
29
29
  import "@material-symbols/svg-400/outlined/left_panel_close.svg?react";
30
- import "@material-symbols/svg-400/outlined/add_notes.svg?react";
30
+ import "@material-symbols/svg-400/outlined/add_notes-fill.svg?react";
31
31
  import "../../../../../components/ui/dialogs/descriptionModificationDialog/DescriptionModificationDialog.js";
32
32
  import "../../../../../components/ui/reactHookForm/expandableInput/ExpandableInput.js";
33
33
  import "../../../../../components/ui/reactHookForm/directory-item-input/directory-item-utils.js";
@@ -21,7 +21,7 @@ import "@material-symbols/svg-400/outlined/left_panel_open.svg?react";
21
21
  import "@material-symbols/svg-400/outlined/arrows_output.svg?react";
22
22
  import "@material-symbols/svg-400/outlined/arrows_input.svg?react";
23
23
  import "@material-symbols/svg-400/outlined/left_panel_close.svg?react";
24
- import "@material-symbols/svg-400/outlined/add_notes.svg?react";
24
+ import "@material-symbols/svg-400/outlined/add_notes-fill.svg?react";
25
25
  import "../../../../../components/ui/dialogs/descriptionModificationDialog/DescriptionModificationDialog.js";
26
26
  import "../../../../../components/ui/reactHookForm/expandableInput/ExpandableInput.js";
27
27
  import "../../../../../components/ui/reactHookForm/directory-item-input/directory-item-utils.js";
@@ -24,7 +24,7 @@ import "@material-symbols/svg-400/outlined/left_panel_open.svg?react";
24
24
  import "@material-symbols/svg-400/outlined/arrows_output.svg?react";
25
25
  import "@material-symbols/svg-400/outlined/arrows_input.svg?react";
26
26
  import "@material-symbols/svg-400/outlined/left_panel_close.svg?react";
27
- import "@material-symbols/svg-400/outlined/add_notes.svg?react";
27
+ import "@material-symbols/svg-400/outlined/add_notes-fill.svg?react";
28
28
  import "../../../../components/ui/dialogs/descriptionModificationDialog/DescriptionModificationDialog.js";
29
29
  import { ExpandableInput } from "../../../../components/ui/reactHookForm/expandableInput/ExpandableInput.js";
30
30
  import "../../../../components/ui/reactHookForm/directory-item-input/directory-item-utils.js";
@@ -24,7 +24,7 @@ import "@material-symbols/svg-400/outlined/left_panel_open.svg?react";
24
24
  import "@material-symbols/svg-400/outlined/arrows_output.svg?react";
25
25
  import "@material-symbols/svg-400/outlined/arrows_input.svg?react";
26
26
  import "@material-symbols/svg-400/outlined/left_panel_close.svg?react";
27
- import "@material-symbols/svg-400/outlined/add_notes.svg?react";
27
+ import "@material-symbols/svg-400/outlined/add_notes-fill.svg?react";
28
28
  import "../../../../components/ui/dialogs/descriptionModificationDialog/DescriptionModificationDialog.js";
29
29
  import "../../../../components/ui/reactHookForm/expandableInput/ExpandableInput.js";
30
30
  import { CheckboxNullableInput } from "../../../../components/ui/reactHookForm/CheckboxNullableInput.js";
@@ -23,7 +23,7 @@ import "@material-symbols/svg-400/outlined/left_panel_open.svg?react";
23
23
  import "@material-symbols/svg-400/outlined/arrows_output.svg?react";
24
24
  import "@material-symbols/svg-400/outlined/arrows_input.svg?react";
25
25
  import "@material-symbols/svg-400/outlined/left_panel_close.svg?react";
26
- import "@material-symbols/svg-400/outlined/add_notes.svg?react";
26
+ import "@material-symbols/svg-400/outlined/add_notes-fill.svg?react";
27
27
  import "../../../../components/ui/dialogs/descriptionModificationDialog/DescriptionModificationDialog.js";
28
28
  import "../../../../components/ui/reactHookForm/expandableInput/ExpandableInput.js";
29
29
  import { CheckboxNullableInput } from "../../../../components/ui/reactHookForm/CheckboxNullableInput.js";
@@ -23,7 +23,7 @@ import "@material-symbols/svg-400/outlined/left_panel_open.svg?react";
23
23
  import "@material-symbols/svg-400/outlined/arrows_output.svg?react";
24
24
  import "@material-symbols/svg-400/outlined/arrows_input.svg?react";
25
25
  import "@material-symbols/svg-400/outlined/left_panel_close.svg?react";
26
- import "@material-symbols/svg-400/outlined/add_notes.svg?react";
26
+ import "@material-symbols/svg-400/outlined/add_notes-fill.svg?react";
27
27
  import "../../../../components/ui/dialogs/descriptionModificationDialog/DescriptionModificationDialog.js";
28
28
  import "../../../../components/ui/reactHookForm/expandableInput/ExpandableInput.js";
29
29
  import "../../../../components/ui/reactHookForm/directory-item-input/directory-item-utils.js";
@@ -24,7 +24,7 @@ import "@material-symbols/svg-400/outlined/left_panel_open.svg?react";
24
24
  import "@material-symbols/svg-400/outlined/arrows_output.svg?react";
25
25
  import "@material-symbols/svg-400/outlined/arrows_input.svg?react";
26
26
  import "@material-symbols/svg-400/outlined/left_panel_close.svg?react";
27
- import "@material-symbols/svg-400/outlined/add_notes.svg?react";
27
+ import "@material-symbols/svg-400/outlined/add_notes-fill.svg?react";
28
28
  import "../../../../components/ui/dialogs/descriptionModificationDialog/DescriptionModificationDialog.js";
29
29
  import "../../../../components/ui/reactHookForm/expandableInput/ExpandableInput.js";
30
30
  import "../../../../components/ui/reactHookForm/directory-item-input/directory-item-utils.js";
@@ -21,7 +21,7 @@ export interface Connectivity {
21
21
  connectionPosition?: number;
22
22
  terminalConnected?: boolean;
23
23
  }
24
- type PositionDiagramPaneType = React.ComponentType<{
24
+ export type PositionDiagramPaneType = React.ComponentType<{
25
25
  open: boolean;
26
26
  onClose: () => void;
27
27
  voltageLevelId: string;
@@ -27,7 +27,7 @@ import "@material-symbols/svg-400/outlined/left_panel_open.svg?react";
27
27
  import "@material-symbols/svg-400/outlined/arrows_output.svg?react";
28
28
  import "@material-symbols/svg-400/outlined/arrows_input.svg?react";
29
29
  import "@material-symbols/svg-400/outlined/left_panel_close.svg?react";
30
- import "@material-symbols/svg-400/outlined/add_notes.svg?react";
30
+ import "@material-symbols/svg-400/outlined/add_notes-fill.svg?react";
31
31
  import "../../../../components/ui/dialogs/descriptionModificationDialog/DescriptionModificationDialog.js";
32
32
  import "../../../../components/ui/reactHookForm/expandableInput/ExpandableInput.js";
33
33
  import "../../../../components/ui/reactHookForm/directory-item-input/directory-item-utils.js";
@@ -21,7 +21,7 @@ import "@material-symbols/svg-400/outlined/left_panel_open.svg?react";
21
21
  import "@material-symbols/svg-400/outlined/arrows_output.svg?react";
22
22
  import "@material-symbols/svg-400/outlined/arrows_input.svg?react";
23
23
  import "@material-symbols/svg-400/outlined/left_panel_close.svg?react";
24
- import "@material-symbols/svg-400/outlined/add_notes.svg?react";
24
+ import "@material-symbols/svg-400/outlined/add_notes-fill.svg?react";
25
25
  import "../../../../components/ui/dialogs/descriptionModificationDialog/DescriptionModificationDialog.js";
26
26
  import "../../../../components/ui/reactHookForm/expandableInput/ExpandableInput.js";
27
27
  import "../../../../components/ui/reactHookForm/directory-item-input/directory-item-utils.js";
@@ -31,7 +31,7 @@ import "@material-symbols/svg-400/outlined/left_panel_open.svg?react";
31
31
  import "@material-symbols/svg-400/outlined/arrows_output.svg?react";
32
32
  import "@material-symbols/svg-400/outlined/arrows_input.svg?react";
33
33
  import "@material-symbols/svg-400/outlined/left_panel_close.svg?react";
34
- import "@material-symbols/svg-400/outlined/add_notes.svg?react";
34
+ import "@material-symbols/svg-400/outlined/add_notes-fill.svg?react";
35
35
  import "../../../../../components/ui/dialogs/descriptionModificationDialog/DescriptionModificationDialog.js";
36
36
  import "../../../../../components/ui/reactHookForm/expandableInput/ExpandableInput.js";
37
37
  import "../../../../../components/ui/reactHookForm/directory-item-input/directory-item-utils.js";
@@ -22,7 +22,7 @@ import "@material-symbols/svg-400/outlined/left_panel_open.svg?react";
22
22
  import "@material-symbols/svg-400/outlined/arrows_output.svg?react";
23
23
  import "@material-symbols/svg-400/outlined/arrows_input.svg?react";
24
24
  import "@material-symbols/svg-400/outlined/left_panel_close.svg?react";
25
- import "@material-symbols/svg-400/outlined/add_notes.svg?react";
25
+ import "@material-symbols/svg-400/outlined/add_notes-fill.svg?react";
26
26
  import "../../../../../components/ui/dialogs/descriptionModificationDialog/DescriptionModificationDialog.js";
27
27
  import "../../../../../components/ui/reactHookForm/expandableInput/ExpandableInput.js";
28
28
  import "../../../../../components/ui/reactHookForm/directory-item-input/directory-item-utils.js";
@@ -23,7 +23,7 @@ import "@material-symbols/svg-400/outlined/left_panel_open.svg?react";
23
23
  import "@material-symbols/svg-400/outlined/arrows_output.svg?react";
24
24
  import "@material-symbols/svg-400/outlined/arrows_input.svg?react";
25
25
  import "@material-symbols/svg-400/outlined/left_panel_close.svg?react";
26
- import "@material-symbols/svg-400/outlined/add_notes.svg?react";
26
+ import "@material-symbols/svg-400/outlined/add_notes-fill.svg?react";
27
27
  import "../../../../../components/ui/dialogs/descriptionModificationDialog/DescriptionModificationDialog.js";
28
28
  import "../../../../../components/ui/reactHookForm/expandableInput/ExpandableInput.js";
29
29
  import "../../../../../components/ui/reactHookForm/directory-item-input/directory-item-utils.js";
@@ -27,7 +27,7 @@ import "@material-symbols/svg-400/outlined/left_panel_open.svg?react";
27
27
  import "@material-symbols/svg-400/outlined/arrows_output.svg?react";
28
28
  import "@material-symbols/svg-400/outlined/arrows_input.svg?react";
29
29
  import "@material-symbols/svg-400/outlined/left_panel_close.svg?react";
30
- import "@material-symbols/svg-400/outlined/add_notes.svg?react";
30
+ import "@material-symbols/svg-400/outlined/add_notes-fill.svg?react";
31
31
  import "../../../../components/ui/dialogs/descriptionModificationDialog/DescriptionModificationDialog.js";
32
32
  import "../../../../components/ui/reactHookForm/expandableInput/ExpandableInput.js";
33
33
  import "../../../../components/ui/reactHookForm/directory-item-input/directory-item-utils.js";