@tanstack/table-core 8.0.0-alpha.9 → 8.0.0-beta.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/build/cjs/aggregationFns.js +120 -0
- package/build/cjs/aggregationFns.js.map +1 -0
- package/build/cjs/core/cell.js +40 -0
- package/build/cjs/core/cell.js.map +1 -0
- package/build/cjs/core/column.js +88 -0
- package/build/cjs/core/column.js.map +1 -0
- package/build/cjs/core/headers.js +403 -0
- package/build/cjs/core/headers.js.map +1 -0
- package/build/cjs/core/instance.js +255 -0
- package/build/cjs/core/instance.js.map +1 -0
- package/build/cjs/core/row.js +77 -0
- package/build/cjs/core/row.js.map +1 -0
- package/build/cjs/createTable.js +36 -29
- package/build/cjs/createTable.js.map +1 -1
- package/build/cjs/features/ColumnSizing.js +157 -189
- package/build/cjs/features/ColumnSizing.js.map +1 -1
- package/build/cjs/features/Expanding.js +103 -155
- package/build/cjs/features/Expanding.js.map +1 -1
- package/build/cjs/features/Filters.js +155 -304
- package/build/cjs/features/Filters.js.map +1 -1
- package/build/cjs/features/Grouping.js +97 -157
- package/build/cjs/features/Grouping.js.map +1 -1
- package/build/cjs/features/Ordering.js +30 -41
- package/build/cjs/features/Ordering.js.map +1 -1
- package/build/cjs/features/Pagination.js +102 -105
- package/build/cjs/features/Pagination.js.map +1 -1
- package/build/cjs/features/Pinning.js +131 -89
- package/build/cjs/features/Pinning.js.map +1 -1
- package/build/cjs/features/RowSelection.js +138 -267
- package/build/cjs/features/RowSelection.js.map +1 -1
- package/build/cjs/features/Sorting.js +82 -167
- package/build/cjs/features/Sorting.js.map +1 -1
- package/build/cjs/features/Visibility.js +69 -115
- package/build/cjs/features/Visibility.js.map +1 -1
- package/build/cjs/filterFns.js +107 -0
- package/build/cjs/filterFns.js.map +1 -0
- package/build/cjs/index.js +36 -23
- package/build/cjs/index.js.map +1 -1
- package/build/cjs/sortingFns.js +124 -0
- package/build/cjs/sortingFns.js.map +1 -0
- package/build/cjs/utils/filterRowsUtils.js +117 -0
- package/build/cjs/utils/filterRowsUtils.js.map +1 -0
- package/build/cjs/utils/getCoreRowModel.js +79 -0
- package/build/cjs/utils/getCoreRowModel.js.map +1 -0
- package/build/cjs/utils/getExpandedRowModel.js +57 -0
- package/build/cjs/utils/getExpandedRowModel.js.map +1 -0
- package/build/cjs/utils/getFacetedMinMaxValues.js +54 -0
- package/build/cjs/utils/getFacetedMinMaxValues.js.map +1 -0
- package/build/cjs/utils/getFacetedRowModel.js +50 -0
- package/build/cjs/utils/getFacetedRowModel.js.map +1 -0
- package/build/cjs/utils/getFacetedUniqueValues.js +48 -0
- package/build/cjs/utils/getFacetedUniqueValues.js.map +1 -0
- package/build/cjs/utils/getFilteredRowModel.js +139 -0
- package/build/cjs/utils/getFilteredRowModel.js.map +1 -0
- package/build/cjs/utils/getGroupedRowModel.js +161 -0
- package/build/cjs/utils/getGroupedRowModel.js.map +1 -0
- package/build/cjs/utils/getPaginationRowModel.js +61 -0
- package/build/cjs/utils/getPaginationRowModel.js.map +1 -0
- package/build/cjs/utils/getSortedRowModel.js +110 -0
- package/build/cjs/utils/getSortedRowModel.js.map +1 -0
- package/build/cjs/utils.js +38 -107
- package/build/cjs/utils.js.map +1 -1
- package/build/esm/index.js +2976 -3853
- package/build/esm/index.js.map +1 -1
- package/build/stats-html.html +1 -1
- package/build/stats-react.json +586 -408
- package/build/types/aggregationFns.d.ts +13 -0
- package/build/types/core/cell.d.ts +9 -0
- package/build/types/core/column.d.ts +40 -0
- package/build/types/core/headers.d.ts +46 -0
- package/build/types/core/instance.d.ts +57 -0
- package/build/types/core/row.d.ts +15 -0
- package/build/types/createTable.d.ts +47 -26
- package/build/types/features/ColumnSizing.d.ts +32 -44
- package/build/types/features/Expanding.d.ts +15 -26
- package/build/types/features/Filters.d.ts +64 -63
- package/build/types/features/Grouping.d.ts +32 -46
- package/build/types/features/Ordering.d.ts +7 -10
- package/build/types/features/Pagination.d.ts +16 -15
- package/build/types/features/Pinning.d.ts +16 -17
- package/build/types/features/RowSelection.d.ts +13 -33
- package/build/types/features/Sorting.d.ts +25 -44
- package/build/types/features/Visibility.d.ts +16 -25
- package/build/types/filterFns.d.ts +13 -0
- package/build/types/index.d.ts +16 -10
- package/build/types/sortingFns.d.ts +11 -0
- package/build/types/types.d.ts +37 -122
- package/build/types/utils/filterRowsUtils.d.ts +4 -0
- package/build/types/utils/getCoreRowModel.d.ts +2 -0
- package/build/types/utils/getExpandedRowModel.d.ts +7 -0
- package/build/types/utils/getFacetedMinMaxValues.d.ts +2 -0
- package/build/types/utils/getFacetedRowModel.d.ts +2 -0
- package/build/types/utils/getFacetedUniqueValues.d.ts +2 -0
- package/build/types/utils/getFilteredRowModel.d.ts +2 -0
- package/build/types/utils/getGroupedRowModel.d.ts +2 -0
- package/build/types/utils/getPaginationRowModel.d.ts +4 -0
- package/build/types/utils/getSortedRowModel.d.ts +2 -0
- package/build/types/utils.d.ts +7 -11
- package/build/umd/index.development.js +3024 -3893
- package/build/umd/index.development.js.map +1 -1
- package/build/umd/index.production.js +1 -1
- package/build/umd/index.production.js.map +1 -1
- package/package.json +9 -10
- package/src/aggregationFns.ts +123 -0
- package/src/core/cell.ts +48 -0
- package/src/core/column.ts +147 -0
- package/src/core/headers.ts +575 -0
- package/src/core/instance.ts +359 -0
- package/src/core/row.ts +85 -0
- package/src/createTable.ts +188 -0
- package/src/features/ColumnSizing.ts +170 -185
- package/src/features/Expanding.ts +120 -194
- package/src/features/Filters.ts +299 -381
- package/src/features/Grouping.ts +158 -220
- package/src/features/Ordering.ts +24 -25
- package/src/features/Pagination.ts +88 -73
- package/src/features/Pinning.ts +186 -63
- package/src/features/RowSelection.ts +107 -245
- package/src/features/Sorting.ts +125 -225
- package/src/features/Visibility.ts +116 -132
- package/src/filterFns.ts +135 -0
- package/src/index.ts +29 -0
- package/src/{sortTypes.ts → sortingFns.ts} +63 -85
- package/src/types.ts +62 -168
- package/src/utils/filterRowsUtils.ts +112 -0
- package/src/utils/getCoreRowModel.ts +84 -0
- package/src/utils/getExpandedRowModel.ts +54 -0
- package/src/utils/getFacetedMinMaxValues.ts +40 -0
- package/src/utils/getFacetedRowModel.ts +50 -0
- package/src/utils/getFacetedUniqueValues.ts +37 -0
- package/src/utils/getFilteredRowModel.ts +159 -0
- package/src/utils/getGroupedRowModel.ts +175 -0
- package/src/utils/getPaginationRowModel.ts +48 -0
- package/src/utils/getSortedRowModel.ts +116 -0
- package/src/utils.ts +126 -0
- package/build/cjs/_virtual/_rollupPluginBabelHelpers.js +0 -112
- package/build/cjs/_virtual/_rollupPluginBabelHelpers.js.map +0 -1
- package/build/cjs/aggregationTypes.js +0 -130
- package/build/cjs/aggregationTypes.js.map +0 -1
- package/build/cjs/core.js +0 -545
- package/build/cjs/core.js.map +0 -1
- package/build/cjs/features/Headers.js +0 -630
- package/build/cjs/features/Headers.js.map +0 -1
- package/build/cjs/filterTypes.js +0 -172
- package/build/cjs/filterTypes.js.map +0 -1
- package/build/cjs/sortTypes.js +0 -122
- package/build/cjs/sortTypes.js.map +0 -1
- package/build/cjs/types.js +0 -22
- package/build/cjs/types.js.map +0 -1
- package/build/cjs/utils/columnFilterRowsFn.js +0 -131
- package/build/cjs/utils/columnFilterRowsFn.js.map +0 -1
- package/build/cjs/utils/expandRowsFn.js +0 -38
- package/build/cjs/utils/expandRowsFn.js.map +0 -1
- package/build/cjs/utils/globalFilterRowsFn.js +0 -101
- package/build/cjs/utils/globalFilterRowsFn.js.map +0 -1
- package/build/cjs/utils/groupRowsFn.js +0 -155
- package/build/cjs/utils/groupRowsFn.js.map +0 -1
- package/build/cjs/utils/paginateRowsFn.js +0 -44
- package/build/cjs/utils/paginateRowsFn.js.map +0 -1
- package/build/cjs/utils/sortRowsFn.js +0 -94
- package/build/cjs/utils/sortRowsFn.js.map +0 -1
- package/build/types/aggregationTypes.d.ts +0 -22
- package/build/types/core.d.ts +0 -105
- package/build/types/features/Headers.d.ts +0 -43
- package/build/types/filterTypes.d.ts +0 -50
- package/build/types/sortTypes.d.ts +0 -18
- package/build/types/utils/columnFilterRowsFn.d.ts +0 -2
- package/build/types/utils/expandRowsFn.d.ts +0 -2
- package/build/types/utils/globalFilterRowsFn.d.ts +0 -2
- package/build/types/utils/groupRowsFn.d.ts +0 -2
- package/build/types/utils/paginateRowsFn.d.ts +0 -2
- package/build/types/utils/sortRowsFn.d.ts +0 -2
- package/src/.DS_Store +0 -0
- package/src/aggregationTypes.ts +0 -115
- package/src/core.tsx +0 -763
- package/src/createTable.tsx +0 -137
- package/src/features/Headers.ts +0 -747
- package/src/filterTypes.ts +0 -188
- package/src/index.tsx +0 -23
- package/src/utils/columnFilterRowsFn.ts +0 -113
- package/src/utils/expandRowsFn.ts +0 -30
- package/src/utils/globalFilterRowsFn.ts +0 -89
- package/src/utils/groupRowsFn.ts +0 -170
- package/src/utils/paginateRowsFn.ts +0 -28
- package/src/utils/sortRowsFn.ts +0 -95
- package/src/utils.tsx +0 -221
|
@@ -12,69 +12,49 @@
|
|
|
12
12
|
|
|
13
13
|
Object.defineProperty(exports, '__esModule', { value: true });
|
|
14
14
|
|
|
15
|
-
var _rollupPluginBabelHelpers = require('../_virtual/_rollupPluginBabelHelpers.js');
|
|
16
15
|
var utils = require('../utils.js');
|
|
17
16
|
|
|
18
17
|
//
|
|
19
|
-
|
|
20
|
-
getInitialState:
|
|
18
|
+
const RowSelection = {
|
|
19
|
+
getInitialState: state => {
|
|
21
20
|
return {
|
|
22
|
-
rowSelection: {}
|
|
21
|
+
rowSelection: {},
|
|
22
|
+
...state
|
|
23
23
|
};
|
|
24
24
|
},
|
|
25
|
-
getDefaultOptions:
|
|
25
|
+
getDefaultOptions: instance => {
|
|
26
26
|
return {
|
|
27
27
|
onRowSelectionChange: utils.makeStateUpdater('rowSelection', instance),
|
|
28
|
-
autoResetRowSelection: true,
|
|
29
28
|
enableRowSelection: true,
|
|
30
29
|
enableMultiRowSelection: true,
|
|
31
30
|
enableSubRowSelection: true // enableGroupingRowSelection: false,
|
|
32
|
-
// isAdditiveSelectEvent: (e:
|
|
33
|
-
// isInclusiveSelectEvent: (e:
|
|
31
|
+
// isAdditiveSelectEvent: (e: unknown) => !!e.metaKey,
|
|
32
|
+
// isInclusiveSelectEvent: (e: unknown) => !!e.shiftKey,
|
|
34
33
|
|
|
35
34
|
};
|
|
36
35
|
},
|
|
37
|
-
|
|
38
|
-
var registered = false; // const pageRows = instance.getPageRows()
|
|
39
|
-
|
|
36
|
+
createInstance: instance => {
|
|
40
37
|
return {
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
registered = true;
|
|
44
|
-
return;
|
|
45
|
-
}
|
|
46
|
-
|
|
47
|
-
if (instance.options.autoResetAll === false) {
|
|
48
|
-
return;
|
|
49
|
-
}
|
|
50
|
-
|
|
51
|
-
if (instance.options.autoResetAll === true || instance.options.autoResetRowSelection) {
|
|
52
|
-
instance.resetRowSelection();
|
|
53
|
-
}
|
|
54
|
-
},
|
|
55
|
-
setRowSelection: function setRowSelection(updater) {
|
|
56
|
-
return instance.options.onRowSelectionChange == null ? void 0 : instance.options.onRowSelectionChange(updater, utils.functionalUpdate(updater, instance.getState().rowSelection));
|
|
57
|
-
},
|
|
58
|
-
resetRowSelection: function resetRowSelection() {
|
|
38
|
+
setRowSelection: updater => instance.options.onRowSelectionChange == null ? void 0 : instance.options.onRowSelectionChange(updater),
|
|
39
|
+
resetRowSelection: defaultState => {
|
|
59
40
|
var _instance$initialStat;
|
|
60
41
|
|
|
61
|
-
return instance.setRowSelection((_instance$initialStat = instance.initialState.rowSelection) != null ? _instance$initialStat : {});
|
|
42
|
+
return instance.setRowSelection(defaultState ? {} : (_instance$initialStat = instance.initialState.rowSelection) != null ? _instance$initialStat : {});
|
|
62
43
|
},
|
|
63
|
-
toggleAllRowsSelected:
|
|
64
|
-
instance.setRowSelection(
|
|
65
|
-
value = typeof value !== 'undefined' ? value : !instance.getIsAllRowsSelected();
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
var preGroupedFlatRows = instance.getPreGroupedRowModel().flatRows; // We don't use `mutateRowIsSelected` here for performance reasons.
|
|
44
|
+
toggleAllRowsSelected: value => {
|
|
45
|
+
instance.setRowSelection(old => {
|
|
46
|
+
value = typeof value !== 'undefined' ? value : !instance.getIsAllRowsSelected();
|
|
47
|
+
const rowSelection = { ...old
|
|
48
|
+
};
|
|
49
|
+
const preGroupedFlatRows = instance.getPreGroupedRowModel().flatRows; // We don't use `mutateRowIsSelected` here for performance reasons.
|
|
70
50
|
// All of the rows are flat already, so it wouldn't be worth it
|
|
71
51
|
|
|
72
52
|
if (value) {
|
|
73
|
-
preGroupedFlatRows.forEach(
|
|
53
|
+
preGroupedFlatRows.forEach(row => {
|
|
74
54
|
rowSelection[row.id] = true;
|
|
75
55
|
});
|
|
76
56
|
} else {
|
|
77
|
-
preGroupedFlatRows.forEach(
|
|
57
|
+
preGroupedFlatRows.forEach(row => {
|
|
78
58
|
delete rowSelection[row.id];
|
|
79
59
|
});
|
|
80
60
|
}
|
|
@@ -82,34 +62,15 @@ var RowSelection = {
|
|
|
82
62
|
return rowSelection;
|
|
83
63
|
});
|
|
84
64
|
},
|
|
85
|
-
toggleAllPageRowsSelected:
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
instance.getRowModel().rows.forEach(function (row) {
|
|
92
|
-
mutateRowIsSelected(rowSelection, row.id, value, instance);
|
|
93
|
-
});
|
|
94
|
-
return rowSelection;
|
|
95
|
-
});
|
|
96
|
-
},
|
|
97
|
-
toggleRowSelected: function toggleRowSelected(rowId, value) {
|
|
98
|
-
var row = instance.getRow(rowId);
|
|
99
|
-
var isSelected = row.getIsSelected();
|
|
100
|
-
instance.setRowSelection(function (old) {
|
|
101
|
-
value = typeof value !== 'undefined' ? value : !isSelected;
|
|
102
|
-
|
|
103
|
-
if (isSelected === value) {
|
|
104
|
-
return old;
|
|
105
|
-
}
|
|
106
|
-
|
|
107
|
-
var selectedRowIds = _rollupPluginBabelHelpers["extends"]({}, old);
|
|
108
|
-
|
|
109
|
-
mutateRowIsSelected(selectedRowIds, rowId, value, instance);
|
|
110
|
-
return selectedRowIds;
|
|
65
|
+
toggleAllPageRowsSelected: value => instance.setRowSelection(old => {
|
|
66
|
+
typeof value !== 'undefined' ? value : !instance.getIsAllPageRowsSelected();
|
|
67
|
+
const rowSelection = { ...old
|
|
68
|
+
};
|
|
69
|
+
instance.getRowModel().rows.forEach(row => {
|
|
70
|
+
mutateRowIsSelected(rowSelection, row.id, value, instance);
|
|
111
71
|
});
|
|
112
|
-
|
|
72
|
+
return rowSelection;
|
|
73
|
+
}),
|
|
113
74
|
// addRowSelectionRange: rowId => {
|
|
114
75
|
// const {
|
|
115
76
|
// rows,
|
|
@@ -160,12 +121,8 @@ var RowSelection = {
|
|
|
160
121
|
// })
|
|
161
122
|
// instance.setRowSelection(selectedRowIds)
|
|
162
123
|
// },
|
|
163
|
-
getPreSelectedRowModel:
|
|
164
|
-
|
|
165
|
-
},
|
|
166
|
-
getSelectedRowModel: utils.memo(function () {
|
|
167
|
-
return [instance.getState().rowSelection, instance.getCoreRowModel()];
|
|
168
|
-
}, function (rowSelection, rowModel) {
|
|
124
|
+
getPreSelectedRowModel: () => instance.getCoreRowModel(),
|
|
125
|
+
getSelectedRowModel: utils.memo(() => [instance.getState().rowSelection, instance.getCoreRowModel()], (rowSelection, rowModel) => {
|
|
169
126
|
if (!Object.keys(rowSelection).length) {
|
|
170
127
|
return {
|
|
171
128
|
rows: [],
|
|
@@ -176,19 +133,14 @@ var RowSelection = {
|
|
|
176
133
|
|
|
177
134
|
return selectRowsFn(instance, rowModel);
|
|
178
135
|
}, {
|
|
179
|
-
key: 'getSelectedRowModel',
|
|
180
|
-
debug:
|
|
136
|
+
key: process.env.NODE_ENV === 'development' && 'getSelectedRowModel',
|
|
137
|
+
debug: () => {
|
|
181
138
|
var _instance$options$deb;
|
|
182
139
|
|
|
183
140
|
return (_instance$options$deb = instance.options.debugAll) != null ? _instance$options$deb : instance.options.debugTable;
|
|
184
|
-
},
|
|
185
|
-
onChange: function onChange() {
|
|
186
|
-
return instance._notifyExpandedReset();
|
|
187
141
|
}
|
|
188
142
|
}),
|
|
189
|
-
getFilteredSelectedRowModel: utils.memo(
|
|
190
|
-
return [instance.getState().rowSelection, instance.getGlobalFilteredRowModel()];
|
|
191
|
-
}, function (rowSelection, rowModel) {
|
|
143
|
+
getFilteredSelectedRowModel: utils.memo(() => [instance.getState().rowSelection, instance.getFilteredRowModel()], (rowSelection, rowModel) => {
|
|
192
144
|
if (!Object.keys(rowSelection).length) {
|
|
193
145
|
return {
|
|
194
146
|
rows: [],
|
|
@@ -199,19 +151,14 @@ var RowSelection = {
|
|
|
199
151
|
|
|
200
152
|
return selectRowsFn(instance, rowModel);
|
|
201
153
|
}, {
|
|
202
|
-
key: 'getFilteredSelectedRowModel',
|
|
203
|
-
debug:
|
|
154
|
+
key: process.env.NODE_ENV === 'production' && 'getFilteredSelectedRowModel',
|
|
155
|
+
debug: () => {
|
|
204
156
|
var _instance$options$deb2;
|
|
205
157
|
|
|
206
158
|
return (_instance$options$deb2 = instance.options.debugAll) != null ? _instance$options$deb2 : instance.options.debugTable;
|
|
207
|
-
},
|
|
208
|
-
onChange: function onChange() {
|
|
209
|
-
return instance._notifyExpandedReset();
|
|
210
159
|
}
|
|
211
160
|
}),
|
|
212
|
-
getGroupedSelectedRowModel: utils.memo(
|
|
213
|
-
return [instance.getState().rowSelection, instance.getGroupedRowModel()];
|
|
214
|
-
}, function (rowSelection, rowModel) {
|
|
161
|
+
getGroupedSelectedRowModel: utils.memo(() => [instance.getState().rowSelection, instance.getGroupedRowModel()], (rowSelection, rowModel) => {
|
|
215
162
|
if (!Object.keys(rowSelection).length) {
|
|
216
163
|
return {
|
|
217
164
|
rows: [],
|
|
@@ -222,86 +169,14 @@ var RowSelection = {
|
|
|
222
169
|
|
|
223
170
|
return selectRowsFn(instance, rowModel);
|
|
224
171
|
}, {
|
|
225
|
-
key: 'getGroupedSelectedRowModel',
|
|
226
|
-
debug:
|
|
172
|
+
key: process.env.NODE_ENV === 'production' && 'getGroupedSelectedRowModel',
|
|
173
|
+
debug: () => {
|
|
227
174
|
var _instance$options$deb3;
|
|
228
175
|
|
|
229
176
|
return (_instance$options$deb3 = instance.options.debugAll) != null ? _instance$options$deb3 : instance.options.debugTable;
|
|
230
|
-
},
|
|
231
|
-
onChange: function onChange() {
|
|
232
|
-
return instance._notifyExpandedReset();
|
|
233
177
|
}
|
|
234
178
|
}),
|
|
235
179
|
///
|
|
236
|
-
getRowIsSelected: function getRowIsSelected(rowId) {
|
|
237
|
-
var _instance$getState = instance.getState(),
|
|
238
|
-
rowSelection = _instance$getState.rowSelection;
|
|
239
|
-
|
|
240
|
-
var row = instance.getRow(rowId);
|
|
241
|
-
|
|
242
|
-
if (!row) {
|
|
243
|
-
throw new Error();
|
|
244
|
-
}
|
|
245
|
-
|
|
246
|
-
return isRowSelected(row, rowSelection) === true;
|
|
247
|
-
},
|
|
248
|
-
getRowIsSomeSelected: function getRowIsSomeSelected(rowId) {
|
|
249
|
-
var _instance$getState2 = instance.getState(),
|
|
250
|
-
rowSelection = _instance$getState2.rowSelection;
|
|
251
|
-
|
|
252
|
-
var row = instance.getRow(rowId);
|
|
253
|
-
|
|
254
|
-
if (!row) {
|
|
255
|
-
throw new Error();
|
|
256
|
-
}
|
|
257
|
-
|
|
258
|
-
return isRowSelected(row, rowSelection) === 'some';
|
|
259
|
-
},
|
|
260
|
-
getRowCanSelect: function getRowCanSelect(rowId) {
|
|
261
|
-
var _instance$options$ena;
|
|
262
|
-
|
|
263
|
-
var row = instance.getRow(rowId);
|
|
264
|
-
|
|
265
|
-
if (!row) {
|
|
266
|
-
throw new Error();
|
|
267
|
-
}
|
|
268
|
-
|
|
269
|
-
if (typeof instance.options.enableRowSelection === 'function') {
|
|
270
|
-
return instance.options.enableRowSelection(row);
|
|
271
|
-
}
|
|
272
|
-
|
|
273
|
-
return (_instance$options$ena = instance.options.enableRowSelection) != null ? _instance$options$ena : true;
|
|
274
|
-
},
|
|
275
|
-
getRowCanSelectSubRows: function getRowCanSelectSubRows(rowId) {
|
|
276
|
-
var _instance$options$ena2;
|
|
277
|
-
|
|
278
|
-
var row = instance.getRow(rowId);
|
|
279
|
-
|
|
280
|
-
if (!row) {
|
|
281
|
-
throw new Error();
|
|
282
|
-
}
|
|
283
|
-
|
|
284
|
-
if (typeof instance.options.enableSubRowSelection === 'function') {
|
|
285
|
-
return instance.options.enableSubRowSelection(row);
|
|
286
|
-
}
|
|
287
|
-
|
|
288
|
-
return (_instance$options$ena2 = instance.options.enableSubRowSelection) != null ? _instance$options$ena2 : true;
|
|
289
|
-
},
|
|
290
|
-
getRowCanMultiSelect: function getRowCanMultiSelect(rowId) {
|
|
291
|
-
var _instance$options$ena3;
|
|
292
|
-
|
|
293
|
-
var row = instance.getRow(rowId);
|
|
294
|
-
|
|
295
|
-
if (!row) {
|
|
296
|
-
throw new Error();
|
|
297
|
-
}
|
|
298
|
-
|
|
299
|
-
if (typeof instance.options.enableMultiRowSelection === 'function') {
|
|
300
|
-
return instance.options.enableMultiRowSelection(row);
|
|
301
|
-
}
|
|
302
|
-
|
|
303
|
-
return (_instance$options$ena3 = instance.options.enableMultiRowSelection) != null ? _instance$options$ena3 : true;
|
|
304
|
-
},
|
|
305
180
|
// getGroupingRowCanSelect: rowId => {
|
|
306
181
|
// const row = instance.getRow(rowId)
|
|
307
182
|
// if (!row) {
|
|
@@ -312,133 +187,128 @@ var RowSelection = {
|
|
|
312
187
|
// }
|
|
313
188
|
// return instance.options.enableGroupingRowSelection ?? false
|
|
314
189
|
// },
|
|
315
|
-
getIsAllRowsSelected:
|
|
316
|
-
|
|
317
|
-
|
|
318
|
-
|
|
319
|
-
|
|
320
|
-
|
|
321
|
-
var isAllRowsSelected = Boolean(preFilteredFlatRows.length && Object.keys(rowSelection).length);
|
|
190
|
+
getIsAllRowsSelected: () => {
|
|
191
|
+
const preFilteredFlatRows = instance.getPreFilteredRowModel().flatRows;
|
|
192
|
+
const {
|
|
193
|
+
rowSelection
|
|
194
|
+
} = instance.getState();
|
|
195
|
+
let isAllRowsSelected = Boolean(preFilteredFlatRows.length && Object.keys(rowSelection).length);
|
|
322
196
|
|
|
323
197
|
if (isAllRowsSelected) {
|
|
324
|
-
if (preFilteredFlatRows.some(
|
|
325
|
-
return !rowSelection[row.id];
|
|
326
|
-
})) {
|
|
198
|
+
if (preFilteredFlatRows.some(row => !rowSelection[row.id])) {
|
|
327
199
|
isAllRowsSelected = false;
|
|
328
200
|
}
|
|
329
201
|
}
|
|
330
202
|
|
|
331
203
|
return isAllRowsSelected;
|
|
332
204
|
},
|
|
333
|
-
getIsAllPageRowsSelected:
|
|
334
|
-
|
|
335
|
-
|
|
336
|
-
|
|
337
|
-
|
|
338
|
-
|
|
339
|
-
|
|
340
|
-
|
|
341
|
-
if (isAllPageRowsSelected && paginationFlatRows.some(function (row) {
|
|
342
|
-
return !rowSelection[row.id];
|
|
343
|
-
})) {
|
|
205
|
+
getIsAllPageRowsSelected: () => {
|
|
206
|
+
const paginationFlatRows = instance.getPaginationRowModel().flatRows;
|
|
207
|
+
const {
|
|
208
|
+
rowSelection
|
|
209
|
+
} = instance.getState();
|
|
210
|
+
let isAllPageRowsSelected = !!paginationFlatRows.length;
|
|
211
|
+
|
|
212
|
+
if (isAllPageRowsSelected && paginationFlatRows.some(row => !rowSelection[row.id])) {
|
|
344
213
|
isAllPageRowsSelected = false;
|
|
345
214
|
}
|
|
346
215
|
|
|
347
216
|
return isAllPageRowsSelected;
|
|
348
217
|
},
|
|
349
|
-
getIsSomeRowsSelected:
|
|
218
|
+
getIsSomeRowsSelected: () => {
|
|
350
219
|
var _instance$getState$ro;
|
|
351
220
|
|
|
352
221
|
return !instance.getIsAllRowsSelected() && !!Object.keys((_instance$getState$ro = instance.getState().rowSelection) != null ? _instance$getState$ro : {}).length;
|
|
353
222
|
},
|
|
354
|
-
getIsSomePageRowsSelected:
|
|
355
|
-
|
|
223
|
+
getIsSomePageRowsSelected: () => {
|
|
224
|
+
const paginationFlatRows = instance.getPaginationRowModel().flatRows;
|
|
356
225
|
return instance.getIsAllPageRowsSelected() ? false : !!(paginationFlatRows != null && paginationFlatRows.length);
|
|
357
226
|
},
|
|
358
|
-
|
|
359
|
-
|
|
360
|
-
|
|
361
|
-
var isSomeSelected = row.getIsSomeSelected();
|
|
362
|
-
var canSelect = row.getCanSelect();
|
|
363
|
-
var initialProps = {
|
|
364
|
-
onChange: canSelect ? function (e) {
|
|
365
|
-
row.toggleSelected(e.target.checked);
|
|
366
|
-
} : undefined,
|
|
367
|
-
checked: isSelected,
|
|
368
|
-
title: 'Toggle Row Selected',
|
|
369
|
-
indeterminate: isSomeSelected // onChange: forInput
|
|
370
|
-
// ? (e: Event) => e.stopPropagation()
|
|
371
|
-
// : (e: Event) => {
|
|
372
|
-
// if (instance.options.isAdditiveSelectEvent(e)) {
|
|
373
|
-
// row.toggleSelected()
|
|
374
|
-
// } else if (instance.options.isInclusiveSelectEvent(e)) {
|
|
375
|
-
// instance.addRowSelectionRange(row.id)
|
|
376
|
-
// } else {
|
|
377
|
-
// instance.setRowSelection({})
|
|
378
|
-
// row.toggleSelected()
|
|
379
|
-
// }
|
|
380
|
-
// if (props.onClick) props.onClick(e)
|
|
381
|
-
// },
|
|
382
|
-
|
|
383
|
-
};
|
|
384
|
-
return utils.propGetter(initialProps, userProps);
|
|
385
|
-
},
|
|
386
|
-
getToggleAllRowsSelectedProps: function getToggleAllRowsSelectedProps(userProps) {
|
|
387
|
-
var isSomeRowsSelected = instance.getIsSomeRowsSelected();
|
|
388
|
-
var isAllRowsSelected = instance.getIsAllRowsSelected();
|
|
389
|
-
var initialProps = {
|
|
390
|
-
onChange: function onChange(e) {
|
|
391
|
-
instance.toggleAllRowsSelected(e.target.checked);
|
|
392
|
-
},
|
|
393
|
-
checked: isAllRowsSelected,
|
|
394
|
-
title: 'Toggle All Rows Selected',
|
|
395
|
-
indeterminate: isSomeRowsSelected
|
|
227
|
+
getToggleAllRowsSelectedHandler: () => {
|
|
228
|
+
return e => {
|
|
229
|
+
instance.toggleAllRowsSelected(e.target.checked);
|
|
396
230
|
};
|
|
397
|
-
return utils.propGetter(initialProps, userProps);
|
|
398
231
|
},
|
|
399
|
-
|
|
400
|
-
|
|
401
|
-
|
|
402
|
-
var initialProps = {
|
|
403
|
-
onChange: function onChange(e) {
|
|
404
|
-
instance.toggleAllPageRowsSelected(e.target.checked);
|
|
405
|
-
},
|
|
406
|
-
checked: isAllPageRowsSelected,
|
|
407
|
-
title: 'Toggle All Current Page Rows Selected',
|
|
408
|
-
indeterminate: isSomePageRowsSelected
|
|
232
|
+
getToggleAllPageRowsSelectedHandler: () => {
|
|
233
|
+
return e => {
|
|
234
|
+
instance.toggleAllPageRowsSelected(e.target.checked);
|
|
409
235
|
};
|
|
410
|
-
return utils.propGetter(initialProps, userProps);
|
|
411
236
|
}
|
|
412
237
|
};
|
|
413
238
|
},
|
|
414
|
-
createRow:
|
|
239
|
+
createRow: (row, instance) => {
|
|
415
240
|
return {
|
|
416
|
-
|
|
417
|
-
|
|
241
|
+
toggleSelected: value => {
|
|
242
|
+
const isSelected = row.getIsSelected();
|
|
243
|
+
instance.setRowSelection(old => {
|
|
244
|
+
value = typeof value !== 'undefined' ? value : !isSelected;
|
|
245
|
+
|
|
246
|
+
if (isSelected === value) {
|
|
247
|
+
return old;
|
|
248
|
+
}
|
|
249
|
+
|
|
250
|
+
const selectedRowIds = { ...old
|
|
251
|
+
};
|
|
252
|
+
mutateRowIsSelected(selectedRowIds, row.id, value, instance);
|
|
253
|
+
return selectedRowIds;
|
|
254
|
+
});
|
|
418
255
|
},
|
|
419
|
-
|
|
420
|
-
|
|
256
|
+
getIsSelected: () => {
|
|
257
|
+
const {
|
|
258
|
+
rowSelection
|
|
259
|
+
} = instance.getState();
|
|
260
|
+
return isRowSelected(row, rowSelection) === true;
|
|
421
261
|
},
|
|
422
|
-
|
|
423
|
-
|
|
262
|
+
getIsSomeSelected: () => {
|
|
263
|
+
const {
|
|
264
|
+
rowSelection
|
|
265
|
+
} = instance.getState();
|
|
266
|
+
return isRowSelected(row, rowSelection) === 'some';
|
|
424
267
|
},
|
|
425
|
-
|
|
426
|
-
|
|
268
|
+
getCanSelect: () => {
|
|
269
|
+
var _instance$options$ena;
|
|
270
|
+
|
|
271
|
+
if (typeof instance.options.enableRowSelection === 'function') {
|
|
272
|
+
return instance.options.enableRowSelection(row);
|
|
273
|
+
}
|
|
274
|
+
|
|
275
|
+
return (_instance$options$ena = instance.options.enableRowSelection) != null ? _instance$options$ena : true;
|
|
427
276
|
},
|
|
428
|
-
|
|
429
|
-
|
|
277
|
+
getCanSelectSubRows: () => {
|
|
278
|
+
var _instance$options$ena2;
|
|
279
|
+
|
|
280
|
+
if (typeof instance.options.enableSubRowSelection === 'function') {
|
|
281
|
+
return instance.options.enableSubRowSelection(row);
|
|
282
|
+
}
|
|
283
|
+
|
|
284
|
+
return (_instance$options$ena2 = instance.options.enableSubRowSelection) != null ? _instance$options$ena2 : true;
|
|
285
|
+
},
|
|
286
|
+
getCanMultiSelect: () => {
|
|
287
|
+
var _instance$options$ena3;
|
|
288
|
+
|
|
289
|
+
if (typeof instance.options.enableMultiRowSelection === 'function') {
|
|
290
|
+
return instance.options.enableMultiRowSelection(row);
|
|
291
|
+
}
|
|
292
|
+
|
|
293
|
+
return (_instance$options$ena3 = instance.options.enableMultiRowSelection) != null ? _instance$options$ena3 : true;
|
|
430
294
|
},
|
|
431
|
-
|
|
432
|
-
|
|
295
|
+
getToggleSelectedHandler: () => {
|
|
296
|
+
const canSelect = row.getCanSelect();
|
|
297
|
+
return e => {
|
|
298
|
+
var _target;
|
|
299
|
+
|
|
300
|
+
if (!canSelect) return;
|
|
301
|
+
row.toggleSelected((_target = e.target) == null ? void 0 : _target.checked);
|
|
302
|
+
};
|
|
433
303
|
}
|
|
434
304
|
};
|
|
435
305
|
}
|
|
436
306
|
};
|
|
437
307
|
|
|
438
|
-
|
|
308
|
+
const mutateRowIsSelected = (selectedRowIds, id, value, instance) => {
|
|
439
309
|
var _row$subRows;
|
|
440
310
|
|
|
441
|
-
|
|
311
|
+
const row = instance.getRow(id);
|
|
442
312
|
row.getIsGrouped(); // if ( // TODO: enforce grouping row selection rules
|
|
443
313
|
// !isGrouped ||
|
|
444
314
|
// (isGrouped && instance.options.enableGroupingRowSelection)
|
|
@@ -451,24 +321,25 @@ var mutateRowIsSelected = function mutateRowIsSelected(selectedRowIds, id, value
|
|
|
451
321
|
} // }
|
|
452
322
|
|
|
453
323
|
|
|
454
|
-
if ((_row$subRows = row.subRows) != null && _row$subRows.length &&
|
|
455
|
-
row.subRows.forEach(
|
|
456
|
-
return mutateRowIsSelected(selectedRowIds, row.id, value, instance);
|
|
457
|
-
});
|
|
324
|
+
if ((_row$subRows = row.subRows) != null && _row$subRows.length && row.getCanSelectSubRows()) {
|
|
325
|
+
row.subRows.forEach(row => mutateRowIsSelected(selectedRowIds, row.id, value, instance));
|
|
458
326
|
}
|
|
459
327
|
};
|
|
460
328
|
|
|
461
329
|
function selectRowsFn(instance, rowModel) {
|
|
462
|
-
|
|
463
|
-
|
|
464
|
-
|
|
330
|
+
const rowSelection = instance.getState().rowSelection;
|
|
331
|
+
const newSelectedFlatRows = [];
|
|
332
|
+
const newSelectedRowsById = {}; // Filters top level and nested rows
|
|
465
333
|
|
|
466
|
-
|
|
334
|
+
const recurseRows = function (rows, depth) {
|
|
335
|
+
if (depth === void 0) {
|
|
336
|
+
depth = 0;
|
|
337
|
+
}
|
|
467
338
|
|
|
468
|
-
return rows.map(
|
|
339
|
+
return rows.map(row => {
|
|
469
340
|
var _row$subRows2;
|
|
470
341
|
|
|
471
|
-
|
|
342
|
+
const isSelected = isRowSelected(row, rowSelection) === true;
|
|
472
343
|
|
|
473
344
|
if (isSelected) {
|
|
474
345
|
newSelectedFlatRows.push(row);
|
|
@@ -476,9 +347,9 @@ function selectRowsFn(instance, rowModel) {
|
|
|
476
347
|
}
|
|
477
348
|
|
|
478
349
|
if ((_row$subRows2 = row.subRows) != null && _row$subRows2.length) {
|
|
479
|
-
row =
|
|
480
|
-
subRows: recurseRows(row.subRows)
|
|
481
|
-
}
|
|
350
|
+
row = { ...row,
|
|
351
|
+
subRows: recurseRows(row.subRows, depth + 1)
|
|
352
|
+
};
|
|
482
353
|
}
|
|
483
354
|
|
|
484
355
|
if (isSelected) {
|
|
@@ -499,9 +370,9 @@ function isRowSelected(row, selection, instance) {
|
|
|
499
370
|
}
|
|
500
371
|
|
|
501
372
|
if (row.subRows && row.subRows.length) {
|
|
502
|
-
|
|
503
|
-
|
|
504
|
-
row.subRows.forEach(
|
|
373
|
+
let allChildrenSelected = true;
|
|
374
|
+
let someSelected = false;
|
|
375
|
+
row.subRows.forEach(subRow => {
|
|
505
376
|
// Bail out early if we know both of these
|
|
506
377
|
if (someSelected && !allChildrenSelected) {
|
|
507
378
|
return;
|