fix edge reconnection

This commit is contained in:
peterkogo
2025-08-19 15:31:22 +02:00
parent 100c95fd5a
commit a00a6385b7
@@ -50,7 +50,6 @@
edgeLookup edgeLookup
} = store; } = store;
let newEdge: Edge | undefined;
let edge = edgeLookup.get(edgeId)!; let edge = edgeLookup.get(edgeId)!;
const _onConnectStart: OnConnectStart = (evt, params) => { const _onConnectStart: OnConnectStart = (evt, params) => {
@@ -86,13 +85,16 @@
onConnectStart: _onConnectStart, onConnectStart: _onConnectStart,
onConnectEnd: onconnectend, onConnectEnd: onconnectend,
onConnect: (connection) => { onConnect: (connection) => {
newEdge = { ...edge, ...connection }; const reconnectedEdge = { ...edge, ...connection };
newEdge = onbeforereconnect ? (onbeforereconnect(newEdge, edge) ?? undefined) : newEdge; const newEdge = onbeforereconnect
? onbeforereconnect(reconnectedEdge, edge)
: reconnectedEdge;
if (newEdge) { if (!newEdge) {
store.edges = store.edges.map((e) => (e.id === edge.id ? (newEdge as Edge) : e)); return;
} }
store.edges = store.edges.map((e) => (e.id === edge.id ? (newEdge as Edge) : e));
onreconnect?.(edge, connection); onreconnect?.(edge, connection);
}, },
onReconnectEnd: (event, connectionState) => { onReconnectEnd: (event, connectionState) => {