From 79b409d05a53b8703380c37475730392976f35a5 Mon Sep 17 00:00:00 2001 From: duke Date: Tue, 20 May 2025 22:53:15 +0900 Subject: [PATCH] fix(vibrant-component): ensure column names are only pushed for full data selection in Table --- .../src/lib/VirtualizedTable/VirtualizedTable.tsx | 6 ++++-- packages/vibrant-components/src/lib/Table/Table.tsx | 6 ++++-- 2 files changed, 8 insertions(+), 4 deletions(-) diff --git a/packages/vibrant-components-web/src/lib/VirtualizedTable/VirtualizedTable.tsx b/packages/vibrant-components-web/src/lib/VirtualizedTable/VirtualizedTable.tsx index 551fd1b84..442eac539 100644 --- a/packages/vibrant-components-web/src/lib/VirtualizedTable/VirtualizedTable.tsx +++ b/packages/vibrant-components-web/src/lib/VirtualizedTable/VirtualizedTable.tsx @@ -155,9 +155,11 @@ export const VirtualizedTable = , RowKey extend const selectedCells = []; - const columnNames = columns.slice(startCol, endCol + 1).map(column => column.title || column.dataKey || ''); + if (endRow - startRow + 1 === data.length) { + const columnNames = columns.slice(startCol, endCol + 1).map(column => column.title || column.dataKey || ''); - selectedCells.push(columnNames.join('\t')); + selectedCells.push(columnNames.join('\t')); + } for (let rowIdx = startRow; rowIdx <= endRow; rowIdx++) { const row = data[rowIdx]; diff --git a/packages/vibrant-components/src/lib/Table/Table.tsx b/packages/vibrant-components/src/lib/Table/Table.tsx index ce1c9648d..3c1045c18 100644 --- a/packages/vibrant-components/src/lib/Table/Table.tsx +++ b/packages/vibrant-components/src/lib/Table/Table.tsx @@ -270,9 +270,11 @@ export const Table = , RowKey extends keyof Dat const selectedCells = []; - const columnNames = columns.slice(startCol, endCol + 1).map(column => column.title || column.dataKey || ''); + if (endRow - startRow + 1 === data.length) { + const columnNames = columns.slice(startCol, endCol + 1).map(column => column.title || column.dataKey || ''); - selectedCells.push(columnNames.join('\t')); + selectedCells.push(columnNames.join('\t')); + } for (let rowIdx = startRow; rowIdx <= endRow; rowIdx++) { const row = data[rowIdx];