From c5f80b7e93b17a358bfce61089e12887f722060a Mon Sep 17 00:00:00 2001 From: RichardHpa Date: Tue, 21 Oct 2025 14:00:09 +1300 Subject: [PATCH 1/3] dont include rows that arent expandable --- packages/table-core/src/features/RowExpanding.ts | 11 ++++++++--- 1 file changed, 8 insertions(+), 3 deletions(-) diff --git a/packages/table-core/src/features/RowExpanding.ts b/packages/table-core/src/features/RowExpanding.ts index 15da45e0ea..ba14571884 100644 --- a/packages/table-core/src/features/RowExpanding.ts +++ b/packages/table-core/src/features/RowExpanding.ts @@ -208,7 +208,9 @@ export const RowExpanding: TableFeature = { }) } } - table.setExpanded = updater => table.options.onExpandedChange?.(updater) + table.setExpanded = updater => { + return table.options.onExpandedChange?.(updater) + } table.toggleAllRowsExpanded = expanded => { if (expanded ?? !table.getIsAllRowsExpanded()) { table.setExpanded(true) @@ -294,8 +296,11 @@ export const RowExpanding: TableFeature = { let oldExpanded: ExpandedStateList = {} if (old === true) { - Object.keys(table.getRowModel().rowsById).forEach(rowId => { - oldExpanded[rowId] = true + const rowIds = table.getRowModel().rowsById + Object.keys(rowIds).forEach(rowId => { + if (rowIds[rowId]?.getCanExpand()) { + oldExpanded[rowId] = true + } }) } else { oldExpanded = old From dc6cc2aaaa6ea9fc3d4beeb3aae986f429bb050f Mon Sep 17 00:00:00 2001 From: RichardHpa Date: Tue, 21 Oct 2025 14:10:00 +1300 Subject: [PATCH 2/3] reverted return statement --- packages/table-core/src/features/RowExpanding.ts | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) diff --git a/packages/table-core/src/features/RowExpanding.ts b/packages/table-core/src/features/RowExpanding.ts index ba14571884..74052f632f 100644 --- a/packages/table-core/src/features/RowExpanding.ts +++ b/packages/table-core/src/features/RowExpanding.ts @@ -208,9 +208,7 @@ export const RowExpanding: TableFeature = { }) } } - table.setExpanded = updater => { - return table.options.onExpandedChange?.(updater) - } + table.setExpanded = updater => table.options.onExpandedChange?.(updater) table.toggleAllRowsExpanded = expanded => { if (expanded ?? !table.getIsAllRowsExpanded()) { table.setExpanded(true) From 35541e27dda559d0d622d3f85a5695434d10bfdc Mon Sep 17 00:00:00 2001 From: RichardHpa Date: Tue, 21 Oct 2025 14:22:17 +1300 Subject: [PATCH 3/3] added changeset --- .changeset/every-parks-raise.md | 5 +++++ 1 file changed, 5 insertions(+) create mode 100644 .changeset/every-parks-raise.md diff --git a/.changeset/every-parks-raise.md b/.changeset/every-parks-raise.md new file mode 100644 index 0000000000..45fe8634b8 --- /dev/null +++ b/.changeset/every-parks-raise.md @@ -0,0 +1,5 @@ +--- +'@tanstack/table-core': patch +--- + +Prevents non expandable rows from being added to the state when the old state was true