From ddac5b0e58cb67f08bf10f4190a9012428c7bb00 Mon Sep 17 00:00:00 2001 From: Braks <78412429+bcakmakoglu@users.noreply.github.com> Date: Sun, 22 May 2022 18:56:39 +0200 Subject: [PATCH] fix(vue-flow,nodes): unselect nodes on click when multi selection active --- packages/vue-flow/src/components/Nodes/NodeWrapper.vue | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) diff --git a/packages/vue-flow/src/components/Nodes/NodeWrapper.vue b/packages/vue-flow/src/components/Nodes/NodeWrapper.vue index 52654dbd..8569699a 100644 --- a/packages/vue-flow/src/components/Nodes/NodeWrapper.vue +++ b/packages/vue-flow/src/components/Nodes/NodeWrapper.vue @@ -35,6 +35,7 @@ const { addSelectedNodes, multiSelectionActive, resetSelectedElements, + getSelectedNodes, } = $(useVueFlow()) const node = $computed(() => getNode(id)!) @@ -163,7 +164,13 @@ const onSelectNode = (event: MouseEvent) => { nodesSelectionActive: false, }) - if (!node.selected) addSelectedNodes([node]) + if (!node.selected) { + addSelectedNodes([node]) + } else if (node.selected && multiSelectionActive) { + // todo add action to unselect nodes/edges easily + getSelectedNodes.splice(getSelectedNodes.indexOf(node), 1) + node.selected = false + } } emits.nodeClick({ event, node, connectedEdges: getConnectedEdges([node], edges) }) }