diff options
Diffstat (limited to 'components')
4 files changed, 25 insertions, 0 deletions
diff --git a/components/client-data-table/data-table-group-list.tsx b/components/client-data-table/data-table-group-list.tsx index 519b7327..6fe738e2 100644 --- a/components/client-data-table/data-table-group-list.tsx +++ b/components/client-data-table/data-table-group-list.tsx @@ -55,6 +55,12 @@ export function ClientDataTableGroupList<TData>({ () => table .getAllColumns() + .flatMap((column) => { + if (column.columns && column.columns.length > 0) { + return column.columns.filter(c => c.getCanGroup()); + } + return column.getCanGroup() ? [column] : []; + }) .filter((col) => col.getCanGroup?.() !== false) .map((col) => { // If meta?.excelHeader is missing or undefined, fall back to `col.id` diff --git a/components/client-data-table/data-table-sort-list.tsx b/components/client-data-table/data-table-sort-list.tsx index b67fdde3..475a2798 100644 --- a/components/client-data-table/data-table-sort-list.tsx +++ b/components/client-data-table/data-table-sort-list.tsx @@ -64,6 +64,12 @@ export function ClientDataTableSortList<TData>({ table }: DataTableSortListLocal const sortableColumns = React.useMemo(() => { return table .getAllColumns() + .flatMap((column) => { + if (column.columns && column.columns.length > 0) { + return column.columns.filter(c => c.getCanSort()); + } + return column.getCanSort() ? [column] : []; + }) .filter((col) => col.getCanSort()) .map((col) => ({ id: col.id, diff --git a/components/data-table/data-table-group-list.tsx b/components/data-table/data-table-group-list.tsx index 213b429f..c00fac42 100644 --- a/components/data-table/data-table-group-list.tsx +++ b/components/data-table/data-table-group-list.tsx @@ -85,6 +85,12 @@ export function DataTableGroupList<TData>({ () => table .getAllColumns() + .flatMap((column) => { + if (column.columns && column.columns.length > 0) { + return column.columns.filter(c => c.getCanSort()); + } + return column.getCanSort() ? [column] : []; + }) .filter((col) => col.getCanGroup?.() !== false) .map((col) => ({ id: col.id, diff --git a/components/data-table/data-table-sort-list.tsx b/components/data-table/data-table-sort-list.tsx index 21926f34..85484b09 100644 --- a/components/data-table/data-table-sort-list.tsx +++ b/components/data-table/data-table-sort-list.tsx @@ -108,6 +108,13 @@ export function DataTableSortList<TData>({ () => table .getAllColumns() + .flatMap((column) => { + // 그룹 컬럼이면 leaf 컬럼만 추출 + if (column.columns && column.columns.length > 0) { + return column.columns.filter(c => c.getCanSort()); + } + return column.getCanSort() ? [column] : []; + }) .filter( (column) => column.getCanSort() && !sorting.some((s) => s.id === column.id) |
