From afb7a3346f5fa1b6ac2c1754dec4eb1658e18f81 Mon Sep 17 00:00:00 2001 From: Hein Date: Wed, 11 Feb 2026 11:09:35 +0200 Subject: [PATCH] fix: row selection with incorrect values --- src/Gridler/components/Computer.tsx | 7 +++++-- src/Gridler/components/GridlerStore.tsx | 4 +++- 2 files changed, 8 insertions(+), 3 deletions(-) diff --git a/src/Gridler/components/Computer.tsx b/src/Gridler/components/Computer.tsx index c3fff7f..14a4f07 100644 --- a/src/Gridler/components/Computer.tsx +++ b/src/Gridler/components/Computer.tsx @@ -71,7 +71,7 @@ export const Computer = React.memo(() => { //When values change, update selection useEffect(() => { - const searchSelection = async () => { + const searchSelection = async (values: Array>) => { const page_data = getState('_page_data'); const pageSize = getState('pageSize'); const keyField = getState('keyField') ?? 'id'; @@ -85,6 +85,9 @@ export const Computer = React.memo(() => { ? values?.[vi] : undefined ); + if (!key) { + continue; + } for (const p in page_data) { for (const r in page_data[p]) { const idx = Number(p) * pageSize + Number(r); @@ -115,7 +118,7 @@ export const Computer = React.memo(() => { }; if (values) { - searchSelection().then((rowIndexes) => { + searchSelection(values).then((rowIndexes) => { let rows = CompactSelection.empty(); rowIndexes.forEach((r) => { if (r !== undefined) { diff --git a/src/Gridler/components/GridlerStore.tsx b/src/Gridler/components/GridlerStore.tsx index 5d0bbde..b650dd8 100644 --- a/src/Gridler/components/GridlerStore.tsx +++ b/src/Gridler/components/GridlerStore.tsx @@ -336,7 +336,9 @@ const { Provider, useStore: useGridlerStore } = createSyncStore { const state = get(); - + if (key === undefined || key === null) { + return undefined; + } let rowIndex = -1; if (state.ready) { const page_data = state._page_data;