From 86306973a12112c543c32d14dc239ceddcd60ca7 Mon Sep 17 00:00:00 2001 From: Andy Krings-Stern Date: Mon, 22 Nov 2021 11:31:13 +0000 Subject: [PATCH] fix node not being selected before dragging --- .../core/src/events/DefaultEventHandlers.ts | 17 ++++++++++++++++- 1 file changed, 16 insertions(+), 1 deletion(-) diff --git a/packages/core/src/events/DefaultEventHandlers.ts b/packages/core/src/events/DefaultEventHandlers.ts index d82606850..ee9a0b16a 100644 --- a/packages/core/src/events/DefaultEventHandlers.ts +++ b/packages/core/src/events/DefaultEventHandlers.ts @@ -191,7 +191,22 @@ export class DefaultEventHandlers extends CoreEventHandlers< e.craft.stopPropagation(); const { query, actions } = store; - const selectedElementIds = query.getEvent('selected').all(); + + let selectedElementIds = query.getEvent('selected').all(); + + const isMultiSelect = this.options.isMultiSelectEnabled(e); + const isNodeAlreadySelected = this.currentSelectedElementIds.includes( + id + ); + + if (!isNodeAlreadySelected) { + if (isMultiSelect) { + selectedElementIds = [...selectedElementIds, id]; + } else { + selectedElementIds = [id]; + } + store.actions.setNodeEvent('selected', selectedElementIds); + } actions.setNodeEvent('dragged', selectedElementIds);