fix(nodes): unselect nodes on drag start

This commit is contained in:
Braks
2022-05-27 23:36:01 +02:00
parent fe6114c738
commit 660c0bceab
2 changed files with 6 additions and 5 deletions
@@ -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: [] })
}, },
}) })
+2 -2
View File
@@ -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))