From 660c0bceab937c89e4444ce80b0f9006276afdfa Mon Sep 17 00:00:00 2001 From: Braks <78412429+bcakmakoglu@users.noreply.github.com> Date: Fri, 27 May 2022 18:59:08 +0200 Subject: [PATCH] fix(nodes): unselect nodes on drag start --- packages/vue-flow/src/components/Nodes/NodeWrapper.vue | 7 ++++--- packages/vue-flow/src/store/actions.ts | 4 ++-- 2 files changed, 6 insertions(+), 5 deletions(-) diff --git a/packages/vue-flow/src/components/Nodes/NodeWrapper.vue b/packages/vue-flow/src/components/Nodes/NodeWrapper.vue index ad06e6a4..3f85cc94 100644 --- a/packages/vue-flow/src/components/Nodes/NodeWrapper.vue +++ b/packages/vue-flow/src/components/Nodes/NodeWrapper.vue @@ -49,6 +49,7 @@ useDrag({ noDragClassName: $$(noDragClassName) as any, handleSelector: node.dragHandle, onStart(event) { + removeSelectedElements() if (selectNodesOnDrag && selectable) { setState({ nodesSelectionActive: false, @@ -68,16 +69,16 @@ useDrag({ } } - emits.nodeDragStart({ event: event.sourceEvent, node, connectedEdges: getConnectedEdges([node], edges) }) + emits.nodeDragStart({ event: event.sourceEvent, node, nodes: [] }) }, onDrag(event, { dx, dy }) { dragging = true updateNodePosition({ id, diff: { x: dx, y: dy } }) - emits.nodeDrag({ event: event.sourceEvent, node, connectedEdges: getConnectedEdges([node], edges) }) + emits.nodeDrag({ event: event.sourceEvent, node, nodes: [] }) }, onStop(event) { dragging = false - emits.nodeDragStop({ event: event.sourceEvent, node, connectedEdges: getConnectedEdges([node], edges) }) + emits.nodeDragStop({ event: event.sourceEvent, node, nodes: [] }) }, }) diff --git a/packages/vue-flow/src/store/actions.ts b/packages/vue-flow/src/store/actions.ts index a67d31fe..71bdc01e 100644 --- a/packages/vue-flow/src/store/actions.ts +++ b/packages/vue-flow/src/store/actions.ts @@ -129,8 +129,8 @@ export default (state: State, getters: ComputedGetters): Actions => { const removeSelectedElements: Actions['removeSelectedElements'] = (elements) => { if (!elements) { - addSelectedNodes([]) - addSelectedEdges([]) + removeSelectedNodes([]) + removeSelectedEdges([]) } else { if (elements.nodes) removeSelectedNodes(elements.nodes.filter(isGraphNode)) if (elements.edges) removeSelectedEdges(elements.edges.filter(isGraphEdge))