From 520e190a9555efb4f76ea3dd8921fea122078ffa Mon Sep 17 00:00:00 2001 From: Ruben Fiszel Date: Wed, 14 May 2025 00:15:35 +0200 Subject: [PATCH] improve setSelectedIndex for aggrid --- .../display/table/AppAggridTable.svelte | 15 +++++++++++---- 1 file changed, 11 insertions(+), 4 deletions(-) diff --git a/frontend/src/lib/components/apps/components/display/table/AppAggridTable.svelte b/frontend/src/lib/components/apps/components/display/table/AppAggridTable.svelte index 16fea27331..f09ea9c9e9 100644 --- a/frontend/src/lib/components/apps/components/display/table/AppAggridTable.svelte +++ b/frontend/src/lib/components/apps/components/display/table/AppAggridTable.svelte @@ -303,8 +303,8 @@ function getIdFromData(data: any): string { return resolvedConfig?.rowIdCol && resolvedConfig?.rowIdCol != '' - ? (data?.[resolvedConfig?.rowIdCol] ?? data['__index']) - : data['__index'] + ? (data?.[resolvedConfig?.rowIdCol] ?? data?.['__index']) + : data?.['__index'] } function mountGrid() { @@ -389,8 +389,15 @@ e.api.deselectAll() outputs?.selectedRow?.set({}) outputs?.selectedRowIndex.set(0) - } else { - e.api.getRowNode(index.toString())?.setSelected(true) + } else if (typeof index === 'number') { + let rowId = getIdFromData(value[index]) + if (rowId) { + e.api.getRowNode(rowId)?.setSelected(true) + outputs?.selectedRowIndex.set(index) + const row = { ...value[index] } + delete row['__index'] + outputs?.selectedRow?.set(row) + } } }, setValue(nvalue) {