From f617616dc9e9647c99c48fdb38a090c2d46390a2 Mon Sep 17 00:00:00 2001 From: moklick Date: Tue, 25 Nov 2025 11:01:27 +0100 Subject: [PATCH] chore(xyhandle): cleanup --- packages/react/src/store/index.ts | 10 +++++----- packages/svelte/src/lib/store/index.ts | 14 ++++++++------ packages/system/src/xyhandle/XYHandle.ts | 16 +++++++++------- 3 files changed, 22 insertions(+), 18 deletions(-) diff --git a/packages/react/src/store/index.ts b/packages/react/src/store/index.ts index baef953c..d6ff3b60 100644 --- a/packages/react/src/store/index.ts +++ b/packages/react/src/store/index.ts @@ -190,16 +190,16 @@ const createStore = ({ type: 'position', position: expandParent ? { - x: Math.max(0, dragItem.position.x), - y: Math.max(0, dragItem.position.y), - } + x: Math.max(0, dragItem.position.x), + y: Math.max(0, dragItem.position.y), + } : dragItem.position, dragging, }; - if (node && connection.inProgress && connection.fromNode.id == node.id) { + if (node && connection.inProgress && connection.fromNode.id === node.id) { const updatedFrom = getHandlePosition(node, connection.fromHandle, Position.Left, true); - updateConnection({...connection,from: updatedFrom}) + updateConnection({ ...connection, from: updatedFrom }); } if (expandParent && node.parentId) { diff --git a/packages/svelte/src/lib/store/index.ts b/packages/svelte/src/lib/store/index.ts index 4619a27e..30bcafc1 100644 --- a/packages/svelte/src/lib/store/index.ts +++ b/packages/svelte/src/lib/store/index.ts @@ -52,13 +52,15 @@ export function createStore { - store.nodes = store.nodes.map((node) => { + store.nodes = store.nodes.map((node) => { if (store.connection.inProgress && store.connection.fromNode.id === node.id) { - - store.connection = { - ...store.connection, - from: getHandlePosition(store.nodeLookup.get(node.id), store.connection.fromHandle, Position.Left, true) - }; + const internalNode = store.nodeLookup.get(node.id); + if (internalNode) { + store.connection = { + ...store.connection, + from: getHandlePosition(internalNode, store.connection.fromHandle, Position.Left, true) + }; + } } const dragItem = nodeDragItems.get(node.id); return dragItem ? { ...node, position: dragItem.position, dragging } : node; diff --git a/packages/system/src/xyhandle/XYHandle.ts b/packages/system/src/xyhandle/XYHandle.ts index 40d04dff..b8edf767 100644 --- a/packages/system/src/xyhandle/XYHandle.ts +++ b/packages/system/src/xyhandle/XYHandle.ts @@ -93,8 +93,8 @@ function onPointerDown( position: fromHandleInternal.position, }; - const fromNodeInternal = nodeLookup.get(nodeId)!; - const from = getHandlePosition(fromNodeInternal, fromHandle, Position.Left, true); + const fromInternalNode = nodeLookup.get(nodeId)!; + const from = getHandlePosition(fromInternalNode, fromHandle, Position.Left, true); let previousConnection: ConnectionInProgress = { inProgress: true, @@ -103,7 +103,7 @@ function onPointerDown( from, fromHandle, fromPosition: fromHandle.position, - fromNode: fromNodeInternal, + fromNode: fromInternalNode, to: position, toHandle: null, @@ -171,11 +171,13 @@ function onPointerDown( resultHandleDomNode = result.handleDomNode; connection = result.connection; isValid = isConnectionValid(!!closestHandle, result.isValid); - - const fromNodeInternal = nodeLookup.get(nodeId)!; - const from = getHandlePosition(fromNodeInternal, fromHandle, Position.Left, true); - const newConnection: ConnectionInProgress = { + const fromInternalNode = nodeLookup.get(nodeId); + const from = fromInternalNode + ? getHandlePosition(fromInternalNode, fromHandle, Position.Left, true) + : previousConnection.from; + + const newConnection: ConnectionInProgress = { ...previousConnection, from, isValid,