fix edge reconnection
This commit is contained in:
@@ -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) => {
|
||||||
|
|||||||
Reference in New Issue
Block a user