@tanstack/table-core 8.0.0-alpha.67 → 8.0.0-alpha.70
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 +25 -37
- package/build/cjs/aggregationFns.js.map +1 -1
- package/build/cjs/core.js +167 -46
- package/build/cjs/core.js.map +1 -1
- package/build/cjs/createTable.js +24 -40
- package/build/cjs/createTable.js.map +1 -1
- package/build/cjs/features/Cells.js +28 -34
- package/build/cjs/features/Cells.js.map +1 -1
- package/build/cjs/features/ColumnSizing.js +102 -116
- package/build/cjs/features/ColumnSizing.js.map +1 -1
- package/build/cjs/features/Columns.js +52 -79
- package/build/cjs/features/Columns.js.map +1 -1
- package/build/cjs/features/Expanding.js +49 -58
- package/build/cjs/features/Expanding.js.map +1 -1
- package/build/cjs/features/Filters.js +98 -193
- package/build/cjs/features/Filters.js.map +1 -1
- package/build/cjs/features/Grouping.js +53 -71
- package/build/cjs/features/Grouping.js.map +1 -1
- package/build/cjs/features/Headers.js +109 -165
- package/build/cjs/features/Headers.js.map +1 -1
- package/build/cjs/features/Ordering.js +31 -43
- package/build/cjs/features/Ordering.js.map +1 -1
- package/build/cjs/features/Pagination.js +79 -82
- package/build/cjs/features/Pagination.js.map +1 -1
- package/build/cjs/features/Pinning.js +71 -125
- package/build/cjs/features/Pinning.js.map +1 -1
- package/build/cjs/features/RowSelection.js +93 -112
- package/build/cjs/features/RowSelection.js.map +1 -1
- package/build/cjs/features/Rows.js +32 -22
- package/build/cjs/features/Rows.js.map +1 -1
- package/build/cjs/features/Sorting.js +54 -73
- package/build/cjs/features/Sorting.js.map +1 -1
- package/build/cjs/features/Visibility.js +47 -86
- package/build/cjs/features/Visibility.js.map +1 -1
- package/build/cjs/filterFns.js +48 -72
- package/build/cjs/filterFns.js.map +1 -1
- package/build/cjs/index.js +13 -13
- package/build/cjs/sortingFns.js +21 -21
- package/build/cjs/sortingFns.js.map +1 -1
- package/build/cjs/utils/filterRowsUtils.js +49 -55
- package/build/cjs/utils/filterRowsUtils.js.map +1 -1
- package/build/cjs/utils/getCoreRowModel.js +98 -0
- package/build/cjs/utils/getCoreRowModel.js.map +1 -0
- package/build/cjs/utils/getExpandedRowModel.js +17 -21
- package/build/cjs/utils/getExpandedRowModel.js.map +1 -1
- package/build/cjs/utils/getFacetedMinMaxValues.js +48 -0
- package/build/cjs/utils/getFacetedMinMaxValues.js.map +1 -0
- package/build/cjs/utils/getFacetedRowModel.js +50 -0
- package/build/cjs/utils/getFacetedRowModel.js.map +1 -0
- package/build/cjs/utils/getFacetedUniqueValues.js +48 -0
- package/build/cjs/utils/getFacetedUniqueValues.js.map +1 -0
- package/build/cjs/utils/getFilteredRowModel.js +130 -0
- package/build/cjs/utils/getFilteredRowModel.js.map +1 -0
- package/build/cjs/utils/getGroupedRowModel.js +126 -136
- package/build/cjs/utils/getGroupedRowModel.js.map +1 -1
- package/build/cjs/utils/getPaginationRowModel.js +39 -39
- package/build/cjs/utils/getPaginationRowModel.js.map +1 -1
- package/build/cjs/utils/getSortedRowModel.js +112 -0
- package/build/cjs/utils/getSortedRowModel.js.map +1 -0
- package/build/cjs/utils.js +36 -207
- package/build/cjs/utils.js.map +1 -1
- package/build/esm/index.js +1778 -2347
- package/build/esm/index.js.map +1 -1
- package/build/stats-html.html +1 -1
- package/build/stats-react.json +421 -481
- package/build/types/core.d.ts +3 -5
- package/build/types/features/Cells.d.ts +1 -1
- package/build/types/features/ColumnSizing.d.ts +2 -2
- package/build/types/features/Columns.d.ts +1 -1
- package/build/types/features/Expanding.d.ts +1 -1
- package/build/types/features/Filters.d.ts +12 -7
- package/build/types/features/Grouping.d.ts +5 -4
- package/build/types/features/Ordering.d.ts +1 -1
- package/build/types/features/Pagination.d.ts +4 -4
- package/build/types/features/Pinning.d.ts +1 -1
- package/build/types/features/RowSelection.d.ts +1 -1
- package/build/types/features/Rows.d.ts +4 -3
- package/build/types/features/Sorting.d.ts +2 -1
- package/build/types/features/Visibility.d.ts +1 -0
- package/build/types/index.d.ts +6 -4
- package/build/types/types.d.ts +3 -13
- package/build/types/utils/filterRowsUtils.d.ts +3 -3
- package/build/types/utils/getCoreRowModel.d.ts +2 -0
- package/build/types/utils/getFacetedMinMaxValues.d.ts +2 -0
- package/build/types/utils/getFacetedRowModel.d.ts +2 -0
- package/build/types/utils/getFacetedUniqueValues.d.ts +2 -0
- package/build/types/utils/{getCoreRowModelSync.d.ts → getFilteredRowModel.d.ts} +1 -1
- package/build/types/utils/getGroupedRowModel.d.ts +1 -1
- package/build/types/utils/getSortedRowModel.d.ts +2 -0
- package/build/types/utils.d.ts +1 -17
- package/build/umd/index.development.js +1779 -2350
- 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.ts +197 -45
- package/src/features/Cells.ts +7 -11
- package/src/features/ColumnSizing.ts +27 -19
- package/src/features/Columns.ts +4 -8
- package/src/features/Expanding.ts +5 -3
- package/src/features/Filters.ts +105 -162
- package/src/features/Grouping.ts +21 -23
- package/src/features/Ordering.ts +5 -3
- package/src/features/Pagination.ts +32 -19
- package/src/features/Pinning.ts +13 -7
- package/src/features/RowSelection.ts +5 -3
- package/src/features/Rows.ts +21 -6
- package/src/features/Sorting.ts +14 -12
- package/src/features/Visibility.ts +7 -0
- package/src/filterFns.ts +9 -9
- package/src/index.ts +12 -4
- package/src/sortingFns.ts +11 -11
- package/src/types.ts +3 -16
- package/src/utils/filterRowsUtils.ts +47 -68
- package/src/utils/{getCoreRowModelSync.ts → getCoreRowModel.ts} +2 -8
- package/src/utils/getFacetedMinMaxValues.ts +37 -0
- package/src/utils/getFacetedRowModel.ts +50 -0
- package/src/utils/getFacetedUniqueValues.ts +37 -0
- package/src/utils/{getFilteredRowModelSync.ts → getFilteredRowModel.ts} +29 -20
- package/src/utils/getGroupedRowModel.ts +52 -61
- package/src/utils/{getSortedRowModelSync.ts → getSortedRowModel.ts} +3 -3
- package/src/utils.ts +28 -236
- package/build/cjs/_virtual/_rollupPluginBabelHelpers.js +0 -112
- package/build/cjs/_virtual/_rollupPluginBabelHelpers.js.map +0 -1
- package/build/cjs/utils/getCoreRowModelAsync.js +0 -125
- package/build/cjs/utils/getCoreRowModelAsync.js.map +0 -1
- package/build/cjs/utils/getCoreRowModelSync.js +0 -102
- package/build/cjs/utils/getCoreRowModelSync.js.map +0 -1
- package/build/cjs/utils/getFilteredRowModelSync.js +0 -125
- package/build/cjs/utils/getFilteredRowModelSync.js.map +0 -1
- package/build/cjs/utils/getSortedRowModelSync.js +0 -118
- package/build/cjs/utils/getSortedRowModelSync.js.map +0 -1
- package/build/types/utils/getCoreRowModelAsync.d.ts +0 -4
- package/build/types/utils/getFilteredRowModelAsync.d.ts +0 -4
- package/build/types/utils/getFilteredRowModelSync.d.ts +0 -2
- package/build/types/utils/getSortedRowModelAsync.d.ts +0 -13
- package/build/types/utils/getSortedRowModelSync.d.ts +0 -2
- package/src/utils/getCoreRowModelAsync.ts +0 -104
- package/src/utils/getFilteredRowModelAsync.ts +0 -157
- package/src/utils/getSortedRowModelAsync.ts +0 -200
|
@@ -15,16 +15,16 @@ Object.defineProperty(exports, '__esModule', { value: true });
|
|
|
15
15
|
var utils = require('../utils.js');
|
|
16
16
|
|
|
17
17
|
//
|
|
18
|
-
|
|
19
|
-
createInstance:
|
|
18
|
+
const Headers = {
|
|
19
|
+
createInstance: instance => {
|
|
20
20
|
return {
|
|
21
|
-
createHeader:
|
|
21
|
+
createHeader: (column, options) => {
|
|
22
22
|
var _options$id;
|
|
23
23
|
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
id
|
|
27
|
-
column
|
|
24
|
+
const id = (_options$id = options.id) != null ? _options$id : column.id;
|
|
25
|
+
let header = {
|
|
26
|
+
id,
|
|
27
|
+
column,
|
|
28
28
|
index: options.index,
|
|
29
29
|
isPlaceholder: options.isPlaceholder,
|
|
30
30
|
placeholderId: options.placeholderId,
|
|
@@ -33,10 +33,10 @@ var Headers = {
|
|
|
33
33
|
colSpan: 0,
|
|
34
34
|
rowSpan: 0,
|
|
35
35
|
headerGroup: null,
|
|
36
|
-
getLeafHeaders:
|
|
37
|
-
|
|
36
|
+
getLeafHeaders: () => {
|
|
37
|
+
const leafHeaders = [];
|
|
38
38
|
|
|
39
|
-
|
|
39
|
+
const recurseHeader = h => {
|
|
40
40
|
if (h.subHeaders && h.subHeaders.length) {
|
|
41
41
|
h.subHeaders.map(recurseHeader);
|
|
42
42
|
}
|
|
@@ -47,271 +47,221 @@ var Headers = {
|
|
|
47
47
|
recurseHeader(header);
|
|
48
48
|
return leafHeaders;
|
|
49
49
|
},
|
|
50
|
-
renderHeader:
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
header: header,
|
|
61
|
-
column: column
|
|
62
|
-
}) : null;
|
|
63
|
-
}
|
|
50
|
+
renderHeader: () => column.header ? instance.render(column.header, {
|
|
51
|
+
instance,
|
|
52
|
+
header: header,
|
|
53
|
+
column
|
|
54
|
+
}) : null,
|
|
55
|
+
renderFooter: () => column.footer ? instance.render(column.footer, {
|
|
56
|
+
instance,
|
|
57
|
+
header: header,
|
|
58
|
+
column
|
|
59
|
+
}) : null
|
|
64
60
|
};
|
|
65
61
|
|
|
66
|
-
instance._features.forEach(
|
|
62
|
+
instance._features.forEach(feature => {
|
|
67
63
|
Object.assign(header, feature.createHeader == null ? void 0 : feature.createHeader(header, instance));
|
|
68
64
|
});
|
|
69
65
|
|
|
70
66
|
return header;
|
|
71
67
|
},
|
|
72
68
|
// Header Groups
|
|
73
|
-
getHeaderGroups: utils.memo(
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
});
|
|
79
|
-
var rightColumns = leafColumns.filter(function (column) {
|
|
80
|
-
return right == null ? void 0 : right.includes(column.id);
|
|
81
|
-
});
|
|
82
|
-
var centerColumns = leafColumns.filter(function (column) {
|
|
83
|
-
return !(left != null && left.includes(column.id)) && !(right != null && right.includes(column.id));
|
|
84
|
-
});
|
|
85
|
-
var headerGroups = buildHeaderGroups(allColumns, [].concat(leftColumns, centerColumns, rightColumns), instance);
|
|
69
|
+
getHeaderGroups: utils.memo(() => [instance.getAllColumns(), instance.getVisibleLeafColumns(), instance.getState().columnPinning.left, instance.getState().columnPinning.right], (allColumns, leafColumns, left, right) => {
|
|
70
|
+
const leftColumns = leafColumns.filter(column => left == null ? void 0 : left.includes(column.id));
|
|
71
|
+
const rightColumns = leafColumns.filter(column => right == null ? void 0 : right.includes(column.id));
|
|
72
|
+
const centerColumns = leafColumns.filter(column => !(left != null && left.includes(column.id)) && !(right != null && right.includes(column.id)));
|
|
73
|
+
const headerGroups = buildHeaderGroups(allColumns, [...leftColumns, ...centerColumns, ...rightColumns], instance);
|
|
86
74
|
return headerGroups;
|
|
87
75
|
}, {
|
|
88
76
|
key: process.env.NODE_ENV === 'development' && 'getHeaderGroups',
|
|
89
|
-
debug:
|
|
77
|
+
debug: () => {
|
|
90
78
|
var _instance$options$deb;
|
|
91
79
|
|
|
92
80
|
return (_instance$options$deb = instance.options.debugAll) != null ? _instance$options$deb : instance.options.debugHeaders;
|
|
93
81
|
}
|
|
94
82
|
}),
|
|
95
|
-
getCenterHeaderGroups: utils.memo(
|
|
96
|
-
|
|
97
|
-
}, function (allColumns, leafColumns, left, right) {
|
|
98
|
-
leafColumns = leafColumns.filter(function (column) {
|
|
99
|
-
return !(left != null && left.includes(column.id)) && !(right != null && right.includes(column.id));
|
|
100
|
-
});
|
|
83
|
+
getCenterHeaderGroups: utils.memo(() => [instance.getAllColumns(), instance.getVisibleLeafColumns(), instance.getState().columnPinning.left, instance.getState().columnPinning.right], (allColumns, leafColumns, left, right) => {
|
|
84
|
+
leafColumns = leafColumns.filter(column => !(left != null && left.includes(column.id)) && !(right != null && right.includes(column.id)));
|
|
101
85
|
return buildHeaderGroups(allColumns, leafColumns, instance, 'center');
|
|
102
86
|
}, {
|
|
103
87
|
key: process.env.NODE_ENV === 'development' && 'getCenterHeaderGroups',
|
|
104
|
-
debug:
|
|
88
|
+
debug: () => {
|
|
105
89
|
var _instance$options$deb2;
|
|
106
90
|
|
|
107
91
|
return (_instance$options$deb2 = instance.options.debugAll) != null ? _instance$options$deb2 : instance.options.debugHeaders;
|
|
108
92
|
}
|
|
109
93
|
}),
|
|
110
|
-
getLeftHeaderGroups: utils.memo(
|
|
111
|
-
|
|
112
|
-
}, function (allColumns, leafColumns, left) {
|
|
113
|
-
leafColumns = leafColumns.filter(function (column) {
|
|
114
|
-
return left == null ? void 0 : left.includes(column.id);
|
|
115
|
-
});
|
|
94
|
+
getLeftHeaderGroups: utils.memo(() => [instance.getAllColumns(), instance.getVisibleLeafColumns(), instance.getState().columnPinning.left], (allColumns, leafColumns, left) => {
|
|
95
|
+
leafColumns = leafColumns.filter(column => left == null ? void 0 : left.includes(column.id));
|
|
116
96
|
return buildHeaderGroups(allColumns, leafColumns, instance, 'left');
|
|
117
97
|
}, {
|
|
118
98
|
key: process.env.NODE_ENV === 'development' && 'getLeftHeaderGroups',
|
|
119
|
-
debug:
|
|
99
|
+
debug: () => {
|
|
120
100
|
var _instance$options$deb3;
|
|
121
101
|
|
|
122
102
|
return (_instance$options$deb3 = instance.options.debugAll) != null ? _instance$options$deb3 : instance.options.debugHeaders;
|
|
123
103
|
}
|
|
124
104
|
}),
|
|
125
|
-
getRightHeaderGroups: utils.memo(
|
|
126
|
-
|
|
127
|
-
}, function (allColumns, leafColumns, right) {
|
|
128
|
-
leafColumns = leafColumns.filter(function (column) {
|
|
129
|
-
return right == null ? void 0 : right.includes(column.id);
|
|
130
|
-
});
|
|
105
|
+
getRightHeaderGroups: utils.memo(() => [instance.getAllColumns(), instance.getVisibleLeafColumns(), instance.getState().columnPinning.right], (allColumns, leafColumns, right) => {
|
|
106
|
+
leafColumns = leafColumns.filter(column => right == null ? void 0 : right.includes(column.id));
|
|
131
107
|
return buildHeaderGroups(allColumns, leafColumns, instance, 'right');
|
|
132
108
|
}, {
|
|
133
109
|
key: process.env.NODE_ENV === 'development' && 'getRightHeaderGroups',
|
|
134
|
-
debug:
|
|
110
|
+
debug: () => {
|
|
135
111
|
var _instance$options$deb4;
|
|
136
112
|
|
|
137
113
|
return (_instance$options$deb4 = instance.options.debugAll) != null ? _instance$options$deb4 : instance.options.debugHeaders;
|
|
138
114
|
}
|
|
139
115
|
}),
|
|
140
116
|
// Footer Groups
|
|
141
|
-
getFooterGroups: utils.memo(
|
|
142
|
-
return [
|
|
143
|
-
}, function (headerGroups) {
|
|
144
|
-
return [].concat(headerGroups).reverse();
|
|
117
|
+
getFooterGroups: utils.memo(() => [instance.getHeaderGroups()], headerGroups => {
|
|
118
|
+
return [...headerGroups].reverse();
|
|
145
119
|
}, {
|
|
146
120
|
key: process.env.NODE_ENV === 'development' && 'getFooterGroups',
|
|
147
|
-
debug:
|
|
121
|
+
debug: () => {
|
|
148
122
|
var _instance$options$deb5;
|
|
149
123
|
|
|
150
124
|
return (_instance$options$deb5 = instance.options.debugAll) != null ? _instance$options$deb5 : instance.options.debugHeaders;
|
|
151
125
|
}
|
|
152
126
|
}),
|
|
153
|
-
getLeftFooterGroups: utils.memo(
|
|
154
|
-
return [
|
|
155
|
-
}, function (headerGroups) {
|
|
156
|
-
return [].concat(headerGroups).reverse();
|
|
127
|
+
getLeftFooterGroups: utils.memo(() => [instance.getLeftHeaderGroups()], headerGroups => {
|
|
128
|
+
return [...headerGroups].reverse();
|
|
157
129
|
}, {
|
|
158
130
|
key: process.env.NODE_ENV === 'development' && 'getLeftFooterGroups',
|
|
159
|
-
debug:
|
|
131
|
+
debug: () => {
|
|
160
132
|
var _instance$options$deb6;
|
|
161
133
|
|
|
162
134
|
return (_instance$options$deb6 = instance.options.debugAll) != null ? _instance$options$deb6 : instance.options.debugHeaders;
|
|
163
135
|
}
|
|
164
136
|
}),
|
|
165
|
-
getCenterFooterGroups: utils.memo(
|
|
166
|
-
return [
|
|
167
|
-
}, function (headerGroups) {
|
|
168
|
-
return [].concat(headerGroups).reverse();
|
|
137
|
+
getCenterFooterGroups: utils.memo(() => [instance.getCenterHeaderGroups()], headerGroups => {
|
|
138
|
+
return [...headerGroups].reverse();
|
|
169
139
|
}, {
|
|
170
140
|
key: process.env.NODE_ENV === 'development' && 'getCenterFooterGroups',
|
|
171
|
-
debug:
|
|
141
|
+
debug: () => {
|
|
172
142
|
var _instance$options$deb7;
|
|
173
143
|
|
|
174
144
|
return (_instance$options$deb7 = instance.options.debugAll) != null ? _instance$options$deb7 : instance.options.debugHeaders;
|
|
175
145
|
}
|
|
176
146
|
}),
|
|
177
|
-
getRightFooterGroups: utils.memo(
|
|
178
|
-
return [
|
|
179
|
-
}, function (headerGroups) {
|
|
180
|
-
return [].concat(headerGroups).reverse();
|
|
147
|
+
getRightFooterGroups: utils.memo(() => [instance.getRightHeaderGroups()], headerGroups => {
|
|
148
|
+
return [...headerGroups].reverse();
|
|
181
149
|
}, {
|
|
182
150
|
key: process.env.NODE_ENV === 'development' && 'getRightFooterGroups',
|
|
183
|
-
debug:
|
|
151
|
+
debug: () => {
|
|
184
152
|
var _instance$options$deb8;
|
|
185
153
|
|
|
186
154
|
return (_instance$options$deb8 = instance.options.debugAll) != null ? _instance$options$deb8 : instance.options.debugHeaders;
|
|
187
155
|
}
|
|
188
156
|
}),
|
|
189
157
|
// Flat Headers
|
|
190
|
-
getFlatHeaders: utils.memo(
|
|
191
|
-
return
|
|
192
|
-
}, function (headerGroups) {
|
|
193
|
-
return headerGroups.map(function (headerGroup) {
|
|
158
|
+
getFlatHeaders: utils.memo(() => [instance.getHeaderGroups()], headerGroups => {
|
|
159
|
+
return headerGroups.map(headerGroup => {
|
|
194
160
|
return headerGroup.headers;
|
|
195
161
|
}).flat();
|
|
196
162
|
}, {
|
|
197
163
|
key: process.env.NODE_ENV === 'development' && 'getFlatHeaders',
|
|
198
|
-
debug:
|
|
164
|
+
debug: () => {
|
|
199
165
|
var _instance$options$deb9;
|
|
200
166
|
|
|
201
167
|
return (_instance$options$deb9 = instance.options.debugAll) != null ? _instance$options$deb9 : instance.options.debugHeaders;
|
|
202
168
|
}
|
|
203
169
|
}),
|
|
204
|
-
getLeftFlatHeaders: utils.memo(
|
|
205
|
-
return
|
|
206
|
-
}, function (left) {
|
|
207
|
-
return left.map(function (headerGroup) {
|
|
170
|
+
getLeftFlatHeaders: utils.memo(() => [instance.getLeftHeaderGroups()], left => {
|
|
171
|
+
return left.map(headerGroup => {
|
|
208
172
|
return headerGroup.headers;
|
|
209
173
|
}).flat();
|
|
210
174
|
}, {
|
|
211
175
|
key: process.env.NODE_ENV === 'development' && 'getLeftFlatHeaders',
|
|
212
|
-
debug:
|
|
176
|
+
debug: () => {
|
|
213
177
|
var _instance$options$deb10;
|
|
214
178
|
|
|
215
179
|
return (_instance$options$deb10 = instance.options.debugAll) != null ? _instance$options$deb10 : instance.options.debugHeaders;
|
|
216
180
|
}
|
|
217
181
|
}),
|
|
218
|
-
getCenterFlatHeaders: utils.memo(
|
|
219
|
-
return
|
|
220
|
-
}, function (left) {
|
|
221
|
-
return left.map(function (headerGroup) {
|
|
182
|
+
getCenterFlatHeaders: utils.memo(() => [instance.getCenterHeaderGroups()], left => {
|
|
183
|
+
return left.map(headerGroup => {
|
|
222
184
|
return headerGroup.headers;
|
|
223
185
|
}).flat();
|
|
224
186
|
}, {
|
|
225
187
|
key: process.env.NODE_ENV === 'development' && 'getCenterFlatHeaders',
|
|
226
|
-
debug:
|
|
188
|
+
debug: () => {
|
|
227
189
|
var _instance$options$deb11;
|
|
228
190
|
|
|
229
191
|
return (_instance$options$deb11 = instance.options.debugAll) != null ? _instance$options$deb11 : instance.options.debugHeaders;
|
|
230
192
|
}
|
|
231
193
|
}),
|
|
232
|
-
getRightFlatHeaders: utils.memo(
|
|
233
|
-
return
|
|
234
|
-
}, function (left) {
|
|
235
|
-
return left.map(function (headerGroup) {
|
|
194
|
+
getRightFlatHeaders: utils.memo(() => [instance.getRightHeaderGroups()], left => {
|
|
195
|
+
return left.map(headerGroup => {
|
|
236
196
|
return headerGroup.headers;
|
|
237
197
|
}).flat();
|
|
238
198
|
}, {
|
|
239
199
|
key: process.env.NODE_ENV === 'development' && 'getRightFlatHeaders',
|
|
240
|
-
debug:
|
|
200
|
+
debug: () => {
|
|
241
201
|
var _instance$options$deb12;
|
|
242
202
|
|
|
243
203
|
return (_instance$options$deb12 = instance.options.debugAll) != null ? _instance$options$deb12 : instance.options.debugHeaders;
|
|
244
204
|
}
|
|
245
205
|
}),
|
|
246
206
|
// Leaf Headers
|
|
247
|
-
getCenterLeafHeaders: utils.memo(
|
|
248
|
-
return
|
|
249
|
-
}, function (flatHeaders) {
|
|
250
|
-
return flatHeaders.filter(function (header) {
|
|
207
|
+
getCenterLeafHeaders: utils.memo(() => [instance.getCenterFlatHeaders()], flatHeaders => {
|
|
208
|
+
return flatHeaders.filter(header => {
|
|
251
209
|
var _header$subHeaders;
|
|
252
210
|
|
|
253
211
|
return !((_header$subHeaders = header.subHeaders) != null && _header$subHeaders.length);
|
|
254
212
|
});
|
|
255
213
|
}, {
|
|
256
214
|
key: process.env.NODE_ENV === 'development' && 'getCenterLeafHeaders',
|
|
257
|
-
debug:
|
|
215
|
+
debug: () => {
|
|
258
216
|
var _instance$options$deb13;
|
|
259
217
|
|
|
260
218
|
return (_instance$options$deb13 = instance.options.debugAll) != null ? _instance$options$deb13 : instance.options.debugHeaders;
|
|
261
219
|
}
|
|
262
220
|
}),
|
|
263
|
-
getLeftLeafHeaders: utils.memo(
|
|
264
|
-
return
|
|
265
|
-
}, function (flatHeaders) {
|
|
266
|
-
return flatHeaders.filter(function (header) {
|
|
221
|
+
getLeftLeafHeaders: utils.memo(() => [instance.getLeftFlatHeaders()], flatHeaders => {
|
|
222
|
+
return flatHeaders.filter(header => {
|
|
267
223
|
var _header$subHeaders2;
|
|
268
224
|
|
|
269
225
|
return !((_header$subHeaders2 = header.subHeaders) != null && _header$subHeaders2.length);
|
|
270
226
|
});
|
|
271
227
|
}, {
|
|
272
228
|
key: process.env.NODE_ENV === 'development' && 'getLeftLeafHeaders',
|
|
273
|
-
debug:
|
|
229
|
+
debug: () => {
|
|
274
230
|
var _instance$options$deb14;
|
|
275
231
|
|
|
276
232
|
return (_instance$options$deb14 = instance.options.debugAll) != null ? _instance$options$deb14 : instance.options.debugHeaders;
|
|
277
233
|
}
|
|
278
234
|
}),
|
|
279
|
-
getRightLeafHeaders: utils.memo(
|
|
280
|
-
return
|
|
281
|
-
}, function (flatHeaders) {
|
|
282
|
-
return flatHeaders.filter(function (header) {
|
|
235
|
+
getRightLeafHeaders: utils.memo(() => [instance.getRightFlatHeaders()], flatHeaders => {
|
|
236
|
+
return flatHeaders.filter(header => {
|
|
283
237
|
var _header$subHeaders3;
|
|
284
238
|
|
|
285
239
|
return !((_header$subHeaders3 = header.subHeaders) != null && _header$subHeaders3.length);
|
|
286
240
|
});
|
|
287
241
|
}, {
|
|
288
242
|
key: process.env.NODE_ENV === 'development' && 'getRightLeafHeaders',
|
|
289
|
-
debug:
|
|
243
|
+
debug: () => {
|
|
290
244
|
var _instance$options$deb15;
|
|
291
245
|
|
|
292
246
|
return (_instance$options$deb15 = instance.options.debugAll) != null ? _instance$options$deb15 : instance.options.debugHeaders;
|
|
293
247
|
}
|
|
294
248
|
}),
|
|
295
|
-
getLeafHeaders: utils.memo(
|
|
296
|
-
return [instance.getLeftHeaderGroups(), instance.getCenterHeaderGroups(), instance.getRightHeaderGroups()];
|
|
297
|
-
}, function (left, center, right) {
|
|
249
|
+
getLeafHeaders: utils.memo(() => [instance.getLeftHeaderGroups(), instance.getCenterHeaderGroups(), instance.getRightHeaderGroups()], (left, center, right) => {
|
|
298
250
|
var _left$0$headers, _left$, _center$0$headers, _center$, _right$0$headers, _right$;
|
|
299
251
|
|
|
300
|
-
return [
|
|
252
|
+
return [...((_left$0$headers = (_left$ = left[0]) == null ? void 0 : _left$.headers) != null ? _left$0$headers : []), ...((_center$0$headers = (_center$ = center[0]) == null ? void 0 : _center$.headers) != null ? _center$0$headers : []), ...((_right$0$headers = (_right$ = right[0]) == null ? void 0 : _right$.headers) != null ? _right$0$headers : [])].map(header => {
|
|
301
253
|
return header.getLeafHeaders();
|
|
302
254
|
}).flat();
|
|
303
255
|
}, {
|
|
304
256
|
key: process.env.NODE_ENV === 'development' && 'getLeafHeaders',
|
|
305
|
-
debug:
|
|
257
|
+
debug: () => {
|
|
306
258
|
var _instance$options$deb16;
|
|
307
259
|
|
|
308
260
|
return (_instance$options$deb16 = instance.options.debugAll) != null ? _instance$options$deb16 : instance.options.debugHeaders;
|
|
309
261
|
}
|
|
310
262
|
}),
|
|
311
|
-
getHeader:
|
|
312
|
-
|
|
313
|
-
return d.id === id;
|
|
314
|
-
});
|
|
263
|
+
getHeader: id => {
|
|
264
|
+
const header = [...instance.getFlatHeaders(), ...instance.getCenterFlatHeaders(), ...instance.getLeftFlatHeaders(), ...instance.getRightFlatHeaders()].find(d => d.id === id);
|
|
315
265
|
|
|
316
266
|
if (!header) {
|
|
317
267
|
if (process.env.NODE_ENV !== 'production') {
|
|
@@ -334,17 +284,15 @@ function buildHeaderGroups(allColumns, columnsToGroup, instance, headerFamily) {
|
|
|
334
284
|
// build each buffer row going up
|
|
335
285
|
// placeholder for non-existent level
|
|
336
286
|
// real column for existing level
|
|
337
|
-
|
|
287
|
+
let maxDepth = 0;
|
|
338
288
|
|
|
339
|
-
|
|
289
|
+
const findMaxDepth = function (columns, depth) {
|
|
340
290
|
if (depth === void 0) {
|
|
341
291
|
depth = 1;
|
|
342
292
|
}
|
|
343
293
|
|
|
344
294
|
maxDepth = Math.max(maxDepth, depth);
|
|
345
|
-
columns.filter(
|
|
346
|
-
return column.getIsVisible();
|
|
347
|
-
}).forEach(function (column) {
|
|
295
|
+
columns.filter(column => column.getIsVisible()).forEach(column => {
|
|
348
296
|
var _column$columns;
|
|
349
297
|
|
|
350
298
|
if ((_column$columns = column.columns) != null && _column$columns.length) {
|
|
@@ -354,24 +302,24 @@ function buildHeaderGroups(allColumns, columnsToGroup, instance, headerFamily) {
|
|
|
354
302
|
};
|
|
355
303
|
|
|
356
304
|
findMaxDepth(allColumns);
|
|
357
|
-
|
|
305
|
+
let headerGroups = [];
|
|
358
306
|
|
|
359
|
-
|
|
307
|
+
const createHeaderGroup = (headersToGroup, depth) => {
|
|
360
308
|
// The header group we are creating
|
|
361
|
-
|
|
362
|
-
depth
|
|
309
|
+
const headerGroup = {
|
|
310
|
+
depth,
|
|
363
311
|
id: [headerFamily, "" + depth].filter(Boolean).join('_'),
|
|
364
312
|
headers: []
|
|
365
313
|
}; // The parent columns we're going to scan next
|
|
366
314
|
|
|
367
|
-
|
|
315
|
+
const pendingParentHeaders = []; // Scan each column for parents
|
|
368
316
|
|
|
369
|
-
headersToGroup.forEach(
|
|
317
|
+
headersToGroup.forEach(headerToGroup => {
|
|
370
318
|
// What is the latest (last) parent column?
|
|
371
|
-
|
|
372
|
-
|
|
373
|
-
|
|
374
|
-
|
|
319
|
+
const latestPendingParentHeader = [...pendingParentHeaders].reverse()[0];
|
|
320
|
+
const isLeafHeader = headerToGroup.column.depth === headerGroup.depth;
|
|
321
|
+
let column;
|
|
322
|
+
let isPlaceholder = false;
|
|
375
323
|
|
|
376
324
|
if (isLeafHeader && headerToGroup.column.parent) {
|
|
377
325
|
// The parent header is new
|
|
@@ -387,13 +335,11 @@ function buildHeaderGroups(allColumns, columnsToGroup, instance, headerFamily) {
|
|
|
387
335
|
latestPendingParentHeader.subHeaders.push(headerToGroup);
|
|
388
336
|
} else {
|
|
389
337
|
// This is a new header. Let's create it
|
|
390
|
-
|
|
338
|
+
const header = instance.createHeader(column, {
|
|
391
339
|
id: [headerFamily, depth, column.id, headerToGroup == null ? void 0 : headerToGroup.id].filter(Boolean).join('_'),
|
|
392
|
-
isPlaceholder
|
|
393
|
-
placeholderId: isPlaceholder ? "" + pendingParentHeaders.filter(
|
|
394
|
-
|
|
395
|
-
}).length : undefined,
|
|
396
|
-
depth: depth,
|
|
340
|
+
isPlaceholder,
|
|
341
|
+
placeholderId: isPlaceholder ? "" + pendingParentHeaders.filter(d => d.column === column).length : undefined,
|
|
342
|
+
depth,
|
|
397
343
|
index: pendingParentHeaders.length
|
|
398
344
|
}); // Add the headerToGroup as a subHeader of the new header
|
|
399
345
|
|
|
@@ -413,31 +359,29 @@ function buildHeaderGroups(allColumns, columnsToGroup, instance, headerFamily) {
|
|
|
413
359
|
}
|
|
414
360
|
};
|
|
415
361
|
|
|
416
|
-
|
|
417
|
-
|
|
418
|
-
|
|
419
|
-
|
|
420
|
-
});
|
|
421
|
-
});
|
|
362
|
+
const bottomHeaders = columnsToGroup.map((column, index) => instance.createHeader(column, {
|
|
363
|
+
depth: maxDepth,
|
|
364
|
+
index
|
|
365
|
+
}));
|
|
422
366
|
createHeaderGroup(bottomHeaders, maxDepth - 1);
|
|
423
367
|
headerGroups.reverse(); // headerGroups = headerGroups.filter(headerGroup => {
|
|
424
368
|
// return !headerGroup.headers.every(header => header.isPlaceholder)
|
|
425
369
|
// })
|
|
426
370
|
|
|
427
|
-
|
|
428
|
-
|
|
429
|
-
|
|
430
|
-
|
|
431
|
-
|
|
432
|
-
|
|
433
|
-
var rowSpan = 0;
|
|
434
|
-
var childRowSpans = [0];
|
|
371
|
+
const recurseHeadersForSpans = headers => {
|
|
372
|
+
const filteredHeaders = headers.filter(header => header.column.getIsVisible());
|
|
373
|
+
return filteredHeaders.map(header => {
|
|
374
|
+
let colSpan = 0;
|
|
375
|
+
let rowSpan = 0;
|
|
376
|
+
let childRowSpans = [0];
|
|
435
377
|
|
|
436
378
|
if (header.subHeaders && header.subHeaders.length) {
|
|
437
379
|
childRowSpans = [];
|
|
438
|
-
recurseHeadersForSpans(header.subHeaders).forEach(
|
|
439
|
-
|
|
440
|
-
|
|
380
|
+
recurseHeadersForSpans(header.subHeaders).forEach(_ref => {
|
|
381
|
+
let {
|
|
382
|
+
colSpan: childColSpan,
|
|
383
|
+
rowSpan: childRowSpan
|
|
384
|
+
} = _ref;
|
|
441
385
|
colSpan += childColSpan;
|
|
442
386
|
childRowSpans.push(childRowSpan);
|
|
443
387
|
});
|
|
@@ -445,13 +389,13 @@ function buildHeaderGroups(allColumns, columnsToGroup, instance, headerFamily) {
|
|
|
445
389
|
colSpan = 1;
|
|
446
390
|
}
|
|
447
391
|
|
|
448
|
-
|
|
392
|
+
const minChildRowSpan = Math.min(...childRowSpans);
|
|
449
393
|
rowSpan = rowSpan + minChildRowSpan;
|
|
450
394
|
header.colSpan = colSpan > 0 ? colSpan : undefined;
|
|
451
395
|
header.rowSpan = rowSpan > 0 ? rowSpan : undefined;
|
|
452
396
|
return {
|
|
453
|
-
colSpan
|
|
454
|
-
rowSpan
|
|
397
|
+
colSpan,
|
|
398
|
+
rowSpan
|
|
455
399
|
};
|
|
456
400
|
});
|
|
457
401
|
};
|