diff --git a/packages/core/src/composables/useUpdateNodePositions.ts b/packages/core/src/composables/useUpdateNodePositions.ts index 220a622f..9046b5d1 100644 --- a/packages/core/src/composables/useUpdateNodePositions.ts +++ b/packages/core/src/composables/useUpdateNodePositions.ts @@ -1,4 +1,4 @@ -import type { NodeDragItem, SnapGrid, XYPosition } from '~/types' +import type { NodeDragItem, XYPosition } from '~/types' function useUpdateNodePositions() { const { getSelectedNodes, nodeExtent, updateNodePositions, findNode, snapGrid, snapToGrid } = useVueFlow() @@ -13,24 +13,18 @@ function useUpdateNodePositions() { const positionDiffX = positionDiff.x * xVelo * factor const positionDiffY = positionDiff.y * yVelo * factor - const nodeUpdates = getSelectedNodes.value.flatMap((n) => { - if (n.computedPosition) { - const nextPosition = { x: n.computedPosition.x + positionDiffX, y: n.computedPosition.y + positionDiffY } + const nodeUpdates = getSelectedNodes.value.map((n) => { + const nextPosition = { x: n.computedPosition.x + positionDiffX, y: n.computedPosition.y + positionDiffY } - const updatedPos = calcNextPosition(n, nextPosition, nodeExtent.value, n.parentNode ? findNode(n.parentNode) : undefined) + const updatedPos = calcNextPosition(n, nextPosition, nodeExtent.value, n.parentNode ? findNode(n.parentNode) : undefined) - return [ - { - id: n.id, - position: updatedPos.position, - from: n.position, - distance: { x: positionDiff.x, y: positionDiff.y }, - dimensions: n.dimensions, - }, - ] as NodeDragItem[] - } - - return [] + return { + id: n.id, + position: updatedPos.position, + from: n.position, + distance: { x: positionDiff.x, y: positionDiff.y }, + dimensions: n.dimensions, + } as NodeDragItem }) updateNodePositions(nodeUpdates, true, false)