From 49b27807401ef1f54a37c8b5d16df4517dcba6df Mon Sep 17 00:00:00 2001 From: Braks <78412429+bcakmakoglu@users.noreply.github.com> Date: Fri, 28 Feb 2025 08:52:02 +0100 Subject: [PATCH] fix(core): prevent pane click event when connection is in progress (#1776) * fix(core): prevent pane click event when connection is in progress Signed-off-by: braks <78412429+bcakmakoglu@users.noreply.github.com> * chore(changeset): add Signed-off-by: braks <78412429+bcakmakoglu@users.noreply.github.com> --------- Signed-off-by: braks <78412429+bcakmakoglu@users.noreply.github.com> --- .changeset/shaggy-penguins-invite.md | 5 +++++ packages/core/src/container/Pane/Pane.vue | 5 ++++- 2 files changed, 9 insertions(+), 1 deletion(-) create mode 100644 .changeset/shaggy-penguins-invite.md diff --git a/.changeset/shaggy-penguins-invite.md b/.changeset/shaggy-penguins-invite.md new file mode 100644 index 00000000..bfc28607 --- /dev/null +++ b/.changeset/shaggy-penguins-invite.md @@ -0,0 +1,5 @@ +--- +"@vue-flow/core": patch +--- + +Prevent pane click event when connection is in progress. diff --git a/packages/core/src/container/Pane/Pane.vue b/packages/core/src/container/Pane/Pane.vue index 35936554..621b36c3 100644 --- a/packages/core/src/container/Pane/Pane.vue +++ b/packages/core/src/container/Pane/Pane.vue @@ -32,6 +32,7 @@ const { nodeLookup, connectionLookup, defaultEdgeOptions, + connectionStartHandle, } = useVueFlow() const container = ref(null) @@ -44,6 +45,8 @@ const containerBounds = ref() const hasActiveSelection = toRef(() => elementsSelectable.value && (isSelecting || userSelectionActive.value)) +const connectionInProgress = toRef(() => connectionStartHandle.value !== null) + // Used to prevent click events when the user lets go of the selectionKey during a selection let selectionInProgress = false let selectionStarted = false @@ -79,7 +82,7 @@ function wrapHandler(handler: Function, containerRef: HTMLDivElement | null) { } function onClick(event: MouseEvent) { - if (selectionInProgress) { + if (selectionInProgress || connectionInProgress) { selectionInProgress = false return }