@tanstack/table-core 8.5.12 → 8.5.15
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/build/cjs/core/cell.js +2 -6
- package/build/cjs/core/cell.js.map +1 -1
- package/build/cjs/core/column.js +5 -15
- package/build/cjs/core/column.js.map +1 -1
- package/build/cjs/core/headers.js +27 -99
- package/build/cjs/core/headers.js.map +1 -1
- package/build/cjs/core/row.js +4 -16
- package/build/cjs/core/row.js.map +1 -1
- package/build/cjs/core/table.js +13 -43
- package/build/cjs/core/table.js.map +1 -1
- package/build/cjs/features/ColumnSizing.js +23 -35
- package/build/cjs/features/ColumnSizing.js.map +1 -1
- package/build/cjs/features/Expanding.js +9 -15
- package/build/cjs/features/Expanding.js.map +1 -1
- package/build/cjs/features/Filters.js +13 -21
- package/build/cjs/features/Filters.js.map +1 -1
- package/build/cjs/features/Grouping.js +8 -10
- package/build/cjs/features/Grouping.js.map +1 -1
- package/build/cjs/features/Ordering.js +1 -3
- package/build/cjs/features/Ordering.js.map +1 -1
- package/build/cjs/features/Pagination.js +9 -21
- package/build/cjs/features/Pagination.js.map +1 -1
- package/build/cjs/features/Pinning.js +24 -58
- package/build/cjs/features/Pinning.js.map +1 -1
- package/build/cjs/features/RowSelection.js +9 -35
- package/build/cjs/features/RowSelection.js.map +1 -1
- package/build/cjs/features/Sorting.js +12 -22
- package/build/cjs/features/Sorting.js.map +1 -1
- package/build/cjs/features/Visibility.js +9 -27
- package/build/cjs/features/Visibility.js.map +1 -1
- package/build/cjs/utils/getCoreRowModel.js +1 -5
- package/build/cjs/utils/getCoreRowModel.js.map +1 -1
- package/build/cjs/utils/getExpandedRowModel.js +2 -6
- package/build/cjs/utils/getExpandedRowModel.js.map +1 -1
- package/build/cjs/utils/getFacetedMinMaxValues.js +1 -5
- package/build/cjs/utils/getFacetedMinMaxValues.js.map +1 -1
- package/build/cjs/utils/getFacetedRowModel.js +1 -5
- package/build/cjs/utils/getFacetedRowModel.js.map +1 -1
- package/build/cjs/utils/getFacetedUniqueValues.js +2 -8
- package/build/cjs/utils/getFacetedUniqueValues.js.map +1 -1
- package/build/cjs/utils/getFilteredRowModel.js +6 -14
- package/build/cjs/utils/getFilteredRowModel.js.map +1 -1
- package/build/cjs/utils/getGroupedRowModel.js +5 -11
- package/build/cjs/utils/getGroupedRowModel.js.map +1 -1
- package/build/cjs/utils/getPaginationRowModel.js +1 -5
- package/build/cjs/utils/getPaginationRowModel.js.map +1 -1
- package/build/cjs/utils/getSortedRowModel.js +2 -8
- package/build/cjs/utils/getSortedRowModel.js.map +1 -1
- package/build/cjs/utils.js +4 -1
- package/build/cjs/utils.js.map +1 -1
- package/build/esm/index.js +193 -494
- package/build/esm/index.js.map +1 -1
- package/build/stats-html.html +56 -56
- package/build/stats-react.json +361 -361
- package/build/umd/index.development.js +193 -494
- package/build/umd/index.development.js.map +1 -1
- package/build/umd/index.production.js +1 -1
- package/build/umd/index.production.js.map +1 -1
- package/package.json +1 -1
- package/src/features/Expanding.ts +1 -1
- package/src/features/Pinning.ts +1 -1
package/build/cjs/core/cell.js
CHANGED
|
@@ -15,14 +15,10 @@ Object.defineProperty(exports, '__esModule', { value: true });
|
|
|
15
15
|
var utils = require('../utils.js');
|
|
16
16
|
|
|
17
17
|
function createCell(table, row, column, columnId) {
|
|
18
|
-
const getRenderValue = () =>
|
|
19
|
-
var _cell$getValue;
|
|
20
|
-
|
|
21
|
-
return (_cell$getValue = cell.getValue()) != null ? _cell$getValue : table.options.renderFallbackValue;
|
|
22
|
-
};
|
|
18
|
+
const getRenderValue = () => cell.getValue() ?? table.options.renderFallbackValue;
|
|
23
19
|
|
|
24
20
|
const cell = {
|
|
25
|
-
id: row.id
|
|
21
|
+
id: `${row.id}_${column.id}`,
|
|
26
22
|
row,
|
|
27
23
|
column,
|
|
28
24
|
getValue: () => row.getValue(columnId),
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"cell.js","sources":["../../../src/core/cell.ts"],"sourcesContent":["import { RowData, Cell, Column, Row, Table } from '../types'\nimport { Getter, memo } from '../utils'\n\nexport type CellContext<TData extends RowData, TValue> = {\n table: Table<TData>\n column: Column<TData, TValue>\n row: Row<TData>\n cell: Cell<TData, TValue>\n getValue: Getter<TValue>\n renderValue: Getter<TValue | null>\n}\n\nexport type CoreCell<TData extends RowData, TValue> = {\n id: string\n getValue: CellContext<TData, TValue>['getValue']\n renderValue: CellContext<TData, TValue>['renderValue']\n row: Row<TData>\n column: Column<TData, TValue>\n getContext: () => CellContext<TData, TValue>\n}\n\nexport function createCell<TData extends RowData, TValue>(\n table: Table<TData>,\n row: Row<TData>,\n column: Column<TData, TValue>,\n columnId: string\n) {\n const getRenderValue = () =>\n cell.getValue() ?? table.options.renderFallbackValue\n\n const cell: CoreCell<TData, TValue> = {\n id: `${row.id}_${column.id}`,\n row,\n column,\n getValue: () => row.getValue(columnId),\n renderValue: getRenderValue,\n getContext: memo(\n () => [table, column, row, cell],\n (table, column, row, cell) => ({\n table,\n column,\n row,\n cell: cell as Cell<TData, TValue>,\n getValue: cell.getValue,\n renderValue: cell.renderValue,\n }),\n {\n key: process.env.NODE_ENV === 'development' && 'cell.getContext',\n debug: () => table.options.debugAll,\n }\n ),\n }\n\n table._features.forEach(feature => {\n Object.assign(\n cell,\n feature.createCell?.(\n cell as Cell<TData, TValue>,\n column,\n row as Row<TData>,\n table\n )\n )\n }, {})\n\n return cell as Cell<TData, TValue>\n}\n"],"names":["createCell","table","row","column","columnId","getRenderValue","cell","getValue","options","renderFallbackValue","id","renderValue","getContext","memo","key","process","env","NODE_ENV","debug","debugAll","_features","forEach","feature","Object","assign"],"mappings":";;;;;;;;;;;;;;;;AAqBO,SAASA,UAAT,CACLC,KADK,EAELC,GAFK,EAGLC,MAHK,EAILC,QAJK,EAKL;
|
|
1
|
+
{"version":3,"file":"cell.js","sources":["../../../src/core/cell.ts"],"sourcesContent":["import { RowData, Cell, Column, Row, Table } from '../types'\nimport { Getter, memo } from '../utils'\n\nexport type CellContext<TData extends RowData, TValue> = {\n table: Table<TData>\n column: Column<TData, TValue>\n row: Row<TData>\n cell: Cell<TData, TValue>\n getValue: Getter<TValue>\n renderValue: Getter<TValue | null>\n}\n\nexport type CoreCell<TData extends RowData, TValue> = {\n id: string\n getValue: CellContext<TData, TValue>['getValue']\n renderValue: CellContext<TData, TValue>['renderValue']\n row: Row<TData>\n column: Column<TData, TValue>\n getContext: () => CellContext<TData, TValue>\n}\n\nexport function createCell<TData extends RowData, TValue>(\n table: Table<TData>,\n row: Row<TData>,\n column: Column<TData, TValue>,\n columnId: string\n) {\n const getRenderValue = () =>\n cell.getValue() ?? table.options.renderFallbackValue\n\n const cell: CoreCell<TData, TValue> = {\n id: `${row.id}_${column.id}`,\n row,\n column,\n getValue: () => row.getValue(columnId),\n renderValue: getRenderValue,\n getContext: memo(\n () => [table, column, row, cell],\n (table, column, row, cell) => ({\n table,\n column,\n row,\n cell: cell as Cell<TData, TValue>,\n getValue: cell.getValue,\n renderValue: cell.renderValue,\n }),\n {\n key: process.env.NODE_ENV === 'development' && 'cell.getContext',\n debug: () => table.options.debugAll,\n }\n ),\n }\n\n table._features.forEach(feature => {\n Object.assign(\n cell,\n feature.createCell?.(\n cell as Cell<TData, TValue>,\n column,\n row as Row<TData>,\n table\n )\n )\n }, {})\n\n return cell as Cell<TData, TValue>\n}\n"],"names":["createCell","table","row","column","columnId","getRenderValue","cell","getValue","options","renderFallbackValue","id","renderValue","getContext","memo","key","process","env","NODE_ENV","debug","debugAll","_features","forEach","feature","Object","assign"],"mappings":";;;;;;;;;;;;;;;;AAqBO,SAASA,UAAT,CACLC,KADK,EAELC,GAFK,EAGLC,MAHK,EAILC,QAJK,EAKL;EACA,MAAMC,cAAc,GAAG,MACrBC,IAAI,CAACC,QAAL,EAAA,IAAmBN,KAAK,CAACO,OAAN,CAAcC,mBADnC,CAAA;;AAGA,EAAA,MAAMH,IAA6B,GAAG;IACpCI,EAAE,EAAG,GAAER,GAAG,CAACQ,EAAG,CAAGP,CAAAA,EAAAA,MAAM,CAACO,EAAG,CADS,CAAA;IAEpCR,GAFoC;IAGpCC,MAHoC;AAIpCI,IAAAA,QAAQ,EAAE,MAAML,GAAG,CAACK,QAAJ,CAAaH,QAAb,CAJoB;AAKpCO,IAAAA,WAAW,EAAEN,cALuB;IAMpCO,UAAU,EAAEC,UAAI,CACd,MAAM,CAACZ,KAAD,EAAQE,MAAR,EAAgBD,GAAhB,EAAqBI,IAArB,CADQ,EAEd,CAACL,KAAD,EAAQE,MAAR,EAAgBD,GAAhB,EAAqBI,IAArB,MAA+B;MAC7BL,KAD6B;MAE7BE,MAF6B;MAG7BD,GAH6B;AAI7BI,MAAAA,IAAI,EAAEA,IAJuB;MAK7BC,QAAQ,EAAED,IAAI,CAACC,QALc;MAM7BI,WAAW,EAAEL,IAAI,CAACK,WAAAA;AANW,KAA/B,CAFc,EAUd;MACEG,GAAG,EAAEC,OAAO,CAACC,GAAR,CAAYC,QAAZ,KAAyB,aAAzB,IAA0C,iBADjD;AAEEC,MAAAA,KAAK,EAAE,MAAMjB,KAAK,CAACO,OAAN,CAAcW,QAAAA;KAZf,CAAA;GANlB,CAAA;;AAuBAlB,EAAAA,KAAK,CAACmB,SAAN,CAAgBC,OAAhB,CAAwBC,OAAO,IAAI;IACjCC,MAAM,CAACC,MAAP,CACElB,IADF,EAEEgB,OAAO,CAACtB,UAFV,IAEEsB,IAAAA,GAAAA,KAAAA,CAAAA,GAAAA,OAAO,CAACtB,UAAR,CACEM,IADF,EAEEH,MAFF,EAGED,GAHF,EAIED,KAJF,CAFF,CAAA,CAAA;AASD,GAVD,EAUG,EAVH,CAAA,CAAA;;AAYA,EAAA,OAAOK,IAAP,CAAA;AACD;;;;"}
|
package/build/cjs/core/column.js
CHANGED
|
@@ -15,15 +15,13 @@ Object.defineProperty(exports, '__esModule', { value: true });
|
|
|
15
15
|
var utils = require('../utils.js');
|
|
16
16
|
|
|
17
17
|
function createColumn(table, columnDef, depth, parent) {
|
|
18
|
-
var _ref, _resolvedColumnDef$id;
|
|
19
|
-
|
|
20
18
|
const defaultColumn = table._getDefaultColumnDef();
|
|
21
19
|
|
|
22
20
|
const resolvedColumnDef = { ...defaultColumn,
|
|
23
21
|
...columnDef
|
|
24
22
|
};
|
|
25
23
|
const accessorKey = resolvedColumnDef.accessorKey;
|
|
26
|
-
let id =
|
|
24
|
+
let id = resolvedColumnDef.id ?? (accessorKey ? accessorKey.replace('.', '_') : undefined) ?? (typeof resolvedColumnDef.header === 'string' ? resolvedColumnDef.header : undefined);
|
|
27
25
|
let accessorFn;
|
|
28
26
|
|
|
29
27
|
if (resolvedColumnDef.accessorFn) {
|
|
@@ -47,14 +45,14 @@ function createColumn(table, columnDef, depth, parent) {
|
|
|
47
45
|
|
|
48
46
|
if (!id) {
|
|
49
47
|
if (process.env.NODE_ENV !== 'production') {
|
|
50
|
-
throw new Error(resolvedColumnDef.accessorFn ?
|
|
48
|
+
throw new Error(resolvedColumnDef.accessorFn ? `Columns require an id when using an accessorFn` : `Columns require an id when using a non-string header`);
|
|
51
49
|
}
|
|
52
50
|
|
|
53
51
|
throw new Error();
|
|
54
52
|
}
|
|
55
53
|
|
|
56
54
|
let column = {
|
|
57
|
-
id:
|
|
55
|
+
id: `${String(id)}`,
|
|
58
56
|
accessorFn,
|
|
59
57
|
parent: parent,
|
|
60
58
|
depth,
|
|
@@ -66,11 +64,7 @@ function createColumn(table, columnDef, depth, parent) {
|
|
|
66
64
|
return [column, ...((_column$columns = column.columns) == null ? void 0 : _column$columns.flatMap(d => d.getFlatColumns()))];
|
|
67
65
|
}, {
|
|
68
66
|
key: process.env.NODE_ENV === 'production' && 'column.getFlatColumns',
|
|
69
|
-
debug: () =>
|
|
70
|
-
var _table$options$debugA;
|
|
71
|
-
|
|
72
|
-
return (_table$options$debugA = table.options.debugAll) != null ? _table$options$debugA : table.options.debugColumns;
|
|
73
|
-
}
|
|
67
|
+
debug: () => table.options.debugAll ?? table.options.debugColumns
|
|
74
68
|
}),
|
|
75
69
|
getLeafColumns: utils.memo(() => [table._getOrderColumnsFn()], orderColumns => {
|
|
76
70
|
var _column$columns2;
|
|
@@ -83,11 +77,7 @@ function createColumn(table, columnDef, depth, parent) {
|
|
|
83
77
|
return [column];
|
|
84
78
|
}, {
|
|
85
79
|
key: process.env.NODE_ENV === 'production' && 'column.getLeafColumns',
|
|
86
|
-
debug: () =>
|
|
87
|
-
var _table$options$debugA2;
|
|
88
|
-
|
|
89
|
-
return (_table$options$debugA2 = table.options.debugAll) != null ? _table$options$debugA2 : table.options.debugColumns;
|
|
90
|
-
}
|
|
80
|
+
debug: () => table.options.debugAll ?? table.options.debugColumns
|
|
91
81
|
})
|
|
92
82
|
};
|
|
93
83
|
column = table._features.reduce((obj, feature) => {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"column.js","sources":["../../../src/core/column.ts"],"sourcesContent":["import { TaggedTemplateExpression } from '@babel/types'\nimport {\n Column,\n Table,\n AccessorFn,\n ColumnDef,\n ColumnDefTemplate,\n RowData,\n ColumnMeta,\n ColumnDefResolved,\n} from '../types'\nimport { memo } from '../utils'\n\nexport type CoreColumn<TData extends RowData, TValue> = {\n id: string\n depth: number\n accessorFn?: AccessorFn<TData, TValue>\n columnDef: ColumnDef<TData, TValue>\n columns: Column<TData, TValue>[]\n parent?: Column<TData, TValue>\n getFlatColumns: () => Column<TData, TValue>[]\n getLeafColumns: () => Column<TData, TValue>[]\n}\n\nexport function createColumn<TData extends RowData, TValue>(\n table: Table<TData>,\n columnDef: ColumnDef<TData, TValue>,\n depth: number,\n parent?: Column<TData, TValue>\n) {\n const defaultColumn = table._getDefaultColumnDef()\n\n const resolvedColumnDef = {\n ...defaultColumn,\n ...columnDef,\n } as ColumnDefResolved<TData>\n\n const accessorKey = resolvedColumnDef.accessorKey\n\n let id =\n resolvedColumnDef.id ??\n (accessorKey ? accessorKey.replace('.', '_') : undefined) ??\n (typeof resolvedColumnDef.header === 'string'\n ? resolvedColumnDef.header\n : undefined)\n\n let accessorFn: AccessorFn<TData> | undefined\n\n if (resolvedColumnDef.accessorFn) {\n accessorFn = resolvedColumnDef.accessorFn\n } else if (accessorKey) {\n // Support deep accessor keys\n if (accessorKey.includes('.')) {\n accessorFn = (originalRow: TData) => {\n let result = originalRow as Record<string, any>\n\n for (const key of accessorKey.split('.')) {\n result = result[key]\n }\n\n return result\n }\n } else {\n accessorFn = (originalRow: TData) =>\n (originalRow as any)[resolvedColumnDef.accessorKey]\n }\n }\n\n if (!id) {\n if (process.env.NODE_ENV !== 'production') {\n throw new Error(\n resolvedColumnDef.accessorFn\n ? `Columns require an id when using an accessorFn`\n : `Columns require an id when using a non-string header`\n )\n }\n throw new Error()\n }\n\n let column: CoreColumn<TData, any> = {\n id: `${String(id)}`,\n accessorFn,\n parent: parent as any,\n depth,\n columnDef: resolvedColumnDef as ColumnDef<TData, any>,\n columns: [],\n getFlatColumns: memo(\n () => [true],\n () => {\n return [\n column as Column<TData, TValue>,\n ...column.columns?.flatMap(d => d.getFlatColumns()),\n ]\n },\n {\n key: process.env.NODE_ENV === 'production' && 'column.getFlatColumns',\n debug: () => table.options.debugAll ?? table.options.debugColumns,\n }\n ),\n getLeafColumns: memo(\n () => [table._getOrderColumnsFn()],\n orderColumns => {\n if (column.columns?.length) {\n let leafColumns = column.columns.flatMap(column =>\n column.getLeafColumns()\n )\n\n return orderColumns(leafColumns)\n }\n\n return [column as Column<TData, TValue>]\n },\n {\n key: process.env.NODE_ENV === 'production' && 'column.getLeafColumns',\n debug: () => table.options.debugAll ?? table.options.debugColumns,\n }\n ),\n }\n\n column = table._features.reduce((obj, feature) => {\n return Object.assign(obj, feature.createColumn?.(column, table))\n }, column)\n\n // Yes, we have to convert table to uknown, because we know more than the compiler here.\n return column as Column<TData, TValue>\n}\n"],"names":["createColumn","table","columnDef","depth","parent","defaultColumn","_getDefaultColumnDef","resolvedColumnDef","accessorKey","id","replace","undefined","header","accessorFn","includes","originalRow","result","key","split","process","env","NODE_ENV","Error","column","String","columns","getFlatColumns","memo","flatMap","d","debug","options","debugAll","debugColumns","getLeafColumns","_getOrderColumnsFn","orderColumns","length","leafColumns","_features","reduce","obj","feature","Object","assign"],"mappings":";;;;;;;;;;;;;;;;AAwBO,SAASA,YAAT,CACLC,KADK,EAELC,SAFK,EAGLC,KAHK,EAILC,MAJK,EAKL;
|
|
1
|
+
{"version":3,"file":"column.js","sources":["../../../src/core/column.ts"],"sourcesContent":["import { TaggedTemplateExpression } from '@babel/types'\nimport {\n Column,\n Table,\n AccessorFn,\n ColumnDef,\n ColumnDefTemplate,\n RowData,\n ColumnMeta,\n ColumnDefResolved,\n} from '../types'\nimport { memo } from '../utils'\n\nexport type CoreColumn<TData extends RowData, TValue> = {\n id: string\n depth: number\n accessorFn?: AccessorFn<TData, TValue>\n columnDef: ColumnDef<TData, TValue>\n columns: Column<TData, TValue>[]\n parent?: Column<TData, TValue>\n getFlatColumns: () => Column<TData, TValue>[]\n getLeafColumns: () => Column<TData, TValue>[]\n}\n\nexport function createColumn<TData extends RowData, TValue>(\n table: Table<TData>,\n columnDef: ColumnDef<TData, TValue>,\n depth: number,\n parent?: Column<TData, TValue>\n) {\n const defaultColumn = table._getDefaultColumnDef()\n\n const resolvedColumnDef = {\n ...defaultColumn,\n ...columnDef,\n } as ColumnDefResolved<TData>\n\n const accessorKey = resolvedColumnDef.accessorKey\n\n let id =\n resolvedColumnDef.id ??\n (accessorKey ? accessorKey.replace('.', '_') : undefined) ??\n (typeof resolvedColumnDef.header === 'string'\n ? resolvedColumnDef.header\n : undefined)\n\n let accessorFn: AccessorFn<TData> | undefined\n\n if (resolvedColumnDef.accessorFn) {\n accessorFn = resolvedColumnDef.accessorFn\n } else if (accessorKey) {\n // Support deep accessor keys\n if (accessorKey.includes('.')) {\n accessorFn = (originalRow: TData) => {\n let result = originalRow as Record<string, any>\n\n for (const key of accessorKey.split('.')) {\n result = result[key]\n }\n\n return result\n }\n } else {\n accessorFn = (originalRow: TData) =>\n (originalRow as any)[resolvedColumnDef.accessorKey]\n }\n }\n\n if (!id) {\n if (process.env.NODE_ENV !== 'production') {\n throw new Error(\n resolvedColumnDef.accessorFn\n ? `Columns require an id when using an accessorFn`\n : `Columns require an id when using a non-string header`\n )\n }\n throw new Error()\n }\n\n let column: CoreColumn<TData, any> = {\n id: `${String(id)}`,\n accessorFn,\n parent: parent as any,\n depth,\n columnDef: resolvedColumnDef as ColumnDef<TData, any>,\n columns: [],\n getFlatColumns: memo(\n () => [true],\n () => {\n return [\n column as Column<TData, TValue>,\n ...column.columns?.flatMap(d => d.getFlatColumns()),\n ]\n },\n {\n key: process.env.NODE_ENV === 'production' && 'column.getFlatColumns',\n debug: () => table.options.debugAll ?? table.options.debugColumns,\n }\n ),\n getLeafColumns: memo(\n () => [table._getOrderColumnsFn()],\n orderColumns => {\n if (column.columns?.length) {\n let leafColumns = column.columns.flatMap(column =>\n column.getLeafColumns()\n )\n\n return orderColumns(leafColumns)\n }\n\n return [column as Column<TData, TValue>]\n },\n {\n key: process.env.NODE_ENV === 'production' && 'column.getLeafColumns',\n debug: () => table.options.debugAll ?? table.options.debugColumns,\n }\n ),\n }\n\n column = table._features.reduce((obj, feature) => {\n return Object.assign(obj, feature.createColumn?.(column, table))\n }, column)\n\n // Yes, we have to convert table to uknown, because we know more than the compiler here.\n return column as Column<TData, TValue>\n}\n"],"names":["createColumn","table","columnDef","depth","parent","defaultColumn","_getDefaultColumnDef","resolvedColumnDef","accessorKey","id","replace","undefined","header","accessorFn","includes","originalRow","result","key","split","process","env","NODE_ENV","Error","column","String","columns","getFlatColumns","memo","flatMap","d","debug","options","debugAll","debugColumns","getLeafColumns","_getOrderColumnsFn","orderColumns","length","leafColumns","_features","reduce","obj","feature","Object","assign"],"mappings":"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"}
|
|
@@ -16,9 +16,7 @@ var utils = require('../utils.js');
|
|
|
16
16
|
|
|
17
17
|
//
|
|
18
18
|
function createHeader(table, column, options) {
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
const id = (_options$id = options.id) != null ? _options$id : column.id;
|
|
19
|
+
const id = options.id ?? column.id;
|
|
22
20
|
let header = {
|
|
23
21
|
id,
|
|
24
22
|
column,
|
|
@@ -63,98 +61,60 @@ const Headers = {
|
|
|
63
61
|
return {
|
|
64
62
|
// Header Groups
|
|
65
63
|
getHeaderGroups: utils.memo(() => [table.getAllColumns(), table.getVisibleLeafColumns(), table.getState().columnPinning.left, table.getState().columnPinning.right], (allColumns, leafColumns, left, right) => {
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
const leftColumns = (_left$map$filter = left == null ? void 0 : left.map(columnId => leafColumns.find(d => d.id === columnId)).filter(Boolean)) != null ? _left$map$filter : [];
|
|
69
|
-
const rightColumns = (_right$map$filter = right == null ? void 0 : right.map(columnId => leafColumns.find(d => d.id === columnId)).filter(Boolean)) != null ? _right$map$filter : [];
|
|
64
|
+
const leftColumns = (left == null ? void 0 : left.map(columnId => leafColumns.find(d => d.id === columnId)).filter(Boolean)) ?? [];
|
|
65
|
+
const rightColumns = (right == null ? void 0 : right.map(columnId => leafColumns.find(d => d.id === columnId)).filter(Boolean)) ?? [];
|
|
70
66
|
const centerColumns = leafColumns.filter(column => !(left != null && left.includes(column.id)) && !(right != null && right.includes(column.id)));
|
|
71
67
|
const headerGroups = buildHeaderGroups(allColumns, [...leftColumns, ...centerColumns, ...rightColumns], table);
|
|
72
68
|
return headerGroups;
|
|
73
69
|
}, {
|
|
74
70
|
key: process.env.NODE_ENV === 'development' && 'getHeaderGroups',
|
|
75
|
-
debug: () =>
|
|
76
|
-
var _table$options$debugA;
|
|
77
|
-
|
|
78
|
-
return (_table$options$debugA = table.options.debugAll) != null ? _table$options$debugA : table.options.debugHeaders;
|
|
79
|
-
}
|
|
71
|
+
debug: () => table.options.debugAll ?? table.options.debugHeaders
|
|
80
72
|
}),
|
|
81
73
|
getCenterHeaderGroups: utils.memo(() => [table.getAllColumns(), table.getVisibleLeafColumns(), table.getState().columnPinning.left, table.getState().columnPinning.right], (allColumns, leafColumns, left, right) => {
|
|
82
74
|
leafColumns = leafColumns.filter(column => !(left != null && left.includes(column.id)) && !(right != null && right.includes(column.id)));
|
|
83
75
|
return buildHeaderGroups(allColumns, leafColumns, table, 'center');
|
|
84
76
|
}, {
|
|
85
77
|
key: process.env.NODE_ENV === 'development' && 'getCenterHeaderGroups',
|
|
86
|
-
debug: () =>
|
|
87
|
-
var _table$options$debugA2;
|
|
88
|
-
|
|
89
|
-
return (_table$options$debugA2 = table.options.debugAll) != null ? _table$options$debugA2 : table.options.debugHeaders;
|
|
90
|
-
}
|
|
78
|
+
debug: () => table.options.debugAll ?? table.options.debugHeaders
|
|
91
79
|
}),
|
|
92
80
|
getLeftHeaderGroups: utils.memo(() => [table.getAllColumns(), table.getVisibleLeafColumns(), table.getState().columnPinning.left], (allColumns, leafColumns, left) => {
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
const orderedLeafColumns = (_left$map$filter2 = left == null ? void 0 : left.map(columnId => leafColumns.find(d => d.id === columnId)).filter(Boolean)) != null ? _left$map$filter2 : [];
|
|
81
|
+
const orderedLeafColumns = (left == null ? void 0 : left.map(columnId => leafColumns.find(d => d.id === columnId)).filter(Boolean)) ?? [];
|
|
96
82
|
return buildHeaderGroups(allColumns, orderedLeafColumns, table, 'left');
|
|
97
83
|
}, {
|
|
98
84
|
key: process.env.NODE_ENV === 'development' && 'getLeftHeaderGroups',
|
|
99
|
-
debug: () =>
|
|
100
|
-
var _table$options$debugA3;
|
|
101
|
-
|
|
102
|
-
return (_table$options$debugA3 = table.options.debugAll) != null ? _table$options$debugA3 : table.options.debugHeaders;
|
|
103
|
-
}
|
|
85
|
+
debug: () => table.options.debugAll ?? table.options.debugHeaders
|
|
104
86
|
}),
|
|
105
87
|
getRightHeaderGroups: utils.memo(() => [table.getAllColumns(), table.getVisibleLeafColumns(), table.getState().columnPinning.right], (allColumns, leafColumns, right) => {
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
const orderedLeafColumns = (_right$map$filter2 = right == null ? void 0 : right.map(columnId => leafColumns.find(d => d.id === columnId)).filter(Boolean)) != null ? _right$map$filter2 : [];
|
|
88
|
+
const orderedLeafColumns = (right == null ? void 0 : right.map(columnId => leafColumns.find(d => d.id === columnId)).filter(Boolean)) ?? [];
|
|
109
89
|
return buildHeaderGroups(allColumns, orderedLeafColumns, table, 'right');
|
|
110
90
|
}, {
|
|
111
91
|
key: process.env.NODE_ENV === 'development' && 'getRightHeaderGroups',
|
|
112
|
-
debug: () =>
|
|
113
|
-
var _table$options$debugA4;
|
|
114
|
-
|
|
115
|
-
return (_table$options$debugA4 = table.options.debugAll) != null ? _table$options$debugA4 : table.options.debugHeaders;
|
|
116
|
-
}
|
|
92
|
+
debug: () => table.options.debugAll ?? table.options.debugHeaders
|
|
117
93
|
}),
|
|
118
94
|
// Footer Groups
|
|
119
95
|
getFooterGroups: utils.memo(() => [table.getHeaderGroups()], headerGroups => {
|
|
120
96
|
return [...headerGroups].reverse();
|
|
121
97
|
}, {
|
|
122
98
|
key: process.env.NODE_ENV === 'development' && 'getFooterGroups',
|
|
123
|
-
debug: () =>
|
|
124
|
-
var _table$options$debugA5;
|
|
125
|
-
|
|
126
|
-
return (_table$options$debugA5 = table.options.debugAll) != null ? _table$options$debugA5 : table.options.debugHeaders;
|
|
127
|
-
}
|
|
99
|
+
debug: () => table.options.debugAll ?? table.options.debugHeaders
|
|
128
100
|
}),
|
|
129
101
|
getLeftFooterGroups: utils.memo(() => [table.getLeftHeaderGroups()], headerGroups => {
|
|
130
102
|
return [...headerGroups].reverse();
|
|
131
103
|
}, {
|
|
132
104
|
key: process.env.NODE_ENV === 'development' && 'getLeftFooterGroups',
|
|
133
|
-
debug: () =>
|
|
134
|
-
var _table$options$debugA6;
|
|
135
|
-
|
|
136
|
-
return (_table$options$debugA6 = table.options.debugAll) != null ? _table$options$debugA6 : table.options.debugHeaders;
|
|
137
|
-
}
|
|
105
|
+
debug: () => table.options.debugAll ?? table.options.debugHeaders
|
|
138
106
|
}),
|
|
139
107
|
getCenterFooterGroups: utils.memo(() => [table.getCenterHeaderGroups()], headerGroups => {
|
|
140
108
|
return [...headerGroups].reverse();
|
|
141
109
|
}, {
|
|
142
110
|
key: process.env.NODE_ENV === 'development' && 'getCenterFooterGroups',
|
|
143
|
-
debug: () =>
|
|
144
|
-
var _table$options$debugA7;
|
|
145
|
-
|
|
146
|
-
return (_table$options$debugA7 = table.options.debugAll) != null ? _table$options$debugA7 : table.options.debugHeaders;
|
|
147
|
-
}
|
|
111
|
+
debug: () => table.options.debugAll ?? table.options.debugHeaders
|
|
148
112
|
}),
|
|
149
113
|
getRightFooterGroups: utils.memo(() => [table.getRightHeaderGroups()], headerGroups => {
|
|
150
114
|
return [...headerGroups].reverse();
|
|
151
115
|
}, {
|
|
152
116
|
key: process.env.NODE_ENV === 'development' && 'getRightFooterGroups',
|
|
153
|
-
debug: () =>
|
|
154
|
-
var _table$options$debugA8;
|
|
155
|
-
|
|
156
|
-
return (_table$options$debugA8 = table.options.debugAll) != null ? _table$options$debugA8 : table.options.debugHeaders;
|
|
157
|
-
}
|
|
117
|
+
debug: () => table.options.debugAll ?? table.options.debugHeaders
|
|
158
118
|
}),
|
|
159
119
|
// Flat Headers
|
|
160
120
|
getFlatHeaders: utils.memo(() => [table.getHeaderGroups()], headerGroups => {
|
|
@@ -163,11 +123,7 @@ const Headers = {
|
|
|
163
123
|
}).flat();
|
|
164
124
|
}, {
|
|
165
125
|
key: process.env.NODE_ENV === 'development' && 'getFlatHeaders',
|
|
166
|
-
debug: () =>
|
|
167
|
-
var _table$options$debugA9;
|
|
168
|
-
|
|
169
|
-
return (_table$options$debugA9 = table.options.debugAll) != null ? _table$options$debugA9 : table.options.debugHeaders;
|
|
170
|
-
}
|
|
126
|
+
debug: () => table.options.debugAll ?? table.options.debugHeaders
|
|
171
127
|
}),
|
|
172
128
|
getLeftFlatHeaders: utils.memo(() => [table.getLeftHeaderGroups()], left => {
|
|
173
129
|
return left.map(headerGroup => {
|
|
@@ -175,11 +131,7 @@ const Headers = {
|
|
|
175
131
|
}).flat();
|
|
176
132
|
}, {
|
|
177
133
|
key: process.env.NODE_ENV === 'development' && 'getLeftFlatHeaders',
|
|
178
|
-
debug: () =>
|
|
179
|
-
var _table$options$debugA10;
|
|
180
|
-
|
|
181
|
-
return (_table$options$debugA10 = table.options.debugAll) != null ? _table$options$debugA10 : table.options.debugHeaders;
|
|
182
|
-
}
|
|
134
|
+
debug: () => table.options.debugAll ?? table.options.debugHeaders
|
|
183
135
|
}),
|
|
184
136
|
getCenterFlatHeaders: utils.memo(() => [table.getCenterHeaderGroups()], left => {
|
|
185
137
|
return left.map(headerGroup => {
|
|
@@ -187,11 +139,7 @@ const Headers = {
|
|
|
187
139
|
}).flat();
|
|
188
140
|
}, {
|
|
189
141
|
key: process.env.NODE_ENV === 'development' && 'getCenterFlatHeaders',
|
|
190
|
-
debug: () =>
|
|
191
|
-
var _table$options$debugA11;
|
|
192
|
-
|
|
193
|
-
return (_table$options$debugA11 = table.options.debugAll) != null ? _table$options$debugA11 : table.options.debugHeaders;
|
|
194
|
-
}
|
|
142
|
+
debug: () => table.options.debugAll ?? table.options.debugHeaders
|
|
195
143
|
}),
|
|
196
144
|
getRightFlatHeaders: utils.memo(() => [table.getRightHeaderGroups()], left => {
|
|
197
145
|
return left.map(headerGroup => {
|
|
@@ -199,11 +147,7 @@ const Headers = {
|
|
|
199
147
|
}).flat();
|
|
200
148
|
}, {
|
|
201
149
|
key: process.env.NODE_ENV === 'development' && 'getRightFlatHeaders',
|
|
202
|
-
debug: () =>
|
|
203
|
-
var _table$options$debugA12;
|
|
204
|
-
|
|
205
|
-
return (_table$options$debugA12 = table.options.debugAll) != null ? _table$options$debugA12 : table.options.debugHeaders;
|
|
206
|
-
}
|
|
150
|
+
debug: () => table.options.debugAll ?? table.options.debugHeaders
|
|
207
151
|
}),
|
|
208
152
|
// Leaf Headers
|
|
209
153
|
getCenterLeafHeaders: utils.memo(() => [table.getCenterFlatHeaders()], flatHeaders => {
|
|
@@ -214,11 +158,7 @@ const Headers = {
|
|
|
214
158
|
});
|
|
215
159
|
}, {
|
|
216
160
|
key: process.env.NODE_ENV === 'development' && 'getCenterLeafHeaders',
|
|
217
|
-
debug: () =>
|
|
218
|
-
var _table$options$debugA13;
|
|
219
|
-
|
|
220
|
-
return (_table$options$debugA13 = table.options.debugAll) != null ? _table$options$debugA13 : table.options.debugHeaders;
|
|
221
|
-
}
|
|
161
|
+
debug: () => table.options.debugAll ?? table.options.debugHeaders
|
|
222
162
|
}),
|
|
223
163
|
getLeftLeafHeaders: utils.memo(() => [table.getLeftFlatHeaders()], flatHeaders => {
|
|
224
164
|
return flatHeaders.filter(header => {
|
|
@@ -228,11 +168,7 @@ const Headers = {
|
|
|
228
168
|
});
|
|
229
169
|
}, {
|
|
230
170
|
key: process.env.NODE_ENV === 'development' && 'getLeftLeafHeaders',
|
|
231
|
-
debug: () =>
|
|
232
|
-
var _table$options$debugA14;
|
|
233
|
-
|
|
234
|
-
return (_table$options$debugA14 = table.options.debugAll) != null ? _table$options$debugA14 : table.options.debugHeaders;
|
|
235
|
-
}
|
|
171
|
+
debug: () => table.options.debugAll ?? table.options.debugHeaders
|
|
236
172
|
}),
|
|
237
173
|
getRightLeafHeaders: utils.memo(() => [table.getRightFlatHeaders()], flatHeaders => {
|
|
238
174
|
return flatHeaders.filter(header => {
|
|
@@ -242,31 +178,23 @@ const Headers = {
|
|
|
242
178
|
});
|
|
243
179
|
}, {
|
|
244
180
|
key: process.env.NODE_ENV === 'development' && 'getRightLeafHeaders',
|
|
245
|
-
debug: () =>
|
|
246
|
-
var _table$options$debugA15;
|
|
247
|
-
|
|
248
|
-
return (_table$options$debugA15 = table.options.debugAll) != null ? _table$options$debugA15 : table.options.debugHeaders;
|
|
249
|
-
}
|
|
181
|
+
debug: () => table.options.debugAll ?? table.options.debugHeaders
|
|
250
182
|
}),
|
|
251
183
|
getLeafHeaders: utils.memo(() => [table.getLeftHeaderGroups(), table.getCenterHeaderGroups(), table.getRightHeaderGroups()], (left, center, right) => {
|
|
252
|
-
var _left
|
|
184
|
+
var _left$, _center$, _right$;
|
|
253
185
|
|
|
254
|
-
return [...((
|
|
186
|
+
return [...(((_left$ = left[0]) == null ? void 0 : _left$.headers) ?? []), ...(((_center$ = center[0]) == null ? void 0 : _center$.headers) ?? []), ...(((_right$ = right[0]) == null ? void 0 : _right$.headers) ?? [])].map(header => {
|
|
255
187
|
return header.getLeafHeaders();
|
|
256
188
|
}).flat();
|
|
257
189
|
}, {
|
|
258
190
|
key: process.env.NODE_ENV === 'development' && 'getLeafHeaders',
|
|
259
|
-
debug: () =>
|
|
260
|
-
var _table$options$debugA16;
|
|
261
|
-
|
|
262
|
-
return (_table$options$debugA16 = table.options.debugAll) != null ? _table$options$debugA16 : table.options.debugHeaders;
|
|
263
|
-
}
|
|
191
|
+
debug: () => table.options.debugAll ?? table.options.debugHeaders
|
|
264
192
|
})
|
|
265
193
|
};
|
|
266
194
|
}
|
|
267
195
|
};
|
|
268
196
|
function buildHeaderGroups(allColumns, columnsToGroup, table, headerFamily) {
|
|
269
|
-
var _headerGroups
|
|
197
|
+
var _headerGroups$;
|
|
270
198
|
|
|
271
199
|
// Find the max depth of the columns:
|
|
272
200
|
// build the leaf column row
|
|
@@ -297,7 +225,7 @@ function buildHeaderGroups(allColumns, columnsToGroup, table, headerFamily) {
|
|
|
297
225
|
// The header group we are creating
|
|
298
226
|
const headerGroup = {
|
|
299
227
|
depth,
|
|
300
|
-
id: [headerFamily,
|
|
228
|
+
id: [headerFamily, `${depth}`].filter(Boolean).join('_'),
|
|
301
229
|
headers: []
|
|
302
230
|
}; // The parent columns we're going to scan next
|
|
303
231
|
|
|
@@ -327,7 +255,7 @@ function buildHeaderGroups(allColumns, columnsToGroup, table, headerFamily) {
|
|
|
327
255
|
const header = createHeader(table, column, {
|
|
328
256
|
id: [headerFamily, depth, column.id, headerToGroup == null ? void 0 : headerToGroup.id].filter(Boolean).join('_'),
|
|
329
257
|
isPlaceholder,
|
|
330
|
-
placeholderId: isPlaceholder ?
|
|
258
|
+
placeholderId: isPlaceholder ? `${pendingParentHeaders.filter(d => d.column === column).length}` : undefined,
|
|
331
259
|
depth,
|
|
332
260
|
index: pendingParentHeaders.length
|
|
333
261
|
}); // Add the headerToGroup as a subHeader of the new header
|
|
@@ -389,7 +317,7 @@ function buildHeaderGroups(allColumns, columnsToGroup, table, headerFamily) {
|
|
|
389
317
|
});
|
|
390
318
|
};
|
|
391
319
|
|
|
392
|
-
recurseHeadersForSpans((
|
|
320
|
+
recurseHeadersForSpans(((_headerGroups$ = headerGroups[0]) == null ? void 0 : _headerGroups$.headers) ?? []);
|
|
393
321
|
return headerGroups;
|
|
394
322
|
}
|
|
395
323
|
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"headers.js","sources":["../../../src/core/headers.ts"],"sourcesContent":["import { RowData, Column, Header, HeaderGroup, Table } from '../types'\nimport { memo } from '../utils'\nimport { TableFeature } from './table'\n\nexport type CoreHeaderGroup<TData extends RowData> = {\n id: string\n depth: number\n headers: Header<TData, unknown>[]\n}\n\nexport type HeaderContext<TData, TValue> = {\n table: Table<TData>\n header: Header<TData, TValue>\n column: Column<TData, TValue>\n}\n\nexport type CoreHeader<TData extends RowData, TValue> = {\n id: string\n index: number\n depth: number\n column: Column<TData, TValue>\n headerGroup: HeaderGroup<TData>\n subHeaders: Header<TData, TValue>[]\n colSpan: number\n rowSpan: number\n getLeafHeaders: () => Header<TData, unknown>[]\n isPlaceholder: boolean\n placeholderId?: string\n getContext: () => HeaderContext<TData, TValue>\n}\n\nexport type HeadersInstance<TData extends RowData> = {\n getHeaderGroups: () => HeaderGroup<TData>[]\n getLeftHeaderGroups: () => HeaderGroup<TData>[]\n getCenterHeaderGroups: () => HeaderGroup<TData>[]\n getRightHeaderGroups: () => HeaderGroup<TData>[]\n\n getFooterGroups: () => HeaderGroup<TData>[]\n getLeftFooterGroups: () => HeaderGroup<TData>[]\n getCenterFooterGroups: () => HeaderGroup<TData>[]\n getRightFooterGroups: () => HeaderGroup<TData>[]\n\n getFlatHeaders: () => Header<TData, unknown>[]\n getLeftFlatHeaders: () => Header<TData, unknown>[]\n getCenterFlatHeaders: () => Header<TData, unknown>[]\n getRightFlatHeaders: () => Header<TData, unknown>[]\n\n getLeafHeaders: () => Header<TData, unknown>[]\n getLeftLeafHeaders: () => Header<TData, unknown>[]\n getCenterLeafHeaders: () => Header<TData, unknown>[]\n getRightLeafHeaders: () => Header<TData, unknown>[]\n}\n\n//\n\nfunction createHeader<TData extends RowData, TValue>(\n table: Table<TData>,\n column: Column<TData, TValue>,\n options: {\n id?: string\n isPlaceholder?: boolean\n placeholderId?: string\n index: number\n depth: number\n }\n) {\n const id = options.id ?? column.id\n\n let header: CoreHeader<TData, TValue> = {\n id,\n column,\n index: options.index,\n isPlaceholder: !!options.isPlaceholder,\n placeholderId: options.placeholderId,\n depth: options.depth,\n subHeaders: [],\n colSpan: 0,\n rowSpan: 0,\n headerGroup: null!,\n getLeafHeaders: (): Header<TData, unknown>[] => {\n const leafHeaders: Header<TData, unknown>[] = []\n\n const recurseHeader = (h: CoreHeader<TData, any>) => {\n if (h.subHeaders && h.subHeaders.length) {\n h.subHeaders.map(recurseHeader)\n }\n leafHeaders.push(h as Header<TData, unknown>)\n }\n\n recurseHeader(header)\n\n return leafHeaders\n },\n getContext: () => ({\n table,\n header: header as Header<TData, TValue>,\n column,\n }),\n }\n\n table._features.forEach(feature => {\n Object.assign(header, feature.createHeader?.(header, table))\n })\n\n return header as Header<TData, TValue>\n}\n\nexport const Headers: TableFeature = {\n createTable: <TData extends RowData>(\n table: Table<TData>\n ): HeadersInstance<TData> => {\n return {\n // Header Groups\n\n getHeaderGroups: memo(\n () => [\n table.getAllColumns(),\n table.getVisibleLeafColumns(),\n table.getState().columnPinning.left,\n table.getState().columnPinning.right,\n ],\n (allColumns, leafColumns, left, right) => {\n const leftColumns =\n left\n ?.map(columnId => leafColumns.find(d => d.id === columnId)!)\n .filter(Boolean) ?? []\n\n const rightColumns =\n right\n ?.map(columnId => leafColumns.find(d => d.id === columnId)!)\n .filter(Boolean) ?? []\n\n const centerColumns = leafColumns.filter(\n column => !left?.includes(column.id) && !right?.includes(column.id)\n )\n\n const headerGroups = buildHeaderGroups(\n allColumns,\n [...leftColumns, ...centerColumns, ...rightColumns],\n table\n )\n\n return headerGroups\n },\n {\n key: process.env.NODE_ENV === 'development' && 'getHeaderGroups',\n debug: () => table.options.debugAll ?? table.options.debugHeaders,\n }\n ),\n\n getCenterHeaderGroups: memo(\n () => [\n table.getAllColumns(),\n table.getVisibleLeafColumns(),\n table.getState().columnPinning.left,\n table.getState().columnPinning.right,\n ],\n (allColumns, leafColumns, left, right) => {\n leafColumns = leafColumns.filter(\n column => !left?.includes(column.id) && !right?.includes(column.id)\n )\n return buildHeaderGroups(allColumns, leafColumns, table, 'center')\n },\n {\n key:\n process.env.NODE_ENV === 'development' && 'getCenterHeaderGroups',\n debug: () => table.options.debugAll ?? table.options.debugHeaders,\n }\n ),\n\n getLeftHeaderGroups: memo(\n () => [\n table.getAllColumns(),\n table.getVisibleLeafColumns(),\n table.getState().columnPinning.left,\n ],\n (allColumns, leafColumns, left) => {\n const orderedLeafColumns =\n left\n ?.map(columnId => leafColumns.find(d => d.id === columnId)!)\n .filter(Boolean) ?? []\n\n return buildHeaderGroups(\n allColumns,\n orderedLeafColumns,\n table,\n 'left'\n )\n },\n {\n key: process.env.NODE_ENV === 'development' && 'getLeftHeaderGroups',\n debug: () => table.options.debugAll ?? table.options.debugHeaders,\n }\n ),\n\n getRightHeaderGroups: memo(\n () => [\n table.getAllColumns(),\n table.getVisibleLeafColumns(),\n table.getState().columnPinning.right,\n ],\n (allColumns, leafColumns, right) => {\n const orderedLeafColumns =\n right\n ?.map(columnId => leafColumns.find(d => d.id === columnId)!)\n .filter(Boolean) ?? []\n\n return buildHeaderGroups(\n allColumns,\n orderedLeafColumns,\n table,\n 'right'\n )\n },\n {\n key: process.env.NODE_ENV === 'development' && 'getRightHeaderGroups',\n debug: () => table.options.debugAll ?? table.options.debugHeaders,\n }\n ),\n\n // Footer Groups\n\n getFooterGroups: memo(\n () => [table.getHeaderGroups()],\n headerGroups => {\n return [...headerGroups].reverse()\n },\n {\n key: process.env.NODE_ENV === 'development' && 'getFooterGroups',\n debug: () => table.options.debugAll ?? table.options.debugHeaders,\n }\n ),\n\n getLeftFooterGroups: memo(\n () => [table.getLeftHeaderGroups()],\n headerGroups => {\n return [...headerGroups].reverse()\n },\n {\n key: process.env.NODE_ENV === 'development' && 'getLeftFooterGroups',\n debug: () => table.options.debugAll ?? table.options.debugHeaders,\n }\n ),\n\n getCenterFooterGroups: memo(\n () => [table.getCenterHeaderGroups()],\n headerGroups => {\n return [...headerGroups].reverse()\n },\n {\n key:\n process.env.NODE_ENV === 'development' && 'getCenterFooterGroups',\n debug: () => table.options.debugAll ?? table.options.debugHeaders,\n }\n ),\n\n getRightFooterGroups: memo(\n () => [table.getRightHeaderGroups()],\n headerGroups => {\n return [...headerGroups].reverse()\n },\n {\n key: process.env.NODE_ENV === 'development' && 'getRightFooterGroups',\n debug: () => table.options.debugAll ?? table.options.debugHeaders,\n }\n ),\n\n // Flat Headers\n\n getFlatHeaders: memo(\n () => [table.getHeaderGroups()],\n headerGroups => {\n return headerGroups\n .map(headerGroup => {\n return headerGroup.headers\n })\n .flat()\n },\n {\n key: process.env.NODE_ENV === 'development' && 'getFlatHeaders',\n debug: () => table.options.debugAll ?? table.options.debugHeaders,\n }\n ),\n\n getLeftFlatHeaders: memo(\n () => [table.getLeftHeaderGroups()],\n left => {\n return left\n .map(headerGroup => {\n return headerGroup.headers\n })\n .flat()\n },\n {\n key: process.env.NODE_ENV === 'development' && 'getLeftFlatHeaders',\n debug: () => table.options.debugAll ?? table.options.debugHeaders,\n }\n ),\n\n getCenterFlatHeaders: memo(\n () => [table.getCenterHeaderGroups()],\n left => {\n return left\n .map(headerGroup => {\n return headerGroup.headers\n })\n .flat()\n },\n {\n key: process.env.NODE_ENV === 'development' && 'getCenterFlatHeaders',\n debug: () => table.options.debugAll ?? table.options.debugHeaders,\n }\n ),\n\n getRightFlatHeaders: memo(\n () => [table.getRightHeaderGroups()],\n left => {\n return left\n .map(headerGroup => {\n return headerGroup.headers\n })\n .flat()\n },\n {\n key: process.env.NODE_ENV === 'development' && 'getRightFlatHeaders',\n debug: () => table.options.debugAll ?? table.options.debugHeaders,\n }\n ),\n\n // Leaf Headers\n\n getCenterLeafHeaders: memo(\n () => [table.getCenterFlatHeaders()],\n flatHeaders => {\n return flatHeaders.filter(header => !header.subHeaders?.length)\n },\n {\n key: process.env.NODE_ENV === 'development' && 'getCenterLeafHeaders',\n debug: () => table.options.debugAll ?? table.options.debugHeaders,\n }\n ),\n\n getLeftLeafHeaders: memo(\n () => [table.getLeftFlatHeaders()],\n flatHeaders => {\n return flatHeaders.filter(header => !header.subHeaders?.length)\n },\n {\n key: process.env.NODE_ENV === 'development' && 'getLeftLeafHeaders',\n debug: () => table.options.debugAll ?? table.options.debugHeaders,\n }\n ),\n\n getRightLeafHeaders: memo(\n () => [table.getRightFlatHeaders()],\n flatHeaders => {\n return flatHeaders.filter(header => !header.subHeaders?.length)\n },\n {\n key: process.env.NODE_ENV === 'development' && 'getRightLeafHeaders',\n debug: () => table.options.debugAll ?? table.options.debugHeaders,\n }\n ),\n\n getLeafHeaders: memo(\n () => [\n table.getLeftHeaderGroups(),\n table.getCenterHeaderGroups(),\n table.getRightHeaderGroups(),\n ],\n (left, center, right) => {\n return [\n ...(left[0]?.headers ?? []),\n ...(center[0]?.headers ?? []),\n ...(right[0]?.headers ?? []),\n ]\n .map(header => {\n return header.getLeafHeaders()\n })\n .flat()\n },\n {\n key: process.env.NODE_ENV === 'development' && 'getLeafHeaders',\n debug: () => table.options.debugAll ?? table.options.debugHeaders,\n }\n ),\n }\n },\n}\n\nexport function buildHeaderGroups<TData extends RowData>(\n allColumns: Column<TData, unknown>[],\n columnsToGroup: Column<TData, unknown>[],\n table: Table<TData>,\n headerFamily?: 'center' | 'left' | 'right'\n) {\n // Find the max depth of the columns:\n // build the leaf column row\n // build each buffer row going up\n // placeholder for non-existent level\n // real column for existing level\n\n let maxDepth = 0\n\n const findMaxDepth = (columns: Column<TData, unknown>[], depth = 1) => {\n maxDepth = Math.max(maxDepth, depth)\n\n columns\n .filter(column => column.getIsVisible())\n .forEach(column => {\n if (column.columns?.length) {\n findMaxDepth(column.columns, depth + 1)\n }\n }, 0)\n }\n\n findMaxDepth(allColumns)\n\n let headerGroups: HeaderGroup<TData>[] = []\n\n const createHeaderGroup = (\n headersToGroup: Header<TData, unknown>[],\n depth: number\n ) => {\n // The header group we are creating\n const headerGroup: HeaderGroup<TData> = {\n depth,\n id: [headerFamily, `${depth}`].filter(Boolean).join('_'),\n headers: [],\n }\n\n // The parent columns we're going to scan next\n const pendingParentHeaders: Header<TData, unknown>[] = []\n\n // Scan each column for parents\n headersToGroup.forEach(headerToGroup => {\n // What is the latest (last) parent column?\n\n const latestPendingParentHeader = [...pendingParentHeaders].reverse()[0]\n\n const isLeafHeader = headerToGroup.column.depth === headerGroup.depth\n\n let column: Column<TData, unknown>\n let isPlaceholder = false\n\n if (isLeafHeader && headerToGroup.column.parent) {\n // The parent header is new\n column = headerToGroup.column.parent\n } else {\n // The parent header is repeated\n column = headerToGroup.column\n isPlaceholder = true\n }\n\n if (\n latestPendingParentHeader &&\n latestPendingParentHeader?.column === column\n ) {\n // This column is repeated. Add it as a sub header to the next batch\n latestPendingParentHeader.subHeaders.push(headerToGroup)\n } else {\n // This is a new header. Let's create it\n const header = createHeader(table, column, {\n id: [headerFamily, depth, column.id, headerToGroup?.id]\n .filter(Boolean)\n .join('_'),\n isPlaceholder,\n placeholderId: isPlaceholder\n ? `${pendingParentHeaders.filter(d => d.column === column).length}`\n : undefined,\n depth,\n index: pendingParentHeaders.length,\n })\n\n // Add the headerToGroup as a subHeader of the new header\n header.subHeaders.push(headerToGroup)\n // Add the new header to the pendingParentHeaders to get grouped\n // in the next batch\n pendingParentHeaders.push(header)\n }\n\n headerGroup.headers.push(headerToGroup)\n headerToGroup.headerGroup = headerGroup\n })\n\n headerGroups.push(headerGroup)\n\n if (depth > 0) {\n createHeaderGroup(pendingParentHeaders, depth - 1)\n }\n }\n\n const bottomHeaders = columnsToGroup.map((column, index) =>\n createHeader(table, column, {\n depth: maxDepth,\n index,\n })\n )\n\n createHeaderGroup(bottomHeaders, maxDepth - 1)\n\n headerGroups.reverse()\n\n // headerGroups = headerGroups.filter(headerGroup => {\n // return !headerGroup.headers.every(header => header.isPlaceholder)\n // })\n\n const recurseHeadersForSpans = (\n headers: Header<TData, unknown>[]\n ): { colSpan: number; rowSpan: number }[] => {\n const filteredHeaders = headers.filter(header =>\n header.column.getIsVisible()\n )\n\n return filteredHeaders.map(header => {\n let colSpan = 0\n let rowSpan = 0\n let childRowSpans = [0]\n\n if (header.subHeaders && header.subHeaders.length) {\n childRowSpans = []\n\n recurseHeadersForSpans(header.subHeaders).forEach(\n ({ colSpan: childColSpan, rowSpan: childRowSpan }) => {\n colSpan += childColSpan\n childRowSpans.push(childRowSpan)\n }\n )\n } else {\n colSpan = 1\n }\n\n const minChildRowSpan = Math.min(...childRowSpans)\n rowSpan = rowSpan + minChildRowSpan\n\n header.colSpan = colSpan\n header.rowSpan = rowSpan\n\n return { colSpan, rowSpan }\n })\n }\n\n recurseHeadersForSpans(headerGroups[0]?.headers ?? [])\n\n return headerGroups\n}\n"],"names":["createHeader","table","column","options","id","header","index","isPlaceholder","placeholderId","depth","subHeaders","colSpan","rowSpan","headerGroup","getLeafHeaders","leafHeaders","recurseHeader","h","length","map","push","getContext","_features","forEach","feature","Object","assign","Headers","createTable","getHeaderGroups","memo","getAllColumns","getVisibleLeafColumns","getState","columnPinning","left","right","allColumns","leafColumns","leftColumns","columnId","find","d","filter","Boolean","rightColumns","centerColumns","includes","headerGroups","buildHeaderGroups","key","process","env","NODE_ENV","debug","debugAll","debugHeaders","getCenterHeaderGroups","getLeftHeaderGroups","orderedLeafColumns","getRightHeaderGroups","getFooterGroups","reverse","getLeftFooterGroups","getCenterFooterGroups","getRightFooterGroups","getFlatHeaders","headers","flat","getLeftFlatHeaders","getCenterFlatHeaders","getRightFlatHeaders","getCenterLeafHeaders","flatHeaders","getLeftLeafHeaders","getRightLeafHeaders","center","columnsToGroup","headerFamily","maxDepth","findMaxDepth","columns","Math","max","getIsVisible","createHeaderGroup","headersToGroup","join","pendingParentHeaders","headerToGroup","latestPendingParentHeader","isLeafHeader","parent","undefined","bottomHeaders","recurseHeadersForSpans","filteredHeaders","childRowSpans","childColSpan","childRowSpan","minChildRowSpan","min"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"headers.js","sources":["../../../src/core/headers.ts"],"sourcesContent":["import { RowData, Column, Header, HeaderGroup, Table } from '../types'\nimport { memo } from '../utils'\nimport { TableFeature } from './table'\n\nexport type CoreHeaderGroup<TData extends RowData> = {\n id: string\n depth: number\n headers: Header<TData, unknown>[]\n}\n\nexport type HeaderContext<TData, TValue> = {\n table: Table<TData>\n header: Header<TData, TValue>\n column: Column<TData, TValue>\n}\n\nexport type CoreHeader<TData extends RowData, TValue> = {\n id: string\n index: number\n depth: number\n column: Column<TData, TValue>\n headerGroup: HeaderGroup<TData>\n subHeaders: Header<TData, TValue>[]\n colSpan: number\n rowSpan: number\n getLeafHeaders: () => Header<TData, unknown>[]\n isPlaceholder: boolean\n placeholderId?: string\n getContext: () => HeaderContext<TData, TValue>\n}\n\nexport type HeadersInstance<TData extends RowData> = {\n getHeaderGroups: () => HeaderGroup<TData>[]\n getLeftHeaderGroups: () => HeaderGroup<TData>[]\n getCenterHeaderGroups: () => HeaderGroup<TData>[]\n getRightHeaderGroups: () => HeaderGroup<TData>[]\n\n getFooterGroups: () => HeaderGroup<TData>[]\n getLeftFooterGroups: () => HeaderGroup<TData>[]\n getCenterFooterGroups: () => HeaderGroup<TData>[]\n getRightFooterGroups: () => HeaderGroup<TData>[]\n\n getFlatHeaders: () => Header<TData, unknown>[]\n getLeftFlatHeaders: () => Header<TData, unknown>[]\n getCenterFlatHeaders: () => Header<TData, unknown>[]\n getRightFlatHeaders: () => Header<TData, unknown>[]\n\n getLeafHeaders: () => Header<TData, unknown>[]\n getLeftLeafHeaders: () => Header<TData, unknown>[]\n getCenterLeafHeaders: () => Header<TData, unknown>[]\n getRightLeafHeaders: () => Header<TData, unknown>[]\n}\n\n//\n\nfunction createHeader<TData extends RowData, TValue>(\n table: Table<TData>,\n column: Column<TData, TValue>,\n options: {\n id?: string\n isPlaceholder?: boolean\n placeholderId?: string\n index: number\n depth: number\n }\n) {\n const id = options.id ?? column.id\n\n let header: CoreHeader<TData, TValue> = {\n id,\n column,\n index: options.index,\n isPlaceholder: !!options.isPlaceholder,\n placeholderId: options.placeholderId,\n depth: options.depth,\n subHeaders: [],\n colSpan: 0,\n rowSpan: 0,\n headerGroup: null!,\n getLeafHeaders: (): Header<TData, unknown>[] => {\n const leafHeaders: Header<TData, unknown>[] = []\n\n const recurseHeader = (h: CoreHeader<TData, any>) => {\n if (h.subHeaders && h.subHeaders.length) {\n h.subHeaders.map(recurseHeader)\n }\n leafHeaders.push(h as Header<TData, unknown>)\n }\n\n recurseHeader(header)\n\n return leafHeaders\n },\n getContext: () => ({\n table,\n header: header as Header<TData, TValue>,\n column,\n }),\n }\n\n table._features.forEach(feature => {\n Object.assign(header, feature.createHeader?.(header, table))\n })\n\n return header as Header<TData, TValue>\n}\n\nexport const Headers: TableFeature = {\n createTable: <TData extends RowData>(\n table: Table<TData>\n ): HeadersInstance<TData> => {\n return {\n // Header Groups\n\n getHeaderGroups: memo(\n () => [\n table.getAllColumns(),\n table.getVisibleLeafColumns(),\n table.getState().columnPinning.left,\n table.getState().columnPinning.right,\n ],\n (allColumns, leafColumns, left, right) => {\n const leftColumns =\n left\n ?.map(columnId => leafColumns.find(d => d.id === columnId)!)\n .filter(Boolean) ?? []\n\n const rightColumns =\n right\n ?.map(columnId => leafColumns.find(d => d.id === columnId)!)\n .filter(Boolean) ?? []\n\n const centerColumns = leafColumns.filter(\n column => !left?.includes(column.id) && !right?.includes(column.id)\n )\n\n const headerGroups = buildHeaderGroups(\n allColumns,\n [...leftColumns, ...centerColumns, ...rightColumns],\n table\n )\n\n return headerGroups\n },\n {\n key: process.env.NODE_ENV === 'development' && 'getHeaderGroups',\n debug: () => table.options.debugAll ?? table.options.debugHeaders,\n }\n ),\n\n getCenterHeaderGroups: memo(\n () => [\n table.getAllColumns(),\n table.getVisibleLeafColumns(),\n table.getState().columnPinning.left,\n table.getState().columnPinning.right,\n ],\n (allColumns, leafColumns, left, right) => {\n leafColumns = leafColumns.filter(\n column => !left?.includes(column.id) && !right?.includes(column.id)\n )\n return buildHeaderGroups(allColumns, leafColumns, table, 'center')\n },\n {\n key:\n process.env.NODE_ENV === 'development' && 'getCenterHeaderGroups',\n debug: () => table.options.debugAll ?? table.options.debugHeaders,\n }\n ),\n\n getLeftHeaderGroups: memo(\n () => [\n table.getAllColumns(),\n table.getVisibleLeafColumns(),\n table.getState().columnPinning.left,\n ],\n (allColumns, leafColumns, left) => {\n const orderedLeafColumns =\n left\n ?.map(columnId => leafColumns.find(d => d.id === columnId)!)\n .filter(Boolean) ?? []\n\n return buildHeaderGroups(\n allColumns,\n orderedLeafColumns,\n table,\n 'left'\n )\n },\n {\n key: process.env.NODE_ENV === 'development' && 'getLeftHeaderGroups',\n debug: () => table.options.debugAll ?? table.options.debugHeaders,\n }\n ),\n\n getRightHeaderGroups: memo(\n () => [\n table.getAllColumns(),\n table.getVisibleLeafColumns(),\n table.getState().columnPinning.right,\n ],\n (allColumns, leafColumns, right) => {\n const orderedLeafColumns =\n right\n ?.map(columnId => leafColumns.find(d => d.id === columnId)!)\n .filter(Boolean) ?? []\n\n return buildHeaderGroups(\n allColumns,\n orderedLeafColumns,\n table,\n 'right'\n )\n },\n {\n key: process.env.NODE_ENV === 'development' && 'getRightHeaderGroups',\n debug: () => table.options.debugAll ?? table.options.debugHeaders,\n }\n ),\n\n // Footer Groups\n\n getFooterGroups: memo(\n () => [table.getHeaderGroups()],\n headerGroups => {\n return [...headerGroups].reverse()\n },\n {\n key: process.env.NODE_ENV === 'development' && 'getFooterGroups',\n debug: () => table.options.debugAll ?? table.options.debugHeaders,\n }\n ),\n\n getLeftFooterGroups: memo(\n () => [table.getLeftHeaderGroups()],\n headerGroups => {\n return [...headerGroups].reverse()\n },\n {\n key: process.env.NODE_ENV === 'development' && 'getLeftFooterGroups',\n debug: () => table.options.debugAll ?? table.options.debugHeaders,\n }\n ),\n\n getCenterFooterGroups: memo(\n () => [table.getCenterHeaderGroups()],\n headerGroups => {\n return [...headerGroups].reverse()\n },\n {\n key:\n process.env.NODE_ENV === 'development' && 'getCenterFooterGroups',\n debug: () => table.options.debugAll ?? table.options.debugHeaders,\n }\n ),\n\n getRightFooterGroups: memo(\n () => [table.getRightHeaderGroups()],\n headerGroups => {\n return [...headerGroups].reverse()\n },\n {\n key: process.env.NODE_ENV === 'development' && 'getRightFooterGroups',\n debug: () => table.options.debugAll ?? table.options.debugHeaders,\n }\n ),\n\n // Flat Headers\n\n getFlatHeaders: memo(\n () => [table.getHeaderGroups()],\n headerGroups => {\n return headerGroups\n .map(headerGroup => {\n return headerGroup.headers\n })\n .flat()\n },\n {\n key: process.env.NODE_ENV === 'development' && 'getFlatHeaders',\n debug: () => table.options.debugAll ?? table.options.debugHeaders,\n }\n ),\n\n getLeftFlatHeaders: memo(\n () => [table.getLeftHeaderGroups()],\n left => {\n return left\n .map(headerGroup => {\n return headerGroup.headers\n })\n .flat()\n },\n {\n key: process.env.NODE_ENV === 'development' && 'getLeftFlatHeaders',\n debug: () => table.options.debugAll ?? table.options.debugHeaders,\n }\n ),\n\n getCenterFlatHeaders: memo(\n () => [table.getCenterHeaderGroups()],\n left => {\n return left\n .map(headerGroup => {\n return headerGroup.headers\n })\n .flat()\n },\n {\n key: process.env.NODE_ENV === 'development' && 'getCenterFlatHeaders',\n debug: () => table.options.debugAll ?? table.options.debugHeaders,\n }\n ),\n\n getRightFlatHeaders: memo(\n () => [table.getRightHeaderGroups()],\n left => {\n return left\n .map(headerGroup => {\n return headerGroup.headers\n })\n .flat()\n },\n {\n key: process.env.NODE_ENV === 'development' && 'getRightFlatHeaders',\n debug: () => table.options.debugAll ?? table.options.debugHeaders,\n }\n ),\n\n // Leaf Headers\n\n getCenterLeafHeaders: memo(\n () => [table.getCenterFlatHeaders()],\n flatHeaders => {\n return flatHeaders.filter(header => !header.subHeaders?.length)\n },\n {\n key: process.env.NODE_ENV === 'development' && 'getCenterLeafHeaders',\n debug: () => table.options.debugAll ?? table.options.debugHeaders,\n }\n ),\n\n getLeftLeafHeaders: memo(\n () => [table.getLeftFlatHeaders()],\n flatHeaders => {\n return flatHeaders.filter(header => !header.subHeaders?.length)\n },\n {\n key: process.env.NODE_ENV === 'development' && 'getLeftLeafHeaders',\n debug: () => table.options.debugAll ?? table.options.debugHeaders,\n }\n ),\n\n getRightLeafHeaders: memo(\n () => [table.getRightFlatHeaders()],\n flatHeaders => {\n return flatHeaders.filter(header => !header.subHeaders?.length)\n },\n {\n key: process.env.NODE_ENV === 'development' && 'getRightLeafHeaders',\n debug: () => table.options.debugAll ?? table.options.debugHeaders,\n }\n ),\n\n getLeafHeaders: memo(\n () => [\n table.getLeftHeaderGroups(),\n table.getCenterHeaderGroups(),\n table.getRightHeaderGroups(),\n ],\n (left, center, right) => {\n return [\n ...(left[0]?.headers ?? []),\n ...(center[0]?.headers ?? []),\n ...(right[0]?.headers ?? []),\n ]\n .map(header => {\n return header.getLeafHeaders()\n })\n .flat()\n },\n {\n key: process.env.NODE_ENV === 'development' && 'getLeafHeaders',\n debug: () => table.options.debugAll ?? table.options.debugHeaders,\n }\n ),\n }\n },\n}\n\nexport function buildHeaderGroups<TData extends RowData>(\n allColumns: Column<TData, unknown>[],\n columnsToGroup: Column<TData, unknown>[],\n table: Table<TData>,\n headerFamily?: 'center' | 'left' | 'right'\n) {\n // Find the max depth of the columns:\n // build the leaf column row\n // build each buffer row going up\n // placeholder for non-existent level\n // real column for existing level\n\n let maxDepth = 0\n\n const findMaxDepth = (columns: Column<TData, unknown>[], depth = 1) => {\n maxDepth = Math.max(maxDepth, depth)\n\n columns\n .filter(column => column.getIsVisible())\n .forEach(column => {\n if (column.columns?.length) {\n findMaxDepth(column.columns, depth + 1)\n }\n }, 0)\n }\n\n findMaxDepth(allColumns)\n\n let headerGroups: HeaderGroup<TData>[] = []\n\n const createHeaderGroup = (\n headersToGroup: Header<TData, unknown>[],\n depth: number\n ) => {\n // The header group we are creating\n const headerGroup: HeaderGroup<TData> = {\n depth,\n id: [headerFamily, `${depth}`].filter(Boolean).join('_'),\n headers: [],\n }\n\n // The parent columns we're going to scan next\n const pendingParentHeaders: Header<TData, unknown>[] = []\n\n // Scan each column for parents\n headersToGroup.forEach(headerToGroup => {\n // What is the latest (last) parent column?\n\n const latestPendingParentHeader = [...pendingParentHeaders].reverse()[0]\n\n const isLeafHeader = headerToGroup.column.depth === headerGroup.depth\n\n let column: Column<TData, unknown>\n let isPlaceholder = false\n\n if (isLeafHeader && headerToGroup.column.parent) {\n // The parent header is new\n column = headerToGroup.column.parent\n } else {\n // The parent header is repeated\n column = headerToGroup.column\n isPlaceholder = true\n }\n\n if (\n latestPendingParentHeader &&\n latestPendingParentHeader?.column === column\n ) {\n // This column is repeated. Add it as a sub header to the next batch\n latestPendingParentHeader.subHeaders.push(headerToGroup)\n } else {\n // This is a new header. Let's create it\n const header = createHeader(table, column, {\n id: [headerFamily, depth, column.id, headerToGroup?.id]\n .filter(Boolean)\n .join('_'),\n isPlaceholder,\n placeholderId: isPlaceholder\n ? `${pendingParentHeaders.filter(d => d.column === column).length}`\n : undefined,\n depth,\n index: pendingParentHeaders.length,\n })\n\n // Add the headerToGroup as a subHeader of the new header\n header.subHeaders.push(headerToGroup)\n // Add the new header to the pendingParentHeaders to get grouped\n // in the next batch\n pendingParentHeaders.push(header)\n }\n\n headerGroup.headers.push(headerToGroup)\n headerToGroup.headerGroup = headerGroup\n })\n\n headerGroups.push(headerGroup)\n\n if (depth > 0) {\n createHeaderGroup(pendingParentHeaders, depth - 1)\n }\n }\n\n const bottomHeaders = columnsToGroup.map((column, index) =>\n createHeader(table, column, {\n depth: maxDepth,\n index,\n })\n )\n\n createHeaderGroup(bottomHeaders, maxDepth - 1)\n\n headerGroups.reverse()\n\n // headerGroups = headerGroups.filter(headerGroup => {\n // return !headerGroup.headers.every(header => header.isPlaceholder)\n // })\n\n const recurseHeadersForSpans = (\n headers: Header<TData, unknown>[]\n ): { colSpan: number; rowSpan: number }[] => {\n const filteredHeaders = headers.filter(header =>\n header.column.getIsVisible()\n )\n\n return filteredHeaders.map(header => {\n let colSpan = 0\n let rowSpan = 0\n let childRowSpans = [0]\n\n if (header.subHeaders && header.subHeaders.length) {\n childRowSpans = []\n\n recurseHeadersForSpans(header.subHeaders).forEach(\n ({ colSpan: childColSpan, rowSpan: childRowSpan }) => {\n colSpan += childColSpan\n childRowSpans.push(childRowSpan)\n }\n )\n } else {\n colSpan = 1\n }\n\n const minChildRowSpan = Math.min(...childRowSpans)\n rowSpan = rowSpan + minChildRowSpan\n\n header.colSpan = colSpan\n header.rowSpan = rowSpan\n\n return { colSpan, rowSpan }\n })\n }\n\n recurseHeadersForSpans(headerGroups[0]?.headers ?? [])\n\n return headerGroups\n}\n"],"names":["createHeader","table","column","options","id","header","index","isPlaceholder","placeholderId","depth","subHeaders","colSpan","rowSpan","headerGroup","getLeafHeaders","leafHeaders","recurseHeader","h","length","map","push","getContext","_features","forEach","feature","Object","assign","Headers","createTable","getHeaderGroups","memo","getAllColumns","getVisibleLeafColumns","getState","columnPinning","left","right","allColumns","leafColumns","leftColumns","columnId","find","d","filter","Boolean","rightColumns","centerColumns","includes","headerGroups","buildHeaderGroups","key","process","env","NODE_ENV","debug","debugAll","debugHeaders","getCenterHeaderGroups","getLeftHeaderGroups","orderedLeafColumns","getRightHeaderGroups","getFooterGroups","reverse","getLeftFooterGroups","getCenterFooterGroups","getRightFooterGroups","getFlatHeaders","headers","flat","getLeftFlatHeaders","getCenterFlatHeaders","getRightFlatHeaders","getCenterLeafHeaders","flatHeaders","getLeftLeafHeaders","getRightLeafHeaders","center","columnsToGroup","headerFamily","maxDepth","findMaxDepth","columns","Math","max","getIsVisible","createHeaderGroup","headersToGroup","join","pendingParentHeaders","headerToGroup","latestPendingParentHeader","isLeafHeader","parent","undefined","bottomHeaders","recurseHeadersForSpans","filteredHeaders","childRowSpans","childColSpan","childRowSpan","minChildRowSpan","min"],"mappings":"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"}
|
package/build/cjs/core/row.js
CHANGED
|
@@ -36,12 +36,8 @@ const createRow = (table, id, original, rowIndex, depth, subRows) => {
|
|
|
36
36
|
row._valuesCache[columnId] = column.accessorFn(row.original, rowIndex);
|
|
37
37
|
return row._valuesCache[columnId];
|
|
38
38
|
},
|
|
39
|
-
renderValue: columnId =>
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
return (_row$getValue = row.getValue(columnId)) != null ? _row$getValue : table.options.renderFallbackValue;
|
|
43
|
-
},
|
|
44
|
-
subRows: subRows != null ? subRows : [],
|
|
39
|
+
renderValue: columnId => row.getValue(columnId) ?? table.options.renderFallbackValue,
|
|
40
|
+
subRows: subRows ?? [],
|
|
45
41
|
getLeafRows: () => utils.flattenBy(row.subRows, d => d.subRows),
|
|
46
42
|
getAllCells: utils.memo(() => [table.getAllLeafColumns()], leafColumns => {
|
|
47
43
|
return leafColumns.map(column => {
|
|
@@ -49,11 +45,7 @@ const createRow = (table, id, original, rowIndex, depth, subRows) => {
|
|
|
49
45
|
});
|
|
50
46
|
}, {
|
|
51
47
|
key: process.env.NODE_ENV === 'development' && 'row.getAllCells',
|
|
52
|
-
debug: () =>
|
|
53
|
-
var _table$options$debugA;
|
|
54
|
-
|
|
55
|
-
return (_table$options$debugA = table.options.debugAll) != null ? _table$options$debugA : table.options.debugRows;
|
|
56
|
-
}
|
|
48
|
+
debug: () => table.options.debugAll ?? table.options.debugRows
|
|
57
49
|
}),
|
|
58
50
|
_getAllCellsByColumnId: utils.memo(() => [row.getAllCells()], allCells => {
|
|
59
51
|
return allCells.reduce((acc, cell) => {
|
|
@@ -62,11 +54,7 @@ const createRow = (table, id, original, rowIndex, depth, subRows) => {
|
|
|
62
54
|
}, {});
|
|
63
55
|
}, {
|
|
64
56
|
key: process.env.NODE_ENV === 'production' && 'row.getAllCellsByColumnId',
|
|
65
|
-
debug: () =>
|
|
66
|
-
var _table$options$debugA2;
|
|
67
|
-
|
|
68
|
-
return (_table$options$debugA2 = table.options.debugAll) != null ? _table$options$debugA2 : table.options.debugRows;
|
|
69
|
-
}
|
|
57
|
+
debug: () => table.options.debugAll ?? table.options.debugRows
|
|
70
58
|
})
|
|
71
59
|
};
|
|
72
60
|
|