@tanstack/table-core 8.0.0-alpha.80 → 8.0.0-alpha.84
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 +38 -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/{features/Headers.js → core/headers.js} +54 -66
- 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 +4 -2
- package/build/cjs/createTable.js.map +1 -1
- package/build/cjs/features/ColumnSizing.js +5 -5
- package/build/cjs/features/ColumnSizing.js.map +1 -1
- package/build/cjs/features/Expanding.js.map +1 -1
- package/build/cjs/features/Filters.js +12 -7
- package/build/cjs/features/Filters.js.map +1 -1
- package/build/cjs/features/Grouping.js +5 -5
- package/build/cjs/features/Grouping.js.map +1 -1
- package/build/cjs/features/Ordering.js.map +1 -1
- package/build/cjs/features/Pagination.js.map +1 -1
- package/build/cjs/features/Pinning.js +17 -11
- package/build/cjs/features/Pinning.js.map +1 -1
- package/build/cjs/features/RowSelection.js.map +1 -1
- package/build/cjs/features/Sorting.js +9 -9
- package/build/cjs/features/Sorting.js.map +1 -1
- package/build/cjs/features/Visibility.js +3 -3
- package/build/cjs/features/Visibility.js.map +1 -1
- package/build/cjs/index.js +17 -5
- package/build/cjs/index.js.map +1 -1
- package/build/cjs/utils/filterRowsUtils.js +23 -21
- package/build/cjs/utils/filterRowsUtils.js.map +1 -1
- package/build/cjs/utils/getCoreRowModel.js +9 -8
- package/build/cjs/utils/getCoreRowModel.js.map +1 -1
- package/build/cjs/utils/getFacetedRowModel.js +1 -1
- package/build/cjs/utils/getFacetedRowModel.js.map +1 -1
- package/build/cjs/utils/getFilteredRowModel.js +20 -9
- package/build/cjs/utils/getFilteredRowModel.js.map +1 -1
- package/build/cjs/utils/getGroupedRowModel.js +14 -13
- package/build/cjs/utils/getGroupedRowModel.js.map +1 -1
- package/build/cjs/utils/getSortedRowModel.js +2 -2
- package/build/cjs/utils/getSortedRowModel.js.map +1 -1
- package/build/esm/index.js +731 -810
- package/build/esm/index.js.map +1 -1
- package/build/stats-html.html +1 -1
- package/build/stats-react.json +418 -377
- package/build/types/core/cell.d.ts +9 -0
- package/build/types/{features/Columns.d.ts → core/column.d.ts} +3 -17
- package/build/types/{features/Headers.d.ts → core/headers.d.ts} +26 -11
- package/build/types/core/instance.d.ts +57 -0
- package/build/types/core/row.d.ts +15 -0
- package/build/types/createTable.d.ts +8 -5
- package/build/types/features/ColumnSizing.d.ts +2 -1
- package/build/types/features/Expanding.d.ts +2 -1
- package/build/types/features/Filters.d.ts +5 -3
- package/build/types/features/Grouping.d.ts +3 -2
- package/build/types/features/Ordering.d.ts +2 -1
- package/build/types/features/Pagination.d.ts +2 -1
- package/build/types/features/Pinning.d.ts +3 -2
- package/build/types/features/RowSelection.d.ts +2 -1
- package/build/types/features/Sorting.d.ts +2 -1
- package/build/types/features/Visibility.d.ts +2 -1
- package/build/types/index.d.ts +7 -2
- package/build/types/sortingFns.d.ts +4 -4
- package/build/types/types.d.ts +13 -53
- package/build/umd/index.development.js +738 -806
- 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/core/cell.ts +47 -0
- package/src/core/column.ts +148 -0
- package/src/{features/Headers.ts → core/headers.ts} +98 -99
- package/src/core/instance.ts +361 -0
- package/src/core/row.ts +85 -0
- package/src/createTable.ts +14 -7
- package/src/features/ColumnSizing.ts +6 -6
- package/src/features/Expanding.ts +1 -2
- package/src/features/Filters.ts +20 -8
- package/src/features/Grouping.ts +7 -6
- package/src/features/Ordering.ts +1 -1
- package/src/features/Pagination.ts +1 -1
- package/src/features/Pinning.ts +18 -9
- package/src/features/RowSelection.ts +1 -1
- package/src/features/Sorting.ts +11 -11
- package/src/features/Visibility.ts +3 -3
- package/src/index.ts +7 -8
- package/src/types.ts +17 -64
- package/src/utils/filterRowsUtils.ts +5 -3
- package/src/utils/getCoreRowModel.ts +4 -2
- package/src/utils/getFacetedRowModel.ts +1 -1
- package/src/utils/getFilteredRowModel.ts +24 -13
- package/src/utils/getGroupedRowModel.ts +9 -8
- package/src/utils/getSortedRowModel.ts +2 -2
- package/build/cjs/core.js +0 -168
- package/build/cjs/core.js.map +0 -1
- package/build/cjs/features/Cells.js +0 -101
- package/build/cjs/features/Cells.js.map +0 -1
- package/build/cjs/features/Columns.js +0 -189
- package/build/cjs/features/Columns.js.map +0 -1
- package/build/cjs/features/Headers.js.map +0 -1
- package/build/cjs/features/Rows.js +0 -94
- package/build/cjs/features/Rows.js.map +0 -1
- package/build/types/core.d.ts +0 -30
- package/build/types/features/Cells.d.ts +0 -13
- package/build/types/features/Rows.d.ts +0 -28
- package/src/core.ts +0 -246
- package/src/features/Cells.ts +0 -128
- package/src/features/Columns.ts +0 -289
- package/src/features/Rows.ts +0 -142
package/build/cjs/core.js
DELETED
|
@@ -1,168 +0,0 @@
|
|
|
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
|
-
var Columns = require('./features/Columns.js');
|
|
17
|
-
var Rows = require('./features/Rows.js');
|
|
18
|
-
var Cells = require('./features/Cells.js');
|
|
19
|
-
var ColumnSizing = require('./features/ColumnSizing.js');
|
|
20
|
-
var Expanding = require('./features/Expanding.js');
|
|
21
|
-
var Filters = require('./features/Filters.js');
|
|
22
|
-
var Grouping = require('./features/Grouping.js');
|
|
23
|
-
var Ordering = require('./features/Ordering.js');
|
|
24
|
-
var Pagination = require('./features/Pagination.js');
|
|
25
|
-
var Pinning = require('./features/Pinning.js');
|
|
26
|
-
var RowSelection = require('./features/RowSelection.js');
|
|
27
|
-
var Sorting = require('./features/Sorting.js');
|
|
28
|
-
var Visibility = require('./features/Visibility.js');
|
|
29
|
-
var Headers = require('./features/Headers.js');
|
|
30
|
-
|
|
31
|
-
// export type Batch = {
|
|
32
|
-
// id: number
|
|
33
|
-
// priority: keyof CoreBatches
|
|
34
|
-
// tasks: (() => void)[]
|
|
35
|
-
// schedule: (cb: () => void) => void
|
|
36
|
-
// cancel: () => void
|
|
37
|
-
// }
|
|
38
|
-
// type CoreBatches = {
|
|
39
|
-
// data: Batch[]
|
|
40
|
-
// facets: Batch[]
|
|
41
|
-
// }
|
|
42
|
-
function createTableInstance(options) {
|
|
43
|
-
var _options$initialState;
|
|
44
|
-
|
|
45
|
-
if (options.debugAll || options.debugTable) {
|
|
46
|
-
console.info('Creating Table Instance...');
|
|
47
|
-
}
|
|
48
|
-
|
|
49
|
-
let instance = {
|
|
50
|
-
_features: [Columns.Columns, Rows.Rows, Cells.Cells, Headers.Headers, Visibility.Visibility, Ordering.Ordering, Pinning.Pinning, Filters.Filters, Sorting.Sorting, Grouping.Grouping, Expanding.Expanding, Pagination.Pagination, RowSelection.RowSelection, ColumnSizing.ColumnSizing]
|
|
51
|
-
};
|
|
52
|
-
|
|
53
|
-
const defaultOptions = instance._features.reduce((obj, feature) => {
|
|
54
|
-
return Object.assign(obj, feature.getDefaultOptions == null ? void 0 : feature.getDefaultOptions(instance));
|
|
55
|
-
}, {});
|
|
56
|
-
|
|
57
|
-
const mergeOptions = options => {
|
|
58
|
-
if (instance.options.mergeOptions) {
|
|
59
|
-
return instance.options.mergeOptions(defaultOptions, options);
|
|
60
|
-
}
|
|
61
|
-
|
|
62
|
-
return { ...defaultOptions,
|
|
63
|
-
...options
|
|
64
|
-
};
|
|
65
|
-
};
|
|
66
|
-
|
|
67
|
-
const coreInitialState = {// coreProgress: 1,
|
|
68
|
-
};
|
|
69
|
-
let initialState = { ...coreInitialState,
|
|
70
|
-
...((_options$initialState = options.initialState) != null ? _options$initialState : {})
|
|
71
|
-
};
|
|
72
|
-
|
|
73
|
-
instance._features.forEach(feature => {
|
|
74
|
-
var _feature$getInitialSt;
|
|
75
|
-
|
|
76
|
-
initialState = (_feature$getInitialSt = feature.getInitialState == null ? void 0 : feature.getInitialState(initialState)) != null ? _feature$getInitialSt : initialState;
|
|
77
|
-
});
|
|
78
|
-
|
|
79
|
-
const queued = [];
|
|
80
|
-
let queuedTimeout = false;
|
|
81
|
-
const midInstance = { ...instance,
|
|
82
|
-
// init: () => {
|
|
83
|
-
// startWork()
|
|
84
|
-
// },
|
|
85
|
-
// willUpdate: () => {
|
|
86
|
-
// startWork()
|
|
87
|
-
// },
|
|
88
|
-
// destroy: () => {
|
|
89
|
-
// stopWork()
|
|
90
|
-
// },
|
|
91
|
-
options: { ...defaultOptions,
|
|
92
|
-
...options
|
|
93
|
-
},
|
|
94
|
-
initialState,
|
|
95
|
-
_queue: cb => {
|
|
96
|
-
queued.push(cb);
|
|
97
|
-
|
|
98
|
-
if (!queuedTimeout) {
|
|
99
|
-
queuedTimeout = true; // Schedule a microtask to run the queued callbacks after
|
|
100
|
-
// the current call stack (render, etc) has finished.
|
|
101
|
-
|
|
102
|
-
Promise.resolve().then(() => {
|
|
103
|
-
while (queued.length) {
|
|
104
|
-
queued.shift()();
|
|
105
|
-
}
|
|
106
|
-
|
|
107
|
-
queuedTimeout = false;
|
|
108
|
-
}).catch(error => setTimeout(() => {
|
|
109
|
-
throw error;
|
|
110
|
-
}));
|
|
111
|
-
}
|
|
112
|
-
},
|
|
113
|
-
reset: () => {
|
|
114
|
-
instance.setState(instance.initialState);
|
|
115
|
-
},
|
|
116
|
-
setOptions: updater => {
|
|
117
|
-
const newOptions = utils.functionalUpdate(updater, instance.options);
|
|
118
|
-
instance.options = mergeOptions(newOptions);
|
|
119
|
-
},
|
|
120
|
-
_render: (template, props) => {
|
|
121
|
-
if (typeof instance.options.render === 'function') {
|
|
122
|
-
return instance.options.render(template, props);
|
|
123
|
-
}
|
|
124
|
-
|
|
125
|
-
if (typeof template === 'function') {
|
|
126
|
-
return template(props);
|
|
127
|
-
}
|
|
128
|
-
|
|
129
|
-
return template;
|
|
130
|
-
},
|
|
131
|
-
getState: () => {
|
|
132
|
-
return instance.options.state;
|
|
133
|
-
},
|
|
134
|
-
setState: updater => {
|
|
135
|
-
instance.options.onStateChange == null ? void 0 : instance.options.onStateChange(updater);
|
|
136
|
-
} // getOverallProgress: () => {
|
|
137
|
-
// const { coreProgress, filtersProgress, facetProgress } =
|
|
138
|
-
// instance.getState()
|
|
139
|
-
// return mean(() =>
|
|
140
|
-
// [coreProgress, filtersProgress].filter(d => d < 1)
|
|
141
|
-
// ) as number
|
|
142
|
-
// },
|
|
143
|
-
// getProgressStage: () => {
|
|
144
|
-
// const { coreProgress, filtersProgress, facetProgress } =
|
|
145
|
-
// instance.getState()
|
|
146
|
-
// if (coreProgress < 1) {
|
|
147
|
-
// return 'coreRowModel'
|
|
148
|
-
// }
|
|
149
|
-
// if (filtersProgress < 1) {
|
|
150
|
-
// return 'filteredRowModel'
|
|
151
|
-
// }
|
|
152
|
-
// if (Object.values(facetProgress).some(d => d < 1)) {
|
|
153
|
-
// return 'facetedRowModel'
|
|
154
|
-
// }
|
|
155
|
-
// },
|
|
156
|
-
|
|
157
|
-
};
|
|
158
|
-
instance = Object.assign(instance, midInstance);
|
|
159
|
-
|
|
160
|
-
instance._features.forEach(feature => {
|
|
161
|
-
return Object.assign(instance, feature.createInstance == null ? void 0 : feature.createInstance(instance));
|
|
162
|
-
});
|
|
163
|
-
|
|
164
|
-
return instance;
|
|
165
|
-
}
|
|
166
|
-
|
|
167
|
-
exports.createTableInstance = createTableInstance;
|
|
168
|
-
//# sourceMappingURL=core.js.map
|
package/build/cjs/core.js.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"core.js","sources":["../../src/core.ts"],"sourcesContent":["import { functionalUpdate, RequiredKeys } from './utils'\n\nimport {\n Updater,\n TableOptions,\n TableState,\n TableInstance,\n Renderable,\n TableFeature,\n TableGenerics,\n InitialTableState,\n} from './types'\n\nimport { Columns } from './features/Columns'\nimport { Rows } from './features/Rows'\nimport { Cells } from './features/Cells'\nimport { ColumnSizing } from './features/ColumnSizing'\nimport { Expanding } from './features/Expanding'\nimport { Filters } from './features/Filters'\nimport { Grouping } 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'\nimport { Headers } from './features/Headers'\n//\n\nexport type CoreTableState = {\n // coreProgress: number\n}\n\nexport type CoreOptions<TGenerics extends TableGenerics> = {\n data: TGenerics['Row'][]\n state: Partial<TableState>\n onStateChange: (updater: Updater<TableState>) => void\n render: TGenerics['Renderer']\n debugAll?: boolean\n debugTable?: boolean\n debugHeaders?: boolean\n debugColumns?: boolean\n debugRows?: boolean\n initialState?: InitialTableState\n autoResetAll?: boolean\n mergeOptions?: <T>(defaultOptions: T, options: Partial<T>) => T\n meta?: TGenerics['TableMeta']\n // keepPreviousData?: boolean\n}\n\nexport type CoreInstance<TGenerics extends TableGenerics> = {\n // generics: TGenerics\n initialState: TableState\n reset: () => void\n options: RequiredKeys<TableOptions<TGenerics>, 'state'>\n setOptions: (newOptions: Updater<TableOptions<TGenerics>>) => void\n getState: () => TableState\n setState: (updater: Updater<TableState>) => void\n _queue: (cb: () => void) => void\n _render: <TProps>(\n template: Renderable<TGenerics, TProps>,\n props: TProps\n ) => string | null | TGenerics['Rendered']\n _features: readonly TableFeature[]\n // getOverallProgress: () => number\n // getProgressStage: () =>\n // | undefined\n // | 'coreRowModel'\n // | 'filteredRowModel'\n // | 'facetedRowModel'\n // createBatch: (priority: keyof CoreBatches) => Batch\n // init: () => void\n // willUpdate: () => void\n // destroy: () => void\n // batches: CoreBatches\n}\n\n// export type Batch = {\n// id: number\n// priority: keyof CoreBatches\n// tasks: (() => void)[]\n// schedule: (cb: () => void) => void\n// cancel: () => void\n// }\n\n// type CoreBatches = {\n// data: Batch[]\n// facets: Batch[]\n// }\n\nexport function createTableInstance<TGenerics extends TableGenerics>(\n options: TableOptions<TGenerics>\n): TableInstance<TGenerics> {\n if (options.debugAll || options.debugTable) {\n console.info('Creating Table Instance...')\n }\n\n let instance = {\n _features: [\n Columns,\n Rows,\n Cells,\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 } as unknown as CoreInstance<TGenerics>\n\n const defaultOptions = instance._features.reduce((obj, feature) => {\n return Object.assign(obj, feature.getDefaultOptions?.(instance))\n }, {}) as TableOptions<TGenerics>\n\n const mergeOptions = (options: TableOptions<TGenerics>) => {\n if (instance.options.mergeOptions) {\n return instance.options.mergeOptions(defaultOptions, options)\n }\n\n return {\n ...defaultOptions,\n ...options,\n }\n }\n\n const coreInitialState: CoreTableState = {\n // coreProgress: 1,\n }\n\n let initialState = {\n ...coreInitialState,\n ...(options.initialState ?? {}),\n } as TableState\n\n instance._features.forEach(feature => {\n initialState = feature.getInitialState?.(initialState) ?? initialState\n })\n\n const queued: (() => void)[] = []\n let queuedTimeout = false\n\n const midInstance: CoreInstance<TGenerics> = {\n ...instance,\n // init: () => {\n // startWork()\n // },\n // willUpdate: () => {\n // startWork()\n // },\n // destroy: () => {\n // stopWork()\n // },\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 instance.setState(instance.initialState)\n },\n setOptions: updater => {\n const newOptions = functionalUpdate(updater, instance.options)\n instance.options = mergeOptions(newOptions)\n },\n _render: (template, props) => {\n if (typeof instance.options.render === 'function') {\n return instance.options.render(template, props)\n }\n\n if (typeof template === 'function') {\n return (template as Function)(props)\n }\n\n return template\n },\n\n getState: () => {\n return instance.options.state as TableState\n },\n\n setState: (updater: Updater<TableState>) => {\n instance.options.onStateChange?.(updater)\n },\n\n // getOverallProgress: () => {\n // const { coreProgress, filtersProgress, facetProgress } =\n // instance.getState()\n\n // return mean(() =>\n // [coreProgress, filtersProgress].filter(d => d < 1)\n // ) as number\n // },\n // getProgressStage: () => {\n // const { coreProgress, filtersProgress, facetProgress } =\n // instance.getState()\n\n // if (coreProgress < 1) {\n // return 'coreRowModel'\n // }\n\n // if (filtersProgress < 1) {\n // return 'filteredRowModel'\n // }\n\n // if (Object.values(facetProgress).some(d => d < 1)) {\n // return 'facetedRowModel'\n // }\n // },\n }\n\n instance = Object.assign(instance, midInstance)\n\n instance._features.forEach(feature => {\n return Object.assign(instance, feature.createInstance?.(instance))\n })\n\n return instance as TableInstance<TGenerics>\n}\n"],"names":["createTableInstance","options","debugAll","debugTable","console","info","instance","_features","Columns","Rows","Cells","Headers","Visibility","Ordering","Pinning","Filters","Sorting","Grouping","Expanding","Pagination","RowSelection","ColumnSizing","defaultOptions","reduce","obj","feature","Object","assign","getDefaultOptions","mergeOptions","coreInitialState","initialState","forEach","getInitialState","queued","queuedTimeout","midInstance","_queue","cb","push","Promise","resolve","then","length","shift","catch","error","setTimeout","reset","setState","setOptions","updater","newOptions","functionalUpdate","_render","template","props","render","getState","state","onStateChange","createInstance"],"mappings":"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"}
|
|
@@ -1,101 +0,0 @@
|
|
|
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
|
-
//
|
|
18
|
-
const Cells = {
|
|
19
|
-
createRow: (row, instance) => {
|
|
20
|
-
return {
|
|
21
|
-
getAllCells: utils.memo(() => [instance.getAllLeafColumns()], leafColumns => {
|
|
22
|
-
return leafColumns.map(column => {
|
|
23
|
-
return instance.createCell(row, column, column.id);
|
|
24
|
-
});
|
|
25
|
-
}, {
|
|
26
|
-
key: process.env.NODE_ENV === 'development' && 'row.getAllCells',
|
|
27
|
-
debug: () => {
|
|
28
|
-
var _instance$options$deb;
|
|
29
|
-
|
|
30
|
-
return (_instance$options$deb = instance.options.debugAll) != null ? _instance$options$deb : instance.options.debugRows;
|
|
31
|
-
}
|
|
32
|
-
}),
|
|
33
|
-
getAllCellsByColumnId: utils.memo(() => [row.getAllCells()], allCells => {
|
|
34
|
-
return allCells.reduce((acc, cell) => {
|
|
35
|
-
acc[cell.columnId] = cell;
|
|
36
|
-
return acc;
|
|
37
|
-
}, {});
|
|
38
|
-
}, {
|
|
39
|
-
key: process.env.NODE_ENV === 'production' && 'row.getAllCellsByColumnId',
|
|
40
|
-
debug: () => {
|
|
41
|
-
var _instance$options$deb2;
|
|
42
|
-
|
|
43
|
-
return (_instance$options$deb2 = instance.options.debugAll) != null ? _instance$options$deb2 : instance.options.debugRows;
|
|
44
|
-
}
|
|
45
|
-
})
|
|
46
|
-
};
|
|
47
|
-
},
|
|
48
|
-
createInstance: instance => {
|
|
49
|
-
return {
|
|
50
|
-
createCell: (row, column, columnId) => {
|
|
51
|
-
const cell = {
|
|
52
|
-
id: row.id + "_" + column.id,
|
|
53
|
-
rowId: row.id,
|
|
54
|
-
columnId,
|
|
55
|
-
row,
|
|
56
|
-
column,
|
|
57
|
-
getValue: () => row.getValue(columnId),
|
|
58
|
-
renderCell: () => column.cell ? instance._render(column.cell, {
|
|
59
|
-
instance,
|
|
60
|
-
column,
|
|
61
|
-
row,
|
|
62
|
-
cell: cell,
|
|
63
|
-
getValue: cell.getValue
|
|
64
|
-
}) : null
|
|
65
|
-
};
|
|
66
|
-
|
|
67
|
-
instance._features.forEach(feature => {
|
|
68
|
-
Object.assign(cell, feature.createCell == null ? void 0 : feature.createCell(cell, column, row, instance));
|
|
69
|
-
}, {});
|
|
70
|
-
|
|
71
|
-
return cell;
|
|
72
|
-
},
|
|
73
|
-
getCell: (rowId, columnId) => {
|
|
74
|
-
const row = instance.getRow(rowId);
|
|
75
|
-
|
|
76
|
-
if (!row) {
|
|
77
|
-
if (process.env.NODE_ENV !== 'production') {
|
|
78
|
-
throw new Error("[Table] could not find row with id " + rowId);
|
|
79
|
-
}
|
|
80
|
-
|
|
81
|
-
throw new Error();
|
|
82
|
-
}
|
|
83
|
-
|
|
84
|
-
const cell = row.getAllCellsByColumnId()[columnId];
|
|
85
|
-
|
|
86
|
-
if (!cell) {
|
|
87
|
-
if (process.env.NODE_ENV !== 'production') {
|
|
88
|
-
throw new Error("[Table] could not find cell " + columnId + " in row " + rowId);
|
|
89
|
-
}
|
|
90
|
-
|
|
91
|
-
throw new Error();
|
|
92
|
-
}
|
|
93
|
-
|
|
94
|
-
return cell;
|
|
95
|
-
}
|
|
96
|
-
};
|
|
97
|
-
}
|
|
98
|
-
};
|
|
99
|
-
|
|
100
|
-
exports.Cells = Cells;
|
|
101
|
-
//# sourceMappingURL=Cells.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"Cells.js","sources":["../../../src/features/Cells.ts"],"sourcesContent":["import {\n Cell,\n TableGenerics,\n TableInstance,\n Row,\n Column,\n CoreCell,\n} from '../types'\nimport { memo } from '../utils'\n\nexport type CellsRow<TGenerics extends TableGenerics> = {\n getAllCells: () => Cell<TGenerics>[]\n getAllCellsByColumnId: () => Record<string, Cell<TGenerics>>\n}\n\nexport type CellsInstance<TGenerics extends TableGenerics> = {\n createCell: (\n row: Row<TGenerics>,\n column: Column<TGenerics>,\n columnId: string\n ) => Cell<TGenerics>\n getCell: (rowId: string, columnId: string) => Cell<TGenerics>\n}\n\n//\n\nexport const Cells = {\n createRow: <TGenerics extends TableGenerics>(\n row: Row<TGenerics>,\n instance: TableInstance<TGenerics>\n ): CellsRow<TGenerics> => {\n return {\n getAllCells: memo(\n () => [instance.getAllLeafColumns()],\n leafColumns => {\n return leafColumns.map(column => {\n return instance.createCell(row as Row<TGenerics>, column, column.id)\n })\n },\n {\n key: process.env.NODE_ENV === 'development' && 'row.getAllCells',\n debug: () => instance.options.debugAll ?? instance.options.debugRows,\n }\n ),\n\n getAllCellsByColumnId: memo(\n () => [row.getAllCells()],\n allCells => {\n return allCells.reduce((acc, cell) => {\n acc[cell.columnId] = cell\n return acc\n }, {} as Record<string, Cell<TGenerics>>)\n },\n {\n key:\n process.env.NODE_ENV === 'production' &&\n 'row.getAllCellsByColumnId',\n debug: () => instance.options.debugAll ?? instance.options.debugRows,\n }\n ),\n }\n },\n\n createInstance: <TGenerics extends TableGenerics>(\n instance: TableInstance<TGenerics>\n ): CellsInstance<TGenerics> => {\n return {\n createCell: (row, column, columnId) => {\n const cell: CoreCell<TGenerics> = {\n id: `${row.id}_${column.id}`,\n rowId: row.id,\n columnId,\n row,\n column,\n getValue: () => row.getValue(columnId),\n renderCell: () =>\n column.cell\n ? instance._render(column.cell, {\n instance,\n column,\n row,\n cell: cell as Cell<TGenerics>,\n getValue: cell.getValue,\n })\n : null,\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\n getCell: (rowId: string, columnId: string) => {\n const row = instance.getRow(rowId)\n\n if (!row) {\n if (process.env.NODE_ENV !== 'production') {\n throw new Error(`[Table] could not find row with id ${rowId}`)\n }\n throw new Error()\n }\n\n const cell = row.getAllCellsByColumnId()[columnId]\n\n if (!cell) {\n if (process.env.NODE_ENV !== 'production') {\n throw new Error(\n `[Table] could not find cell ${columnId} in row ${rowId}`\n )\n }\n throw new Error()\n }\n\n return cell\n },\n }\n },\n}\n"],"names":["Cells","createRow","row","instance","getAllCells","memo","getAllLeafColumns","leafColumns","map","column","createCell","id","key","process","env","NODE_ENV","debug","options","debugAll","debugRows","getAllCellsByColumnId","allCells","reduce","acc","cell","columnId","createInstance","rowId","getValue","renderCell","_render","_features","forEach","feature","Object","assign","getCell","getRow","Error"],"mappings":"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"}
|
|
@@ -1,189 +0,0 @@
|
|
|
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
|
-
//
|
|
18
|
-
const Columns = {
|
|
19
|
-
createInstance: instance => {
|
|
20
|
-
return {
|
|
21
|
-
getDefaultColumn: utils.memo(() => [instance.options.defaultColumn], defaultColumn => {
|
|
22
|
-
var _defaultColumn;
|
|
23
|
-
|
|
24
|
-
defaultColumn = (_defaultColumn = defaultColumn) != null ? _defaultColumn : {};
|
|
25
|
-
return {
|
|
26
|
-
header: props => props.header.column.id,
|
|
27
|
-
footer: props => props.header.column.id,
|
|
28
|
-
cell: props => {
|
|
29
|
-
var _props$getValue$toStr, _props$getValue$toStr2, _props$getValue;
|
|
30
|
-
|
|
31
|
-
return (_props$getValue$toStr = (_props$getValue$toStr2 = (_props$getValue = props.getValue()).toString) == null ? void 0 : _props$getValue$toStr2.call(_props$getValue)) != null ? _props$getValue$toStr : null;
|
|
32
|
-
},
|
|
33
|
-
...instance._features.reduce((obj, feature) => {
|
|
34
|
-
return Object.assign(obj, feature.getDefaultColumn == null ? void 0 : feature.getDefaultColumn());
|
|
35
|
-
}, {}),
|
|
36
|
-
...defaultColumn
|
|
37
|
-
};
|
|
38
|
-
}, {
|
|
39
|
-
debug: () => {
|
|
40
|
-
var _instance$options$deb;
|
|
41
|
-
|
|
42
|
-
return (_instance$options$deb = instance.options.debugAll) != null ? _instance$options$deb : instance.options.debugColumns;
|
|
43
|
-
},
|
|
44
|
-
key: process.env.NODE_ENV === 'development' && 'getDefaultColumn'
|
|
45
|
-
}),
|
|
46
|
-
getColumnDefs: () => instance.options.columns,
|
|
47
|
-
createColumn: (columnDef, depth, parent) => {
|
|
48
|
-
var _ref, _columnDef$id;
|
|
49
|
-
|
|
50
|
-
const defaultColumn = instance.getDefaultColumn();
|
|
51
|
-
let id = (_ref = (_columnDef$id = columnDef.id) != null ? _columnDef$id : columnDef.accessorKey) != null ? _ref : typeof columnDef.header === 'string' ? columnDef.header : undefined;
|
|
52
|
-
let accessorFn;
|
|
53
|
-
|
|
54
|
-
if (columnDef.accessorFn) {
|
|
55
|
-
accessorFn = columnDef.accessorFn;
|
|
56
|
-
} else if (columnDef.accessorKey) {
|
|
57
|
-
accessorFn = originalRow => originalRow[columnDef.accessorKey];
|
|
58
|
-
}
|
|
59
|
-
|
|
60
|
-
if (!id) {
|
|
61
|
-
if (process.env.NODE_ENV !== 'production') {
|
|
62
|
-
throw new Error(columnDef.accessorFn ? "Columns require an id when using an accessorFn" : "Columns require an id when using a non-string header");
|
|
63
|
-
}
|
|
64
|
-
|
|
65
|
-
throw new Error();
|
|
66
|
-
}
|
|
67
|
-
|
|
68
|
-
let column = { ...defaultColumn,
|
|
69
|
-
...columnDef,
|
|
70
|
-
id: "" + id,
|
|
71
|
-
accessorFn,
|
|
72
|
-
parent: parent,
|
|
73
|
-
depth,
|
|
74
|
-
columnDef,
|
|
75
|
-
columnDefType: columnDef.columnDefType,
|
|
76
|
-
columns: [],
|
|
77
|
-
getFlatColumns: utils.memo(() => [true], () => {
|
|
78
|
-
var _column$columns;
|
|
79
|
-
|
|
80
|
-
return [column, ...((_column$columns = column.columns) == null ? void 0 : _column$columns.flatMap(d => d.getFlatColumns()))];
|
|
81
|
-
}, {
|
|
82
|
-
key: process.env.NODE_ENV === 'production' && 'column.getFlatColumns',
|
|
83
|
-
debug: () => {
|
|
84
|
-
var _instance$options$deb2;
|
|
85
|
-
|
|
86
|
-
return (_instance$options$deb2 = instance.options.debugAll) != null ? _instance$options$deb2 : instance.options.debugColumns;
|
|
87
|
-
}
|
|
88
|
-
}),
|
|
89
|
-
getLeafColumns: utils.memo(() => [instance._getOrderColumnsFn()], orderColumns => {
|
|
90
|
-
var _column$columns2;
|
|
91
|
-
|
|
92
|
-
if ((_column$columns2 = column.columns) != null && _column$columns2.length) {
|
|
93
|
-
let leafColumns = column.columns.flatMap(column => column.getLeafColumns());
|
|
94
|
-
return orderColumns(leafColumns);
|
|
95
|
-
}
|
|
96
|
-
|
|
97
|
-
return [column];
|
|
98
|
-
}, {
|
|
99
|
-
key: process.env.NODE_ENV === 'production' && 'column.getLeafColumns',
|
|
100
|
-
debug: () => {
|
|
101
|
-
var _instance$options$deb3;
|
|
102
|
-
|
|
103
|
-
return (_instance$options$deb3 = instance.options.debugAll) != null ? _instance$options$deb3 : instance.options.debugColumns;
|
|
104
|
-
}
|
|
105
|
-
})
|
|
106
|
-
};
|
|
107
|
-
column = instance._features.reduce((obj, feature) => {
|
|
108
|
-
return Object.assign(obj, feature.createColumn == null ? void 0 : feature.createColumn(column, instance));
|
|
109
|
-
}, column); // Yes, we have to convert instance to uknown, because we know more than the compiler here.
|
|
110
|
-
|
|
111
|
-
return column;
|
|
112
|
-
},
|
|
113
|
-
getAllColumns: utils.memo(() => [instance.getColumnDefs()], columnDefs => {
|
|
114
|
-
const recurseColumns = function (columnDefs, parent, depth) {
|
|
115
|
-
if (depth === void 0) {
|
|
116
|
-
depth = 0;
|
|
117
|
-
}
|
|
118
|
-
|
|
119
|
-
return columnDefs.map(columnDef => {
|
|
120
|
-
const column = instance.createColumn(columnDef, depth, parent);
|
|
121
|
-
column.columns = columnDef.columns ? recurseColumns(columnDef.columns, column, depth + 1) : [];
|
|
122
|
-
return column;
|
|
123
|
-
});
|
|
124
|
-
};
|
|
125
|
-
|
|
126
|
-
return recurseColumns(columnDefs);
|
|
127
|
-
}, {
|
|
128
|
-
key: process.env.NODE_ENV === 'development' && 'getAllColumns',
|
|
129
|
-
debug: () => {
|
|
130
|
-
var _instance$options$deb4;
|
|
131
|
-
|
|
132
|
-
return (_instance$options$deb4 = instance.options.debugAll) != null ? _instance$options$deb4 : instance.options.debugColumns;
|
|
133
|
-
}
|
|
134
|
-
}),
|
|
135
|
-
getAllFlatColumns: utils.memo(() => [instance.getAllColumns()], allColumns => {
|
|
136
|
-
return allColumns.flatMap(column => {
|
|
137
|
-
return column.getFlatColumns();
|
|
138
|
-
});
|
|
139
|
-
}, {
|
|
140
|
-
key: process.env.NODE_ENV === 'development' && 'getAllFlatColumns',
|
|
141
|
-
debug: () => {
|
|
142
|
-
var _instance$options$deb5;
|
|
143
|
-
|
|
144
|
-
return (_instance$options$deb5 = instance.options.debugAll) != null ? _instance$options$deb5 : instance.options.debugColumns;
|
|
145
|
-
}
|
|
146
|
-
}),
|
|
147
|
-
getAllFlatColumnsById: utils.memo(() => [instance.getAllFlatColumns()], flatColumns => {
|
|
148
|
-
return flatColumns.reduce((acc, column) => {
|
|
149
|
-
acc[column.id] = column;
|
|
150
|
-
return acc;
|
|
151
|
-
}, {});
|
|
152
|
-
}, {
|
|
153
|
-
key: process.env.NODE_ENV === 'development' && 'getAllFlatColumnsById',
|
|
154
|
-
debug: () => {
|
|
155
|
-
var _instance$options$deb6;
|
|
156
|
-
|
|
157
|
-
return (_instance$options$deb6 = instance.options.debugAll) != null ? _instance$options$deb6 : instance.options.debugColumns;
|
|
158
|
-
}
|
|
159
|
-
}),
|
|
160
|
-
getAllLeafColumns: utils.memo(() => [instance.getAllColumns(), instance._getOrderColumnsFn()], (allColumns, orderColumns) => {
|
|
161
|
-
let leafColumns = allColumns.flatMap(column => column.getLeafColumns());
|
|
162
|
-
return orderColumns(leafColumns);
|
|
163
|
-
}, {
|
|
164
|
-
key: process.env.NODE_ENV === 'development' && 'getAllLeafColumns',
|
|
165
|
-
debug: () => {
|
|
166
|
-
var _instance$options$deb7;
|
|
167
|
-
|
|
168
|
-
return (_instance$options$deb7 = instance.options.debugAll) != null ? _instance$options$deb7 : instance.options.debugColumns;
|
|
169
|
-
}
|
|
170
|
-
}),
|
|
171
|
-
getColumn: columnId => {
|
|
172
|
-
const column = instance.getAllFlatColumnsById()[columnId];
|
|
173
|
-
|
|
174
|
-
if (!column) {
|
|
175
|
-
if (process.env.NODE_ENV !== 'production') {
|
|
176
|
-
console.warn("[Table] Column with id " + columnId + " does not exist.");
|
|
177
|
-
}
|
|
178
|
-
|
|
179
|
-
throw new Error();
|
|
180
|
-
}
|
|
181
|
-
|
|
182
|
-
return column;
|
|
183
|
-
}
|
|
184
|
-
};
|
|
185
|
-
}
|
|
186
|
-
};
|
|
187
|
-
|
|
188
|
-
exports.Columns = Columns;
|
|
189
|
-
//# sourceMappingURL=Columns.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"Columns.js","sources":["../../../src/features/Columns.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 type ColumnsOptions<TGenerics extends TableGenerics> = {\n columns: ColumnDef<TGenerics>[]\n defaultColumn?: Partial<ColumnDef<TGenerics>>\n}\n\nexport type ColumnsInstance<TGenerics extends TableGenerics> = {\n getDefaultColumn: () => Partial<ColumnDef<TGenerics>>\n getColumnDefs: () => ColumnDef<TGenerics>[]\n createColumn: (\n columnDef: ColumnDef<TGenerics>,\n depth: number,\n parent?: Column<TGenerics>\n ) => Column<TGenerics>\n getAllColumns: () => Column<TGenerics>[]\n getAllFlatColumns: () => Column<TGenerics>[]\n getAllFlatColumnsById: () => Record<string, Column<TGenerics>>\n getAllLeafColumns: () => Column<TGenerics>[]\n getColumn: (columnId: string) => Column<TGenerics>\n}\n\n//\n\nexport const Columns = {\n createInstance: <TGenerics extends TableGenerics>(\n instance: TableInstance<TGenerics>\n ): ColumnsInstance<TGenerics> => {\n return {\n getDefaultColumn: memo(\n () => [instance.options.defaultColumn],\n defaultColumn => {\n defaultColumn = (defaultColumn ?? {}) as Partial<ColumnDef<TGenerics>>\n\n return {\n header: props => props.header.column.id,\n footer: props => props.header.column.id,\n cell: props => props.getValue().toString?.() ?? null,\n ...instance._features.reduce((obj, feature) => {\n return Object.assign(obj, feature.getDefaultColumn?.())\n }, {}),\n ...defaultColumn,\n } as Partial<ColumnDef<TGenerics>>\n },\n {\n debug: () =>\n instance.options.debugAll ?? instance.options.debugColumns,\n key: process.env.NODE_ENV === 'development' && 'getDefaultColumn',\n }\n ),\n\n getColumnDefs: () => instance.options.columns,\n\n createColumn: (\n columnDef: ColumnDef<TGenerics> & { columnDefType?: CoreColumnDefType },\n depth: number,\n parent\n ) => {\n const defaultColumn = instance.getDefaultColumn()\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 ...defaultColumn,\n ...columnDef,\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:\n process.env.NODE_ENV === 'production' &&\n 'column.getFlatColumns',\n debug: () =>\n 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:\n process.env.NODE_ENV === 'production' &&\n 'column.getLeafColumns',\n debug: () =>\n 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\n getAllColumns: memo(\n () => [instance.getColumnDefs()],\n columnDefs => {\n const recurseColumns = (\n columnDefs: ColumnDef<TGenerics>[],\n parent?: Column<TGenerics>,\n depth = 0\n ): Column<TGenerics>[] => {\n return columnDefs.map(columnDef => {\n const column = instance.createColumn(columnDef, depth, parent)\n\n column.columns = columnDef.columns\n ? recurseColumns(columnDef.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: () =>\n instance.options.debugAll ?? instance.options.debugColumns,\n }\n ),\n\n getAllFlatColumns: memo(\n () => [instance.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: () =>\n instance.options.debugAll ?? instance.options.debugColumns,\n }\n ),\n\n getAllFlatColumnsById: memo(\n () => [instance.getAllFlatColumns()],\n flatColumns => {\n return flatColumns.reduce((acc, column) => {\n acc[column.id] = column\n return acc\n }, {} as Record<string, Column<TGenerics>>)\n },\n {\n key:\n process.env.NODE_ENV === 'development' && 'getAllFlatColumnsById',\n debug: () =>\n instance.options.debugAll ?? instance.options.debugColumns,\n }\n ),\n\n getAllLeafColumns: memo(\n () => [instance.getAllColumns(), instance._getOrderColumnsFn()],\n (allColumns, orderColumns) => {\n let leafColumns = allColumns.flatMap(column =>\n column.getLeafColumns()\n )\n return orderColumns(leafColumns)\n },\n {\n key: process.env.NODE_ENV === 'development' && 'getAllLeafColumns',\n debug: () =>\n instance.options.debugAll ?? instance.options.debugColumns,\n }\n ),\n\n getColumn: columnId => {\n const column = instance.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}\n"],"names":["Columns","createInstance","instance","getDefaultColumn","memo","options","defaultColumn","header","props","column","id","footer","cell","getValue","toString","_features","reduce","obj","feature","Object","assign","debug","debugAll","debugColumns","key","process","env","NODE_ENV","getColumnDefs","columns","createColumn","columnDef","depth","parent","accessorKey","undefined","accessorFn","originalRow","Error","columnDefType","getFlatColumns","flatMap","d","getLeafColumns","_getOrderColumnsFn","orderColumns","length","leafColumns","getAllColumns","columnDefs","recurseColumns","map","getAllFlatColumns","allColumns","getAllFlatColumnsById","flatColumns","acc","getAllLeafColumns","getColumn","columnId","console","warn"],"mappings":"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"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"Headers.js","sources":["../../../src/features/Headers.ts"],"sourcesContent":["import {\n Column,\n CoreHeader,\n Header,\n HeaderGroup,\n TableGenerics,\n TableInstance,\n} from '../types'\nimport { memo } from '../utils'\n\nexport type HeadersInstance<TGenerics extends TableGenerics> = {\n createHeader: (\n column: Column<TGenerics>,\n options: {\n id?: string\n isPlaceholder?: boolean\n placeholderId?: string\n index: number\n depth: number\n }\n ) => Header<TGenerics>\n getHeaderGroups: () => HeaderGroup<TGenerics>[]\n getLeftHeaderGroups: () => HeaderGroup<TGenerics>[]\n getCenterHeaderGroups: () => HeaderGroup<TGenerics>[]\n getRightHeaderGroups: () => HeaderGroup<TGenerics>[]\n\n getFooterGroups: () => HeaderGroup<TGenerics>[]\n getLeftFooterGroups: () => HeaderGroup<TGenerics>[]\n getCenterFooterGroups: () => HeaderGroup<TGenerics>[]\n getRightFooterGroups: () => HeaderGroup<TGenerics>[]\n\n getFlatHeaders: () => Header<TGenerics>[]\n getLeftFlatHeaders: () => Header<TGenerics>[]\n getCenterFlatHeaders: () => Header<TGenerics>[]\n getRightFlatHeaders: () => Header<TGenerics>[]\n\n getLeafHeaders: () => Header<TGenerics>[]\n getLeftLeafHeaders: () => Header<TGenerics>[]\n getCenterLeafHeaders: () => Header<TGenerics>[]\n getRightLeafHeaders: () => Header<TGenerics>[]\n\n getHeader: (id: string) => Header<TGenerics>\n}\n\n//\n\nexport const Headers = {\n createInstance: <TGenerics extends TableGenerics>(\n instance: TableInstance<TGenerics>\n ): HeadersInstance<TGenerics> => {\n return {\n createHeader: (\n column: Column<TGenerics>,\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<TGenerics> = {\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<TGenerics>[] => {\n const leafHeaders: CoreHeader<TGenerics>[] = []\n\n const recurseHeader = (h: CoreHeader<TGenerics>) => {\n if (h.subHeaders && h.subHeaders.length) {\n h.subHeaders.map(recurseHeader)\n }\n leafHeaders.push(h)\n }\n\n recurseHeader(header)\n\n return leafHeaders as Header<TGenerics>[]\n },\n renderHeader: () =>\n column.header\n ? instance._render(column.header, {\n instance,\n header: header as Header<TGenerics>,\n column,\n })\n : null,\n renderFooter: () =>\n column.footer\n ? instance._render(column.footer, {\n instance,\n header: header as Header<TGenerics>,\n column,\n })\n : null,\n }\n\n instance._features.forEach(feature => {\n Object.assign(header, feature.createHeader?.(header, instance))\n })\n\n return header as Header<TGenerics>\n },\n\n // Header Groups\n\n getHeaderGroups: memo(\n () => [\n instance.getAllColumns(),\n instance.getVisibleLeafColumns(),\n instance.getState().columnPinning.left,\n instance.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 instance\n )\n\n return headerGroups\n },\n {\n key: process.env.NODE_ENV === 'development' && 'getHeaderGroups',\n debug: () =>\n instance.options.debugAll ?? instance.options.debugHeaders,\n }\n ),\n\n getCenterHeaderGroups: memo(\n () => [\n instance.getAllColumns(),\n instance.getVisibleLeafColumns(),\n instance.getState().columnPinning.left,\n instance.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, instance, 'center')\n },\n {\n key:\n process.env.NODE_ENV === 'development' && 'getCenterHeaderGroups',\n debug: () =>\n instance.options.debugAll ?? instance.options.debugHeaders,\n }\n ),\n\n getLeftHeaderGroups: memo(\n () => [\n instance.getAllColumns(),\n instance.getVisibleLeafColumns(),\n instance.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 instance,\n 'left'\n )\n },\n {\n key: process.env.NODE_ENV === 'development' && 'getLeftHeaderGroups',\n debug: () =>\n instance.options.debugAll ?? instance.options.debugHeaders,\n }\n ),\n\n getRightHeaderGroups: memo(\n () => [\n instance.getAllColumns(),\n instance.getVisibleLeafColumns(),\n instance.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 instance,\n 'right'\n )\n },\n {\n key: process.env.NODE_ENV === 'development' && 'getRightHeaderGroups',\n debug: () =>\n instance.options.debugAll ?? instance.options.debugHeaders,\n }\n ),\n\n // Footer Groups\n\n getFooterGroups: memo(\n () => [instance.getHeaderGroups()],\n headerGroups => {\n return [...headerGroups].reverse()\n },\n {\n key: process.env.NODE_ENV === 'development' && 'getFooterGroups',\n debug: () =>\n instance.options.debugAll ?? instance.options.debugHeaders,\n }\n ),\n\n getLeftFooterGroups: memo(\n () => [instance.getLeftHeaderGroups()],\n headerGroups => {\n return [...headerGroups].reverse()\n },\n {\n key: process.env.NODE_ENV === 'development' && 'getLeftFooterGroups',\n debug: () =>\n instance.options.debugAll ?? instance.options.debugHeaders,\n }\n ),\n\n getCenterFooterGroups: memo(\n () => [instance.getCenterHeaderGroups()],\n headerGroups => {\n return [...headerGroups].reverse()\n },\n {\n key:\n process.env.NODE_ENV === 'development' && 'getCenterFooterGroups',\n debug: () =>\n instance.options.debugAll ?? instance.options.debugHeaders,\n }\n ),\n\n getRightFooterGroups: memo(\n () => [instance.getRightHeaderGroups()],\n headerGroups => {\n return [...headerGroups].reverse()\n },\n {\n key: process.env.NODE_ENV === 'development' && 'getRightFooterGroups',\n debug: () =>\n instance.options.debugAll ?? instance.options.debugHeaders,\n }\n ),\n\n // Flat Headers\n\n getFlatHeaders: memo(\n () => [instance.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: () =>\n instance.options.debugAll ?? instance.options.debugHeaders,\n }\n ),\n\n getLeftFlatHeaders: memo(\n () => [instance.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: () =>\n instance.options.debugAll ?? instance.options.debugHeaders,\n }\n ),\n\n getCenterFlatHeaders: memo(\n () => [instance.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: () =>\n instance.options.debugAll ?? instance.options.debugHeaders,\n }\n ),\n\n getRightFlatHeaders: memo(\n () => [instance.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: () =>\n instance.options.debugAll ?? instance.options.debugHeaders,\n }\n ),\n\n // Leaf Headers\n\n getCenterLeafHeaders: memo(\n () => [instance.getCenterFlatHeaders()],\n flatHeaders => {\n return flatHeaders.filter(header => !header.subHeaders?.length)\n },\n {\n key: process.env.NODE_ENV === 'development' && 'getCenterLeafHeaders',\n debug: () =>\n instance.options.debugAll ?? instance.options.debugHeaders,\n }\n ),\n\n getLeftLeafHeaders: memo(\n () => [instance.getLeftFlatHeaders()],\n flatHeaders => {\n return flatHeaders.filter(header => !header.subHeaders?.length)\n },\n {\n key: process.env.NODE_ENV === 'development' && 'getLeftLeafHeaders',\n debug: () =>\n instance.options.debugAll ?? instance.options.debugHeaders,\n }\n ),\n\n getRightLeafHeaders: memo(\n () => [instance.getRightFlatHeaders()],\n flatHeaders => {\n return flatHeaders.filter(header => !header.subHeaders?.length)\n },\n {\n key: process.env.NODE_ENV === 'development' && 'getRightLeafHeaders',\n debug: () =>\n instance.options.debugAll ?? instance.options.debugHeaders,\n }\n ),\n\n getLeafHeaders: memo(\n () => [\n instance.getLeftHeaderGroups(),\n instance.getCenterHeaderGroups(),\n instance.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: () =>\n instance.options.debugAll ?? instance.options.debugHeaders,\n }\n ),\n\n getHeader: (id: string) => {\n const header = [\n ...instance.getFlatHeaders(),\n ...instance.getCenterFlatHeaders(),\n ...instance.getLeftFlatHeaders(),\n ...instance.getRightFlatHeaders(),\n ].find(d => d.id === id)\n\n if (!header) {\n if (process.env.NODE_ENV !== 'production') {\n console.warn(`Could not find header with id: ${id}`)\n }\n throw new Error()\n }\n\n return header\n },\n }\n },\n}\n\nexport function buildHeaderGroups<TGenerics extends TableGenerics>(\n allColumns: Column<TGenerics>[],\n columnsToGroup: Column<TGenerics>[],\n instance: TableInstance<TGenerics>,\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<TGenerics>[], 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<TGenerics>[] = []\n\n const createHeaderGroup = (\n headersToGroup: Header<TGenerics>[],\n depth: number\n ) => {\n // The header group we are creating\n const headerGroup: HeaderGroup<TGenerics> = {\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<TGenerics>[] = []\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<TGenerics>\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 (latestPendingParentHeader?.column === column) {\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 = instance.createHeader(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 instance.createHeader(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 = (headers: Header<TGenerics>[]) => {\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 > 0 ? colSpan : undefined\n header.rowSpan = rowSpan > 0 ? rowSpan : undefined\n\n return { colSpan, rowSpan }\n })\n }\n\n recurseHeadersForSpans(headerGroups[0]?.headers ?? [])\n\n return headerGroups\n}\n"],"names":["Headers","createInstance","instance","createHeader","column","options","id","header","index","isPlaceholder","placeholderId","depth","subHeaders","colSpan","rowSpan","headerGroup","getLeafHeaders","leafHeaders","recurseHeader","h","length","map","push","renderHeader","_render","renderFooter","footer","_features","forEach","feature","Object","assign","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","getHeader","console","warn","Error","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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"}
|