@tanstack/table-core 8.0.0-alpha.9 → 8.0.0-beta.0
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/aggregationFns.js +120 -0
- package/build/cjs/aggregationFns.js.map +1 -0
- package/build/cjs/core/cell.js +40 -0
- package/build/cjs/core/cell.js.map +1 -0
- package/build/cjs/core/column.js +88 -0
- package/build/cjs/core/column.js.map +1 -0
- package/build/cjs/core/headers.js +403 -0
- package/build/cjs/core/headers.js.map +1 -0
- package/build/cjs/core/instance.js +255 -0
- package/build/cjs/core/instance.js.map +1 -0
- package/build/cjs/core/row.js +77 -0
- package/build/cjs/core/row.js.map +1 -0
- package/build/cjs/createTable.js +36 -29
- package/build/cjs/createTable.js.map +1 -1
- package/build/cjs/features/ColumnSizing.js +157 -189
- package/build/cjs/features/ColumnSizing.js.map +1 -1
- package/build/cjs/features/Expanding.js +103 -155
- package/build/cjs/features/Expanding.js.map +1 -1
- package/build/cjs/features/Filters.js +155 -304
- package/build/cjs/features/Filters.js.map +1 -1
- package/build/cjs/features/Grouping.js +97 -157
- package/build/cjs/features/Grouping.js.map +1 -1
- package/build/cjs/features/Ordering.js +30 -41
- package/build/cjs/features/Ordering.js.map +1 -1
- package/build/cjs/features/Pagination.js +102 -105
- package/build/cjs/features/Pagination.js.map +1 -1
- package/build/cjs/features/Pinning.js +131 -89
- package/build/cjs/features/Pinning.js.map +1 -1
- package/build/cjs/features/RowSelection.js +138 -267
- package/build/cjs/features/RowSelection.js.map +1 -1
- package/build/cjs/features/Sorting.js +82 -167
- package/build/cjs/features/Sorting.js.map +1 -1
- package/build/cjs/features/Visibility.js +69 -115
- package/build/cjs/features/Visibility.js.map +1 -1
- package/build/cjs/filterFns.js +107 -0
- package/build/cjs/filterFns.js.map +1 -0
- package/build/cjs/index.js +36 -23
- package/build/cjs/index.js.map +1 -1
- package/build/cjs/sortingFns.js +124 -0
- package/build/cjs/sortingFns.js.map +1 -0
- package/build/cjs/utils/filterRowsUtils.js +117 -0
- package/build/cjs/utils/filterRowsUtils.js.map +1 -0
- package/build/cjs/utils/getCoreRowModel.js +79 -0
- package/build/cjs/utils/getCoreRowModel.js.map +1 -0
- package/build/cjs/utils/getExpandedRowModel.js +57 -0
- package/build/cjs/utils/getExpandedRowModel.js.map +1 -0
- package/build/cjs/utils/getFacetedMinMaxValues.js +54 -0
- package/build/cjs/utils/getFacetedMinMaxValues.js.map +1 -0
- package/build/cjs/utils/getFacetedRowModel.js +50 -0
- package/build/cjs/utils/getFacetedRowModel.js.map +1 -0
- package/build/cjs/utils/getFacetedUniqueValues.js +48 -0
- package/build/cjs/utils/getFacetedUniqueValues.js.map +1 -0
- package/build/cjs/utils/getFilteredRowModel.js +139 -0
- package/build/cjs/utils/getFilteredRowModel.js.map +1 -0
- package/build/cjs/utils/getGroupedRowModel.js +161 -0
- package/build/cjs/utils/getGroupedRowModel.js.map +1 -0
- package/build/cjs/utils/getPaginationRowModel.js +61 -0
- package/build/cjs/utils/getPaginationRowModel.js.map +1 -0
- package/build/cjs/utils/getSortedRowModel.js +110 -0
- package/build/cjs/utils/getSortedRowModel.js.map +1 -0
- package/build/cjs/utils.js +38 -107
- package/build/cjs/utils.js.map +1 -1
- package/build/esm/index.js +2976 -3853
- package/build/esm/index.js.map +1 -1
- package/build/stats-html.html +1 -1
- package/build/stats-react.json +586 -408
- package/build/types/aggregationFns.d.ts +13 -0
- package/build/types/core/cell.d.ts +9 -0
- package/build/types/core/column.d.ts +40 -0
- package/build/types/core/headers.d.ts +46 -0
- package/build/types/core/instance.d.ts +57 -0
- package/build/types/core/row.d.ts +15 -0
- package/build/types/createTable.d.ts +47 -26
- package/build/types/features/ColumnSizing.d.ts +32 -44
- package/build/types/features/Expanding.d.ts +15 -26
- package/build/types/features/Filters.d.ts +64 -63
- package/build/types/features/Grouping.d.ts +32 -46
- package/build/types/features/Ordering.d.ts +7 -10
- package/build/types/features/Pagination.d.ts +16 -15
- package/build/types/features/Pinning.d.ts +16 -17
- package/build/types/features/RowSelection.d.ts +13 -33
- package/build/types/features/Sorting.d.ts +25 -44
- package/build/types/features/Visibility.d.ts +16 -25
- package/build/types/filterFns.d.ts +13 -0
- package/build/types/index.d.ts +16 -10
- package/build/types/sortingFns.d.ts +11 -0
- package/build/types/types.d.ts +37 -122
- package/build/types/utils/filterRowsUtils.d.ts +4 -0
- package/build/types/utils/getCoreRowModel.d.ts +2 -0
- package/build/types/utils/getExpandedRowModel.d.ts +7 -0
- package/build/types/utils/getFacetedMinMaxValues.d.ts +2 -0
- package/build/types/utils/getFacetedRowModel.d.ts +2 -0
- package/build/types/utils/getFacetedUniqueValues.d.ts +2 -0
- package/build/types/utils/getFilteredRowModel.d.ts +2 -0
- package/build/types/utils/getGroupedRowModel.d.ts +2 -0
- package/build/types/utils/getPaginationRowModel.d.ts +4 -0
- package/build/types/utils/getSortedRowModel.d.ts +2 -0
- package/build/types/utils.d.ts +7 -11
- package/build/umd/index.development.js +3024 -3893
- 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 +9 -10
- package/src/.DS_Store +0 -0
- package/src/aggregationFns.ts +123 -0
- package/src/core/cell.ts +48 -0
- package/src/core/column.ts +147 -0
- package/src/core/headers.ts +575 -0
- package/src/core/instance.ts +361 -0
- package/src/core/row.ts +85 -0
- package/src/createTable.ts +188 -0
- package/src/features/ColumnSizing.ts +170 -185
- package/src/features/Expanding.ts +122 -194
- package/src/features/Filters.ts +301 -381
- package/src/features/Grouping.ts +160 -220
- package/src/features/Ordering.ts +24 -25
- package/src/features/Pagination.ts +90 -73
- package/src/features/Pinning.ts +186 -63
- package/src/features/RowSelection.ts +107 -245
- package/src/features/Sorting.ts +127 -225
- package/src/features/Visibility.ts +116 -132
- package/src/filterFns.ts +135 -0
- package/src/index.ts +29 -0
- package/src/{sortTypes.ts → sortingFns.ts} +63 -85
- package/src/types.ts +62 -168
- package/src/utils/filterRowsUtils.ts +112 -0
- package/src/utils/getCoreRowModel.ts +84 -0
- package/src/utils/getExpandedRowModel.ts +54 -0
- package/src/utils/getFacetedMinMaxValues.ts +40 -0
- package/src/utils/getFacetedRowModel.ts +50 -0
- package/src/utils/getFacetedUniqueValues.ts +37 -0
- package/src/utils/getFilteredRowModel.ts +159 -0
- package/src/utils/getGroupedRowModel.ts +175 -0
- package/src/utils/getPaginationRowModel.ts +48 -0
- package/src/utils/getSortedRowModel.ts +116 -0
- package/src/utils.ts +126 -0
- package/build/cjs/_virtual/_rollupPluginBabelHelpers.js +0 -112
- package/build/cjs/_virtual/_rollupPluginBabelHelpers.js.map +0 -1
- package/build/cjs/aggregationTypes.js +0 -130
- package/build/cjs/aggregationTypes.js.map +0 -1
- package/build/cjs/core.js +0 -545
- package/build/cjs/core.js.map +0 -1
- package/build/cjs/features/Headers.js +0 -630
- package/build/cjs/features/Headers.js.map +0 -1
- package/build/cjs/filterTypes.js +0 -172
- package/build/cjs/filterTypes.js.map +0 -1
- package/build/cjs/sortTypes.js +0 -122
- package/build/cjs/sortTypes.js.map +0 -1
- package/build/cjs/types.js +0 -22
- package/build/cjs/types.js.map +0 -1
- package/build/cjs/utils/columnFilterRowsFn.js +0 -131
- package/build/cjs/utils/columnFilterRowsFn.js.map +0 -1
- package/build/cjs/utils/expandRowsFn.js +0 -38
- package/build/cjs/utils/expandRowsFn.js.map +0 -1
- package/build/cjs/utils/globalFilterRowsFn.js +0 -101
- package/build/cjs/utils/globalFilterRowsFn.js.map +0 -1
- package/build/cjs/utils/groupRowsFn.js +0 -155
- package/build/cjs/utils/groupRowsFn.js.map +0 -1
- package/build/cjs/utils/paginateRowsFn.js +0 -44
- package/build/cjs/utils/paginateRowsFn.js.map +0 -1
- package/build/cjs/utils/sortRowsFn.js +0 -94
- package/build/cjs/utils/sortRowsFn.js.map +0 -1
- package/build/types/aggregationTypes.d.ts +0 -22
- package/build/types/core.d.ts +0 -105
- package/build/types/features/Headers.d.ts +0 -43
- package/build/types/filterTypes.d.ts +0 -50
- package/build/types/sortTypes.d.ts +0 -18
- package/build/types/utils/columnFilterRowsFn.d.ts +0 -2
- package/build/types/utils/expandRowsFn.d.ts +0 -2
- package/build/types/utils/globalFilterRowsFn.d.ts +0 -2
- package/build/types/utils/groupRowsFn.d.ts +0 -2
- package/build/types/utils/paginateRowsFn.d.ts +0 -2
- package/build/types/utils/sortRowsFn.d.ts +0 -2
- package/src/aggregationTypes.ts +0 -115
- package/src/core.tsx +0 -763
- package/src/createTable.tsx +0 -137
- package/src/features/Headers.ts +0 -747
- package/src/filterTypes.ts +0 -188
- package/src/index.tsx +0 -23
- package/src/utils/columnFilterRowsFn.ts +0 -113
- package/src/utils/expandRowsFn.ts +0 -30
- package/src/utils/globalFilterRowsFn.ts +0 -89
- package/src/utils/groupRowsFn.ts +0 -170
- package/src/utils/paginateRowsFn.ts +0 -28
- package/src/utils/sortRowsFn.ts +0 -95
- package/src/utils.tsx +0 -221
|
@@ -0,0 +1,120 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* table-core
|
|
3
|
+
*
|
|
4
|
+
* Copyright (c) TanStack
|
|
5
|
+
*
|
|
6
|
+
* This source code is licensed under the MIT license found in the
|
|
7
|
+
* LICENSE.md file in the root directory of this source tree.
|
|
8
|
+
*
|
|
9
|
+
* @license MIT
|
|
10
|
+
*/
|
|
11
|
+
'use strict';
|
|
12
|
+
|
|
13
|
+
Object.defineProperty(exports, '__esModule', { value: true });
|
|
14
|
+
|
|
15
|
+
const sum = (columnId, _leafRows, childRows) => {
|
|
16
|
+
// It's faster to just add the aggregations together instead of
|
|
17
|
+
// process leaf nodes individually
|
|
18
|
+
return childRows.reduce((sum, next) => sum + (typeof next === 'number' ? next : 0), 0);
|
|
19
|
+
};
|
|
20
|
+
|
|
21
|
+
const min = (columnId, _leafRows, childRows) => {
|
|
22
|
+
let min;
|
|
23
|
+
childRows.forEach(row => {
|
|
24
|
+
const value = row.getValue(columnId);
|
|
25
|
+
|
|
26
|
+
if (value != null && (min > value || min === undefined && value >= value)) {
|
|
27
|
+
min = value;
|
|
28
|
+
}
|
|
29
|
+
});
|
|
30
|
+
return min;
|
|
31
|
+
};
|
|
32
|
+
|
|
33
|
+
const max = (columnId, _leafRows, childRows) => {
|
|
34
|
+
let max;
|
|
35
|
+
childRows.forEach(row => {
|
|
36
|
+
const value = row.getValue(columnId);
|
|
37
|
+
|
|
38
|
+
if (value != null && (max < value || max === undefined && value >= value)) {
|
|
39
|
+
max = value;
|
|
40
|
+
}
|
|
41
|
+
});
|
|
42
|
+
return max;
|
|
43
|
+
};
|
|
44
|
+
|
|
45
|
+
const extent = (columnId, _leafRows, childRows) => {
|
|
46
|
+
let min;
|
|
47
|
+
let max;
|
|
48
|
+
childRows.forEach(row => {
|
|
49
|
+
const value = row.getValue(columnId);
|
|
50
|
+
|
|
51
|
+
if (value != null) {
|
|
52
|
+
if (min === undefined) {
|
|
53
|
+
if (value >= value) min = max = value;
|
|
54
|
+
} else {
|
|
55
|
+
if (min > value) min = value;
|
|
56
|
+
if (max < value) max = value;
|
|
57
|
+
}
|
|
58
|
+
}
|
|
59
|
+
});
|
|
60
|
+
return [min, max];
|
|
61
|
+
};
|
|
62
|
+
|
|
63
|
+
const mean = (columnId, leafRows) => {
|
|
64
|
+
let count = 0;
|
|
65
|
+
let sum = 0;
|
|
66
|
+
leafRows.forEach(row => {
|
|
67
|
+
let value = row.getValue(columnId);
|
|
68
|
+
|
|
69
|
+
if (value != null && (value = +value) >= value) {
|
|
70
|
+
++count, sum += value;
|
|
71
|
+
}
|
|
72
|
+
});
|
|
73
|
+
if (count) return sum / count;
|
|
74
|
+
return;
|
|
75
|
+
};
|
|
76
|
+
|
|
77
|
+
const median = (columnId, leafRows) => {
|
|
78
|
+
if (!leafRows.length) {
|
|
79
|
+
return;
|
|
80
|
+
}
|
|
81
|
+
|
|
82
|
+
let min = 0;
|
|
83
|
+
let max = 0;
|
|
84
|
+
leafRows.forEach(row => {
|
|
85
|
+
let value = row.getValue(columnId);
|
|
86
|
+
|
|
87
|
+
if (typeof value === 'number') {
|
|
88
|
+
min = Math.min(min, value);
|
|
89
|
+
max = Math.max(max, value);
|
|
90
|
+
}
|
|
91
|
+
});
|
|
92
|
+
return (min + max) / 2;
|
|
93
|
+
};
|
|
94
|
+
|
|
95
|
+
const unique = (columnId, leafRows) => {
|
|
96
|
+
return Array.from(new Set(leafRows.map(d => d.getValue(columnId))).values());
|
|
97
|
+
};
|
|
98
|
+
|
|
99
|
+
const uniqueCount = (columnId, leafRows) => {
|
|
100
|
+
return new Set(leafRows.map(d => d.getValue(columnId))).size;
|
|
101
|
+
};
|
|
102
|
+
|
|
103
|
+
const count = (_columnId, leafRows) => {
|
|
104
|
+
return leafRows.length;
|
|
105
|
+
};
|
|
106
|
+
|
|
107
|
+
const aggregationFns = {
|
|
108
|
+
sum,
|
|
109
|
+
min,
|
|
110
|
+
max,
|
|
111
|
+
extent,
|
|
112
|
+
mean,
|
|
113
|
+
median,
|
|
114
|
+
unique,
|
|
115
|
+
uniqueCount,
|
|
116
|
+
count
|
|
117
|
+
};
|
|
118
|
+
|
|
119
|
+
exports.aggregationFns = aggregationFns;
|
|
120
|
+
//# sourceMappingURL=aggregationFns.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"aggregationFns.js","sources":["../../src/aggregationFns.ts"],"sourcesContent":["import { AggregationFn } from './features/Grouping'\n\nconst sum: AggregationFn<any> = (columnId, _leafRows, childRows) => {\n // It's faster to just add the aggregations together instead of\n // process leaf nodes individually\n return childRows.reduce(\n (sum: number, next: unknown) => sum + (typeof next === 'number' ? next : 0),\n 0\n )\n}\n\nconst min: AggregationFn<any> = (columnId, _leafRows, childRows) => {\n let min: number | undefined\n\n childRows.forEach(row => {\n const value = row.getValue(columnId)\n\n if (\n value != null &&\n (min! > value || (min === undefined && value >= value))\n ) {\n min = value\n }\n })\n\n return min\n}\n\nconst max: AggregationFn<any> = (columnId, _leafRows, childRows) => {\n let max: number | undefined\n\n childRows.forEach(row => {\n const value = row.getValue(columnId)\n if (\n value != null &&\n (max! < value || (max === undefined && value >= value))\n ) {\n max = value\n }\n })\n\n return max\n}\n\nconst extent: AggregationFn<any> = (columnId, _leafRows, childRows) => {\n let min: number | undefined\n let max: number | undefined\n\n childRows.forEach(row => {\n const value = row.getValue(columnId)\n if (value != null) {\n if (min === undefined) {\n if (value >= value) min = max = value\n } else {\n if (min > value) min = value\n if (max! < value) max = value\n }\n }\n })\n\n return [min, max]\n}\n\nconst mean: AggregationFn<any> = (columnId, leafRows) => {\n let count = 0\n let sum = 0\n\n leafRows.forEach(row => {\n let value = row.getValue(columnId)\n if (value != null && (value = +value) >= value) {\n ++count, (sum += value)\n }\n })\n\n if (count) return sum / count\n\n return\n}\n\nconst median: AggregationFn<any> = (columnId, leafRows) => {\n if (!leafRows.length) {\n return\n }\n\n let min = 0\n let max = 0\n\n leafRows.forEach(row => {\n let value = row.getValue(columnId)\n if (typeof value === 'number') {\n min = Math.min(min, value)\n max = Math.max(max, value)\n }\n })\n\n return (min + max) / 2\n}\n\nconst unique: AggregationFn<any> = (columnId, leafRows) => {\n return Array.from(new Set(leafRows.map(d => d.getValue(columnId))).values())\n}\n\nconst uniqueCount: AggregationFn<any> = (columnId, leafRows) => {\n return new Set(leafRows.map(d => d.getValue(columnId))).size\n}\n\nconst count: AggregationFn<any> = (_columnId, leafRows) => {\n return leafRows.length\n}\n\nexport const aggregationFns = {\n sum,\n min,\n max,\n extent,\n mean,\n median,\n unique,\n uniqueCount,\n count,\n}\n\nexport type BuiltInAggregationFn = keyof typeof aggregationFns\n"],"names":["sum","columnId","_leafRows","childRows","reduce","next","min","forEach","row","value","getValue","undefined","max","extent","mean","leafRows","count","median","length","Math","unique","Array","from","Set","map","d","values","uniqueCount","size","_columnId","aggregationFns"],"mappings":"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"}
|
|
@@ -0,0 +1,40 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* table-core
|
|
3
|
+
*
|
|
4
|
+
* Copyright (c) TanStack
|
|
5
|
+
*
|
|
6
|
+
* This source code is licensed under the MIT license found in the
|
|
7
|
+
* LICENSE.md file in the root directory of this source tree.
|
|
8
|
+
*
|
|
9
|
+
* @license MIT
|
|
10
|
+
*/
|
|
11
|
+
'use strict';
|
|
12
|
+
|
|
13
|
+
Object.defineProperty(exports, '__esModule', { value: true });
|
|
14
|
+
|
|
15
|
+
function createCell(instance, row, column, columnId) {
|
|
16
|
+
const cell = {
|
|
17
|
+
id: row.id + "_" + column.id,
|
|
18
|
+
row,
|
|
19
|
+
column,
|
|
20
|
+
getValue: () => row.getValue(columnId),
|
|
21
|
+
renderCell: () => {
|
|
22
|
+
return column.columnDef.cell ? instance._render(column.columnDef.cell, {
|
|
23
|
+
instance,
|
|
24
|
+
column,
|
|
25
|
+
row,
|
|
26
|
+
cell: cell,
|
|
27
|
+
getValue: cell.getValue
|
|
28
|
+
}) : null;
|
|
29
|
+
}
|
|
30
|
+
};
|
|
31
|
+
|
|
32
|
+
instance._features.forEach(feature => {
|
|
33
|
+
Object.assign(cell, feature.createCell == null ? void 0 : feature.createCell(cell, column, row, instance));
|
|
34
|
+
}, {});
|
|
35
|
+
|
|
36
|
+
return cell;
|
|
37
|
+
}
|
|
38
|
+
|
|
39
|
+
exports.createCell = createCell;
|
|
40
|
+
//# sourceMappingURL=cell.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"cell.js","sources":["../../../src/core/cell.ts"],"sourcesContent":["import { Cell, Column, Row, TableGenerics, TableInstance } from '../types'\n\nexport type CoreCell<TGenerics extends TableGenerics> = {\n id: string\n getValue: () => TGenerics['Value']\n row: Row<TGenerics>\n column: Column<TGenerics>\n renderCell: () => string | null | TGenerics['Rendered']\n}\n\nexport function createCell<TGenerics extends TableGenerics>(\n instance: TableInstance<TGenerics>,\n row: Row<TGenerics>,\n column: Column<TGenerics>,\n columnId: string\n) {\n const cell: CoreCell<TGenerics> = {\n id: `${row.id}_${column.id}`,\n row,\n column,\n getValue: () => row.getValue(columnId),\n renderCell: () => {\n return column.columnDef.cell\n ? instance._render(column.columnDef.cell, {\n instance,\n column,\n row,\n cell: cell as Cell<TGenerics>,\n getValue: cell.getValue,\n })\n : null\n },\n }\n\n instance._features.forEach(feature => {\n Object.assign(\n cell,\n feature.createCell?.(\n cell as Cell<TGenerics>,\n column,\n row as Row<TGenerics>,\n instance\n )\n )\n }, {})\n\n return cell as Cell<TGenerics>\n}\n"],"names":["createCell","instance","row","column","columnId","cell","id","getValue","renderCell","columnDef","_render","_features","forEach","feature","Object","assign"],"mappings":";;;;;;;;;;;;;;AAUO,SAASA,UAAT,CACLC,QADK,EAELC,GAFK,EAGLC,MAHK,EAILC,QAJK,EAKL;AACA,EAAA,MAAMC,IAAyB,GAAG;AAChCC,IAAAA,EAAE,EAAKJ,GAAG,CAACI,EAAT,GAAeH,GAAAA,GAAAA,MAAM,CAACG,EADQ;AAEhCJ,IAAAA,GAFgC;AAGhCC,IAAAA,MAHgC;AAIhCI,IAAAA,QAAQ,EAAE,MAAML,GAAG,CAACK,QAAJ,CAAaH,QAAb,CAJgB;AAKhCI,IAAAA,UAAU,EAAE,MAAM;AAChB,MAAA,OAAOL,MAAM,CAACM,SAAP,CAAiBJ,IAAjB,GACHJ,QAAQ,CAACS,OAAT,CAAiBP,MAAM,CAACM,SAAP,CAAiBJ,IAAlC,EAAwC;AACtCJ,QAAAA,QADsC;AAEtCE,QAAAA,MAFsC;AAGtCD,QAAAA,GAHsC;AAItCG,QAAAA,IAAI,EAAEA,IAJgC;AAKtCE,QAAAA,QAAQ,EAAEF,IAAI,CAACE,QAAAA;AALuB,OAAxC,CADG,GAQH,IARJ,CAAA;AASD,KAAA;AAf+B,GAAlC,CAAA;;AAkBAN,EAAAA,QAAQ,CAACU,SAAT,CAAmBC,OAAnB,CAA2BC,OAAO,IAAI;AACpCC,IAAAA,MAAM,CAACC,MAAP,CACEV,IADF,EAEEQ,OAAO,CAACb,UAFV,IAAA,IAAA,GAAA,KAAA,CAAA,GAEEa,OAAO,CAACb,UAAR,CACEK,IADF,EAEEF,MAFF,EAGED,GAHF,EAIED,QAJF,CAFF,CAAA,CAAA;AASD,GAVD,EAUG,EAVH,CAAA,CAAA;;AAYA,EAAA,OAAOI,IAAP,CAAA;AACD;;;;"}
|
|
@@ -0,0 +1,88 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* table-core
|
|
3
|
+
*
|
|
4
|
+
* Copyright (c) TanStack
|
|
5
|
+
*
|
|
6
|
+
* This source code is licensed under the MIT license found in the
|
|
7
|
+
* LICENSE.md file in the root directory of this source tree.
|
|
8
|
+
*
|
|
9
|
+
* @license MIT
|
|
10
|
+
*/
|
|
11
|
+
'use strict';
|
|
12
|
+
|
|
13
|
+
Object.defineProperty(exports, '__esModule', { value: true });
|
|
14
|
+
|
|
15
|
+
var utils = require('../utils.js');
|
|
16
|
+
|
|
17
|
+
function createColumn(instance, columnDef, depth, parent) {
|
|
18
|
+
var _ref, _columnDef$id;
|
|
19
|
+
|
|
20
|
+
const defaultColumn = instance._getDefaultColumnDef();
|
|
21
|
+
|
|
22
|
+
columnDef = { ...defaultColumn,
|
|
23
|
+
...columnDef
|
|
24
|
+
};
|
|
25
|
+
let id = (_ref = (_columnDef$id = columnDef.id) != null ? _columnDef$id : columnDef.accessorKey) != null ? _ref : typeof columnDef.header === 'string' ? columnDef.header : undefined;
|
|
26
|
+
let accessorFn;
|
|
27
|
+
|
|
28
|
+
if (columnDef.accessorFn) {
|
|
29
|
+
accessorFn = columnDef.accessorFn;
|
|
30
|
+
} else if (columnDef.accessorKey) {
|
|
31
|
+
accessorFn = originalRow => originalRow[columnDef.accessorKey];
|
|
32
|
+
}
|
|
33
|
+
|
|
34
|
+
if (!id) {
|
|
35
|
+
if (process.env.NODE_ENV !== 'production') {
|
|
36
|
+
throw new Error(columnDef.accessorFn ? "Columns require an id when using an accessorFn" : "Columns require an id when using a non-string header");
|
|
37
|
+
}
|
|
38
|
+
|
|
39
|
+
throw new Error();
|
|
40
|
+
}
|
|
41
|
+
|
|
42
|
+
let column = {
|
|
43
|
+
id: "" + id,
|
|
44
|
+
accessorFn,
|
|
45
|
+
parent: parent,
|
|
46
|
+
depth,
|
|
47
|
+
columnDef,
|
|
48
|
+
columnDefType: columnDef.columnDefType,
|
|
49
|
+
columns: [],
|
|
50
|
+
getFlatColumns: utils.memo(() => [true], () => {
|
|
51
|
+
var _column$columns;
|
|
52
|
+
|
|
53
|
+
return [column, ...((_column$columns = column.columns) == null ? void 0 : _column$columns.flatMap(d => d.getFlatColumns()))];
|
|
54
|
+
}, {
|
|
55
|
+
key: process.env.NODE_ENV === 'production' && 'column.getFlatColumns',
|
|
56
|
+
debug: () => {
|
|
57
|
+
var _instance$options$deb;
|
|
58
|
+
|
|
59
|
+
return (_instance$options$deb = instance.options.debugAll) != null ? _instance$options$deb : instance.options.debugColumns;
|
|
60
|
+
}
|
|
61
|
+
}),
|
|
62
|
+
getLeafColumns: utils.memo(() => [instance._getOrderColumnsFn()], orderColumns => {
|
|
63
|
+
var _column$columns2;
|
|
64
|
+
|
|
65
|
+
if ((_column$columns2 = column.columns) != null && _column$columns2.length) {
|
|
66
|
+
let leafColumns = column.columns.flatMap(column => column.getLeafColumns());
|
|
67
|
+
return orderColumns(leafColumns);
|
|
68
|
+
}
|
|
69
|
+
|
|
70
|
+
return [column];
|
|
71
|
+
}, {
|
|
72
|
+
key: process.env.NODE_ENV === 'production' && 'column.getLeafColumns',
|
|
73
|
+
debug: () => {
|
|
74
|
+
var _instance$options$deb2;
|
|
75
|
+
|
|
76
|
+
return (_instance$options$deb2 = instance.options.debugAll) != null ? _instance$options$deb2 : instance.options.debugColumns;
|
|
77
|
+
}
|
|
78
|
+
})
|
|
79
|
+
};
|
|
80
|
+
column = instance._features.reduce((obj, feature) => {
|
|
81
|
+
return Object.assign(obj, feature.createColumn == null ? void 0 : feature.createColumn(column, instance));
|
|
82
|
+
}, column); // Yes, we have to convert instance to uknown, because we know more than the compiler here.
|
|
83
|
+
|
|
84
|
+
return column;
|
|
85
|
+
}
|
|
86
|
+
|
|
87
|
+
exports.createColumn = createColumn;
|
|
88
|
+
//# sourceMappingURL=column.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"column.js","sources":["../../../src/core/column.ts"],"sourcesContent":["import {\n Cell,\n Column,\n Header,\n TableGenerics,\n TableInstance,\n Row,\n AccessorFn,\n ColumnDef,\n Renderable,\n} from '../types'\nimport { memo } from '../utils'\n\nexport type CoreColumnDefType = 'data' | 'display' | 'group'\n\nexport type CoreColumnDef<TGenerics extends TableGenerics> = {\n id: string\n accessorKey?: string & keyof TGenerics['Row']\n accessorFn?: AccessorFn<TGenerics['Row']>\n columns?: ColumnDef<TGenerics>[]\n header?: Renderable<\n TGenerics,\n {\n instance: TableInstance<TGenerics>\n header: Header<TGenerics>\n column: Column<TGenerics>\n }\n >\n footer?: Renderable<\n TGenerics,\n {\n instance: TableInstance<TGenerics>\n header: Header<TGenerics>\n column: Column<TGenerics>\n }\n >\n cell?: Renderable<\n TGenerics,\n {\n instance: TableInstance<TGenerics>\n row: Row<TGenerics>\n column: Column<TGenerics>\n cell: Cell<TGenerics>\n getValue: () => TGenerics['Value']\n }\n >\n meta?: TGenerics['ColumnMeta']\n}\n\nexport type CoreColumn<TGenerics extends TableGenerics> = {\n id: string\n depth: number\n accessorFn?: AccessorFn<TGenerics['Row']>\n columnDef: ColumnDef<TGenerics>\n columnDefType: CoreColumnDefType\n columns: Column<TGenerics>[]\n parent?: Column<TGenerics>\n getFlatColumns: () => Column<TGenerics>[]\n getLeafColumns: () => Column<TGenerics>[]\n}\n\nexport function createColumn<TGenerics extends TableGenerics>(\n instance: TableInstance<TGenerics>,\n columnDef: ColumnDef<TGenerics> & { columnDefType?: CoreColumnDefType },\n depth: number,\n parent?: Column<TGenerics>\n) {\n const defaultColumn = instance._getDefaultColumnDef()\n\n columnDef = {\n ...defaultColumn,\n ...columnDef,\n }\n\n let id =\n columnDef.id ??\n columnDef.accessorKey ??\n (typeof columnDef.header === 'string' ? columnDef.header : undefined)\n\n let accessorFn: AccessorFn<TGenerics['Row']> | undefined\n\n if (columnDef.accessorFn) {\n accessorFn = columnDef.accessorFn\n } else if (columnDef.accessorKey) {\n accessorFn = (originalRow?: TGenerics['Row']) =>\n (originalRow as any)[columnDef.accessorKey]\n }\n\n if (!id) {\n if (process.env.NODE_ENV !== 'production') {\n throw new Error(\n columnDef.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<TGenerics> = {\n id: `${id}`,\n accessorFn,\n parent: parent as any,\n depth,\n columnDef,\n columnDefType: columnDef.columnDefType as CoreColumnDefType,\n columns: [],\n getFlatColumns: memo(\n () => [true],\n () => {\n return [\n column as Column<TGenerics>,\n ...column.columns?.flatMap(d => d.getFlatColumns()),\n ]\n },\n {\n key: process.env.NODE_ENV === 'production' && 'column.getFlatColumns',\n debug: () => instance.options.debugAll ?? instance.options.debugColumns,\n }\n ),\n getLeafColumns: memo(\n () => [instance._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<TGenerics>]\n },\n {\n key: process.env.NODE_ENV === 'production' && 'column.getLeafColumns',\n debug: () => instance.options.debugAll ?? instance.options.debugColumns,\n }\n ),\n }\n\n column = instance._features.reduce((obj, feature) => {\n return Object.assign(obj, feature.createColumn?.(column, instance))\n }, column)\n\n // Yes, we have to convert instance to uknown, because we know more than the compiler here.\n return column as Column<TGenerics>\n}\n"],"names":["createColumn","instance","columnDef","depth","parent","defaultColumn","_getDefaultColumnDef","id","accessorKey","header","undefined","accessorFn","originalRow","process","env","NODE_ENV","Error","column","columnDefType","columns","getFlatColumns","memo","flatMap","d","key","debug","options","debugAll","debugColumns","getLeafColumns","_getOrderColumnsFn","orderColumns","length","leafColumns","_features","reduce","obj","feature","Object","assign"],"mappings":"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"}
|