refactor(system): getElementsToRemove returns unique edge items

This commit is contained in:
moklick
2023-11-16 13:23:55 +01:00
parent c4cca8b30d
commit 4849c90cbd

View File

@@ -312,7 +312,13 @@ export function getElementsToRemove<NodeType extends NodeBase = NodeBase, EdgeTy
const deletableEdges = edges.filter((e) => (typeof e.deletable === 'boolean' ? e.deletable : true));
const initialHitEdges = deletableEdges.filter((e) => edgeIds.includes(e.id));
const connectedEdges = getConnectedEdgesBase<NodeType, EdgeType>(matchingNodes, deletableEdges);
const matchingEdges = [...initialHitEdges, ...connectedEdges];
const matchingEdges = connectedEdges.reduce((res, edge) => {
if (!res.find((e) => e.id === edge.id)) {
res.push(edge);
}
return res;
}, initialHitEdges);
return {
matchingEdges,