refactor(core): make it possible to batch changes

This commit is contained in:
moklick
2022-12-01 20:28:37 +01:00
parent f106feb9a9
commit b511b15ef8
5 changed files with 67 additions and 44 deletions
+13 -2
View File
@@ -102,7 +102,12 @@ const createRFStore = () =>
onNodesChange?.(changes);
}
},
updateNodePositions: (nodeDragItems: NodeDragItem[] | Node[], positionChanged = true, dragging = false) => {
updateNodePositions: (
nodeDragItems: NodeDragItem[] | Node[],
positionChanged = true,
dragging = false,
applyChanges = true
) => {
const { onNodesChange, nodeInternals, hasDefaultNodes, nodeOrigin } = get();
if (hasDefaultNodes || onNodesChange) {
@@ -128,9 +133,15 @@ const createRFStore = () =>
set({ nodeInternals: nextNodeInternals });
}
onNodesChange?.(changes);
if (applyChanges) {
onNodesChange?.(changes);
}
}
return changes;
}
return null;
},
addSelectedNodes: (selectedNodeIds: string[]) => {
const { multiSelectionActive, nodeInternals, edges } = get();