Skip to content

Commit e495979

Browse files
committed
fix(multi-select): preserve anchor on range selection for tasks and folders
After a shift+click range, the anchor (lastSelectedTaskId / lastSelectedFolderId) was being updated to the end of the range (toId). This caused subsequent shift+clicks to extend from the wrong point instead of the original click. Standard behavior: anchor stays at the initial click (fromId) so repeated shift+clicks always expand/contract relative to where you started.
1 parent 8f6a048 commit e495979

1 file changed

Lines changed: 2 additions & 3 deletions

File tree

apps/sim/stores/folders/store.ts

Lines changed: 2 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -201,8 +201,7 @@ export const useFolderStore = create<FolderState>()(
201201
const [start, end] = fromIndex < toIndex ? [fromIndex, toIndex] : [toIndex, fromIndex]
202202
const rangeIds = folderIds.slice(start, end + 1)
203203

204-
// Keep the anchor as the "from" folder, update to "to" as the new last selected
205-
set({ selectedFolders: new Set(rangeIds), lastSelectedFolderId: toId })
204+
set({ selectedFolders: new Set(rangeIds), lastSelectedFolderId: fromId })
206205
},
207206

208207
isFolderSelected: (folderId) => get().selectedFolders.has(folderId),
@@ -256,7 +255,7 @@ export const useFolderStore = create<FolderState>()(
256255
const state = get()
257256
set({
258257
selectedTasks: new Set(rangeIds),
259-
lastSelectedTaskId: toId,
258+
lastSelectedTaskId: fromId,
260259
...(state.selectedWorkflows.size > 0 && { selectedWorkflows: new Set<string>() }),
261260
...(state.selectedFolders.size > 0 && {
262261
selectedFolders: new Set<string>(),

0 commit comments

Comments
 (0)