Fix mouse leave deselecting nodes
This commit is contained in:
parent
6f985fd55b
commit
36fa4ece65
1 changed files with 3 additions and 3 deletions
|
@ -19,7 +19,7 @@
|
||||||
@touchstart="(e: TouchEvent) => mouseDown(e)"
|
@touchstart="(e: TouchEvent) => mouseDown(e)"
|
||||||
@mouseup="() => endDragging(unref(draggingNode))"
|
@mouseup="() => endDragging(unref(draggingNode))"
|
||||||
@touchend.passive="() => endDragging(unref(draggingNode))"
|
@touchend.passive="() => endDragging(unref(draggingNode))"
|
||||||
@mouseleave="() => endDragging(unref(draggingNode))"
|
@mouseleave="() => endDragging(unref(draggingNode), true)"
|
||||||
>
|
>
|
||||||
<svg class="stage" width="100%" height="100%">
|
<svg class="stage" width="100%" height="100%">
|
||||||
<g class="g1">
|
<g class="g1">
|
||||||
|
@ -223,7 +223,7 @@ function drag(e: MouseEvent | TouchEvent) {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
function endDragging(node: BoardNode | null) {
|
function endDragging(node: BoardNode | null, mouseLeave = false) {
|
||||||
if (props.draggingNode.value != null && props.draggingNode.value === node) {
|
if (props.draggingNode.value != null && props.draggingNode.value === node) {
|
||||||
if (props.receivingNode.value == null) {
|
if (props.receivingNode.value == null) {
|
||||||
props.draggingNode.value.position.x += Math.round(dragged.value.x / 25) * 25;
|
props.draggingNode.value.position.x += Math.round(dragged.value.x / 25) * 25;
|
||||||
|
@ -241,7 +241,7 @@ function endDragging(node: BoardNode | null) {
|
||||||
}
|
}
|
||||||
|
|
||||||
props.setDraggingNode.value(null);
|
props.setDraggingNode.value(null);
|
||||||
} else if (!hasDragged.value) {
|
} else if (!hasDragged.value && !mouseLeave) {
|
||||||
props.state.value.selectedNode = null;
|
props.state.value.selectedNode = null;
|
||||||
props.state.value.selectedAction = null;
|
props.state.value.selectedAction = null;
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in a new issue