Skip to content

Commit 02c2d5e

Browse files
authored
fix(editor): Override selected nodes on single click without Meta/Ctrl key (#12549)
1 parent 92d3de2 commit 02c2d5e

File tree

1 file changed

+16
-1
lines changed
  • packages/editor-ui/src/components/canvas

1 file changed

+16
-1
lines changed

Diff for: packages/editor-ui/src/components/canvas/Canvas.vue

+16-1
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,13 @@ import type {
66
CanvasEventBusEvents,
77
ConnectStartEvent,
88
} from '@/types';
9-
import type { Connection, XYPosition, NodeDragEvent, GraphNode } from '@vue-flow/core';
9+
import type {
10+
Connection,
11+
XYPosition,
12+
NodeDragEvent,
13+
NodeMouseEvent,
14+
GraphNode,
15+
} from '@vue-flow/core';
1016
import { useVueFlow, VueFlow, PanelPosition, MarkerType } from '@vue-flow/core';
1117
import { MiniMap } from '@vue-flow/minimap';
1218
import Node from './elements/nodes/CanvasNode.vue';
@@ -272,6 +278,14 @@ function onNodeDragStop(event: NodeDragEvent) {
272278
onUpdateNodesPosition(event.nodes.map(({ id, position }) => ({ id, position })));
273279
}
274280
281+
function onNodeClick({ event, node }: NodeMouseEvent) {
282+
if (event.ctrlKey || event.metaKey || selectedNodes.value.length < 2) {
283+
return;
284+
}
285+
286+
onSelectNodes({ ids: [node.id] });
287+
}
288+
275289
function onSelectionDragStop(event: NodeDragEvent) {
276290
onUpdateNodesPosition(event.nodes.map(({ id, position }) => ({ id, position })));
277291
}
@@ -676,6 +690,7 @@ provide(CanvasKey, {
676690
@move-start="onPaneMoveStart"
677691
@move-end="onPaneMoveEnd"
678692
@node-drag-stop="onNodeDragStop"
693+
@node-click="onNodeClick"
679694
@selection-drag-stop="onSelectionDragStop"
680695
@dragover="onDragOver"
681696
@drop="onDrop"

0 commit comments

Comments
 (0)