@gridsuite/commons-ui 0.264.0 → 0.266.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 (202) 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/features/global-filter/ui/global-filter-dropdown-panel.js +1 -1
  16. package/dist/features/global-filter/ui/global-filter-panel.js +1 -1
  17. package/dist/features/global-filter/ui/selected-global-filters.js +1 -1
  18. package/dist/features/index.js +6 -4
  19. package/dist/features/network-modification-table/columns-definition.d.ts +4 -0
  20. package/dist/features/network-modification-table/columns-definition.js +4 -0
  21. package/dist/features/network-modification-table/index.js +5 -3
  22. package/dist/features/network-modification-table/network-modification-table-styles.js +2 -2
  23. package/dist/features/network-modification-table/network-modifications-table.d.ts +1 -1
  24. package/dist/features/network-modification-table/network-modifications-table.js +15 -12
  25. package/dist/features/network-modification-table/renderers/cell-renderers.d.ts +1 -0
  26. package/dist/features/network-modification-table/renderers/cell-renderers.js +10 -0
  27. package/dist/features/network-modification-table/renderers/index.js +2 -1
  28. package/dist/features/network-modification-table/renderers/name-cell.js +3 -3
  29. package/dist/features/network-modification-table/renderers/reference-link-cell.d.ts +7 -0
  30. package/dist/features/network-modification-table/renderers/reference-link-cell.js +128 -0
  31. package/dist/features/network-modification-table/renderers/root-network-chip-cell.js +3 -1
  32. package/dist/features/network-modification-table/row/modification-row.js +76 -68
  33. package/dist/features/network-modification-table/use-modifications-drag-and-drop.js +40 -22
  34. package/dist/features/network-modification-table/use-modifications-selection.js +14 -14
  35. package/dist/features/network-modification-table/utils.d.ts +20 -12
  36. package/dist/features/network-modification-table/utils.js +102 -48
  37. package/dist/features/network-modifications/battery/creation/BatteryCreationForm.js +1 -1
  38. package/dist/features/network-modifications/battery/creation/batteryCreation.utils.js +1 -1
  39. package/dist/features/network-modifications/battery/modification/BatteryDialogHeader.js +1 -1
  40. package/dist/features/network-modifications/battery/modification/BatteryDialogTabsContent.js +1 -1
  41. package/dist/features/network-modifications/battery/modification/batteryModification.utils.js +1 -1
  42. package/dist/features/network-modifications/by-filter/assignment/assignment/assignment-form.js +1 -1
  43. package/dist/features/network-modifications/by-filter/assignment/modification-by-assignment-form.js +1 -1
  44. package/dist/features/network-modifications/by-filter/deletion/ByFilterDeletionForm.js +1 -1
  45. package/dist/features/network-modifications/by-filter/formula/formula/formula-form.js +1 -1
  46. package/dist/features/network-modifications/by-filter/formula/formula/reference-autocomplete-input.js +1 -1
  47. package/dist/features/network-modifications/by-filter/formula/modification-by-formula-form.js +1 -1
  48. package/dist/features/network-modifications/common/activePowerControl/ActivePowerControlForm.js +1 -1
  49. package/dist/features/network-modifications/common/connectivity/ConnectivityForm.js +1 -1
  50. package/dist/features/network-modifications/common/connectivity/PositionForm.js +1 -1
  51. package/dist/features/network-modifications/common/connectivity/VoltageLevelConnectivityForm.js +1 -1
  52. package/dist/features/network-modifications/common/currentLimits/LimitsPane.js +1 -1
  53. package/dist/features/network-modifications/common/currentLimits/SelectedOperationalLimitGroup.js +1 -1
  54. package/dist/features/network-modifications/common/currentLimits/limitsEditor/LimitsEditor.js +1 -1
  55. package/dist/features/network-modifications/common/currentLimits/limitsEditor/LimitsPropertiesSideStack.js +1 -1
  56. package/dist/features/network-modifications/common/currentLimits/limitsEditor/TemporaryLimitsTable.js +1 -1
  57. package/dist/features/network-modifications/common/currentLimits/limitsPane.utils.js +1 -1
  58. package/dist/features/network-modifications/common/measurements/BusbarSectionVoltageMeasurementsForm.js +1 -1
  59. package/dist/features/network-modifications/common/measurements/PowerWithValidityForm.js +1 -1
  60. package/dist/features/network-modifications/common/properties/PropertiesForm.js +1 -1
  61. package/dist/features/network-modifications/common/properties/PropertyForm.js +1 -1
  62. package/dist/features/network-modifications/common/reactiveLimits/ReactiveLimitsForm.js +1 -1
  63. package/dist/features/network-modifications/common/reactiveLimits/reactiveCapabilityCurve/ReactiveCapabilityCurveRowForm.js +1 -1
  64. package/dist/features/network-modifications/common/reactiveLimits/reactiveCapabilityCurve/ReactiveCapabilityCurveTableForm.js +1 -1
  65. package/dist/features/network-modifications/common/regulatingTerminal/RegulatingTerminalForm.js +1 -1
  66. package/dist/features/network-modifications/common/setpoints/SetPointsForm.js +1 -1
  67. package/dist/features/network-modifications/common/shortCircuit/ShortCircuitForm.js +1 -1
  68. package/dist/features/network-modifications/common/voltageRegulation/VoltageRegulationForm.js +1 -1
  69. package/dist/features/network-modifications/equipmentDeletion/EquipmentDeletionForm.js +1 -1
  70. package/dist/features/network-modifications/equipmentDeletion/equipmentDeletion.utils.js +1 -1
  71. package/dist/features/network-modifications/equipmentDeletion/hvdcLccDeletion/ShuntCompensatorSelectionForm.js +1 -1
  72. package/dist/features/network-modifications/generator/creation/GeneratorCreationForm.js +1 -1
  73. package/dist/features/network-modifications/generator/creation/generatorCreation.utils.js +1 -1
  74. package/dist/features/network-modifications/generator/modification/GeneratorDialogHeader.js +1 -1
  75. package/dist/features/network-modifications/generator/modification/GeneratorDialogTabsContent.js +1 -1
  76. package/dist/features/network-modifications/generator/modification/generatorModification.utils.js +1 -1
  77. package/dist/features/network-modifications/index.js +1 -1
  78. package/dist/features/network-modifications/line/characteristics/LineCharacteristicsPane.js +1 -1
  79. package/dist/features/network-modifications/line/common/LineDialogHeader.js +1 -1
  80. package/dist/features/network-modifications/line/common/LineDialogTabsContent.js +1 -1
  81. package/dist/features/network-modifications/line/creation/lineCreation.utils.js +1 -1
  82. package/dist/features/network-modifications/line/modification/lineModification.utils.js +1 -1
  83. package/dist/features/network-modifications/load/common/LoadDialogHeader.js +1 -1
  84. package/dist/features/network-modifications/load/creation/loadCreation.utils.js +1 -1
  85. package/dist/features/network-modifications/load/modification/loadModification.utils.js +1 -1
  86. package/dist/features/network-modifications/shunt-compensator/common/CharacteristicsForm.js +1 -1
  87. package/dist/features/network-modifications/shunt-compensator/creation/ShuntCompensatorCreationForm.js +1 -1
  88. package/dist/features/network-modifications/shunt-compensator/creation/shuntCompensatorCreation.utils.js +1 -1
  89. package/dist/features/network-modifications/shunt-compensator/modification/ShuntCompensatorModificationForm.js +1 -1
  90. package/dist/features/network-modifications/shunt-compensator/modification/shuntCompensatorModification.utils.js +1 -1
  91. package/dist/features/network-modifications/substation/creation/SubstationCreationForm.js +1 -1
  92. package/dist/features/network-modifications/substation/modification/SubstationModificationForm.js +1 -1
  93. package/dist/features/network-modifications/voltageLevel/creation/VoltageLevelCreationForm.js +1 -1
  94. package/dist/features/network-modifications/voltageLevel/creation/index.js +1 -1
  95. package/dist/features/network-modifications/voltageLevel/creation/tabs/characteristicsTab/CharacteristicsTab.js +1 -1
  96. package/dist/features/network-modifications/voltageLevel/creation/tabs/structureTab/StructureTab.js +1 -1
  97. package/dist/features/network-modifications/voltageLevel/creation/tabs/structureTab/couplingOmnibus/CouplingOmnibusForm.js +1 -1
  98. package/dist/features/network-modifications/voltageLevel/creation/tabs/structureTab/switchesBetweenSections/SwitchesBetweenSections.js +1 -1
  99. package/dist/features/network-modifications/voltageLevel/creation/tabs/substationTab/SubstationCreationSection.js +1 -1
  100. package/dist/features/network-modifications/voltageLevel/creation/tabs/substationTab/SubstationTab.js +1 -1
  101. package/dist/features/network-modifications/voltageLevel/creation/voltageLevelCreation.utils.js +1 -1
  102. package/dist/features/network-modifications/voltageLevel/index.js +1 -1
  103. package/dist/features/network-modifications/voltageLevel/modification/VoltageLevelModificationForm.js +1 -1
  104. package/dist/features/parameters/common/contingency-table/columns-definitions.js +1 -1
  105. package/dist/features/parameters/common/limitreductions/limit-reduction-table-cell.js +1 -1
  106. package/dist/features/parameters/common/limitreductions/limit-reductions-table-form.js +1 -1
  107. package/dist/features/parameters/common/parameter-field.js +1 -1
  108. package/dist/features/parameters/common/parameter-layout/parameter-layout.js +1 -1
  109. package/dist/features/parameters/common/parameter-table-field/parameter-table-field.js +1 -1
  110. package/dist/features/parameters/common/parameters-creation-dialog.js +1 -1
  111. package/dist/features/parameters/common/provider-param.js +1 -1
  112. package/dist/features/parameters/common/voltage-level-table/custom-voltage-level-table-cell.js +1 -1
  113. package/dist/features/parameters/common/widget/parameter-float.js +1 -1
  114. package/dist/features/parameters/common/widget/parameter-line-directory-items-input.js +1 -1
  115. package/dist/features/parameters/common/widget/parameter-line-slider.js +1 -1
  116. package/dist/features/parameters/dynamic-margin-calculation/dynamic-margin-calculation-form.js +1 -1
  117. package/dist/features/parameters/dynamic-margin-calculation/dynamic-margin-calculation-inline.js +1 -1
  118. package/dist/features/parameters/dynamic-margin-calculation/loads-variations-parameters.js +1 -1
  119. package/dist/features/parameters/dynamic-margin-calculation/use-dynamic-margin-calculation-parameters-form.js +1 -1
  120. package/dist/features/parameters/dynamic-security-analysis/contingency-parameters.js +1 -1
  121. package/dist/features/parameters/dynamic-security-analysis/dynamic-security-analysis-inline.js +1 -1
  122. package/dist/features/parameters/dynamic-security-analysis/dynamic-security-analysis-parameters-form.js +1 -1
  123. package/dist/features/parameters/dynamic-security-analysis/use-dynamic-security-analysis-parameters-form.js +1 -1
  124. package/dist/features/parameters/dynamic-simulation/dynamic-simulation-inline.js +1 -1
  125. package/dist/features/parameters/dynamic-simulation/dynamic-simulation-parameters-form.js +1 -1
  126. package/dist/features/parameters/dynamic-simulation/mapping/mapping-parameters-utils.js +1 -1
  127. package/dist/features/parameters/dynamic-simulation/mapping/mapping-parameters.js +1 -1
  128. package/dist/features/parameters/dynamic-simulation/use-dynamic-simulation-parameters-form.js +1 -1
  129. package/dist/features/parameters/loadflow/load-flow-advanced-parameters.js +1 -1
  130. package/dist/features/parameters/loadflow/load-flow-general-parameters.js +1 -1
  131. package/dist/features/parameters/loadflow/load-flow-parameters-content.js +1 -1
  132. package/dist/features/parameters/loadflow/load-flow-parameters-dialog.js +1 -1
  133. package/dist/features/parameters/loadflow/load-flow-parameters-header.js +1 -1
  134. package/dist/features/parameters/loadflow/load-flow-parameters-inline.js +1 -1
  135. package/dist/features/parameters/loadflow/load-flow-parameters-utils.js +1 -1
  136. package/dist/features/parameters/loadflow/load-flow-provider-specific-parameters.js +1 -1
  137. package/dist/features/parameters/loadflow/use-load-flow-parameters-form.js +1 -1
  138. package/dist/features/parameters/network-visualizations/map-parameters.js +1 -1
  139. package/dist/features/parameters/network-visualizations/network-area-diagram-parameters.js +1 -1
  140. package/dist/features/parameters/network-visualizations/network-visualizations-form.js +1 -1
  141. package/dist/features/parameters/network-visualizations/network-visualizations-parameters-dialog.js +1 -1
  142. package/dist/features/parameters/network-visualizations/network-visualizations-parameters-inline.js +1 -1
  143. package/dist/features/parameters/network-visualizations/single-line-diagram-parameters.js +1 -1
  144. package/dist/features/parameters/network-visualizations/use-network-visualizations-parameters-form.js +1 -1
  145. package/dist/features/parameters/pcc-min/pcc-min-form-utils.js +1 -1
  146. package/dist/features/parameters/pcc-min/pcc-min-parameters-dialog.js +1 -1
  147. package/dist/features/parameters/pcc-min/pcc-min-parameters-inline.js +1 -1
  148. package/dist/features/parameters/pcc-min/use-pcc-min-parameters-form.js +1 -1
  149. package/dist/features/parameters/security-analysis/columns-definitions.js +1 -1
  150. package/dist/features/parameters/security-analysis/security-analysis-parameters-content.js +1 -1
  151. package/dist/features/parameters/security-analysis/security-analysis-parameters-dialog.js +1 -1
  152. package/dist/features/parameters/security-analysis/security-analysis-parameters-form.js +1 -1
  153. package/dist/features/parameters/security-analysis/security-analysis-parameters-inline.js +1 -1
  154. package/dist/features/parameters/security-analysis/security-analysis-parameters-utils.js +1 -1
  155. package/dist/features/parameters/security-analysis/security-analysis-violations-hiding.js +1 -1
  156. package/dist/features/parameters/security-analysis/use-security-analysis-parameters-form.js +1 -1
  157. package/dist/features/parameters/sensi/columns-definitions.js +1 -1
  158. package/dist/features/parameters/sensi/sensitivity-analysis-parameters-dialog.js +1 -1
  159. package/dist/features/parameters/sensi/sensitivity-analysis-parameters-form.js +1 -1
  160. package/dist/features/parameters/sensi/sensitivity-analysis-parameters-inline.js +1 -1
  161. package/dist/features/parameters/sensi/sensitivity-parameters-fields.js +1 -1
  162. package/dist/features/parameters/sensi/sensitivity-parameters-selector.js +1 -1
  163. package/dist/features/parameters/sensi/use-sensitivity-analysis-parameters.js +1 -1
  164. package/dist/features/parameters/sensi/utils.js +1 -1
  165. package/dist/features/parameters/short-circuit/short-circuit-general-tab-panel.js +1 -1
  166. package/dist/features/parameters/short-circuit/short-circuit-icc-cluster-table-cell.js +1 -1
  167. package/dist/features/parameters/short-circuit/short-circuit-icc-material-table-cell.js +1 -1
  168. package/dist/features/parameters/short-circuit/short-circuit-parameters-content.js +1 -1
  169. package/dist/features/parameters/short-circuit/short-circuit-parameters-dialog.js +1 -1
  170. package/dist/features/parameters/short-circuit/short-circuit-parameters-inline.js +1 -1
  171. package/dist/features/parameters/short-circuit/short-circuit-parameters-utils.js +1 -1
  172. package/dist/features/parameters/short-circuit/short-circuit-power-electronics-tab-panel.js +1 -1
  173. package/dist/features/parameters/short-circuit/short-circuit-study-area-tab-panel.js +1 -1
  174. package/dist/features/parameters/short-circuit/use-short-circuit-parameters-form.js +1 -1
  175. package/dist/features/parameters/voltage-init/equipment-selection-parameters.js +1 -1
  176. package/dist/features/parameters/voltage-init/general-parameters.js +1 -1
  177. package/dist/features/parameters/voltage-init/use-voltage-init-parameters-form.js +1 -1
  178. package/dist/features/parameters/voltage-init/voltage-init-form-utils.js +1 -1
  179. package/dist/features/parameters/voltage-init/voltage-init-parameters-dialog.js +1 -1
  180. package/dist/features/parameters/voltage-init/voltage-init-parameters-form.js +1 -1
  181. package/dist/features/parameters/voltage-init/voltage-init-parameters-inline.js +1 -1
  182. package/dist/features/parameters/voltage-init/voltage-limits-parameters.js +1 -1
  183. package/dist/features/process-configs/common/process-config-modifications-edition.js +1 -1
  184. package/dist/features/process-configs/lf-process-config-edition-dialog.js +1 -1
  185. package/dist/features/process-configs/loadflow/lf-process-config-edition.js +1 -1
  186. package/dist/features/process-configs/loadflow/lf-process-config-edition.utils.js +1 -1
  187. package/dist/features/process-configs/process-config.utils.js +1 -1
  188. package/dist/features/process-configs/sa-process-config-edition-dialog.js +1 -1
  189. package/dist/features/process-configs/security-analysis/sa-process-config-edition.js +1 -1
  190. package/dist/features/process-configs/security-analysis/sa-process-config-edition.utils.js +1 -1
  191. package/dist/features/results/securityanalysis/security-analysis-result-nmk.js +1 -1
  192. package/dist/features/results/securityanalysis/security-analysis-table.js +1 -1
  193. package/dist/index.js +6 -5
  194. package/dist/services/index.js +1 -2
  195. package/dist/services/networkModification.d.ts +0 -1
  196. package/dist/services/networkModification.js +5 -10
  197. package/dist/translations/en/networkModificationsEn.d.ts +3 -0
  198. package/dist/translations/en/networkModificationsEn.js +4 -1
  199. package/dist/translations/fr/networkModificationsFr.d.ts +3 -0
  200. package/dist/translations/fr/networkModificationsFr.js +4 -1
  201. package/dist/utils/types/network-modification-metadata.d.ts +13 -1
  202. package/package.json +1 -1
@@ -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";
@@ -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";
@@ -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 { 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";
@@ -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";
@@ -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";
@@ -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";
@@ -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";
@@ -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 @@ 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";
@@ -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";
@@ -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";