Skip to content

Commit e57f22c

Browse files
committed
fix(core): correct pane pointer evt handlers (#1505)
1 parent a52ac6e commit e57f22c

File tree

1 file changed

+14
-30
lines changed
  • packages/core/src/container/Pane

1 file changed

+14
-30
lines changed

packages/core/src/container/Pane/Pane.vue

Lines changed: 14 additions & 30 deletions
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@
22
import { ref, toRef, watch } from 'vue'
33
import UserSelection from '../../components/UserSelection/UserSelection.vue'
44
import NodesSelection from '../../components/NodesSelection/NodesSelection.vue'
5-
import { type GraphNode, SelectionMode } from '../../types'
5+
import { SelectionMode } from '../../types'
66
import { useKeyPress, useVueFlow } from '../../composables'
77
import { getConnectedEdges, getNodesInside } from '../../utils'
88
import { getMousePosition } from './utils'
@@ -54,28 +54,11 @@ watch(deleteKeyPressed, (isKeyPressed) => {
5454
return
5555
}
5656
57-
const nodesToRemove: GraphNode[] = []
58-
for (const node of getNodes.value) {
59-
if (!node.selected && node.parentNode && nodesToRemove.some((n) => n.id === node.parentNode)) {
60-
nodesToRemove.push(node)
61-
} else if (node.selected) {
62-
nodesToRemove.push(node)
63-
}
64-
}
65-
66-
if (nodesToRemove || getSelectedEdges.value) {
67-
if (getSelectedEdges.value.length > 0) {
68-
removeEdges(getSelectedEdges.value)
69-
}
57+
removeNodes(getSelectedNodes.value)
7058
71-
if (nodesToRemove.length > 0) {
72-
removeNodes(nodesToRemove)
73-
}
59+
removeEdges(getSelectedEdges.value)
7460
75-
nodesSelectionActive.value = false
76-
77-
removeSelectedElements()
78-
}
61+
nodesSelectionActive.value = false
7962
})
8063
8164
watch(multiSelectKeyPressed, (isKeyPressed) => {
@@ -125,17 +108,14 @@ function onWheel(event: WheelEvent) {
125108
}
126109
127110
function onPointerDown(event: PointerEvent) {
111+
if (!hasActiveSelection.value) {
112+
return emits.paneMouseMove(event)
113+
}
114+
128115
containerBounds.value = vueFlowRef.value?.getBoundingClientRect()
129116
container.value?.setPointerCapture(event.pointerId)
130117
131-
if (
132-
!hasActiveSelection.value ||
133-
!elementsSelectable ||
134-
!isSelecting ||
135-
event.button !== 0 ||
136-
event.target !== container.value ||
137-
!containerBounds.value
138-
) {
118+
if (!elementsSelectable || !isSelecting || event.button !== 0 || event.target !== container.value || !containerBounds.value) {
139119
return
140120
}
141121
@@ -198,12 +178,16 @@ function onPointerMove(event: PointerEvent) {
198178
}
199179
200180
function onPointerUp(event: PointerEvent) {
201-
if (!hasActiveSelection.value || event.button !== 0) {
181+
if (event.button !== 0) {
202182
return
203183
}
204184
205185
container.value?.releasePointerCapture(event.pointerId)
206186
187+
if (!hasActiveSelection.value) {
188+
return
189+
}
190+
207191
// We only want to trigger click functions when in selection mode if
208192
// the user did not move the mouse.
209193
if (!userSelectionActive.value && userSelectionRect.value && event.target === container.value) {

0 commit comments

Comments
 (0)