From 0feda9144665a92c562c35fd379a852e2ecdbf21 Mon Sep 17 00:00:00 2001 From: moklick Date: Mon, 18 Dec 2023 17:21:14 +0100 Subject: [PATCH] refactor(react): do not set selections for all nodes/edges --- packages/react/src/utils/changes.ts | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/packages/react/src/utils/changes.ts b/packages/react/src/utils/changes.ts index 91209e11..52db313b 100644 --- a/packages/react/src/utils/changes.ts +++ b/packages/react/src/utils/changes.ts @@ -166,7 +166,8 @@ export function getSelectionChanges( for (const item of items) { const willBeSelected = selectedIds.has(item.id); - if (item.selected !== willBeSelected) { + // we don't want to set all items to selected=false on the first selection + if (!(item.selected === undefined && !willBeSelected) && item.selected !== willBeSelected) { if (mutateItem) { // this hack is needed for nodes. When the user dragged a node, it's selected. // When another node gets dragged, we need to deselect the previous one,