@tanstack/table-core 8.0.0-alpha.65 → 8.0.0-alpha.69

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.
Files changed (144) hide show
  1. package/build/cjs/aggregationFns.js +25 -37
  2. package/build/cjs/aggregationFns.js.map +1 -1
  3. package/build/cjs/core.js +167 -48
  4. package/build/cjs/core.js.map +1 -1
  5. package/build/cjs/createTable.js +24 -40
  6. package/build/cjs/createTable.js.map +1 -1
  7. package/build/cjs/features/Cells.js +28 -34
  8. package/build/cjs/features/Cells.js.map +1 -1
  9. package/build/cjs/features/ColumnSizing.js +136 -225
  10. package/build/cjs/features/ColumnSizing.js.map +1 -1
  11. package/build/cjs/features/Columns.js +57 -84
  12. package/build/cjs/features/Columns.js.map +1 -1
  13. package/build/cjs/features/Expanding.js +79 -126
  14. package/build/cjs/features/Expanding.js.map +1 -1
  15. package/build/cjs/features/Filters.js +137 -288
  16. package/build/cjs/features/Filters.js.map +1 -1
  17. package/build/cjs/features/Grouping.js +71 -117
  18. package/build/cjs/features/Grouping.js.map +1 -1
  19. package/build/cjs/features/Headers.js +125 -205
  20. package/build/cjs/features/Headers.js.map +1 -1
  21. package/build/cjs/features/Ordering.js +32 -44
  22. package/build/cjs/features/Ordering.js.map +1 -1
  23. package/build/cjs/features/Pagination.js +79 -82
  24. package/build/cjs/features/Pagination.js.map +1 -1
  25. package/build/cjs/features/Pinning.js +99 -178
  26. package/build/cjs/features/Pinning.js.map +1 -1
  27. package/build/cjs/features/RowSelection.js +133 -204
  28. package/build/cjs/features/RowSelection.js.map +1 -1
  29. package/build/cjs/features/Rows.js +32 -22
  30. package/build/cjs/features/Rows.js.map +1 -1
  31. package/build/cjs/features/Sorting.js +67 -136
  32. package/build/cjs/features/Sorting.js.map +1 -1
  33. package/build/cjs/features/Visibility.js +56 -118
  34. package/build/cjs/features/Visibility.js.map +1 -1
  35. package/build/cjs/filterFns.js +48 -72
  36. package/build/cjs/filterFns.js.map +1 -1
  37. package/build/cjs/index.js +13 -13
  38. package/build/cjs/sortingFns.js +21 -21
  39. package/build/cjs/sortingFns.js.map +1 -1
  40. package/build/cjs/utils/filterRowsUtils.js +49 -55
  41. package/build/cjs/utils/filterRowsUtils.js.map +1 -1
  42. package/build/cjs/utils/getCoreRowModel.js +98 -0
  43. package/build/cjs/utils/getCoreRowModel.js.map +1 -0
  44. package/build/cjs/utils/getExpandedRowModel.js +18 -22
  45. package/build/cjs/utils/getExpandedRowModel.js.map +1 -1
  46. package/build/cjs/utils/getFacetedMinMaxValues.js +48 -0
  47. package/build/cjs/utils/getFacetedMinMaxValues.js.map +1 -0
  48. package/build/cjs/utils/getFacetedRowModel.js +50 -0
  49. package/build/cjs/utils/getFacetedRowModel.js.map +1 -0
  50. package/build/cjs/utils/getFacetedUniqueValues.js +48 -0
  51. package/build/cjs/utils/getFacetedUniqueValues.js.map +1 -0
  52. package/build/cjs/utils/getFilteredRowModel.js +130 -0
  53. package/build/cjs/utils/getFilteredRowModel.js.map +1 -0
  54. package/build/cjs/utils/getGroupedRowModel.js +126 -136
  55. package/build/cjs/utils/getGroupedRowModel.js.map +1 -1
  56. package/build/cjs/utils/getPaginationRowModel.js +39 -39
  57. package/build/cjs/utils/getPaginationRowModel.js.map +1 -1
  58. package/build/cjs/utils/getSortedRowModel.js +112 -0
  59. package/build/cjs/utils/getSortedRowModel.js.map +1 -0
  60. package/build/cjs/utils.js +36 -207
  61. package/build/cjs/utils.js.map +1 -1
  62. package/build/esm/index.js +2024 -2971
  63. package/build/esm/index.js.map +1 -1
  64. package/build/stats-html.html +1 -1
  65. package/build/stats-react.json +421 -481
  66. package/build/types/core.d.ts +3 -5
  67. package/build/types/features/Cells.d.ts +1 -1
  68. package/build/types/features/ColumnSizing.d.ts +4 -15
  69. package/build/types/features/Columns.d.ts +1 -1
  70. package/build/types/features/Expanding.d.ts +2 -7
  71. package/build/types/features/Filters.d.ts +24 -21
  72. package/build/types/features/Grouping.d.ts +5 -11
  73. package/build/types/features/Ordering.d.ts +1 -1
  74. package/build/types/features/Pagination.d.ts +3 -3
  75. package/build/types/features/Pinning.d.ts +1 -5
  76. package/build/types/features/RowSelection.d.ts +2 -8
  77. package/build/types/features/Rows.d.ts +4 -3
  78. package/build/types/features/Sorting.d.ts +5 -15
  79. package/build/types/features/Visibility.d.ts +1 -4
  80. package/build/types/index.d.ts +6 -4
  81. package/build/types/types.d.ts +3 -15
  82. package/build/types/utils/filterRowsUtils.d.ts +3 -3
  83. package/build/types/utils/getCoreRowModel.d.ts +2 -0
  84. package/build/types/utils/getFacetedMinMaxValues.d.ts +2 -0
  85. package/build/types/utils/getFacetedRowModel.d.ts +2 -0
  86. package/build/types/utils/getFacetedUniqueValues.d.ts +2 -0
  87. package/build/types/utils/{getCoreRowModelSync.d.ts → getFilteredRowModel.d.ts} +1 -1
  88. package/build/types/utils/getGroupedRowModel.d.ts +1 -1
  89. package/build/types/utils/getSortedRowModel.d.ts +2 -0
  90. package/build/types/utils.d.ts +1 -17
  91. package/build/umd/index.development.js +2053 -3002
  92. package/build/umd/index.development.js.map +1 -1
  93. package/build/umd/index.production.js +1 -1
  94. package/build/umd/index.production.js.map +1 -1
  95. package/package.json +1 -1
  96. package/src/core.ts +197 -47
  97. package/src/features/Cells.ts +7 -11
  98. package/src/features/ColumnSizing.ts +89 -139
  99. package/src/features/Columns.ts +10 -13
  100. package/src/features/Expanding.ts +62 -107
  101. package/src/features/Filters.ts +201 -308
  102. package/src/features/Grouping.ts +55 -81
  103. package/src/features/Headers.ts +18 -40
  104. package/src/features/Ordering.ts +6 -4
  105. package/src/features/Pagination.ts +31 -17
  106. package/src/features/Pinning.ts +79 -96
  107. package/src/features/RowSelection.ts +68 -118
  108. package/src/features/Rows.ts +21 -6
  109. package/src/features/Sorting.ts +47 -103
  110. package/src/features/Visibility.ts +24 -47
  111. package/src/filterFns.ts +9 -9
  112. package/src/index.ts +12 -4
  113. package/src/sortingFns.ts +11 -11
  114. package/src/types.ts +3 -18
  115. package/src/utils/filterRowsUtils.ts +47 -68
  116. package/src/utils/{getCoreRowModelSync.ts → getCoreRowModel.ts} +3 -9
  117. package/src/utils/getExpandedRowModel.ts +2 -2
  118. package/src/utils/getFacetedMinMaxValues.ts +37 -0
  119. package/src/utils/getFacetedRowModel.ts +50 -0
  120. package/src/utils/getFacetedUniqueValues.ts +37 -0
  121. package/src/utils/getFilteredRowModel.ts +150 -0
  122. package/src/utils/getGroupedRowModel.ts +53 -62
  123. package/src/utils/getPaginationRowModel.ts +1 -1
  124. package/src/utils/{getSortedRowModelSync.ts → getSortedRowModel.ts} +7 -7
  125. package/src/utils.ts +28 -236
  126. package/build/cjs/_virtual/_rollupPluginBabelHelpers.js +0 -112
  127. package/build/cjs/_virtual/_rollupPluginBabelHelpers.js.map +0 -1
  128. package/build/cjs/utils/getCoreRowModelAsync.js +0 -125
  129. package/build/cjs/utils/getCoreRowModelAsync.js.map +0 -1
  130. package/build/cjs/utils/getCoreRowModelSync.js +0 -102
  131. package/build/cjs/utils/getCoreRowModelSync.js.map +0 -1
  132. package/build/cjs/utils/getFilteredRowModelSync.js +0 -130
  133. package/build/cjs/utils/getFilteredRowModelSync.js.map +0 -1
  134. package/build/cjs/utils/getSortedRowModelSync.js +0 -118
  135. package/build/cjs/utils/getSortedRowModelSync.js.map +0 -1
  136. package/build/types/utils/getCoreRowModelAsync.d.ts +0 -4
  137. package/build/types/utils/getFilteredRowModelAsync.d.ts +0 -4
  138. package/build/types/utils/getFilteredRowModelSync.d.ts +0 -2
  139. package/build/types/utils/getSortedRowModelAsync.d.ts +0 -13
  140. package/build/types/utils/getSortedRowModelSync.d.ts +0 -2
  141. package/src/utils/getCoreRowModelAsync.ts +0 -104
  142. package/src/utils/getFilteredRowModelAsync.ts +0 -49
  143. package/src/utils/getFilteredRowModelSync.ts +0 -150
  144. package/src/utils/getSortedRowModelAsync.ts +0 -200
@@ -12,119 +12,45 @@
12
12
 
13
13
  Object.defineProperty(exports, '__esModule', { value: true });
14
14
 
15
- var _rollupPluginBabelHelpers = require('../_virtual/_rollupPluginBabelHelpers.js');
16
15
  var filterFns = require('../filterFns.js');
17
16
  var utils = require('../utils.js');
18
- var filterRowsUtils = require('../utils/filterRowsUtils.js');
19
17
 
20
18
  //
21
- var Filters = {
22
- getDefaultColumn: function getDefaultColumn() {
19
+ const Filters = {
20
+ getDefaultColumn: () => {
23
21
  return {
24
22
  filterFn: 'auto'
25
23
  };
26
24
  },
27
- getInitialState: function getInitialState(state) {
28
- return _rollupPluginBabelHelpers["extends"]({
25
+ getInitialState: state => {
26
+ return {
29
27
  columnFilters: [],
30
28
  globalFilter: undefined,
31
- columnFiltersProgress: 1,
32
- globalFilterProgress: 1
33
- }, state);
29
+ // filtersProgress: 1,
30
+ // facetProgress: {},
31
+ ...state
32
+ };
34
33
  },
35
- getDefaultOptions: function getDefaultOptions(instance) {
34
+ getDefaultOptions: instance => {
36
35
  return {
37
36
  onColumnFiltersChange: utils.makeStateUpdater('columnFilters', instance),
38
37
  onGlobalFilterChange: utils.makeStateUpdater('globalFilter', instance),
39
- filterFromLeafRows: true,
38
+ filterFromLeafRows: false,
40
39
  globalFilterFn: 'auto',
41
- getColumnCanGlobalFilter: function getColumnCanGlobalFilter(column) {
40
+ getColumnCanGlobalFilter: column => {
42
41
  var _instance$getCoreRowM, _instance$getCoreRowM2;
43
42
 
44
- var value = (_instance$getCoreRowM = instance.getCoreRowModel().flatRows[0]) == null ? void 0 : (_instance$getCoreRowM2 = _instance$getCoreRowM.getAllCellsByColumnId()[column.id]) == null ? void 0 : _instance$getCoreRowM2.value;
43
+ const value = (_instance$getCoreRowM = instance.getCoreRowModel().flatRows[0]) == null ? void 0 : (_instance$getCoreRowM2 = _instance$getCoreRowM.getAllCellsByColumnId()[column.id]) == null ? void 0 : _instance$getCoreRowM2.getValue();
45
44
  return typeof value === 'string';
46
45
  }
47
46
  };
48
47
  },
49
- createColumn: function createColumn(column, instance) {
48
+ createColumn: (column, instance) => {
50
49
  return {
51
50
  filterFn: column.filterFn,
52
- getCanColumnFilter: function getCanColumnFilter() {
53
- return instance.getColumnCanColumnFilter(column.id);
54
- },
55
- getCanGlobalFilter: function getCanGlobalFilter() {
56
- return instance.getColumnCanGlobalFilter(column.id);
57
- },
58
- getColumnFilterIndex: function getColumnFilterIndex() {
59
- return instance.getColumnFilterIndex(column.id);
60
- },
61
- getColumnIsFiltered: function getColumnIsFiltered() {
62
- return instance.getColumnIsFiltered(column.id);
63
- },
64
- getColumnFilterValue: function getColumnFilterValue() {
65
- return instance.getColumnFilterValue(column.id);
66
- },
67
- setColumnFilterValue: function setColumnFilterValue(val) {
68
- return instance.setColumnFilterValue(column.id, val);
69
- },
70
- getFacetedRowModel: utils.memo(function () {
71
- return [instance.getPreFilteredRowModel(), instance.getState().columnFilters, instance.getState().globalFilter, // Include this to force the filtered facet info to be calculated
72
- instance.getFilteredRowModel()];
73
- }, function (rowModel, columnFilters, globalFilter, _) {
74
- if (!(columnFilters != null && columnFilters.length) && !globalFilter) {
75
- return rowModel;
76
- }
77
-
78
- return filterRowsUtils.filterRows(rowModel.rows, [].concat(columnFilters.map(function (d) {
79
- return d.id;
80
- }).filter(function (d) {
81
- return d !== column.id;
82
- }), [globalFilter ? '__global__' : undefined]).filter(Boolean), instance);
83
- }, {
84
- key: process.env.NODE_ENV === 'production' && 'getFacetedRowModel_' + column.id,
85
- debug: function debug() {
86
- var _instance$options$deb;
87
-
88
- return (_instance$options$deb = instance.options.debugAll) != null ? _instance$options$deb : instance.options.debugColumns;
89
- }
90
- }),
91
- getFacetedUniqueValues: utils.memo(function () {
92
- return [column.getFacetedRowModel()];
93
- }, function (facetedRowModel) {
94
- return getRowModelUniqueValues(facetedRowModel, column.id);
95
- }, {
96
- key: process.env.NODE_ENV === 'production' && 'column.getFacetedUniqueValues',
97
- debug: function debug() {
98
- var _instance$options$deb2;
99
-
100
- return (_instance$options$deb2 = instance.options.debugAll) != null ? _instance$options$deb2 : instance.options.debugColumns;
101
- }
102
- }),
103
- getFacetedMinMaxValues: utils.memo(function () {
104
- return [column.getFacetedRowModel()];
105
- }, function (facetedRowModel) {
106
- return getRowModelMinMaxValues(facetedRowModel, column.id);
107
- }, {
108
- key: process.env.NODE_ENV === 'production' && 'column.getFacetedMinMaxValues',
109
- debug: function debug() {
110
- var _instance$options$deb3;
111
-
112
- return (_instance$options$deb3 = instance.options.debugAll) != null ? _instance$options$deb3 : instance.options.debugColumns;
113
- }
114
- })
115
- };
116
- },
117
- createRow: function createRow(row, instance) {
118
- return {
119
- columnFilterMap: {},
120
- subRowsByFacetId: {}
121
- };
122
- },
123
- createInstance: function createInstance(instance) {
124
- return {
125
- getColumnAutoFilterFn: function getColumnAutoFilterFn(columnId) {
126
- var firstRow = instance.getCoreRowModel().flatRows[0];
127
- var value = firstRow == null ? void 0 : firstRow.values[columnId];
51
+ getAutoFilterFn: () => {
52
+ const firstRow = instance.getCoreRowModel().flatRows[0];
53
+ const value = firstRow == null ? void 0 : firstRow.getValue(column.id);
128
54
 
129
55
  if (typeof value === 'string') {
130
56
  return filterFns.filterFns.includesString;
@@ -144,145 +70,55 @@ var Filters = {
144
70
 
145
71
  return filterFns.filterFns.weakEquals;
146
72
  },
147
- getColumnFacetedRowModel: function getColumnFacetedRowModel(columnId) {
148
- var column = instance.getColumn(columnId);
149
-
150
- if (!column) {
151
- throw new Error();
152
- }
153
-
154
- return column.getFacetedRowModel();
155
- },
156
- getGlobalAutoFilterFn: function getGlobalAutoFilterFn() {
157
- return filterFns.filterFns.includesString;
158
- },
159
- getColumnFilterFn: function getColumnFilterFn(columnId) {
73
+ getFilterFn: () => {
160
74
  var _ref;
161
75
 
162
- var column = instance.getColumn(columnId);
163
- var userFilterFns = instance.options.filterFns;
164
-
165
- if (!column) {
166
- throw new Error();
167
- }
168
-
169
- return utils.isFunction(column.filterFn) ? column.filterFn : column.filterFn === 'auto' ? instance.getColumnAutoFilterFn(columnId) : (_ref = userFilterFns == null ? void 0 : userFilterFns[column.filterFn]) != null ? _ref : filterFns.filterFns[column.filterFn];
170
- },
171
- getGlobalFilterFn: function getGlobalFilterFn() {
172
- var _ref2;
173
-
174
- var _instance$options = instance.options,
175
- userFilterFns = _instance$options.filterFns,
176
- globalFilterFn = _instance$options.globalFilterFn;
177
- return utils.isFunction(globalFilterFn) ? globalFilterFn : globalFilterFn === 'auto' ? instance.getGlobalAutoFilterFn() : (_ref2 = userFilterFns == null ? void 0 : userFilterFns[globalFilterFn]) != null ? _ref2 : filterFns.filterFns[globalFilterFn];
76
+ const userFilterFns = instance.options.filterFns;
77
+ return utils.isFunction(column.filterFn) ? column.filterFn : column.filterFn === 'auto' ? column.getAutoFilterFn() : (_ref = userFilterFns == null ? void 0 : userFilterFns[column.filterFn]) != null ? _ref : filterFns.filterFns[column.filterFn];
178
78
  },
179
- setColumnFilters: function setColumnFilters(updater) {
180
- var leafColumns = instance.getAllLeafColumns();
181
-
182
- var updateFn = function updateFn(old) {
183
- var _functionalUpdate;
184
-
185
- return (_functionalUpdate = utils.functionalUpdate(updater, old)) == null ? void 0 : _functionalUpdate.filter(function (filter) {
186
- var column = leafColumns.find(function (d) {
187
- return d.id === filter.id;
188
- });
189
-
190
- if (column) {
191
- var filterFn = instance.getColumnFilterFn(column.id);
192
-
193
- if (shouldAutoRemoveFilter(filterFn, filter.value, column)) {
194
- return false;
195
- }
196
- }
197
-
198
- return true;
199
- });
200
- };
201
-
202
- instance.options.onColumnFiltersChange == null ? void 0 : instance.options.onColumnFiltersChange(updateFn);
203
- },
204
- setGlobalFilter: function setGlobalFilter(updater) {
205
- instance.options.onGlobalFilterChange == null ? void 0 : instance.options.onGlobalFilterChange(updater);
206
- },
207
- resetGlobalFilter: function resetGlobalFilter() {
208
- instance.setGlobalFilter(instance.initialState.globalFilter);
209
- },
210
- getColumnCanColumnFilter: function getColumnCanColumnFilter(columnId) {
79
+ getCanFilter: () => {
211
80
  var _column$enableColumnF, _instance$options$ena, _instance$options$ena2;
212
81
 
213
- var column = instance.getColumn(columnId);
214
-
215
- if (!column) {
216
- throw new Error();
217
- }
218
-
219
82
  return ((_column$enableColumnF = column.enableColumnFilter) != null ? _column$enableColumnF : true) && ((_instance$options$ena = instance.options.enableColumnFilters) != null ? _instance$options$ena : true) && ((_instance$options$ena2 = instance.options.enableFilters) != null ? _instance$options$ena2 : true) && !!column.accessorFn;
220
83
  },
221
- getColumnCanGlobalFilter: function getColumnCanGlobalFilter(columnId) {
84
+ getCanGlobalFilter: () => {
222
85
  var _column$enableGlobalF, _instance$options$ena3, _instance$options$ena4, _instance$options$get;
223
86
 
224
- var column = instance.getColumn(columnId);
225
-
226
- if (!column) {
227
- throw new Error();
228
- }
229
-
230
87
  return ((_column$enableGlobalF = column.enableGlobalFilter) != null ? _column$enableGlobalF : true) && ((_instance$options$ena3 = instance.options.enableGlobalFilter) != null ? _instance$options$ena3 : true) && ((_instance$options$ena4 = instance.options.enableFilters) != null ? _instance$options$ena4 : true) && ((_instance$options$get = instance.options.getColumnCanGlobalFilter == null ? void 0 : instance.options.getColumnCanGlobalFilter(column)) != null ? _instance$options$get : true) && !!column.accessorFn;
231
88
  },
232
- getColumnIsFiltered: function getColumnIsFiltered(columnId) {
233
- return instance.getColumnFilterIndex(columnId) > -1;
234
- },
235
- getColumnFilterValue: function getColumnFilterValue(columnId) {
89
+ getIsFiltered: () => column.getFilterIndex() > -1,
90
+ getFilterValue: () => {
236
91
  var _instance$getState$co, _instance$getState$co2;
237
92
 
238
- return (_instance$getState$co = instance.getState().columnFilters) == null ? void 0 : (_instance$getState$co2 = _instance$getState$co.find(function (d) {
239
- return d.id === columnId;
240
- })) == null ? void 0 : _instance$getState$co2.value;
93
+ return (_instance$getState$co = instance.getState().columnFilters) == null ? void 0 : (_instance$getState$co2 = _instance$getState$co.find(d => d.id === column.id)) == null ? void 0 : _instance$getState$co2.value;
241
94
  },
242
- getColumnFilterIndex: function getColumnFilterIndex(columnId) {
95
+ getFilterIndex: () => {
243
96
  var _instance$getState$co3, _instance$getState$co4;
244
97
 
245
- return (_instance$getState$co3 = (_instance$getState$co4 = instance.getState().columnFilters) == null ? void 0 : _instance$getState$co4.findIndex(function (d) {
246
- return d.id === columnId;
247
- })) != null ? _instance$getState$co3 : -1;
98
+ return (_instance$getState$co3 = (_instance$getState$co4 = instance.getState().columnFilters) == null ? void 0 : _instance$getState$co4.findIndex(d => d.id === column.id)) != null ? _instance$getState$co3 : -1;
248
99
  },
249
- setColumnFilterValue: function setColumnFilterValue(columnId, value) {
250
- if (!columnId) return;
251
- instance.setColumnFilters(function (old) {
252
- var column = instance.getColumn(columnId);
253
-
254
- if (!column) {
255
- if (process.env.NODE_ENV !== 'production') {
256
- console.warn("Table: Could not find a column with id: " + columnId);
257
- }
258
-
259
- throw new Error();
260
- }
261
-
262
- var filterFn = instance.getColumnFilterFn(column.id);
263
- var previousfilter = old == null ? void 0 : old.find(function (d) {
264
- return d.id === columnId;
265
- });
266
- var newFilter = utils.functionalUpdate(value, previousfilter ? previousfilter.value : undefined); //
100
+ setFilterValue: value => {
101
+ instance.setColumnFilters(old => {
102
+ const filterFn = column.getFilterFn();
103
+ const previousfilter = old == null ? void 0 : old.find(d => d.id === column.id);
104
+ const newFilter = utils.functionalUpdate(value, previousfilter ? previousfilter.value : undefined); //
267
105
 
268
106
  if (shouldAutoRemoveFilter(filterFn, newFilter, column)) {
269
107
  var _old$filter;
270
108
 
271
- return (_old$filter = old == null ? void 0 : old.filter(function (d) {
272
- return d.id !== columnId;
273
- })) != null ? _old$filter : [];
109
+ return (_old$filter = old == null ? void 0 : old.filter(d => d.id !== column.id)) != null ? _old$filter : [];
274
110
  }
275
111
 
276
- var newFilterObj = {
277
- id: columnId,
112
+ const newFilterObj = {
113
+ id: column.id,
278
114
  value: newFilter
279
115
  };
280
116
 
281
117
  if (previousfilter) {
282
118
  var _old$map;
283
119
 
284
- return (_old$map = old == null ? void 0 : old.map(function (d) {
285
- if (d.id === columnId) {
120
+ return (_old$map = old == null ? void 0 : old.map(d => {
121
+ if (d.id === column.id) {
286
122
  return newFilterObj;
287
123
  }
288
124
 
@@ -291,121 +127,134 @@ var Filters = {
291
127
  }
292
128
 
293
129
  if (old != null && old.length) {
294
- return [].concat(old, [newFilterObj]);
130
+ return [...old, newFilterObj];
295
131
  }
296
132
 
297
133
  return [newFilterObj];
298
134
  });
299
135
  },
300
- resetColumnFilters: function resetColumnFilters() {
301
- var _instance$initialStat, _instance$initialStat2;
136
+ _getFacetedRowModel: instance.options.getFacetedRowModel && instance.options.getFacetedRowModel(instance, column.id),
137
+ getFacetedRowModel: () => {
138
+ if (!column._getFacetedRowModel) {
139
+ return instance.getPreFilteredRowModel();
140
+ }
302
141
 
303
- instance.setColumnFilters((_instance$initialStat = (_instance$initialStat2 = instance.initialState) == null ? void 0 : _instance$initialStat2.columnFilters) != null ? _instance$initialStat : []);
142
+ return column._getFacetedRowModel();
304
143
  },
305
- getPreFilteredRowModel: function getPreFilteredRowModel() {
306
- return instance.getCoreRowModel();
144
+ _getFacetedUniqueValues: instance.options.getFacetedUniqueValues && instance.options.getFacetedUniqueValues(instance, column.id),
145
+ getFacetedUniqueValues: () => {
146
+ if (!column._getFacetedUniqueValues) {
147
+ return new Map();
148
+ }
149
+
150
+ return column._getFacetedUniqueValues();
307
151
  },
308
- getFilteredRowModel: function getFilteredRowModel() {
309
- if (!instance._getFilteredRowModel && instance.options.getFilteredRowModel) {
310
- instance._getFilteredRowModel = instance.options.getFilteredRowModel(instance);
152
+ _getFacetedMinMaxValues: instance.options.getFacetedMinMaxValues && instance.options.getFacetedMinMaxValues(instance, column.id),
153
+ getFacetedMinMaxValues: () => {
154
+ if (!column._getFacetedMinMaxValues) {
155
+ return [NaN, NaN];
311
156
  }
312
157
 
158
+ return column._getFacetedMinMaxValues();
159
+ } // () => [column.getFacetedRowModel()],
160
+ // facetedRowModel => getRowModelMinMaxValues(facetedRowModel, column.id),
161
+
162
+ };
163
+ },
164
+ createRow: (row, instance) => {
165
+ return {
166
+ columnFilterMap: {},
167
+ subRowsByFacetId: {}
168
+ };
169
+ },
170
+ createInstance: instance => {
171
+ return {
172
+ getGlobalAutoFilterFn: () => {
173
+ return filterFns.filterFns.includesString;
174
+ },
175
+ getGlobalFilterFn: () => {
176
+ var _ref2;
177
+
178
+ const {
179
+ filterFns: userFilterFns,
180
+ globalFilterFn: globalFilterFn
181
+ } = instance.options;
182
+ return utils.isFunction(globalFilterFn) ? globalFilterFn : globalFilterFn === 'auto' ? instance.getGlobalAutoFilterFn() : (_ref2 = userFilterFns == null ? void 0 : userFilterFns[globalFilterFn]) != null ? _ref2 : filterFns.filterFns[globalFilterFn];
183
+ },
184
+ setColumnFilters: updater => {
185
+ const leafColumns = instance.getAllLeafColumns();
186
+
187
+ const updateFn = old => {
188
+ var _functionalUpdate;
189
+
190
+ return (_functionalUpdate = utils.functionalUpdate(updater, old)) == null ? void 0 : _functionalUpdate.filter(filter => {
191
+ const column = leafColumns.find(d => d.id === filter.id);
192
+
193
+ if (column) {
194
+ const filterFn = column.getFilterFn();
195
+
196
+ if (shouldAutoRemoveFilter(filterFn, filter.value, column)) {
197
+ return false;
198
+ }
199
+ }
200
+
201
+ return true;
202
+ });
203
+ };
204
+
205
+ instance.options.onColumnFiltersChange == null ? void 0 : instance.options.onColumnFiltersChange(updateFn);
206
+ },
207
+ setGlobalFilter: updater => {
208
+ instance.options.onGlobalFilterChange == null ? void 0 : instance.options.onGlobalFilterChange(updater);
209
+ },
210
+ resetGlobalFilter: defaultState => {
211
+ instance.setGlobalFilter(defaultState ? undefined : instance.initialState.globalFilter);
212
+ },
213
+ resetColumnFilters: defaultState => {
214
+ var _instance$initialStat, _instance$initialStat2;
215
+
216
+ instance.setColumnFilters(defaultState ? [] : (_instance$initialStat = (_instance$initialStat2 = instance.initialState) == null ? void 0 : _instance$initialStat2.columnFilters) != null ? _instance$initialStat : []);
217
+ },
218
+ getPreFilteredRowModel: () => instance.getCoreRowModel(),
219
+ _getFilteredRowModel: instance.options.getFilteredRowModel && instance.options.getFilteredRowModel(instance),
220
+ getFilteredRowModel: () => {
313
221
  if (instance.options.manualFiltering || !instance._getFilteredRowModel) {
314
222
  return instance.getPreFilteredRowModel();
315
223
  }
316
224
 
317
225
  return instance._getFilteredRowModel();
318
226
  },
319
- getGlobalFacetedRowModel: utils.memo(function () {
320
- return [instance.getPreFilteredRowModel(), instance.getState().columnFilters, instance.getState().globalFilter, // Include this to force the filtered facet info to be calculated
321
- instance.getFilteredRowModel()];
322
- }, function (rowModel, columnFilters, globalFilter, _) {
323
- if (!(columnFilters != null && columnFilters.length) && !globalFilter) {
324
- return rowModel;
227
+ _getGlobalFacetedRowModel: instance.options.getFacetedRowModel && instance.options.getFacetedRowModel(instance, '__global__'),
228
+ getGlobalFacetedRowModel: () => {
229
+ if (instance.options.manualFiltering || !instance._getGlobalFacetedRowModel) {
230
+ return instance.getPreFilteredRowModel();
325
231
  }
326
232
 
327
- return filterRowsUtils.filterRows(rowModel.rows, columnFilters.map(function (d) {
328
- return d.id;
329
- }), instance);
330
- }, {
331
- key: process.env.NODE_ENV === 'production' && 'getGlobalFacetedRowModel',
332
- debug: function debug() {
333
- var _instance$options$deb4;
334
-
335
- return (_instance$options$deb4 = instance.options.debugAll) != null ? _instance$options$deb4 : instance.options.debugColumns;
336
- }
337
- }),
338
- getGlobalFacetedUniqueValues: utils.memo(function () {
339
- return [instance.getGlobalFacetedRowModel()];
340
- }, function (facetedRowModel) {
341
- return getRowModelUniqueValues(facetedRowModel, '__global__');
342
- }, {
343
- key: process.env.NODE_ENV === 'production' && 'getGlobalFacetedUniqueValues',
344
- debug: function debug() {
345
- var _instance$options$deb5;
346
-
347
- return (_instance$options$deb5 = instance.options.debugAll) != null ? _instance$options$deb5 : instance.options.debugColumns;
233
+ return instance._getGlobalFacetedRowModel();
234
+ },
235
+ _getGlobalFacetedUniqueValues: instance.options.getFacetedUniqueValues && instance.options.getFacetedUniqueValues(instance, '__global__'),
236
+ getGlobalFacetedUniqueValues: () => {
237
+ if (!instance._getGlobalFacetedUniqueValues) {
238
+ return new Map();
348
239
  }
349
- }),
350
- getGlobalFacetedMinMaxValues: utils.memo(function () {
351
- return [instance.getGlobalFacetedRowModel()];
352
- }, function (facetedRowModel) {
353
- return getRowModelMinMaxValues(facetedRowModel, '__global__');
354
- }, {
355
- key: process.env.NODE_ENV === 'production' && 'getGlobalFacetedMinMaxValues',
356
- debug: function debug() {
357
- var _instance$options$deb6;
358
-
359
- return (_instance$options$deb6 = instance.options.debugAll) != null ? _instance$options$deb6 : instance.options.debugColumns;
240
+
241
+ return instance._getGlobalFacetedUniqueValues();
242
+ },
243
+ _getGlobalFacetedMinMaxValues: instance.options.getFacetedMinMaxValues && instance.options.getFacetedMinMaxValues(instance, '__global__'),
244
+ getGlobalFacetedMinMaxValues: () => {
245
+ if (!instance._getGlobalFacetedMinMaxValues) {
246
+ return [NaN, NaN];
360
247
  }
361
- })
248
+
249
+ return instance._getGlobalFacetedMinMaxValues();
250
+ }
362
251
  };
363
252
  }
364
253
  };
365
254
  function shouldAutoRemoveFilter(filterFn, value, column) {
366
255
  return (filterFn && filterFn.autoRemove ? filterFn.autoRemove(value, column) : false) || typeof value === 'undefined' || typeof value === 'string' && !value;
367
256
  }
368
- function getRowModelMinMaxValues(rowModel, columnId) {
369
- var _rowModel$flatRows$0$, _rowModel$flatRows$, _rowModel$flatRows$0$2, _rowModel$flatRows$2;
370
-
371
- var facetedMinMaxValues = [(_rowModel$flatRows$0$ = (_rowModel$flatRows$ = rowModel.flatRows[0]) == null ? void 0 : _rowModel$flatRows$.values[columnId]) != null ? _rowModel$flatRows$0$ : null, (_rowModel$flatRows$0$2 = (_rowModel$flatRows$2 = rowModel.flatRows[0]) == null ? void 0 : _rowModel$flatRows$2.values[columnId]) != null ? _rowModel$flatRows$0$2 : null];
372
-
373
- for (var i = 0; i < rowModel.flatRows.length; i++) {
374
- var _rowModel$flatRows$i;
375
-
376
- var _value = (_rowModel$flatRows$i = rowModel.flatRows[i]) == null ? void 0 : _rowModel$flatRows$i.values[columnId];
377
-
378
- if (_value < facetedMinMaxValues[0]) {
379
- facetedMinMaxValues[0] = _value;
380
- } else if (_value > facetedMinMaxValues[1]) {
381
- facetedMinMaxValues[1] = _value;
382
- }
383
- }
384
-
385
- return facetedMinMaxValues;
386
- }
387
- function getRowModelUniqueValues(rowModel, columnId) {
388
- var facetedUniqueValues = new Map();
389
-
390
- for (var i = 0; i < rowModel.flatRows.length; i++) {
391
- var _rowModel$flatRows$i2;
392
-
393
- var _value2 = (_rowModel$flatRows$i2 = rowModel.flatRows[i]) == null ? void 0 : _rowModel$flatRows$i2.values[columnId];
394
-
395
- if (facetedUniqueValues.has(_value2)) {
396
- var _facetedUniqueValues$;
397
-
398
- facetedUniqueValues.set(_value2, ((_facetedUniqueValues$ = facetedUniqueValues.get(_value2)) != null ? _facetedUniqueValues$ : 0) + 1);
399
- } else {
400
- facetedUniqueValues.set(_value2, 1);
401
- }
402
- }
403
-
404
- return facetedUniqueValues;
405
- }
406
257
 
407
258
  exports.Filters = Filters;
408
- exports.getRowModelMinMaxValues = getRowModelMinMaxValues;
409
- exports.getRowModelUniqueValues = getRowModelUniqueValues;
410
259
  exports.shouldAutoRemoveFilter = shouldAutoRemoveFilter;
411
260
  //# sourceMappingURL=Filters.js.map