Skip to content

Commit 2b0b626

Browse files
authored
fix node not being selected before dragging (#348)
1 parent 1e47094 commit 2b0b626

File tree

1 file changed

+16
-1
lines changed

1 file changed

+16
-1
lines changed

packages/core/src/events/DefaultEventHandlers.ts

Lines changed: 16 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -191,7 +191,22 @@ export class DefaultEventHandlers<O = {}> extends CoreEventHandlers<
191191
e.craft.stopPropagation();
192192

193193
const { query, actions } = store;
194-
const selectedElementIds = query.getEvent('selected').all();
194+
195+
let selectedElementIds = query.getEvent('selected').all();
196+
197+
const isMultiSelect = this.options.isMultiSelectEnabled(e);
198+
const isNodeAlreadySelected = this.currentSelectedElementIds.includes(
199+
id
200+
);
201+
202+
if (!isNodeAlreadySelected) {
203+
if (isMultiSelect) {
204+
selectedElementIds = [...selectedElementIds, id];
205+
} else {
206+
selectedElementIds = [id];
207+
}
208+
store.actions.setNodeEvent('selected', selectedElementIds);
209+
}
195210

196211
actions.setNodeEvent('dragged', selectedElementIds);
197212

0 commit comments

Comments
 (0)