( leafColumns: Column<TData, unknown>[], grouping: string[], groupedColumnMode?: GroupingColumnMode, )
| 400 | } |
| 401 | |
| 402 | export function orderColumns<TData extends RowData>( |
| 403 | leafColumns: Column<TData, unknown>[], |
| 404 | grouping: string[], |
| 405 | groupedColumnMode?: GroupingColumnMode, |
| 406 | ) { |
| 407 | if (!grouping?.length || !groupedColumnMode) { |
| 408 | return leafColumns |
| 409 | } |
| 410 | |
| 411 | const nonGroupingColumns = leafColumns.filter( |
| 412 | (col) => !grouping.includes(col.id), |
| 413 | ) |
| 414 | |
| 415 | if (groupedColumnMode === 'remove') { |
| 416 | return nonGroupingColumns |
| 417 | } |
| 418 | |
| 419 | const groupingColumns = grouping |
| 420 | .map((g) => leafColumns.find((col) => col.id === g)!) |
| 421 | .filter(Boolean) |
| 422 | |
| 423 | return [...groupingColumns, ...nonGroupingColumns] |
| 424 | } |
no outgoing calls
no test coverage detected