fix(nodes): unselect nodes on drag start
This commit is contained in:
@@ -49,6 +49,7 @@ useDrag({
|
|||||||
noDragClassName: $$(noDragClassName) as any,
|
noDragClassName: $$(noDragClassName) as any,
|
||||||
handleSelector: node.dragHandle,
|
handleSelector: node.dragHandle,
|
||||||
onStart(event) {
|
onStart(event) {
|
||||||
|
removeSelectedElements()
|
||||||
if (selectNodesOnDrag && selectable) {
|
if (selectNodesOnDrag && selectable) {
|
||||||
setState({
|
setState({
|
||||||
nodesSelectionActive: false,
|
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 }) {
|
onDrag(event, { dx, dy }) {
|
||||||
dragging = true
|
dragging = true
|
||||||
updateNodePosition({ id, diff: { x: dx, y: dy } })
|
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) {
|
onStop(event) {
|
||||||
dragging = false
|
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) => {
|
const removeSelectedElements: Actions['removeSelectedElements'] = (elements) => {
|
||||||
if (!elements) {
|
if (!elements) {
|
||||||
addSelectedNodes([])
|
removeSelectedNodes([])
|
||||||
addSelectedEdges([])
|
removeSelectedEdges([])
|
||||||
} else {
|
} else {
|
||||||
if (elements.nodes) removeSelectedNodes(elements.nodes.filter(isGraphNode))
|
if (elements.nodes) removeSelectedNodes(elements.nodes.filter(isGraphNode))
|
||||||
if (elements.edges) removeSelectedEdges(elements.edges.filter(isGraphEdge))
|
if (elements.edges) removeSelectedEdges(elements.edges.filter(isGraphEdge))
|
||||||
|
|||||||
Reference in New Issue
Block a user