@tanstack/react-table 8.0.0-alpha.9 → 8.0.0-beta.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/build/cjs/react-table/src/index.js +139 -0
- package/build/cjs/react-table/src/index.js.map +1 -0
- package/build/cjs/table-core/build/esm/index.js +3867 -0
- package/build/cjs/table-core/build/esm/index.js.map +1 -0
- package/build/esm/index.js +3196 -4117
- package/build/esm/index.js.map +1 -1
- package/build/stats-html.html +1 -1
- package/build/stats-react.json +24 -813
- package/build/types/index.d.ts +16 -9
- package/build/umd/index.development.js +3234 -4125
- package/build/umd/index.development.js.map +1 -1
- package/build/umd/index.production.js +11 -1
- package/build/umd/index.production.js.map +1 -1
- package/package.json +10 -6
- package/src/index.tsx +111 -9
- 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/createTable.js +0 -122
- package/build/cjs/createTable.js.map +0 -1
- package/build/cjs/features/ColumnSizing.js +0 -318
- package/build/cjs/features/ColumnSizing.js.map +0 -1
- package/build/cjs/features/Expanding.js +0 -239
- package/build/cjs/features/Expanding.js.map +0 -1
- package/build/cjs/features/Filters.js +0 -414
- package/build/cjs/features/Filters.js.map +0 -1
- package/build/cjs/features/Grouping.js +0 -232
- package/build/cjs/features/Grouping.js.map +0 -1
- package/build/cjs/features/Headers.js +0 -629
- package/build/cjs/features/Headers.js.map +0 -1
- package/build/cjs/features/Ordering.js +0 -86
- package/build/cjs/features/Ordering.js.map +0 -1
- package/build/cjs/features/Pagination.js +0 -193
- package/build/cjs/features/Pagination.js.map +0 -1
- package/build/cjs/features/Pinning.js +0 -149
- package/build/cjs/features/Pinning.js.map +0 -1
- package/build/cjs/features/RowSelection.js +0 -526
- package/build/cjs/features/RowSelection.js.map +0 -1
- package/build/cjs/features/Sorting.js +0 -315
- package/build/cjs/features/Sorting.js.map +0 -1
- package/build/cjs/features/Visibility.js +0 -174
- package/build/cjs/features/Visibility.js.map +0 -1
- package/build/cjs/filterTypes.js +0 -172
- package/build/cjs/filterTypes.js.map +0 -1
- package/build/cjs/index.js +0 -44
- package/build/cjs/index.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/cjs/utils.js +0 -167
- package/build/cjs/utils.js.map +0 -1
- package/build/types/aggregationTypes.d.ts +0 -22
- package/build/types/core.d.ts +0 -105
- package/build/types/createTable.d.ts +0 -42
- package/build/types/features/ColumnSizing.d.ts +0 -73
- package/build/types/features/Expanding.d.ts +0 -48
- package/build/types/features/Filters.d.ts +0 -90
- package/build/types/features/Grouping.d.ts +0 -83
- package/build/types/features/Headers.d.ts +0 -41
- package/build/types/features/Ordering.d.ts +0 -19
- package/build/types/features/Pagination.d.ts +0 -39
- package/build/types/features/Pinning.d.ts +0 -39
- package/build/types/features/RowSelection.d.ts +0 -58
- package/build/types/features/Sorting.d.ts +0 -79
- package/build/types/features/Visibility.d.ts +0 -47
- package/build/types/filterTypes.d.ts +0 -50
- package/build/types/sortTypes.d.ts +0 -18
- package/build/types/types.d.ts +0 -138
- 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/build/types/utils.d.ts +0 -23
- package/src/aggregationTypes.ts +0 -115
- package/src/core.tsx +0 -763
- package/src/createTable.tsx +0 -186
- package/src/features/ColumnSizing.ts +0 -424
- package/src/features/Expanding.ts +0 -318
- package/src/features/Filters.ts +0 -560
- package/src/features/Grouping.ts +0 -361
- package/src/features/Headers.ts +0 -729
- package/src/features/Ordering.ts +0 -110
- package/src/features/Pagination.ts +0 -250
- package/src/features/Pinning.ts +0 -174
- package/src/features/RowSelection.ts +0 -651
- package/src/features/Sorting.ts +0 -453
- package/src/features/Visibility.ts +0 -238
- package/src/filterTypes.ts +0 -188
- package/src/sortTypes.ts +0 -147
- package/src/types.ts +0 -311
- 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
|
@@ -1,315 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* react-table
|
|
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 _rollupPluginBabelHelpers = require('../_virtual/_rollupPluginBabelHelpers.js');
|
|
16
|
-
var sortTypes = require('../sortTypes.js');
|
|
17
|
-
var utils = require('../utils.js');
|
|
18
|
-
|
|
19
|
-
//
|
|
20
|
-
function getDefaultColumn() {
|
|
21
|
-
return {
|
|
22
|
-
sortType: 'auto'
|
|
23
|
-
};
|
|
24
|
-
}
|
|
25
|
-
function getInitialState() {
|
|
26
|
-
return {
|
|
27
|
-
sorting: []
|
|
28
|
-
};
|
|
29
|
-
}
|
|
30
|
-
function getDefaultOptions(instance) {
|
|
31
|
-
return {
|
|
32
|
-
onSortingChange: utils.makeStateUpdater('sorting', instance),
|
|
33
|
-
autoResetSorting: true,
|
|
34
|
-
isMultiSortEvent: function isMultiSortEvent(e) {
|
|
35
|
-
return e.shiftKey;
|
|
36
|
-
}
|
|
37
|
-
};
|
|
38
|
-
}
|
|
39
|
-
function createColumn(column, instance) {
|
|
40
|
-
return {
|
|
41
|
-
sortType: column.sortType,
|
|
42
|
-
getCanSort: function getCanSort() {
|
|
43
|
-
return instance.getColumnCanSort(column.id);
|
|
44
|
-
},
|
|
45
|
-
getCanMultiSort: function getCanMultiSort() {
|
|
46
|
-
return instance.getColumnCanMultiSort(column.id);
|
|
47
|
-
},
|
|
48
|
-
getSortIndex: function getSortIndex() {
|
|
49
|
-
return instance.getColumnSortIndex(column.id);
|
|
50
|
-
},
|
|
51
|
-
getIsSorted: function getIsSorted() {
|
|
52
|
-
return instance.getColumnIsSorted(column.id);
|
|
53
|
-
},
|
|
54
|
-
toggleSorting: function toggleSorting(desc, isMulti) {
|
|
55
|
-
return instance.toggleColumnSorting(column.id, desc, isMulti);
|
|
56
|
-
},
|
|
57
|
-
getToggleSortingProps: function getToggleSortingProps(userProps) {
|
|
58
|
-
return instance.getToggleSortingProps(column.id, userProps);
|
|
59
|
-
}
|
|
60
|
-
};
|
|
61
|
-
}
|
|
62
|
-
function getInstance(instance) {
|
|
63
|
-
var registered = false;
|
|
64
|
-
return {
|
|
65
|
-
_notifySortingReset: function _notifySortingReset() {
|
|
66
|
-
if (!registered) {
|
|
67
|
-
registered = true;
|
|
68
|
-
return;
|
|
69
|
-
}
|
|
70
|
-
|
|
71
|
-
if (instance.options.autoResetAll === false) {
|
|
72
|
-
return;
|
|
73
|
-
}
|
|
74
|
-
|
|
75
|
-
if (instance.options.autoResetAll === true || instance.options.autoResetSorting) {
|
|
76
|
-
instance.resetSorting();
|
|
77
|
-
}
|
|
78
|
-
},
|
|
79
|
-
getColumnAutoSortingFn: function getColumnAutoSortingFn(columnId) {
|
|
80
|
-
var firstRows = instance.getGlobalFilteredRowModel().flatRows.slice(100);
|
|
81
|
-
var isString = false;
|
|
82
|
-
|
|
83
|
-
for (var _iterator = _rollupPluginBabelHelpers.createForOfIteratorHelperLoose(firstRows), _step; !(_step = _iterator()).done;) {
|
|
84
|
-
var row = _step.value;
|
|
85
|
-
var value = row == null ? void 0 : row.values[columnId];
|
|
86
|
-
|
|
87
|
-
if (Object.prototype.toString.call(value) === '[object Date]') {
|
|
88
|
-
return sortTypes.sortTypes.datetime;
|
|
89
|
-
}
|
|
90
|
-
|
|
91
|
-
if (typeof value === 'string') {
|
|
92
|
-
isString = true;
|
|
93
|
-
|
|
94
|
-
if (value.split(sortTypes.reSplitAlphaNumeric).length > 1) {
|
|
95
|
-
return sortTypes.sortTypes.alphanumeric;
|
|
96
|
-
}
|
|
97
|
-
}
|
|
98
|
-
}
|
|
99
|
-
|
|
100
|
-
if (isString) {
|
|
101
|
-
return sortTypes.sortTypes.text;
|
|
102
|
-
}
|
|
103
|
-
|
|
104
|
-
return sortTypes.sortTypes.basic;
|
|
105
|
-
},
|
|
106
|
-
getColumnAutoSortDir: function getColumnAutoSortDir(columnId) {
|
|
107
|
-
var firstRow = instance.getGlobalFilteredRowModel().flatRows[0];
|
|
108
|
-
var value = firstRow == null ? void 0 : firstRow.values[columnId];
|
|
109
|
-
|
|
110
|
-
if (typeof value === 'string') {
|
|
111
|
-
return 'asc';
|
|
112
|
-
}
|
|
113
|
-
|
|
114
|
-
return 'desc';
|
|
115
|
-
},
|
|
116
|
-
getColumnSortingFn: function getColumnSortingFn(columnId) {
|
|
117
|
-
var _ref;
|
|
118
|
-
|
|
119
|
-
var column = instance.getColumn(columnId);
|
|
120
|
-
var userSortTypes = instance.options.sortTypes;
|
|
121
|
-
|
|
122
|
-
if (!column) {
|
|
123
|
-
throw new Error();
|
|
124
|
-
}
|
|
125
|
-
|
|
126
|
-
return utils.isFunction(column.sortType) ? column.sortType : column.sortType === 'auto' ? instance.getColumnAutoSortingFn(columnId) : (_ref = userSortTypes == null ? void 0 : userSortTypes[column.sortType]) != null ? _ref : sortTypes.sortTypes[column.sortType];
|
|
127
|
-
},
|
|
128
|
-
setSorting: function setSorting(updater) {
|
|
129
|
-
return instance.options.onSortingChange == null ? void 0 : instance.options.onSortingChange(updater, utils.functionalUpdate(updater, instance.getState().sorting));
|
|
130
|
-
},
|
|
131
|
-
toggleColumnSorting: function toggleColumnSorting(columnId, desc, multi) {
|
|
132
|
-
var column = instance.getColumn(columnId);
|
|
133
|
-
|
|
134
|
-
if (!column) {
|
|
135
|
-
throw new Error();
|
|
136
|
-
} // if (column.columns.length) {
|
|
137
|
-
// column.columns.forEach((c, i) => {
|
|
138
|
-
// if (c.id) {
|
|
139
|
-
// instance.toggleColumnSorting(c.id, undefined, multi || !!i)
|
|
140
|
-
// }
|
|
141
|
-
// })
|
|
142
|
-
// return
|
|
143
|
-
// }
|
|
144
|
-
|
|
145
|
-
|
|
146
|
-
instance.setSorting(function (old) {
|
|
147
|
-
var _ref2, _column$sortDescFirst, _instance$options$ena, _instance$options$ena2;
|
|
148
|
-
|
|
149
|
-
// Find any existing sorting for this column
|
|
150
|
-
var existingSorting = old == null ? void 0 : old.find(function (d) {
|
|
151
|
-
return d.id === columnId;
|
|
152
|
-
});
|
|
153
|
-
var existingIndex = old == null ? void 0 : old.findIndex(function (d) {
|
|
154
|
-
return d.id === columnId;
|
|
155
|
-
});
|
|
156
|
-
var hasDescDefined = typeof desc !== 'undefined' && desc !== null;
|
|
157
|
-
var newSorting = []; // What should we do with this sort action?
|
|
158
|
-
|
|
159
|
-
var sortAction;
|
|
160
|
-
|
|
161
|
-
if (column.getCanMultiSort() && multi) {
|
|
162
|
-
if (existingSorting) {
|
|
163
|
-
sortAction = 'toggle';
|
|
164
|
-
} else {
|
|
165
|
-
sortAction = 'add';
|
|
166
|
-
}
|
|
167
|
-
} else {
|
|
168
|
-
// Normal mode
|
|
169
|
-
if (old != null && old.length && existingIndex !== old.length - 1) {
|
|
170
|
-
sortAction = 'replace';
|
|
171
|
-
} else if (existingSorting) {
|
|
172
|
-
sortAction = 'toggle';
|
|
173
|
-
} else {
|
|
174
|
-
sortAction = 'replace';
|
|
175
|
-
}
|
|
176
|
-
}
|
|
177
|
-
|
|
178
|
-
var sortDescFirst = (_ref2 = (_column$sortDescFirst = column.sortDescFirst) != null ? _column$sortDescFirst : instance.options.sortDescFirst) != null ? _ref2 : instance.getColumnAutoSortDir(columnId) === 'desc'; // Handle toggle states that will remove the sorting
|
|
179
|
-
|
|
180
|
-
if (sortAction === 'toggle' && ( // Must be toggling
|
|
181
|
-
(_instance$options$ena = instance.options.enableSortingRemoval) != null ? _instance$options$ena : true) && // If enableSortRemove, enable in general
|
|
182
|
-
!hasDescDefined && ( // Must not be setting desc
|
|
183
|
-
multi ? (_instance$options$ena2 = instance.options.enableMultiRemove) != null ? _instance$options$ena2 : true : true) && ( // If multi, don't allow if enableMultiRemove
|
|
184
|
-
existingSorting != null && existingSorting.desc // Finally, detect if it should indeed be removed
|
|
185
|
-
? !sortDescFirst : sortDescFirst)) {
|
|
186
|
-
sortAction = 'remove';
|
|
187
|
-
}
|
|
188
|
-
|
|
189
|
-
if (sortAction === 'replace') {
|
|
190
|
-
newSorting = [{
|
|
191
|
-
id: columnId,
|
|
192
|
-
desc: hasDescDefined ? desc : !!sortDescFirst
|
|
193
|
-
}];
|
|
194
|
-
} else if (sortAction === 'add' && old != null && old.length) {
|
|
195
|
-
var _instance$options$max;
|
|
196
|
-
|
|
197
|
-
newSorting = [].concat(old, [{
|
|
198
|
-
id: columnId,
|
|
199
|
-
desc: hasDescDefined ? desc : !!sortDescFirst
|
|
200
|
-
}]); // Take latest n columns
|
|
201
|
-
|
|
202
|
-
newSorting.splice(0, newSorting.length - ((_instance$options$max = instance.options.maxMultiSortColCount) != null ? _instance$options$max : Number.MAX_SAFE_INTEGER));
|
|
203
|
-
} else if (sortAction === 'toggle' && old != null && old.length) {
|
|
204
|
-
// This flips (or sets) the
|
|
205
|
-
newSorting = old.map(function (d) {
|
|
206
|
-
if (d.id === columnId) {
|
|
207
|
-
return _rollupPluginBabelHelpers["extends"]({}, d, {
|
|
208
|
-
desc: hasDescDefined ? desc : !(existingSorting != null && existingSorting.desc)
|
|
209
|
-
});
|
|
210
|
-
}
|
|
211
|
-
|
|
212
|
-
return d;
|
|
213
|
-
});
|
|
214
|
-
} else if (sortAction === 'remove' && old != null && old.length) {
|
|
215
|
-
newSorting = old.filter(function (d) {
|
|
216
|
-
return d.id !== columnId;
|
|
217
|
-
});
|
|
218
|
-
}
|
|
219
|
-
|
|
220
|
-
return newSorting;
|
|
221
|
-
});
|
|
222
|
-
},
|
|
223
|
-
getColumnCanSort: function getColumnCanSort(columnId) {
|
|
224
|
-
var _ref3, _ref4, _column$enableSorting;
|
|
225
|
-
|
|
226
|
-
var column = instance.getColumn(columnId);
|
|
227
|
-
|
|
228
|
-
if (!column) {
|
|
229
|
-
throw new Error();
|
|
230
|
-
}
|
|
231
|
-
|
|
232
|
-
return (_ref3 = (_ref4 = (_column$enableSorting = column.enableSorting) != null ? _column$enableSorting : instance.options.enableSorting) != null ? _ref4 : column.defaultCanSort) != null ? _ref3 : !!column.accessorFn // (!!column.accessorFn ||
|
|
233
|
-
// column.columns?.some(c => c.id && instance.getColumnCanSort(c.id))) ??
|
|
234
|
-
// false
|
|
235
|
-
;
|
|
236
|
-
},
|
|
237
|
-
getColumnCanMultiSort: function getColumnCanMultiSort(columnId) {
|
|
238
|
-
var _ref5, _column$enableMultiSo;
|
|
239
|
-
|
|
240
|
-
var column = instance.getColumn(columnId);
|
|
241
|
-
|
|
242
|
-
if (!column) {
|
|
243
|
-
throw new Error();
|
|
244
|
-
}
|
|
245
|
-
|
|
246
|
-
return (_ref5 = (_column$enableMultiSo = column.enableMultiSort) != null ? _column$enableMultiSo : instance.options.enableMultiSort) != null ? _ref5 : !!column.accessorFn;
|
|
247
|
-
},
|
|
248
|
-
getColumnIsSorted: function getColumnIsSorted(columnId) {
|
|
249
|
-
var _instance$getState$so;
|
|
250
|
-
|
|
251
|
-
var columnSort = (_instance$getState$so = instance.getState().sorting) == null ? void 0 : _instance$getState$so.find(function (d) {
|
|
252
|
-
return d.id === columnId;
|
|
253
|
-
});
|
|
254
|
-
return !columnSort ? false : columnSort.desc ? 'desc' : 'asc';
|
|
255
|
-
},
|
|
256
|
-
getColumnSortIndex: function getColumnSortIndex(columnId) {
|
|
257
|
-
var _instance$getState$so2, _instance$getState$so3;
|
|
258
|
-
|
|
259
|
-
return (_instance$getState$so2 = (_instance$getState$so3 = instance.getState().sorting) == null ? void 0 : _instance$getState$so3.findIndex(function (d) {
|
|
260
|
-
return d.id === columnId;
|
|
261
|
-
})) != null ? _instance$getState$so2 : -1;
|
|
262
|
-
},
|
|
263
|
-
resetSorting: function resetSorting() {
|
|
264
|
-
var _instance$initialStat, _instance$initialStat2;
|
|
265
|
-
|
|
266
|
-
instance.setSorting((_instance$initialStat = (_instance$initialStat2 = instance.initialState) == null ? void 0 : _instance$initialStat2.sorting) != null ? _instance$initialStat : []);
|
|
267
|
-
},
|
|
268
|
-
getToggleSortingProps: function getToggleSortingProps(columnId, userProps) {
|
|
269
|
-
var column = instance.getColumn(columnId);
|
|
270
|
-
|
|
271
|
-
if (!column) {
|
|
272
|
-
throw new Error();
|
|
273
|
-
}
|
|
274
|
-
|
|
275
|
-
var canSort = column.getCanSort();
|
|
276
|
-
var initialProps = {
|
|
277
|
-
title: canSort ? 'Toggle Sorting' : undefined,
|
|
278
|
-
onClick: canSort ? function (e) {
|
|
279
|
-
e.persist();
|
|
280
|
-
column.toggleSorting == null ? void 0 : column.toggleSorting(undefined, column.getCanMultiSort() ? instance.options.isMultiSortEvent == null ? void 0 : instance.options.isMultiSortEvent(e) : false);
|
|
281
|
-
} : undefined
|
|
282
|
-
};
|
|
283
|
-
return utils.propGetter(initialProps, userProps);
|
|
284
|
-
},
|
|
285
|
-
getPreSortedRowModel: function getPreSortedRowModel() {
|
|
286
|
-
return instance.getGlobalFilteredRowModel();
|
|
287
|
-
},
|
|
288
|
-
getSortedRowModel: utils.memo(function () {
|
|
289
|
-
return [instance.getState().sorting, instance.getGlobalFilteredRowModel(), instance.options.sortRowsFn];
|
|
290
|
-
}, function (sorting, rowModel, sortingFn) {
|
|
291
|
-
if (!sortingFn || !(sorting != null && sorting.length)) {
|
|
292
|
-
return rowModel;
|
|
293
|
-
}
|
|
294
|
-
|
|
295
|
-
return sortingFn(instance, rowModel);
|
|
296
|
-
}, {
|
|
297
|
-
key: 'getSortedRowModel',
|
|
298
|
-
debug: function debug() {
|
|
299
|
-
var _instance$options$deb;
|
|
300
|
-
|
|
301
|
-
return (_instance$options$deb = instance.options.debugAll) != null ? _instance$options$deb : instance.options.debugTable;
|
|
302
|
-
},
|
|
303
|
-
onChange: function onChange() {
|
|
304
|
-
instance._notifyGroupingReset();
|
|
305
|
-
}
|
|
306
|
-
})
|
|
307
|
-
};
|
|
308
|
-
}
|
|
309
|
-
|
|
310
|
-
exports.createColumn = createColumn;
|
|
311
|
-
exports.getDefaultColumn = getDefaultColumn;
|
|
312
|
-
exports.getDefaultOptions = getDefaultOptions;
|
|
313
|
-
exports.getInitialState = getInitialState;
|
|
314
|
-
exports.getInstance = getInstance;
|
|
315
|
-
//# sourceMappingURL=Sorting.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"Sorting.js","sources":["../../../src/features/Sorting.ts"],"sourcesContent":["import { MouseEvent, TouchEvent } from 'react'\nimport { RowModel } from '..'\nimport { BuiltInSortType, reSplitAlphaNumeric, sortTypes } from '../sortTypes'\n\nimport {\n Column,\n Getter,\n Header,\n OnChangeFn,\n PartialGenerics,\n PropGetterValue,\n TableInstance,\n Row,\n Updater,\n} from '../types'\n\nimport {\n functionalUpdate,\n isFunction,\n makeStateUpdater,\n memo,\n Overwrite,\n propGetter,\n} from '../utils'\n\nexport type SortDirection = 'asc' | 'desc'\n\nexport type ColumnSort = {\n id: string\n desc: boolean\n}\n\nexport type SortingState = ColumnSort[]\n\nexport type SortingFn<TGenerics extends PartialGenerics> = {\n (rowA: Row<TGenerics>, rowB: Row<TGenerics>, columnId: string): number\n}\n\nexport type CustomSortingTypes<TGenerics extends PartialGenerics> = Record<\n string,\n SortingFn<TGenerics>\n>\n\nexport type SortingTableState = {\n sorting: SortingState\n}\n\nexport type SortType<TGenerics extends PartialGenerics> =\n | 'auto'\n | BuiltInSortType\n | keyof TGenerics['SortingFns']\n | SortingFn<TGenerics>\n\nexport type SortingColumnDef<TGenerics extends PartialGenerics> = {\n sortType?: SortType<Overwrite<TGenerics, { Value: any }>>\n sortDescFirst?: boolean\n enableSorting?: boolean\n enableMultiSort?: boolean\n defaultCanSort?: boolean\n invertSorting?: boolean\n sortUndefined?: false | -1 | 1\n}\n\nexport type SortingColumn<TGenerics extends PartialGenerics> = {\n sortType: SortType<Overwrite<TGenerics, { Value: any }>>\n getCanSort: () => boolean\n getCanMultiSort: () => boolean\n getSortIndex: () => number\n getIsSorted: () => false | SortDirection\n toggleSorting: (desc?: boolean, isMulti?: boolean) => void\n getToggleSortingProps: <TGetter extends Getter<ToggleSortingProps>>(\n userProps?: TGetter\n ) => undefined | PropGetterValue<ToggleSortingProps, TGetter>\n}\n\nexport type SortingOptions<TGenerics extends PartialGenerics> = {\n sortTypes?: TGenerics['SortingFns']\n onSortingChange?: OnChangeFn<SortingState>\n autoResetSorting?: boolean\n enableSorting?: boolean\n enableSortingRemoval?: boolean\n enableMultiRemove?: boolean\n enableMultiSort?: boolean\n sortDescFirst?: boolean\n sortRowsFn?: (\n instance: TableInstance<TGenerics>,\n rowModel: RowModel<TGenerics>\n ) => RowModel<TGenerics>\n maxMultiSortColCount?: number\n isMultiSortEvent?: (e: MouseEvent | TouchEvent) => boolean\n}\n\nexport type ToggleSortingProps = {\n title?: string\n onClick?: (event: MouseEvent | TouchEvent) => void\n}\n\nexport type SortingInstance<TGenerics extends PartialGenerics> = {\n _notifySortingReset: () => void\n getColumnAutoSortingFn: (columnId: string) => SortingFn<TGenerics> | undefined\n getColumnAutoSortDir: (columnId: string) => SortDirection\n\n getColumnSortingFn: (columnId: string) => SortingFn<TGenerics> | undefined\n\n setSorting: (updater: Updater<SortingState>) => void\n toggleColumnSorting: (\n columnId: string,\n desc?: boolean,\n multi?: boolean\n ) => void\n resetSorting: () => void\n getColumnCanSort: (columnId: string) => boolean\n getColumnCanMultiSort: (columnId: string) => boolean\n getColumnIsSorted: (columnId: string) => false | 'asc' | 'desc'\n getColumnSortIndex: (columnId: string) => number\n getToggleSortingProps: <TGetter extends Getter<ToggleSortingProps>>(\n columnId: string,\n userProps?: TGetter\n ) => undefined | PropGetterValue<ToggleSortingProps, TGetter>\n getPreSortedRowModel: () => RowModel<TGenerics>\n getSortedRowModel: () => RowModel<TGenerics>\n}\n\n//\n\nexport function getDefaultColumn<\n TGenerics extends PartialGenerics\n>(): SortingColumnDef<TGenerics> {\n return {\n sortType: 'auto',\n }\n}\n\nexport function getInitialState(): SortingTableState {\n return {\n sorting: [],\n }\n}\n\nexport function getDefaultOptions<TGenerics extends PartialGenerics>(\n instance: TableInstance<TGenerics>\n): SortingOptions<TGenerics> {\n return {\n onSortingChange: makeStateUpdater('sorting', instance),\n autoResetSorting: true,\n isMultiSortEvent: (e: MouseEvent | TouchEvent) => {\n return e.shiftKey\n },\n }\n}\n\nexport function createColumn<TGenerics extends PartialGenerics>(\n column: Column<TGenerics>,\n instance: TableInstance<TGenerics>\n): SortingColumn<TGenerics> {\n return {\n sortType: column.sortType,\n getCanSort: () => instance.getColumnCanSort(column.id),\n getCanMultiSort: () => instance.getColumnCanMultiSort(column.id),\n getSortIndex: () => instance.getColumnSortIndex(column.id),\n getIsSorted: () => instance.getColumnIsSorted(column.id),\n toggleSorting: (desc, isMulti) =>\n instance.toggleColumnSorting(column.id, desc, isMulti),\n getToggleSortingProps: userProps =>\n instance.getToggleSortingProps(column.id, userProps),\n }\n}\n\nexport function getInstance<TGenerics extends PartialGenerics>(\n instance: TableInstance<TGenerics>\n): SortingInstance<TGenerics> {\n let registered = false\n\n return {\n _notifySortingReset: () => {\n if (!registered) {\n registered = true\n return\n }\n\n if (instance.options.autoResetAll === false) {\n return\n }\n\n if (\n instance.options.autoResetAll === true ||\n instance.options.autoResetSorting\n ) {\n instance.resetSorting()\n }\n },\n getColumnAutoSortingFn: columnId => {\n const firstRows = instance.getGlobalFilteredRowModel().flatRows.slice(100)\n\n let isString = false\n\n for (const row of firstRows) {\n const value = row?.values[columnId]\n\n if (Object.prototype.toString.call(value) === '[object Date]') {\n return sortTypes.datetime\n }\n\n if (typeof value === 'string') {\n isString = true\n\n if (value.split(reSplitAlphaNumeric).length > 1) {\n return sortTypes.alphanumeric\n }\n }\n }\n\n if (isString) {\n return sortTypes.text\n }\n\n return sortTypes.basic\n },\n getColumnAutoSortDir: columnId => {\n const firstRow = instance.getGlobalFilteredRowModel().flatRows[0]\n\n const value = firstRow?.values[columnId]\n\n if (typeof value === 'string') {\n return 'asc'\n }\n\n return 'desc'\n },\n getColumnSortingFn: columnId => {\n const column = instance.getColumn(columnId)\n const userSortTypes = instance.options.sortTypes\n\n if (!column) {\n throw new Error()\n }\n\n return isFunction(column.sortType)\n ? column.sortType\n : column.sortType === 'auto'\n ? instance.getColumnAutoSortingFn(columnId)\n : (userSortTypes as Record<string, any>)?.[column.sortType as string] ??\n (sortTypes[\n column.sortType as BuiltInSortType\n ] as SortingFn<TGenerics>)\n },\n\n setSorting: updater =>\n instance.options.onSortingChange?.(\n updater,\n functionalUpdate(updater, instance.getState().sorting)\n ),\n\n toggleColumnSorting: (columnId, desc, multi) => {\n const column = instance.getColumn(columnId)\n\n if (!column) {\n throw new Error()\n }\n\n // if (column.columns.length) {\n // column.columns.forEach((c, i) => {\n // if (c.id) {\n // instance.toggleColumnSorting(c.id, undefined, multi || !!i)\n // }\n // })\n // return\n // }\n\n instance.setSorting(old => {\n // Find any existing sorting for this column\n const existingSorting = old?.find(d => d.id === columnId)\n const existingIndex = old?.findIndex(d => d.id === columnId)\n const hasDescDefined = typeof desc !== 'undefined' && desc !== null\n\n let newSorting: SortingState = []\n\n // What should we do with this sort action?\n let sortAction\n\n if (column.getCanMultiSort() && multi) {\n if (existingSorting) {\n sortAction = 'toggle'\n } else {\n sortAction = 'add'\n }\n } else {\n // Normal mode\n if (old?.length && existingIndex !== old.length - 1) {\n sortAction = 'replace'\n } else if (existingSorting) {\n sortAction = 'toggle'\n } else {\n sortAction = 'replace'\n }\n }\n\n const sortDescFirst =\n column.sortDescFirst ??\n instance.options.sortDescFirst ??\n instance.getColumnAutoSortDir(columnId) === 'desc'\n\n // Handle toggle states that will remove the sorting\n if (\n sortAction === 'toggle' && // Must be toggling\n (instance.options.enableSortingRemoval ?? true) && // If enableSortRemove, enable in general\n !hasDescDefined && // Must not be setting desc\n (multi ? instance.options.enableMultiRemove ?? true : true) && // If multi, don't allow if enableMultiRemove\n (existingSorting?.desc // Finally, detect if it should indeed be removed\n ? !sortDescFirst\n : sortDescFirst)\n ) {\n sortAction = 'remove'\n }\n\n if (sortAction === 'replace') {\n newSorting = [\n {\n id: columnId,\n desc: hasDescDefined ? desc! : !!sortDescFirst,\n },\n ]\n } else if (sortAction === 'add' && old?.length) {\n newSorting = [\n ...old,\n {\n id: columnId,\n desc: hasDescDefined ? desc! : !!sortDescFirst,\n },\n ]\n // Take latest n columns\n newSorting.splice(\n 0,\n newSorting.length -\n (instance.options.maxMultiSortColCount ?? Number.MAX_SAFE_INTEGER)\n )\n } else if (sortAction === 'toggle' && old?.length) {\n // This flips (or sets) the\n newSorting = old.map(d => {\n if (d.id === columnId) {\n return {\n ...d,\n desc: hasDescDefined ? desc! : !existingSorting?.desc,\n }\n }\n return d\n })\n } else if (sortAction === 'remove' && old?.length) {\n newSorting = old.filter(d => d.id !== columnId)\n }\n\n return newSorting\n })\n },\n\n getColumnCanSort: columnId => {\n const column = instance.getColumn(columnId)\n\n if (!column) {\n throw new Error()\n }\n\n return (\n column.enableSorting ??\n instance.options.enableSorting ??\n column.defaultCanSort ??\n !!column.accessorFn\n // (!!column.accessorFn ||\n // column.columns?.some(c => c.id && instance.getColumnCanSort(c.id))) ??\n // false\n )\n },\n\n getColumnCanMultiSort: columnId => {\n const column = instance.getColumn(columnId)\n\n if (!column) {\n throw new Error()\n }\n\n return (\n column.enableMultiSort ??\n instance.options.enableMultiSort ??\n !!column.accessorFn\n )\n },\n\n getColumnIsSorted: columnId => {\n const columnSort = instance\n .getState()\n .sorting?.find(d => d.id === columnId)\n\n return !columnSort ? false : columnSort.desc ? 'desc' : 'asc'\n },\n\n getColumnSortIndex: columnId =>\n instance.getState().sorting?.findIndex(d => d.id === columnId) ?? -1,\n\n resetSorting: () => {\n instance.setSorting(instance.initialState?.sorting ?? [])\n },\n\n getToggleSortingProps: (columnId, userProps) => {\n const column = instance.getColumn(columnId)\n\n if (!column) {\n throw new Error()\n }\n\n const canSort = column.getCanSort()\n\n const initialProps: ToggleSortingProps = {\n title: canSort ? 'Toggle Sorting' : undefined,\n onClick: canSort\n ? (e: MouseEvent | TouchEvent) => {\n e.persist()\n column.toggleSorting?.(\n undefined,\n column.getCanMultiSort()\n ? instance.options.isMultiSortEvent?.(e)\n : false\n )\n }\n : undefined,\n }\n\n return propGetter(initialProps, userProps)\n },\n\n getPreSortedRowModel: () => instance.getGlobalFilteredRowModel(),\n getSortedRowModel: memo(\n () => [\n instance.getState().sorting,\n instance.getGlobalFilteredRowModel(),\n instance.options.sortRowsFn,\n ],\n (sorting, rowModel, sortingFn) => {\n if (!sortingFn || !sorting?.length) {\n return rowModel\n }\n\n return sortingFn(instance, rowModel)\n },\n {\n key: 'getSortedRowModel',\n debug: () => instance.options.debugAll ?? instance.options.debugTable,\n onChange: () => {\n instance._notifyGroupingReset()\n },\n }\n ),\n }\n}\n"],"names":["getDefaultColumn","sortType","getInitialState","sorting","getDefaultOptions","instance","onSortingChange","makeStateUpdater","autoResetSorting","isMultiSortEvent","e","shiftKey","createColumn","column","getCanSort","getColumnCanSort","id","getCanMultiSort","getColumnCanMultiSort","getSortIndex","getColumnSortIndex","getIsSorted","getColumnIsSorted","toggleSorting","desc","isMulti","toggleColumnSorting","getToggleSortingProps","userProps","getInstance","registered","_notifySortingReset","options","autoResetAll","resetSorting","getColumnAutoSortingFn","columnId","firstRows","getGlobalFilteredRowModel","flatRows","slice","isString","row","value","values","Object","prototype","toString","call","sortTypes","datetime","split","reSplitAlphaNumeric","length","alphanumeric","text","basic","getColumnAutoSortDir","firstRow","getColumnSortingFn","getColumn","userSortTypes","Error","isFunction","setSorting","updater","functionalUpdate","getState","multi","old","existingSorting","find","d","existingIndex","findIndex","hasDescDefined","newSorting","sortAction","sortDescFirst","enableSortingRemoval","enableMultiRemove","splice","maxMultiSortColCount","Number","MAX_SAFE_INTEGER","map","filter","enableSorting","defaultCanSort","accessorFn","enableMultiSort","columnSort","initialState","canSort","initialProps","title","undefined","onClick","persist","propGetter","getPreSortedRowModel","getSortedRowModel","memo","sortRowsFn","rowModel","sortingFn","key","debug","debugAll","debugTable","onChange","_notifyGroupingReset"],"mappings":"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"}
|
|
@@ -1,174 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* react-table
|
|
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 _rollupPluginBabelHelpers = require('../_virtual/_rollupPluginBabelHelpers.js');
|
|
16
|
-
var utils = require('../utils.js');
|
|
17
|
-
|
|
18
|
-
//
|
|
19
|
-
function getInitialState() {
|
|
20
|
-
return {
|
|
21
|
-
columnVisibility: {}
|
|
22
|
-
};
|
|
23
|
-
}
|
|
24
|
-
function getDefaultOptions(instance) {
|
|
25
|
-
return {
|
|
26
|
-
onColumnVisibilityChange: utils.makeStateUpdater('columnVisibility', instance)
|
|
27
|
-
};
|
|
28
|
-
}
|
|
29
|
-
function getDefaultColumn() {
|
|
30
|
-
return {
|
|
31
|
-
defaultIsVisible: true
|
|
32
|
-
};
|
|
33
|
-
}
|
|
34
|
-
function createColumn(column, instance) {
|
|
35
|
-
return {
|
|
36
|
-
getCanHide: function getCanHide() {
|
|
37
|
-
return instance.getColumnCanHide(column.id);
|
|
38
|
-
},
|
|
39
|
-
getIsVisible: function getIsVisible() {
|
|
40
|
-
return instance.getColumnIsVisible(column.id);
|
|
41
|
-
},
|
|
42
|
-
toggleVisibility: function toggleVisibility(value) {
|
|
43
|
-
return instance.toggleColumnVisibility(column.id, value);
|
|
44
|
-
},
|
|
45
|
-
getToggleVisibilityProps: function getToggleVisibilityProps(userProps) {
|
|
46
|
-
var props = {
|
|
47
|
-
type: 'checkbox',
|
|
48
|
-
checked: column.getIsVisible == null ? void 0 : column.getIsVisible(),
|
|
49
|
-
title: 'Toggle Column Visibility',
|
|
50
|
-
onChange: function onChange(e) {
|
|
51
|
-
column.toggleVisibility == null ? void 0 : column.toggleVisibility(e.target.checked);
|
|
52
|
-
}
|
|
53
|
-
};
|
|
54
|
-
return utils.propGetter(props, userProps);
|
|
55
|
-
}
|
|
56
|
-
};
|
|
57
|
-
}
|
|
58
|
-
function getInstance(instance) {
|
|
59
|
-
return {
|
|
60
|
-
getVisibleFlatColumns: utils.memo(function () {
|
|
61
|
-
return [instance.getAllFlatColumns(), instance.getAllFlatColumns().filter(function (d) {
|
|
62
|
-
return d.getIsVisible == null ? void 0 : d.getIsVisible();
|
|
63
|
-
}).map(function (d) {
|
|
64
|
-
return d.id;
|
|
65
|
-
}).join('_')];
|
|
66
|
-
}, function (allFlatColumns) {
|
|
67
|
-
return allFlatColumns.filter(function (d) {
|
|
68
|
-
return d.getIsVisible == null ? void 0 : d.getIsVisible();
|
|
69
|
-
});
|
|
70
|
-
}, {
|
|
71
|
-
key: 'getVisibleFlatColumns',
|
|
72
|
-
debug: function debug() {
|
|
73
|
-
var _instance$options$deb;
|
|
74
|
-
|
|
75
|
-
return (_instance$options$deb = instance.options.debugAll) != null ? _instance$options$deb : instance.options.debugColumns;
|
|
76
|
-
}
|
|
77
|
-
}),
|
|
78
|
-
getVisibleLeafColumns: utils.memo(function () {
|
|
79
|
-
return [instance.getAllLeafColumns(), instance.getAllLeafColumns().filter(function (d) {
|
|
80
|
-
return d.getIsVisible == null ? void 0 : d.getIsVisible();
|
|
81
|
-
}).map(function (d) {
|
|
82
|
-
return d.id;
|
|
83
|
-
}).join('_')];
|
|
84
|
-
}, function (allFlatColumns) {
|
|
85
|
-
return allFlatColumns.filter(function (d) {
|
|
86
|
-
return d.getIsVisible == null ? void 0 : d.getIsVisible();
|
|
87
|
-
});
|
|
88
|
-
}, {
|
|
89
|
-
key: 'getVisibleLeafColumns',
|
|
90
|
-
debug: function debug() {
|
|
91
|
-
var _instance$options$deb2;
|
|
92
|
-
|
|
93
|
-
return (_instance$options$deb2 = instance.options.debugAll) != null ? _instance$options$deb2 : instance.options.debugColumns;
|
|
94
|
-
}
|
|
95
|
-
}),
|
|
96
|
-
setColumnVisibility: function setColumnVisibility(updater) {
|
|
97
|
-
return instance.options.onColumnVisibilityChange == null ? void 0 : instance.options.onColumnVisibilityChange(updater, utils.functionalUpdate(updater, instance.getState().columnVisibility));
|
|
98
|
-
},
|
|
99
|
-
toggleColumnVisibility: function toggleColumnVisibility(columnId, value) {
|
|
100
|
-
if (!columnId) return;
|
|
101
|
-
|
|
102
|
-
if (instance.getColumnCanHide(columnId)) {
|
|
103
|
-
instance.setColumnVisibility(function (old) {
|
|
104
|
-
var _extends2;
|
|
105
|
-
|
|
106
|
-
return _rollupPluginBabelHelpers["extends"]({}, old, (_extends2 = {}, _extends2[columnId] = value != null ? value : !instance.getColumnIsVisible(columnId), _extends2));
|
|
107
|
-
});
|
|
108
|
-
}
|
|
109
|
-
},
|
|
110
|
-
toggleAllColumnsVisible: function toggleAllColumnsVisible(value) {
|
|
111
|
-
var _value;
|
|
112
|
-
|
|
113
|
-
value = (_value = value) != null ? _value : !instance.getIsAllColumnsVisible();
|
|
114
|
-
instance.setColumnVisibility(instance.getAllLeafColumns().reduce(function (obj, column) {
|
|
115
|
-
var _extends3;
|
|
116
|
-
|
|
117
|
-
return _rollupPluginBabelHelpers["extends"]({}, obj, (_extends3 = {}, _extends3[column.id] = !value ? !(column.getCanHide != null && column.getCanHide()) : value, _extends3));
|
|
118
|
-
}, {}));
|
|
119
|
-
},
|
|
120
|
-
getColumnIsVisible: function getColumnIsVisible(columnId) {
|
|
121
|
-
var _ref, _instance$getState$co, _instance$getState$co2;
|
|
122
|
-
|
|
123
|
-
var column = instance.getColumn(columnId);
|
|
124
|
-
|
|
125
|
-
if (!column) {
|
|
126
|
-
throw new Error();
|
|
127
|
-
}
|
|
128
|
-
|
|
129
|
-
return (_ref = (_instance$getState$co = (_instance$getState$co2 = instance.getState().columnVisibility) == null ? void 0 : _instance$getState$co2[columnId]) != null ? _instance$getState$co : column.defaultIsVisible) != null ? _ref : true;
|
|
130
|
-
},
|
|
131
|
-
getColumnCanHide: function getColumnCanHide(columnId) {
|
|
132
|
-
var _ref2, _ref3, _instance$options$ena;
|
|
133
|
-
|
|
134
|
-
var column = instance.getColumn(columnId);
|
|
135
|
-
|
|
136
|
-
if (!column) {
|
|
137
|
-
throw new Error();
|
|
138
|
-
}
|
|
139
|
-
|
|
140
|
-
return (_ref2 = (_ref3 = (_instance$options$ena = instance.options.enableHiding) != null ? _instance$options$ena : column.enableHiding) != null ? _ref3 : column.defaultCanHide) != null ? _ref2 : true;
|
|
141
|
-
},
|
|
142
|
-
getIsAllColumnsVisible: function getIsAllColumnsVisible() {
|
|
143
|
-
return !instance.getAllLeafColumns().some(function (column) {
|
|
144
|
-
return !(column.getIsVisible != null && column.getIsVisible());
|
|
145
|
-
});
|
|
146
|
-
},
|
|
147
|
-
getIsSomeColumnsVisible: function getIsSomeColumnsVisible() {
|
|
148
|
-
return instance.getAllLeafColumns().some(function (column) {
|
|
149
|
-
return column.getIsVisible == null ? void 0 : column.getIsVisible();
|
|
150
|
-
});
|
|
151
|
-
},
|
|
152
|
-
getToggleAllColumnsVisibilityProps: function getToggleAllColumnsVisibilityProps(userProps) {
|
|
153
|
-
var props = {
|
|
154
|
-
onChange: function onChange(e) {
|
|
155
|
-
var _e$target;
|
|
156
|
-
|
|
157
|
-
instance.toggleAllColumnsVisible((_e$target = e.target) == null ? void 0 : _e$target.checked);
|
|
158
|
-
},
|
|
159
|
-
type: 'checkbox',
|
|
160
|
-
title: 'Toggle visibility for all columns',
|
|
161
|
-
checked: instance.getIsAllColumnsVisible(),
|
|
162
|
-
indeterminate: !instance.getIsAllColumnsVisible() && instance.getIsSomeColumnsVisible() ? 'indeterminate' : undefined
|
|
163
|
-
};
|
|
164
|
-
return utils.propGetter(props, userProps);
|
|
165
|
-
}
|
|
166
|
-
};
|
|
167
|
-
}
|
|
168
|
-
|
|
169
|
-
exports.createColumn = createColumn;
|
|
170
|
-
exports.getDefaultColumn = getDefaultColumn;
|
|
171
|
-
exports.getDefaultOptions = getDefaultOptions;
|
|
172
|
-
exports.getInitialState = getInitialState;
|
|
173
|
-
exports.getInstance = getInstance;
|
|
174
|
-
//# sourceMappingURL=Visibility.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"Visibility.js","sources":["../../../src/features/Visibility.ts"],"sourcesContent":["import {\n Cell,\n Column,\n Getter,\n OnChangeFn,\n PartialGenerics,\n PropGetterValue,\n TableInstance,\n Updater,\n} from '../types'\nimport { functionalUpdate, makeStateUpdater, memo, propGetter } from '../utils'\n\nexport type VisibilityOptions = {\n onColumnVisibilityChange?: OnChangeFn<VisibilityState>\n enableHiding?: boolean\n}\n\nexport type VisibilityDefaultOptions = {\n onColumnVisibilityChange: OnChangeFn<VisibilityState>\n}\n\nexport type VisibilityState = Record<string, boolean>\n\nexport type VisibilityTableState = {\n columnVisibility: VisibilityState\n}\n\nexport type VisibilityInstance<TGenerics extends PartialGenerics> = {\n getVisibleFlatColumns: () => Column<TGenerics>[]\n getVisibleLeafColumns: () => Column<TGenerics>[]\n setColumnVisibility: (updater: Updater<VisibilityState>) => void\n toggleColumnVisibility: (columnId: string, value?: boolean) => void\n toggleAllColumnsVisible: (value?: boolean) => void\n getColumnIsVisible: (columId: string) => boolean\n getColumnCanHide: (columnId: string) => boolean\n getIsAllColumnsVisible: () => boolean\n getIsSomeColumnsVisible: () => boolean\n getToggleAllColumnsVisibilityProps: <\n TGetter extends Getter<ToggleAllColumnsVisibilityProps>\n >(\n userProps?: TGetter\n ) => undefined | PropGetterValue<ToggleAllColumnsVisibilityProps, TGetter>\n}\n\ntype ToggleVisibilityProps = {}\ntype ToggleAllColumnsVisibilityProps = {}\n\nexport type VisibilityColumnDef = {\n enableHiding?: boolean\n defaultCanHide?: boolean\n}\n\nexport type VisibilityRow<TGenerics extends PartialGenerics> = {\n getVisibleCells: () => Cell<TGenerics>[]\n}\n\nexport type VisibilityColumn = {\n getCanHide: () => boolean\n getIsVisible: () => boolean\n toggleVisibility: (value?: boolean) => void\n getToggleVisibilityProps: <TGetter extends Getter<ToggleVisibilityProps>>(\n userProps?: TGetter\n ) => PropGetterValue<ToggleVisibilityProps, TGetter>\n}\n\n//\n\nexport function getInitialState(): VisibilityTableState {\n return {\n columnVisibility: {},\n }\n}\n\nexport function getDefaultOptions<TGenerics extends PartialGenerics>(\n instance: TableInstance<TGenerics>\n): VisibilityDefaultOptions {\n return {\n onColumnVisibilityChange: makeStateUpdater('columnVisibility', instance),\n }\n}\n\nexport function getDefaultColumn() {\n return {\n defaultIsVisible: true,\n }\n}\n\nexport function createColumn<TGenerics extends PartialGenerics>(\n column: Column<TGenerics>,\n instance: TableInstance<TGenerics>\n): VisibilityColumn {\n return {\n getCanHide: () => instance.getColumnCanHide(column.id),\n getIsVisible: () => instance.getColumnIsVisible(column.id),\n toggleVisibility: value =>\n instance.toggleColumnVisibility(column.id, value),\n getToggleVisibilityProps: userProps => {\n const props: ToggleVisibilityProps = {\n type: 'checkbox',\n checked: column.getIsVisible?.(),\n title: 'Toggle Column Visibility',\n onChange: (e: MouseEvent | TouchEvent) => {\n column.toggleVisibility?.((e.target as HTMLInputElement).checked)\n },\n }\n\n return propGetter(props, userProps)\n },\n }\n}\n\nexport function getInstance<TGenerics extends PartialGenerics>(\n instance: TableInstance<TGenerics>\n): VisibilityInstance<TGenerics> {\n return {\n getVisibleFlatColumns: memo(\n () => [\n instance.getAllFlatColumns(),\n instance\n .getAllFlatColumns()\n .filter(d => d.getIsVisible?.())\n .map(d => d.id)\n .join('_'),\n ],\n allFlatColumns => {\n return allFlatColumns.filter(d => d.getIsVisible?.())\n },\n {\n key: 'getVisibleFlatColumns',\n debug: () => instance.options.debugAll ?? instance.options.debugColumns,\n }\n ),\n\n getVisibleLeafColumns: memo(\n () => [\n instance.getAllLeafColumns(),\n instance\n .getAllLeafColumns()\n .filter(d => d.getIsVisible?.())\n .map(d => d.id)\n .join('_'),\n ],\n allFlatColumns => {\n return allFlatColumns.filter(d => d.getIsVisible?.())\n },\n {\n key: 'getVisibleLeafColumns',\n debug: () => instance.options.debugAll ?? instance.options.debugColumns,\n }\n ),\n\n setColumnVisibility: updater =>\n instance.options.onColumnVisibilityChange?.(\n updater,\n functionalUpdate(updater, instance.getState().columnVisibility)\n ),\n\n toggleColumnVisibility: (columnId, value) => {\n if (!columnId) return\n\n if (instance.getColumnCanHide(columnId)) {\n instance.setColumnVisibility(old => ({\n ...old,\n [columnId]: value ?? !instance.getColumnIsVisible(columnId),\n }))\n }\n },\n\n toggleAllColumnsVisible: value => {\n value = value ?? !instance.getIsAllColumnsVisible()\n\n instance.setColumnVisibility(\n instance.getAllLeafColumns().reduce(\n (obj, column) => ({\n ...obj,\n [column.id]: !value ? !column.getCanHide?.() : value,\n }),\n {}\n )\n )\n },\n\n getColumnIsVisible: columnId => {\n const column = instance.getColumn(columnId)\n\n if (!column) {\n throw new Error()\n }\n\n return (\n instance.getState().columnVisibility?.[columnId] ??\n column.defaultIsVisible ??\n true\n )\n },\n\n getColumnCanHide: columnId => {\n const column = instance.getColumn(columnId)\n\n if (!column) {\n throw new Error()\n }\n\n return (\n instance.options.enableHiding ??\n column.enableHiding ??\n column.defaultCanHide ??\n true\n )\n },\n\n getIsAllColumnsVisible: () =>\n !instance.getAllLeafColumns().some(column => !column.getIsVisible?.()),\n\n getIsSomeColumnsVisible: () =>\n instance.getAllLeafColumns().some(column => column.getIsVisible?.()),\n\n getToggleAllColumnsVisibilityProps: userProps => {\n const props: ToggleAllColumnsVisibilityProps = {\n onChange: (e: MouseEvent) => {\n instance.toggleAllColumnsVisible(\n (e.target as HTMLInputElement)?.checked\n )\n },\n type: 'checkbox',\n title: 'Toggle visibility for all columns',\n checked: instance.getIsAllColumnsVisible(),\n indeterminate:\n !instance.getIsAllColumnsVisible() &&\n instance.getIsSomeColumnsVisible()\n ? 'indeterminate'\n : undefined,\n }\n\n return propGetter(props, userProps)\n },\n }\n}\n"],"names":["getInitialState","columnVisibility","getDefaultOptions","instance","onColumnVisibilityChange","makeStateUpdater","getDefaultColumn","defaultIsVisible","createColumn","column","getCanHide","getColumnCanHide","id","getIsVisible","getColumnIsVisible","toggleVisibility","value","toggleColumnVisibility","getToggleVisibilityProps","userProps","props","type","checked","title","onChange","e","target","propGetter","getInstance","getVisibleFlatColumns","memo","getAllFlatColumns","filter","d","map","join","allFlatColumns","key","debug","options","debugAll","debugColumns","getVisibleLeafColumns","getAllLeafColumns","setColumnVisibility","updater","functionalUpdate","getState","columnId","old","toggleAllColumnsVisible","getIsAllColumnsVisible","reduce","obj","getColumn","Error","enableHiding","defaultCanHide","some","getIsSomeColumnsVisible","getToggleAllColumnsVisibilityProps","indeterminate","undefined"],"mappings":"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"}
|