chore(updateNodePositions): cleanup

This commit is contained in:
moklick
2025-02-25 10:57:17 +01:00
parent 0292ad2010
commit 8dd2b4f9e2
+6 -5
View File
@@ -152,10 +152,11 @@ const createStore = ({
updateNodePositions: (nodeDragItems, dragging = false) => { updateNodePositions: (nodeDragItems, dragging = false) => {
const parentExpandChildren: ParentExpandChild[] = []; const parentExpandChildren: ParentExpandChild[] = [];
const changes = []; const changes = [];
const { nodeLookup, triggerNodeChanges } = get();
for (const [id, dragItem] of nodeDragItems) { for (const [id, dragItem] of nodeDragItems) {
// we are using the nodelookup to be sure to use the current expandParent and parentId value // we are using the nodelookup to be sure to use the current expandParent and parentId value
const node = get().nodeLookup.get(id); const node = nodeLookup.get(id);
const expandParent = !!(node?.expandParent && node?.parentId && dragItem?.position); const expandParent = !!(node?.expandParent && node?.parentId && dragItem?.position);
const change: NodeChange = { const change: NodeChange = {
@@ -170,10 +171,10 @@ const createStore = ({
dragging, dragging,
}; };
if (expandParent) { if (expandParent && node.parentId) {
parentExpandChildren.push({ parentExpandChildren.push({
id, id,
parentId: node.parentId!, parentId: node.parentId,
rect: { rect: {
...dragItem.internals.positionAbsolute, ...dragItem.internals.positionAbsolute,
width: dragItem.measured.width!, width: dragItem.measured.width!,
@@ -186,12 +187,12 @@ const createStore = ({
} }
if (parentExpandChildren.length > 0) { if (parentExpandChildren.length > 0) {
const { nodeLookup, parentLookup, nodeOrigin } = get(); const { parentLookup, nodeOrigin } = get();
const parentExpandChanges = handleExpandParent(parentExpandChildren, nodeLookup, parentLookup, nodeOrigin); const parentExpandChanges = handleExpandParent(parentExpandChildren, nodeLookup, parentLookup, nodeOrigin);
changes.push(...parentExpandChanges); changes.push(...parentExpandChanges);
} }
get().triggerNodeChanges(changes); triggerNodeChanges(changes);
}, },
triggerNodeChanges: (changes) => { triggerNodeChanges: (changes) => {
const { onNodesChange, setNodes, nodes, hasDefaultNodes, debug } = get(); const { onNodesChange, setNodes, nodes, hasDefaultNodes, debug } = get();