@tanstack/table-core 8.5.13 → 8.5.16
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 +0 -15
- package/build/cjs/aggregationFns.js.map +1 -1
- package/build/cjs/columnHelper.js +10 -2
- package/build/cjs/columnHelper.js.map +1 -1
- package/build/cjs/core/cell.js +2 -9
- package/build/cjs/core/cell.js.map +1 -1
- package/build/cjs/core/column.js +9 -27
- package/build/cjs/core/column.js.map +1 -1
- package/build/cjs/core/headers.js +45 -129
- package/build/cjs/core/headers.js.map +1 -1
- package/build/cjs/core/row.js +4 -21
- package/build/cjs/core/row.js.map +1 -1
- package/build/cjs/core/table.js +26 -73
- package/build/cjs/core/table.js.map +1 -1
- package/build/cjs/features/ColumnSizing.js +56 -67
- package/build/cjs/features/ColumnSizing.js.map +1 -1
- package/build/cjs/features/Expanding.js +18 -34
- package/build/cjs/features/Expanding.js.map +1 -1
- package/build/cjs/features/Filters.js +19 -55
- package/build/cjs/features/Filters.js.map +1 -1
- package/build/cjs/features/Grouping.js +9 -26
- package/build/cjs/features/Grouping.js.map +1 -1
- package/build/cjs/features/Ordering.js +14 -13
- package/build/cjs/features/Ordering.js.map +1 -1
- package/build/cjs/features/Pagination.js +20 -43
- package/build/cjs/features/Pagination.js.map +1 -1
- package/build/cjs/features/Pinning.js +26 -66
- package/build/cjs/features/Pinning.js.map +1 -1
- package/build/cjs/features/RowSelection.js +44 -74
- package/build/cjs/features/RowSelection.js.map +1 -1
- package/build/cjs/features/Sorting.js +25 -50
- package/build/cjs/features/Sorting.js.map +1 -1
- package/build/cjs/features/Visibility.js +14 -32
- package/build/cjs/features/Visibility.js.map +1 -1
- package/build/cjs/filterFns.js +3 -28
- package/build/cjs/filterFns.js.map +1 -1
- package/build/cjs/sortingFns.js +24 -31
- package/build/cjs/sortingFns.js.map +1 -1
- package/build/cjs/utils/filterRowsUtils.js +7 -19
- package/build/cjs/utils/filterRowsUtils.js.map +1 -1
- package/build/cjs/utils/getCoreRowModel.js +12 -18
- package/build/cjs/utils/getCoreRowModel.js.map +1 -1
- package/build/cjs/utils/getExpandedRowModel.js +2 -12
- package/build/cjs/utils/getExpandedRowModel.js.map +1 -1
- package/build/cjs/utils/getFacetedMinMaxValues.js +1 -11
- package/build/cjs/utils/getFacetedMinMaxValues.js.map +1 -1
- package/build/cjs/utils/getFacetedRowModel.js +1 -9
- package/build/cjs/utils/getFacetedRowModel.js.map +1 -1
- package/build/cjs/utils/getFacetedUniqueValues.js +2 -12
- package/build/cjs/utils/getFacetedUniqueValues.js.map +1 -1
- package/build/cjs/utils/getFilteredRowModel.js +14 -34
- package/build/cjs/utils/getFilteredRowModel.js.map +1 -1
- package/build/cjs/utils/getGroupedRowModel.js +25 -35
- package/build/cjs/utils/getGroupedRowModel.js.map +1 -1
- package/build/cjs/utils/getPaginationRowModel.js +1 -11
- package/build/cjs/utils/getPaginationRowModel.js.map +1 -1
- package/build/cjs/utils/getSortedRowModel.js +8 -23
- package/build/cjs/utils/getSortedRowModel.js.map +1 -1
- package/build/cjs/utils.js +11 -14
- package/build/cjs/utils.js.map +1 -1
- package/build/esm/index.js +452 -993
- package/build/esm/index.js.map +1 -1
- package/build/stats-html.html +44 -34
- package/build/stats-react.json +371 -371
- package/build/umd/index.development.js +452 -991
- 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/ColumnSizing.ts +11 -1
- package/src/features/Expanding.ts +1 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"row.js","sources":["../../../src/core/row.ts"],"sourcesContent":["import { RowData, Cell, Row, Table } from '../types'\nimport { flattenBy, memo } from '../utils'\nimport { createCell } from './cell'\n\nexport type CoreRow<TData extends RowData> = {\n id: string\n index: number\n original: TData\n depth: number\n _valuesCache: Record<string, unknown>\n getValue: <TValue>(columnId: string) => TValue\n renderValue: <TValue>(columnId: string) => TValue\n subRows: Row<TData>[]\n getLeafRows: () => Row<TData>[]\n originalSubRows?: TData[]\n getAllCells: () => Cell<TData, unknown>[]\n _getAllCellsByColumnId: () => Record<string, Cell<TData, unknown>>\n}\n\nexport const createRow = <TData extends RowData>(\n table: Table<TData>,\n id: string,\n original: TData,\n rowIndex: number,\n depth: number,\n subRows?: Row<TData>[]\n): Row<TData> => {\n let row: CoreRow<TData> = {\n id,\n index: rowIndex,\n original,\n depth,\n _valuesCache: {},\n getValue: columnId => {\n if (row._valuesCache.hasOwnProperty(columnId)) {\n return row._valuesCache[columnId]\n }\n\n const column = table.getColumn(columnId)\n\n if (!column.accessorFn) {\n return undefined\n }\n\n row._valuesCache[columnId] = column.accessorFn(\n row.original as TData,\n rowIndex\n )\n\n return row._valuesCache[columnId] as any\n },\n renderValue: columnId =>\n row.getValue(columnId) ?? table.options.renderFallbackValue,\n subRows: subRows ?? [],\n getLeafRows: () => flattenBy(row.subRows, d => d.subRows),\n getAllCells: memo(\n () => [table.getAllLeafColumns()],\n leafColumns => {\n return leafColumns.map(column => {\n return createCell(table, row as Row<TData>, column, column.id)\n })\n },\n {\n key: process.env.NODE_ENV === 'development' && 'row.getAllCells',\n debug: () => table.options.debugAll ?? table.options.debugRows,\n }\n ),\n\n _getAllCellsByColumnId: memo(\n () => [row.getAllCells()],\n allCells => {\n return allCells.reduce((acc, cell) => {\n acc[cell.column.id] = cell\n return acc\n }, {} as Record<string, Cell<TData, unknown>>)\n },\n {\n key:\n process.env.NODE_ENV === 'production' && 'row.getAllCellsByColumnId',\n debug: () => table.options.debugAll ?? table.options.debugRows,\n }\n ),\n }\n\n for (let i = 0; i < table._features.length; i++) {\n const feature = table._features[i]\n Object.assign(row, feature?.createRow?.(row, table))\n }\n\n return row as Row<TData>\n}\n"],"names":["createRow","table","id","original","rowIndex","depth","subRows","row","index","_valuesCache","getValue","columnId","hasOwnProperty","column","getColumn","accessorFn","undefined","renderValue","options","renderFallbackValue","getLeafRows","flattenBy","d","getAllCells","memo","getAllLeafColumns","leafColumns","map","createCell","key","process","env","NODE_ENV","debug","debugAll","debugRows","_getAllCellsByColumnId","allCells","reduce","acc","cell","i","_features","length","feature","Object","assign"],"mappings":";;;;;;;;;;;;;;;;;AAmBaA,MAAAA,SAAS,GAAG,CACvBC,
|
|
1
|
+
{"version":3,"file":"row.js","sources":["../../../src/core/row.ts"],"sourcesContent":["import { RowData, Cell, Row, Table } from '../types'\nimport { flattenBy, memo } from '../utils'\nimport { createCell } from './cell'\n\nexport type CoreRow<TData extends RowData> = {\n id: string\n index: number\n original: TData\n depth: number\n _valuesCache: Record<string, unknown>\n getValue: <TValue>(columnId: string) => TValue\n renderValue: <TValue>(columnId: string) => TValue\n subRows: Row<TData>[]\n getLeafRows: () => Row<TData>[]\n originalSubRows?: TData[]\n getAllCells: () => Cell<TData, unknown>[]\n _getAllCellsByColumnId: () => Record<string, Cell<TData, unknown>>\n}\n\nexport const createRow = <TData extends RowData>(\n table: Table<TData>,\n id: string,\n original: TData,\n rowIndex: number,\n depth: number,\n subRows?: Row<TData>[]\n): Row<TData> => {\n let row: CoreRow<TData> = {\n id,\n index: rowIndex,\n original,\n depth,\n _valuesCache: {},\n getValue: columnId => {\n if (row._valuesCache.hasOwnProperty(columnId)) {\n return row._valuesCache[columnId]\n }\n\n const column = table.getColumn(columnId)\n\n if (!column.accessorFn) {\n return undefined\n }\n\n row._valuesCache[columnId] = column.accessorFn(\n row.original as TData,\n rowIndex\n )\n\n return row._valuesCache[columnId] as any\n },\n renderValue: columnId =>\n row.getValue(columnId) ?? table.options.renderFallbackValue,\n subRows: subRows ?? [],\n getLeafRows: () => flattenBy(row.subRows, d => d.subRows),\n getAllCells: memo(\n () => [table.getAllLeafColumns()],\n leafColumns => {\n return leafColumns.map(column => {\n return createCell(table, row as Row<TData>, column, column.id)\n })\n },\n {\n key: process.env.NODE_ENV === 'development' && 'row.getAllCells',\n debug: () => table.options.debugAll ?? table.options.debugRows,\n }\n ),\n\n _getAllCellsByColumnId: memo(\n () => [row.getAllCells()],\n allCells => {\n return allCells.reduce((acc, cell) => {\n acc[cell.column.id] = cell\n return acc\n }, {} as Record<string, Cell<TData, unknown>>)\n },\n {\n key:\n process.env.NODE_ENV === 'production' && 'row.getAllCellsByColumnId',\n debug: () => table.options.debugAll ?? table.options.debugRows,\n }\n ),\n }\n\n for (let i = 0; i < table._features.length; i++) {\n const feature = table._features[i]\n Object.assign(row, feature?.createRow?.(row, table))\n }\n\n return row as Row<TData>\n}\n"],"names":["createRow","table","id","original","rowIndex","depth","subRows","row","index","_valuesCache","getValue","columnId","hasOwnProperty","column","getColumn","accessorFn","undefined","renderValue","options","renderFallbackValue","getLeafRows","flattenBy","d","getAllCells","memo","getAllLeafColumns","leafColumns","map","createCell","key","process","env","NODE_ENV","debug","debugAll","debugRows","_getAllCellsByColumnId","allCells","reduce","acc","cell","i","_features","length","feature","Object","assign"],"mappings":"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"}
|
package/build/cjs/core/table.js
CHANGED
|
@@ -26,64 +26,57 @@ var RowSelection = require('../features/RowSelection.js');
|
|
|
26
26
|
var Sorting = require('../features/Sorting.js');
|
|
27
27
|
var Visibility = require('../features/Visibility.js');
|
|
28
28
|
|
|
29
|
-
const features = [headers.Headers, Visibility.Visibility, Ordering.Ordering, Pinning.Pinning, Filters.Filters, Sorting.Sorting, Grouping.Grouping, Expanding.Expanding, Pagination.Pagination, RowSelection.RowSelection, ColumnSizing.ColumnSizing];
|
|
29
|
+
const features = [headers.Headers, Visibility.Visibility, Ordering.Ordering, Pinning.Pinning, Filters.Filters, Sorting.Sorting, Grouping.Grouping, Expanding.Expanding, Pagination.Pagination, RowSelection.RowSelection, ColumnSizing.ColumnSizing];
|
|
30
30
|
|
|
31
|
-
|
|
32
|
-
var _options$initialState;
|
|
31
|
+
//
|
|
33
32
|
|
|
33
|
+
function createTable(options) {
|
|
34
34
|
if (options.debugAll || options.debugTable) {
|
|
35
35
|
console.info('Creating Table Instance...');
|
|
36
36
|
}
|
|
37
|
-
|
|
38
37
|
let table = {
|
|
39
38
|
_features: features
|
|
40
39
|
};
|
|
41
|
-
|
|
42
40
|
const defaultOptions = table._features.reduce((obj, feature) => {
|
|
43
41
|
return Object.assign(obj, feature.getDefaultOptions == null ? void 0 : feature.getDefaultOptions(table));
|
|
44
42
|
}, {});
|
|
45
|
-
|
|
46
43
|
const mergeOptions = options => {
|
|
47
44
|
if (table.options.mergeOptions) {
|
|
48
45
|
return table.options.mergeOptions(defaultOptions, options);
|
|
49
46
|
}
|
|
50
|
-
|
|
51
|
-
|
|
47
|
+
return {
|
|
48
|
+
...defaultOptions,
|
|
52
49
|
...options
|
|
53
50
|
};
|
|
54
51
|
};
|
|
55
|
-
|
|
56
52
|
const coreInitialState = {};
|
|
57
|
-
let initialState = {
|
|
58
|
-
...
|
|
53
|
+
let initialState = {
|
|
54
|
+
...coreInitialState,
|
|
55
|
+
...(options.initialState ?? {})
|
|
59
56
|
};
|
|
60
|
-
|
|
61
57
|
table._features.forEach(feature => {
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
initialState = (_feature$getInitialSt = feature.getInitialState == null ? void 0 : feature.getInitialState(initialState)) != null ? _feature$getInitialSt : initialState;
|
|
58
|
+
initialState = (feature.getInitialState == null ? void 0 : feature.getInitialState(initialState)) ?? initialState;
|
|
65
59
|
});
|
|
66
|
-
|
|
67
60
|
const queued = [];
|
|
68
61
|
let queuedTimeout = false;
|
|
69
62
|
const coreInstance = {
|
|
70
63
|
_features: features,
|
|
71
|
-
options: {
|
|
64
|
+
options: {
|
|
65
|
+
...defaultOptions,
|
|
72
66
|
...options
|
|
73
67
|
},
|
|
74
68
|
initialState,
|
|
75
69
|
_queue: cb => {
|
|
76
70
|
queued.push(cb);
|
|
77
|
-
|
|
78
71
|
if (!queuedTimeout) {
|
|
79
|
-
queuedTimeout = true;
|
|
80
|
-
// the current call stack (render, etc) has finished.
|
|
72
|
+
queuedTimeout = true;
|
|
81
73
|
|
|
74
|
+
// Schedule a microtask to run the queued callbacks after
|
|
75
|
+
// the current call stack (render, etc) has finished.
|
|
82
76
|
Promise.resolve().then(() => {
|
|
83
77
|
while (queued.length) {
|
|
84
78
|
queued.shift()();
|
|
85
79
|
}
|
|
86
|
-
|
|
87
80
|
queuedTimeout = false;
|
|
88
81
|
}).catch(error => setTimeout(() => {
|
|
89
82
|
throw error;
|
|
@@ -103,59 +96,46 @@ function createTable(options) {
|
|
|
103
96
|
setState: updater => {
|
|
104
97
|
table.options.onStateChange == null ? void 0 : table.options.onStateChange(updater);
|
|
105
98
|
},
|
|
106
|
-
_getRowId: (row, index, parent) => {
|
|
107
|
-
var _table$options$getRow;
|
|
108
|
-
|
|
109
|
-
return (_table$options$getRow = table.options.getRowId == null ? void 0 : table.options.getRowId(row, index, parent)) != null ? _table$options$getRow : "" + (parent ? [parent.id, index].join('.') : index);
|
|
110
|
-
},
|
|
99
|
+
_getRowId: (row, index, parent) => (table.options.getRowId == null ? void 0 : table.options.getRowId(row, index, parent)) ?? `${parent ? [parent.id, index].join('.') : index}`,
|
|
111
100
|
getCoreRowModel: () => {
|
|
112
101
|
if (!table._getCoreRowModel) {
|
|
113
102
|
table._getCoreRowModel = table.options.getCoreRowModel(table);
|
|
114
103
|
}
|
|
115
|
-
|
|
116
104
|
return table._getCoreRowModel();
|
|
117
105
|
},
|
|
118
106
|
// The final calls start at the bottom of the model,
|
|
119
107
|
// expanded rows, which then work their way up
|
|
108
|
+
|
|
120
109
|
getRowModel: () => {
|
|
121
110
|
return table.getPaginationRowModel();
|
|
122
111
|
},
|
|
123
112
|
getRow: id => {
|
|
124
113
|
const row = table.getRowModel().rowsById[id];
|
|
125
|
-
|
|
126
114
|
if (!row) {
|
|
127
115
|
if (process.env.NODE_ENV !== 'production') {
|
|
128
|
-
throw new Error(
|
|
116
|
+
throw new Error(`getRow expected an ID, but got ${id}`);
|
|
129
117
|
}
|
|
130
|
-
|
|
131
118
|
throw new Error();
|
|
132
119
|
}
|
|
133
|
-
|
|
134
120
|
return row;
|
|
135
121
|
},
|
|
136
122
|
_getDefaultColumnDef: utils.memo(() => [table.options.defaultColumn], defaultColumn => {
|
|
137
|
-
|
|
138
|
-
|
|
139
|
-
defaultColumn = (_defaultColumn = defaultColumn) != null ? _defaultColumn : {};
|
|
123
|
+
defaultColumn = defaultColumn ?? {};
|
|
140
124
|
return {
|
|
141
125
|
header: props => {
|
|
142
126
|
const resolvedColumnDef = props.header.column.columnDef;
|
|
143
|
-
|
|
144
127
|
if (resolvedColumnDef.accessorKey) {
|
|
145
128
|
return resolvedColumnDef.accessorKey;
|
|
146
129
|
}
|
|
147
|
-
|
|
148
130
|
if (resolvedColumnDef.accessorFn) {
|
|
149
131
|
return resolvedColumnDef.id;
|
|
150
132
|
}
|
|
151
|
-
|
|
152
133
|
return null;
|
|
153
134
|
},
|
|
154
135
|
// footer: props => props.header.column.id,
|
|
155
136
|
cell: props => {
|
|
156
|
-
var _props$renderValue
|
|
157
|
-
|
|
158
|
-
return (_props$renderValue$to = (_props$renderValue = props.renderValue()) == null ? void 0 : _props$renderValue.toString == null ? void 0 : _props$renderValue.toString()) != null ? _props$renderValue$to : null;
|
|
137
|
+
var _props$renderValue;
|
|
138
|
+
return ((_props$renderValue = props.renderValue()) == null ? void 0 : _props$renderValue.toString == null ? void 0 : _props$renderValue.toString()) ?? null;
|
|
159
139
|
},
|
|
160
140
|
...table._features.reduce((obj, feature) => {
|
|
161
141
|
return Object.assign(obj, feature.getDefaultColumnDef == null ? void 0 : feature.getDefaultColumnDef());
|
|
@@ -163,11 +143,7 @@ function createTable(options) {
|
|
|
163
143
|
...defaultColumn
|
|
164
144
|
};
|
|
165
145
|
}, {
|
|
166
|
-
debug: () =>
|
|
167
|
-
var _table$options$debugA;
|
|
168
|
-
|
|
169
|
-
return (_table$options$debugA = table.options.debugAll) != null ? _table$options$debugA : table.options.debugColumns;
|
|
170
|
-
},
|
|
146
|
+
debug: () => table.options.debugAll ?? table.options.debugColumns,
|
|
171
147
|
key: process.env.NODE_ENV === 'development' && 'getDefaultColumnDef'
|
|
172
148
|
}),
|
|
173
149
|
_getColumnDefs: () => table.options.columns,
|
|
@@ -176,7 +152,6 @@ function createTable(options) {
|
|
|
176
152
|
if (depth === void 0) {
|
|
177
153
|
depth = 0;
|
|
178
154
|
}
|
|
179
|
-
|
|
180
155
|
return columnDefs.map(columnDef => {
|
|
181
156
|
const column$1 = column.createColumn(table, columnDef, depth, parent);
|
|
182
157
|
const groupingColumnDef = columnDef;
|
|
@@ -184,15 +159,10 @@ function createTable(options) {
|
|
|
184
159
|
return column$1;
|
|
185
160
|
});
|
|
186
161
|
};
|
|
187
|
-
|
|
188
162
|
return recurseColumns(columnDefs);
|
|
189
163
|
}, {
|
|
190
164
|
key: process.env.NODE_ENV === 'development' && 'getAllColumns',
|
|
191
|
-
debug: () =>
|
|
192
|
-
var _table$options$debugA2;
|
|
193
|
-
|
|
194
|
-
return (_table$options$debugA2 = table.options.debugAll) != null ? _table$options$debugA2 : table.options.debugColumns;
|
|
195
|
-
}
|
|
165
|
+
debug: () => table.options.debugAll ?? table.options.debugColumns
|
|
196
166
|
}),
|
|
197
167
|
getAllFlatColumns: utils.memo(() => [table.getAllColumns()], allColumns => {
|
|
198
168
|
return allColumns.flatMap(column => {
|
|
@@ -200,11 +170,7 @@ function createTable(options) {
|
|
|
200
170
|
});
|
|
201
171
|
}, {
|
|
202
172
|
key: process.env.NODE_ENV === 'development' && 'getAllFlatColumns',
|
|
203
|
-
debug: () =>
|
|
204
|
-
var _table$options$debugA3;
|
|
205
|
-
|
|
206
|
-
return (_table$options$debugA3 = table.options.debugAll) != null ? _table$options$debugA3 : table.options.debugColumns;
|
|
207
|
-
}
|
|
173
|
+
debug: () => table.options.debugAll ?? table.options.debugColumns
|
|
208
174
|
}),
|
|
209
175
|
_getAllFlatColumnsById: utils.memo(() => [table.getAllFlatColumns()], flatColumns => {
|
|
210
176
|
return flatColumns.reduce((acc, column) => {
|
|
@@ -213,43 +179,30 @@ function createTable(options) {
|
|
|
213
179
|
}, {});
|
|
214
180
|
}, {
|
|
215
181
|
key: process.env.NODE_ENV === 'development' && 'getAllFlatColumnsById',
|
|
216
|
-
debug: () =>
|
|
217
|
-
var _table$options$debugA4;
|
|
218
|
-
|
|
219
|
-
return (_table$options$debugA4 = table.options.debugAll) != null ? _table$options$debugA4 : table.options.debugColumns;
|
|
220
|
-
}
|
|
182
|
+
debug: () => table.options.debugAll ?? table.options.debugColumns
|
|
221
183
|
}),
|
|
222
184
|
getAllLeafColumns: utils.memo(() => [table.getAllColumns(), table._getOrderColumnsFn()], (allColumns, orderColumns) => {
|
|
223
185
|
let leafColumns = allColumns.flatMap(column => column.getLeafColumns());
|
|
224
186
|
return orderColumns(leafColumns);
|
|
225
187
|
}, {
|
|
226
188
|
key: process.env.NODE_ENV === 'development' && 'getAllLeafColumns',
|
|
227
|
-
debug: () =>
|
|
228
|
-
var _table$options$debugA5;
|
|
229
|
-
|
|
230
|
-
return (_table$options$debugA5 = table.options.debugAll) != null ? _table$options$debugA5 : table.options.debugColumns;
|
|
231
|
-
}
|
|
189
|
+
debug: () => table.options.debugAll ?? table.options.debugColumns
|
|
232
190
|
}),
|
|
233
191
|
getColumn: columnId => {
|
|
234
192
|
const column = table._getAllFlatColumnsById()[columnId];
|
|
235
|
-
|
|
236
193
|
if (!column) {
|
|
237
194
|
if (process.env.NODE_ENV !== 'production') {
|
|
238
|
-
console.warn(
|
|
195
|
+
console.warn(`[Table] Column with id ${columnId} does not exist.`);
|
|
239
196
|
}
|
|
240
|
-
|
|
241
197
|
throw new Error();
|
|
242
198
|
}
|
|
243
|
-
|
|
244
199
|
return column;
|
|
245
200
|
}
|
|
246
201
|
};
|
|
247
202
|
Object.assign(table, coreInstance);
|
|
248
|
-
|
|
249
203
|
table._features.forEach(feature => {
|
|
250
204
|
return Object.assign(table, feature.createTable == null ? void 0 : feature.createTable(table));
|
|
251
205
|
});
|
|
252
|
-
|
|
253
206
|
return table;
|
|
254
207
|
}
|
|
255
208
|
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"table.js","sources":["../../../src/core/table.ts"],"sourcesContent":["import { flattenBy, functionalUpdate, memo, RequiredKeys } from '../utils'\n\nimport {\n Updater,\n TableOptionsResolved,\n TableState,\n Table,\n ColumnDefTemplate,\n InitialTableState,\n Row,\n Column,\n RowModel,\n ColumnDef,\n TableOptions,\n RowData,\n TableMeta,\n ColumnDefResolved,\n GroupColumnDef,\n} from '../types'\n\n//\nimport { createColumn } from './column'\nimport { Headers } from './headers'\n//\n\nimport { ColumnSizing } from '../features/ColumnSizing'\nimport { Expanding } from '../features/Expanding'\nimport { Filters } from '../features/Filters'\nimport { Grouping, GroupingColumnDef } from '../features/Grouping'\nimport { Ordering } from '../features/Ordering'\nimport { Pagination } from '../features/Pagination'\nimport { Pinning } from '../features/Pinning'\nimport { RowSelection } from '../features/RowSelection'\nimport { Sorting } from '../features/Sorting'\nimport { Visibility } from '../features/Visibility'\n\nexport type TableFeature = {\n getDefaultOptions?: (table: any) => any\n getInitialState?: (initialState?: InitialTableState) => any\n createTable?: (table: any) => any\n getDefaultColumnDef?: () => any\n createColumn?: (column: any, table: any) => any\n createHeader?: (column: any, table: any) => any\n createCell?: (cell: any, column: any, row: any, table: any) => any\n createRow?: (row: any, table: any) => any\n}\n\nconst features = [\n Headers,\n Visibility,\n Ordering,\n Pinning,\n Filters,\n Sorting,\n Grouping,\n Expanding,\n Pagination,\n RowSelection,\n ColumnSizing,\n] as const\n\n//\n\nexport type CoreTableState = {}\n\nexport type CoreOptions<TData extends RowData> = {\n data: TData[]\n state: Partial<TableState>\n onStateChange: (updater: Updater<TableState>) => void\n debugAll?: boolean\n debugTable?: boolean\n debugHeaders?: boolean\n debugColumns?: boolean\n debugRows?: boolean\n initialState?: InitialTableState\n autoResetAll?: boolean\n mergeOptions?: (\n defaultOptions: TableOptions<TData>,\n options: Partial<TableOptions<TData>>\n ) => TableOptions<TData>\n meta?: TableMeta<TData>\n getCoreRowModel: (table: Table<any>) => () => RowModel<any>\n getSubRows?: (originalRow: TData, index: number) => undefined | TData[]\n getRowId?: (originalRow: TData, index: number, parent?: Row<TData>) => string\n columns: ColumnDef<TData, any>[]\n defaultColumn?: Partial<ColumnDef<TData, unknown>>\n renderFallbackValue: any\n}\n\nexport type CoreInstance<TData extends RowData> = {\n initialState: TableState\n reset: () => void\n options: RequiredKeys<TableOptionsResolved<TData>, 'state'>\n setOptions: (newOptions: Updater<TableOptionsResolved<TData>>) => void\n getState: () => TableState\n setState: (updater: Updater<TableState>) => void\n _features: readonly TableFeature[]\n _queue: (cb: () => void) => void\n _getRowId: (_: TData, index: number, parent?: Row<TData>) => string\n getCoreRowModel: () => RowModel<TData>\n _getCoreRowModel?: () => RowModel<TData>\n getRowModel: () => RowModel<TData>\n getRow: (id: string) => Row<TData>\n _getDefaultColumnDef: () => Partial<ColumnDef<TData, unknown>>\n _getColumnDefs: () => ColumnDef<TData, unknown>[]\n _getAllFlatColumnsById: () => Record<string, Column<TData, unknown>>\n getAllColumns: () => Column<TData, unknown>[]\n getAllFlatColumns: () => Column<TData, unknown>[]\n getAllLeafColumns: () => Column<TData, unknown>[]\n getColumn: (columnId: string) => Column<TData, unknown>\n}\n\nexport function createTable<TData extends RowData>(\n options: TableOptionsResolved<TData>\n): Table<TData> {\n if (options.debugAll || options.debugTable) {\n console.info('Creating Table Instance...')\n }\n\n let table = { _features: features } as unknown as Table<TData>\n\n const defaultOptions = table._features.reduce((obj, feature) => {\n return Object.assign(obj, feature.getDefaultOptions?.(table))\n }, {}) as TableOptionsResolved<TData>\n\n const mergeOptions = (options: TableOptionsResolved<TData>) => {\n if (table.options.mergeOptions) {\n return table.options.mergeOptions(defaultOptions, options)\n }\n\n return {\n ...defaultOptions,\n ...options,\n }\n }\n\n const coreInitialState: CoreTableState = {}\n\n let initialState = {\n ...coreInitialState,\n ...(options.initialState ?? {}),\n } as TableState\n\n table._features.forEach(feature => {\n initialState = feature.getInitialState?.(initialState) ?? initialState\n })\n\n const queued: (() => void)[] = []\n let queuedTimeout = false\n\n const coreInstance: CoreInstance<TData> = {\n _features: features,\n options: {\n ...defaultOptions,\n ...options,\n },\n initialState,\n _queue: cb => {\n queued.push(cb)\n\n if (!queuedTimeout) {\n queuedTimeout = true\n\n // Schedule a microtask to run the queued callbacks after\n // the current call stack (render, etc) has finished.\n Promise.resolve()\n .then(() => {\n while (queued.length) {\n queued.shift()!()\n }\n queuedTimeout = false\n })\n .catch(error =>\n setTimeout(() => {\n throw error\n })\n )\n }\n },\n reset: () => {\n table.setState(table.initialState)\n },\n setOptions: updater => {\n const newOptions = functionalUpdate(updater, table.options)\n table.options = mergeOptions(newOptions) as RequiredKeys<\n TableOptionsResolved<TData>,\n 'state'\n >\n },\n\n getState: () => {\n return table.options.state as TableState\n },\n\n setState: (updater: Updater<TableState>) => {\n table.options.onStateChange?.(updater)\n },\n\n _getRowId: (row: TData, index: number, parent?: Row<TData>) =>\n table.options.getRowId?.(row, index, parent) ??\n `${parent ? [parent.id, index].join('.') : index}`,\n\n getCoreRowModel: () => {\n if (!table._getCoreRowModel) {\n table._getCoreRowModel = table.options.getCoreRowModel(table)\n }\n\n return table._getCoreRowModel!()\n },\n\n // The final calls start at the bottom of the model,\n // expanded rows, which then work their way up\n\n getRowModel: () => {\n return table.getPaginationRowModel()\n },\n getRow: (id: string) => {\n const row = table.getRowModel().rowsById[id]\n\n if (!row) {\n if (process.env.NODE_ENV !== 'production') {\n throw new Error(`getRow expected an ID, but got ${id}`)\n }\n throw new Error()\n }\n\n return row\n },\n _getDefaultColumnDef: memo(\n () => [table.options.defaultColumn],\n defaultColumn => {\n defaultColumn = (defaultColumn ?? {}) as Partial<\n ColumnDef<TData, unknown>\n >\n\n return {\n header: props => {\n const resolvedColumnDef = props.header.column\n .columnDef as ColumnDefResolved<TData>\n\n if (resolvedColumnDef.accessorKey) {\n return resolvedColumnDef.accessorKey\n }\n\n if (resolvedColumnDef.accessorFn) {\n return resolvedColumnDef.id\n }\n\n return null\n },\n // footer: props => props.header.column.id,\n cell: props => props.renderValue<any>()?.toString?.() ?? null,\n ...table._features.reduce((obj, feature) => {\n return Object.assign(obj, feature.getDefaultColumnDef?.())\n }, {}),\n ...defaultColumn,\n } as Partial<ColumnDef<TData, unknown>>\n },\n {\n debug: () => table.options.debugAll ?? table.options.debugColumns,\n key: process.env.NODE_ENV === 'development' && 'getDefaultColumnDef',\n }\n ),\n\n _getColumnDefs: () => table.options.columns,\n\n getAllColumns: memo(\n () => [table._getColumnDefs()],\n columnDefs => {\n const recurseColumns = (\n columnDefs: ColumnDef<TData, unknown>[],\n parent?: Column<TData, unknown>,\n depth = 0\n ): Column<TData, unknown>[] => {\n return columnDefs.map(columnDef => {\n const column = createColumn(table, columnDef, depth, parent)\n\n const groupingColumnDef = columnDef as GroupColumnDef<\n TData,\n unknown\n >\n\n column.columns = groupingColumnDef.columns\n ? recurseColumns(groupingColumnDef.columns, column, depth + 1)\n : []\n\n return column\n })\n }\n\n return recurseColumns(columnDefs)\n },\n {\n key: process.env.NODE_ENV === 'development' && 'getAllColumns',\n debug: () => table.options.debugAll ?? table.options.debugColumns,\n }\n ),\n\n getAllFlatColumns: memo(\n () => [table.getAllColumns()],\n allColumns => {\n return allColumns.flatMap(column => {\n return column.getFlatColumns()\n })\n },\n {\n key: process.env.NODE_ENV === 'development' && 'getAllFlatColumns',\n debug: () => table.options.debugAll ?? table.options.debugColumns,\n }\n ),\n\n _getAllFlatColumnsById: memo(\n () => [table.getAllFlatColumns()],\n flatColumns => {\n return flatColumns.reduce((acc, column) => {\n acc[column.id] = column\n return acc\n }, {} as Record<string, Column<TData, unknown>>)\n },\n {\n key: process.env.NODE_ENV === 'development' && 'getAllFlatColumnsById',\n debug: () => table.options.debugAll ?? table.options.debugColumns,\n }\n ),\n\n getAllLeafColumns: memo(\n () => [table.getAllColumns(), table._getOrderColumnsFn()],\n (allColumns, orderColumns) => {\n let leafColumns = allColumns.flatMap(column => column.getLeafColumns())\n return orderColumns(leafColumns)\n },\n {\n key: process.env.NODE_ENV === 'development' && 'getAllLeafColumns',\n debug: () => table.options.debugAll ?? table.options.debugColumns,\n }\n ),\n\n getColumn: columnId => {\n const column = table._getAllFlatColumnsById()[columnId]\n\n if (!column) {\n if (process.env.NODE_ENV !== 'production') {\n console.warn(`[Table] Column with id ${columnId} does not exist.`)\n }\n throw new Error()\n }\n\n return column\n },\n }\n\n Object.assign(table, coreInstance)\n\n table._features.forEach(feature => {\n return Object.assign(table, feature.createTable?.(table))\n })\n\n return table\n}\n"],"names":["features","Headers","Visibility","Ordering","Pinning","Filters","Sorting","Grouping","Expanding","Pagination","RowSelection","ColumnSizing","createTable","options","debugAll","debugTable","console","info","table","_features","defaultOptions","reduce","obj","feature","Object","assign","getDefaultOptions","mergeOptions","coreInitialState","initialState","forEach","getInitialState","queued","queuedTimeout","coreInstance","_queue","cb","push","Promise","resolve","then","length","shift","catch","error","setTimeout","reset","setState","setOptions","updater","newOptions","functionalUpdate","getState","state","onStateChange","_getRowId","row","index","parent","getRowId","id","join","getCoreRowModel","_getCoreRowModel","getRowModel","getPaginationRowModel","getRow","rowsById","process","env","NODE_ENV","Error","_getDefaultColumnDef","memo","defaultColumn","header","props","resolvedColumnDef","column","columnDef","accessorKey","accessorFn","cell","renderValue","toString","getDefaultColumnDef","debug","debugColumns","key","_getColumnDefs","columns","getAllColumns","columnDefs","recurseColumns","depth","map","createColumn","groupingColumnDef","getAllFlatColumns","allColumns","flatMap","getFlatColumns","_getAllFlatColumnsById","flatColumns","acc","getAllLeafColumns","_getOrderColumnsFn","orderColumns","leafColumns","getLeafColumns","getColumn","columnId","warn"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"table.js","sources":["../../../src/core/table.ts"],"sourcesContent":["import { flattenBy, functionalUpdate, memo, RequiredKeys } from '../utils'\n\nimport {\n Updater,\n TableOptionsResolved,\n TableState,\n Table,\n ColumnDefTemplate,\n InitialTableState,\n Row,\n Column,\n RowModel,\n ColumnDef,\n TableOptions,\n RowData,\n TableMeta,\n ColumnDefResolved,\n GroupColumnDef,\n} from '../types'\n\n//\nimport { createColumn } from './column'\nimport { Headers } from './headers'\n//\n\nimport { ColumnSizing } from '../features/ColumnSizing'\nimport { Expanding } from '../features/Expanding'\nimport { Filters } from '../features/Filters'\nimport { Grouping, GroupingColumnDef } from '../features/Grouping'\nimport { Ordering } from '../features/Ordering'\nimport { Pagination } from '../features/Pagination'\nimport { Pinning } from '../features/Pinning'\nimport { RowSelection } from '../features/RowSelection'\nimport { Sorting } from '../features/Sorting'\nimport { Visibility } from '../features/Visibility'\n\nexport type TableFeature = {\n getDefaultOptions?: (table: any) => any\n getInitialState?: (initialState?: InitialTableState) => any\n createTable?: (table: any) => any\n getDefaultColumnDef?: () => any\n createColumn?: (column: any, table: any) => any\n createHeader?: (column: any, table: any) => any\n createCell?: (cell: any, column: any, row: any, table: any) => any\n createRow?: (row: any, table: any) => any\n}\n\nconst features = [\n Headers,\n Visibility,\n Ordering,\n Pinning,\n Filters,\n Sorting,\n Grouping,\n Expanding,\n Pagination,\n RowSelection,\n ColumnSizing,\n] as const\n\n//\n\nexport type CoreTableState = {}\n\nexport type CoreOptions<TData extends RowData> = {\n data: TData[]\n state: Partial<TableState>\n onStateChange: (updater: Updater<TableState>) => void\n debugAll?: boolean\n debugTable?: boolean\n debugHeaders?: boolean\n debugColumns?: boolean\n debugRows?: boolean\n initialState?: InitialTableState\n autoResetAll?: boolean\n mergeOptions?: (\n defaultOptions: TableOptions<TData>,\n options: Partial<TableOptions<TData>>\n ) => TableOptions<TData>\n meta?: TableMeta<TData>\n getCoreRowModel: (table: Table<any>) => () => RowModel<any>\n getSubRows?: (originalRow: TData, index: number) => undefined | TData[]\n getRowId?: (originalRow: TData, index: number, parent?: Row<TData>) => string\n columns: ColumnDef<TData, any>[]\n defaultColumn?: Partial<ColumnDef<TData, unknown>>\n renderFallbackValue: any\n}\n\nexport type CoreInstance<TData extends RowData> = {\n initialState: TableState\n reset: () => void\n options: RequiredKeys<TableOptionsResolved<TData>, 'state'>\n setOptions: (newOptions: Updater<TableOptionsResolved<TData>>) => void\n getState: () => TableState\n setState: (updater: Updater<TableState>) => void\n _features: readonly TableFeature[]\n _queue: (cb: () => void) => void\n _getRowId: (_: TData, index: number, parent?: Row<TData>) => string\n getCoreRowModel: () => RowModel<TData>\n _getCoreRowModel?: () => RowModel<TData>\n getRowModel: () => RowModel<TData>\n getRow: (id: string) => Row<TData>\n _getDefaultColumnDef: () => Partial<ColumnDef<TData, unknown>>\n _getColumnDefs: () => ColumnDef<TData, unknown>[]\n _getAllFlatColumnsById: () => Record<string, Column<TData, unknown>>\n getAllColumns: () => Column<TData, unknown>[]\n getAllFlatColumns: () => Column<TData, unknown>[]\n getAllLeafColumns: () => Column<TData, unknown>[]\n getColumn: (columnId: string) => Column<TData, unknown>\n}\n\nexport function createTable<TData extends RowData>(\n options: TableOptionsResolved<TData>\n): Table<TData> {\n if (options.debugAll || options.debugTable) {\n console.info('Creating Table Instance...')\n }\n\n let table = { _features: features } as unknown as Table<TData>\n\n const defaultOptions = table._features.reduce((obj, feature) => {\n return Object.assign(obj, feature.getDefaultOptions?.(table))\n }, {}) as TableOptionsResolved<TData>\n\n const mergeOptions = (options: TableOptionsResolved<TData>) => {\n if (table.options.mergeOptions) {\n return table.options.mergeOptions(defaultOptions, options)\n }\n\n return {\n ...defaultOptions,\n ...options,\n }\n }\n\n const coreInitialState: CoreTableState = {}\n\n let initialState = {\n ...coreInitialState,\n ...(options.initialState ?? {}),\n } as TableState\n\n table._features.forEach(feature => {\n initialState = feature.getInitialState?.(initialState) ?? initialState\n })\n\n const queued: (() => void)[] = []\n let queuedTimeout = false\n\n const coreInstance: CoreInstance<TData> = {\n _features: features,\n options: {\n ...defaultOptions,\n ...options,\n },\n initialState,\n _queue: cb => {\n queued.push(cb)\n\n if (!queuedTimeout) {\n queuedTimeout = true\n\n // Schedule a microtask to run the queued callbacks after\n // the current call stack (render, etc) has finished.\n Promise.resolve()\n .then(() => {\n while (queued.length) {\n queued.shift()!()\n }\n queuedTimeout = false\n })\n .catch(error =>\n setTimeout(() => {\n throw error\n })\n )\n }\n },\n reset: () => {\n table.setState(table.initialState)\n },\n setOptions: updater => {\n const newOptions = functionalUpdate(updater, table.options)\n table.options = mergeOptions(newOptions) as RequiredKeys<\n TableOptionsResolved<TData>,\n 'state'\n >\n },\n\n getState: () => {\n return table.options.state as TableState\n },\n\n setState: (updater: Updater<TableState>) => {\n table.options.onStateChange?.(updater)\n },\n\n _getRowId: (row: TData, index: number, parent?: Row<TData>) =>\n table.options.getRowId?.(row, index, parent) ??\n `${parent ? [parent.id, index].join('.') : index}`,\n\n getCoreRowModel: () => {\n if (!table._getCoreRowModel) {\n table._getCoreRowModel = table.options.getCoreRowModel(table)\n }\n\n return table._getCoreRowModel!()\n },\n\n // The final calls start at the bottom of the model,\n // expanded rows, which then work their way up\n\n getRowModel: () => {\n return table.getPaginationRowModel()\n },\n getRow: (id: string) => {\n const row = table.getRowModel().rowsById[id]\n\n if (!row) {\n if (process.env.NODE_ENV !== 'production') {\n throw new Error(`getRow expected an ID, but got ${id}`)\n }\n throw new Error()\n }\n\n return row\n },\n _getDefaultColumnDef: memo(\n () => [table.options.defaultColumn],\n defaultColumn => {\n defaultColumn = (defaultColumn ?? {}) as Partial<\n ColumnDef<TData, unknown>\n >\n\n return {\n header: props => {\n const resolvedColumnDef = props.header.column\n .columnDef as ColumnDefResolved<TData>\n\n if (resolvedColumnDef.accessorKey) {\n return resolvedColumnDef.accessorKey\n }\n\n if (resolvedColumnDef.accessorFn) {\n return resolvedColumnDef.id\n }\n\n return null\n },\n // footer: props => props.header.column.id,\n cell: props => props.renderValue<any>()?.toString?.() ?? null,\n ...table._features.reduce((obj, feature) => {\n return Object.assign(obj, feature.getDefaultColumnDef?.())\n }, {}),\n ...defaultColumn,\n } as Partial<ColumnDef<TData, unknown>>\n },\n {\n debug: () => table.options.debugAll ?? table.options.debugColumns,\n key: process.env.NODE_ENV === 'development' && 'getDefaultColumnDef',\n }\n ),\n\n _getColumnDefs: () => table.options.columns,\n\n getAllColumns: memo(\n () => [table._getColumnDefs()],\n columnDefs => {\n const recurseColumns = (\n columnDefs: ColumnDef<TData, unknown>[],\n parent?: Column<TData, unknown>,\n depth = 0\n ): Column<TData, unknown>[] => {\n return columnDefs.map(columnDef => {\n const column = createColumn(table, columnDef, depth, parent)\n\n const groupingColumnDef = columnDef as GroupColumnDef<\n TData,\n unknown\n >\n\n column.columns = groupingColumnDef.columns\n ? recurseColumns(groupingColumnDef.columns, column, depth + 1)\n : []\n\n return column\n })\n }\n\n return recurseColumns(columnDefs)\n },\n {\n key: process.env.NODE_ENV === 'development' && 'getAllColumns',\n debug: () => table.options.debugAll ?? table.options.debugColumns,\n }\n ),\n\n getAllFlatColumns: memo(\n () => [table.getAllColumns()],\n allColumns => {\n return allColumns.flatMap(column => {\n return column.getFlatColumns()\n })\n },\n {\n key: process.env.NODE_ENV === 'development' && 'getAllFlatColumns',\n debug: () => table.options.debugAll ?? table.options.debugColumns,\n }\n ),\n\n _getAllFlatColumnsById: memo(\n () => [table.getAllFlatColumns()],\n flatColumns => {\n return flatColumns.reduce((acc, column) => {\n acc[column.id] = column\n return acc\n }, {} as Record<string, Column<TData, unknown>>)\n },\n {\n key: process.env.NODE_ENV === 'development' && 'getAllFlatColumnsById',\n debug: () => table.options.debugAll ?? table.options.debugColumns,\n }\n ),\n\n getAllLeafColumns: memo(\n () => [table.getAllColumns(), table._getOrderColumnsFn()],\n (allColumns, orderColumns) => {\n let leafColumns = allColumns.flatMap(column => column.getLeafColumns())\n return orderColumns(leafColumns)\n },\n {\n key: process.env.NODE_ENV === 'development' && 'getAllLeafColumns',\n debug: () => table.options.debugAll ?? table.options.debugColumns,\n }\n ),\n\n getColumn: columnId => {\n const column = table._getAllFlatColumnsById()[columnId]\n\n if (!column) {\n if (process.env.NODE_ENV !== 'production') {\n console.warn(`[Table] Column with id ${columnId} does not exist.`)\n }\n throw new Error()\n }\n\n return column\n },\n }\n\n Object.assign(table, coreInstance)\n\n table._features.forEach(feature => {\n return Object.assign(table, feature.createTable?.(table))\n })\n\n return table\n}\n"],"names":["features","Headers","Visibility","Ordering","Pinning","Filters","Sorting","Grouping","Expanding","Pagination","RowSelection","ColumnSizing","createTable","options","debugAll","debugTable","console","info","table","_features","defaultOptions","reduce","obj","feature","Object","assign","getDefaultOptions","mergeOptions","coreInitialState","initialState","forEach","getInitialState","queued","queuedTimeout","coreInstance","_queue","cb","push","Promise","resolve","then","length","shift","catch","error","setTimeout","reset","setState","setOptions","updater","newOptions","functionalUpdate","getState","state","onStateChange","_getRowId","row","index","parent","getRowId","id","join","getCoreRowModel","_getCoreRowModel","getRowModel","getPaginationRowModel","getRow","rowsById","process","env","NODE_ENV","Error","_getDefaultColumnDef","memo","defaultColumn","header","props","resolvedColumnDef","column","columnDef","accessorKey","accessorFn","cell","renderValue","toString","getDefaultColumnDef","debug","debugColumns","key","_getColumnDefs","columns","getAllColumns","columnDefs","recurseColumns","depth","map","createColumn","groupingColumnDef","getAllFlatColumns","allColumns","flatMap","getFlatColumns","_getAllFlatColumnsById","flatColumns","acc","getAllLeafColumns","_getOrderColumnsFn","orderColumns","leafColumns","getLeafColumns","getColumn","columnId","warn"],"mappings":"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"}
|