From a00a6385b7ae93c54a68b398a399c87a8bf5bc2e Mon Sep 17 00:00:00 2001 From: peterkogo Date: Tue, 19 Aug 2025 15:31:22 +0200 Subject: [PATCH] fix edge reconnection --- .../EdgeReconnectAnchor/EdgeReconnectAnchor.svelte | 12 +++++++----- 1 file changed, 7 insertions(+), 5 deletions(-) diff --git a/packages/svelte/src/lib/components/EdgeReconnectAnchor/EdgeReconnectAnchor.svelte b/packages/svelte/src/lib/components/EdgeReconnectAnchor/EdgeReconnectAnchor.svelte index d18bc2e8..81f0ab2d 100644 --- a/packages/svelte/src/lib/components/EdgeReconnectAnchor/EdgeReconnectAnchor.svelte +++ b/packages/svelte/src/lib/components/EdgeReconnectAnchor/EdgeReconnectAnchor.svelte @@ -50,7 +50,6 @@ edgeLookup } = store; - let newEdge: Edge | undefined; let edge = edgeLookup.get(edgeId)!; const _onConnectStart: OnConnectStart = (evt, params) => { @@ -86,13 +85,16 @@ onConnectStart: _onConnectStart, onConnectEnd: onconnectend, onConnect: (connection) => { - newEdge = { ...edge, ...connection }; - newEdge = onbeforereconnect ? (onbeforereconnect(newEdge, edge) ?? undefined) : newEdge; + const reconnectedEdge = { ...edge, ...connection }; + const newEdge = onbeforereconnect + ? onbeforereconnect(reconnectedEdge, edge) + : reconnectedEdge; - if (newEdge) { - store.edges = store.edges.map((e) => (e.id === edge.id ? (newEdge as Edge) : e)); + if (!newEdge) { + return; } + store.edges = store.edges.map((e) => (e.id === edge.id ? (newEdge as Edge) : e)); onreconnect?.(edge, connection); }, onReconnectEnd: (event, connectionState) => {