From 9a5b5465b69b1a343d8332d4d49533f206c887f7 Mon Sep 17 00:00:00 2001 From: Braks <78412429+bcakmakoglu@users.noreply.github.com> Date: Mon, 18 Apr 2022 21:07:33 +0200 Subject: [PATCH] regression(edges): Edge update also triggering new connection # What's changed? * Fix edge update causing double connections * Fix updateEdge utility adding two edges on update --- package/src/composables/useHandle.ts | 4 ++-- package/src/utils/graph.ts | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/package/src/composables/useHandle.ts b/package/src/composables/useHandle.ts index aafac376..42695bf5 100644 --- a/package/src/composables/useHandle.ts +++ b/package/src/composables/useHandle.ts @@ -160,8 +160,8 @@ export default (store: Store = useVueFlow().store) => { const isOwnHandle = connection.source === connection.target if (isValid && !isOwnHandle) { - store.hooks.connect.trigger(connection) - onEdgeUpdate?.(connection) + if (!onEdgeUpdate) store.hooks.connect.trigger(connection) + else onEdgeUpdate(connection) } store.hooks.connectEnd.trigger(event) diff --git a/package/src/utils/graph.ts b/package/src/utils/graph.ts index dff6ecc2..28cec4a6 100644 --- a/package/src/utils/graph.ts +++ b/package/src/utils/graph.ts @@ -195,7 +195,7 @@ export const updateEdge = (oldEdge: Edge, newConnection: Connection, elements: E targetHandle: newConnection.targetHandle, } elements.splice(elements.indexOf(foundEdge), 1, edge) - return elements.filter((e) => e.id !== oldEdge.id).concat(edge) + return elements.filter((e) => e.id !== oldEdge.id) } export const pointToRendererPoint = (