Skip to content

Commit b1416e1

Browse files
authored
Revert changes made to useSpreadsheetEquipments to fix fetch count (#3198)
Signed-off-by: Hugo Marcellin <[email protected]>
1 parent 330f563 commit b1416e1

File tree

1 file changed

+19
-14
lines changed

1 file changed

+19
-14
lines changed

src/components/spreadsheet-view/spreadsheet/spreadsheet-content/hooks/use-spreadsheet-equipments.ts

Lines changed: 19 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -47,7 +47,7 @@ export const useSpreadsheetEquipments = (
4747
const currentRootNetworkUuid = useSelector((state: AppState) => state.currentRootNetworkUuid);
4848
const currentNode = useSelector((state: AppState) => state.currentTreeNode);
4949
const treeNodes = useSelector((state: AppState) => state.networkModificationTreeModel?.treeNodes);
50-
const [builtAliasedNodesIds, setBuiltAliasedNodesIds] = useState<UUID[]>([]);
50+
const [builtAliasedNodesIds, setBuiltAliasedNodesIds] = useState<UUID[]>();
5151
const [isFetching, setIsFetching] = useState<boolean>(false);
5252
const { fetchNodesEquipmentData } = useFetchEquipment(type);
5353

@@ -61,20 +61,25 @@ export const useSpreadsheetEquipments = (
6161
.filter((nodeAlias) => validAlias(nodeAlias))
6262
.map((nodeAlias) => nodeAlias.id);
6363
if (aliasedNodesIds.length > 0) {
64-
computedIds =
65-
treeNodes
66-
?.filter(
67-
(treeNode) =>
68-
aliasedNodesIds.includes(treeNode.id) &&
69-
(treeNode.type === NodeType.ROOT || isStatusBuilt(treeNode.data.globalBuildStatus))
70-
)
71-
.map((treeNode) => treeNode.id) ?? [];
64+
treeNodes?.forEach((treeNode) => {
65+
if (
66+
aliasedNodesIds.includes(treeNode.id) &&
67+
(treeNode.type === NodeType.ROOT || isStatusBuilt(treeNode.data.globalBuildStatus))
68+
) {
69+
computedIds.push(treeNode.id);
70+
}
71+
});
7272
}
73-
computedIds.sort((a, b) => a.localeCompare(b));
7473
// Because of treeNodes: update the state only on real values changes (to avoid multiple effects for the watchers)
75-
setBuiltAliasedNodesIds((prevState) =>
76-
JSON.stringify(prevState) !== JSON.stringify(computedIds) ? computedIds : prevState
77-
);
74+
setBuiltAliasedNodesIds((prevState) => {
75+
const currentIds = prevState;
76+
currentIds?.sort((a, b) => a.localeCompare(b));
77+
computedIds.sort((a, b) => a.localeCompare(b));
78+
if (JSON.stringify(currentIds) !== JSON.stringify(computedIds)) {
79+
return computedIds;
80+
}
81+
return prevState;
82+
});
7883
}, [nodeAliases, treeNodes]);
7984

8085
const nodesIdToFetch = useMemo(() => {
@@ -97,7 +102,7 @@ export const useSpreadsheetEquipments = (
97102

98103
// effect to unload equipment data when we remove an alias or unbuild an aliased node
99104
useEffect(() => {
100-
if (!equipments || !builtAliasedNodesIds.length || !currentNode?.id) {
105+
if (!equipments || !builtAliasedNodesIds?.length || !currentNode?.id) {
101106
return;
102107
}
103108
const currentNodeId = currentNode.id;

0 commit comments

Comments
 (0)