fix(nodes): unselect nodes on drag start
This commit is contained in:
@@ -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: [] })
|
||||
},
|
||||
})
|
||||
|
||||
|
||||
@@ -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))
|
||||
|
||||
Reference in New Issue
Block a user