material-react-table 0.6.0 → 0.6.1
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/dist/filtersFNs.d.ts +8 -4
- package/dist/material-react-table.cjs.development.js +27 -13
- package/dist/material-react-table.cjs.development.js.map +1 -1
- package/dist/material-react-table.cjs.production.min.js +1 -1
- package/dist/material-react-table.cjs.production.min.js.map +1 -1
- package/dist/material-react-table.esm.js +28 -14
- package/dist/material-react-table.esm.js.map +1 -1
- package/package.json +3 -3
- package/src/filtersFNs.ts +3 -2
- package/src/useMRT.tsx +13 -12
package/dist/filtersFNs.d.ts
CHANGED
|
@@ -56,19 +56,23 @@ export declare const defaultFilterFNs: {
|
|
|
56
56
|
(rows: MRT_Row[], id: string, filterValue: string | number): MRT_Row<{}>[];
|
|
57
57
|
autoRemove(val: any): boolean;
|
|
58
58
|
};
|
|
59
|
-
|
|
59
|
+
equals: {
|
|
60
60
|
(rows: MRT_Row[], id: string, filterValue: string | number): MRT_Row<{}>[];
|
|
61
61
|
autoRemove(val: any): boolean;
|
|
62
62
|
};
|
|
63
|
-
|
|
63
|
+
fuzzy: {
|
|
64
64
|
(rows: MRT_Row[], id: string, filterValue: string | number): MRT_Row<{}>[];
|
|
65
65
|
autoRemove(val: any): boolean;
|
|
66
66
|
};
|
|
67
|
-
|
|
67
|
+
globalFuzzy: {
|
|
68
|
+
(rows: MRT_Row[], columnIds: string[], filterValue: string | number): MRT_Row<{}>[];
|
|
69
|
+
autoRemove(val: any): boolean;
|
|
70
|
+
};
|
|
71
|
+
greaterThan: {
|
|
68
72
|
(rows: MRT_Row[], id: string, filterValue: string | number): MRT_Row<{}>[];
|
|
69
73
|
autoRemove(val: any): boolean;
|
|
70
74
|
};
|
|
71
|
-
|
|
75
|
+
lessThan: {
|
|
72
76
|
(rows: MRT_Row[], id: string, filterValue: string | number): MRT_Row<{}>[];
|
|
73
77
|
autoRemove(val: any): boolean;
|
|
74
78
|
};
|
|
@@ -104,6 +104,21 @@ function _objectWithoutPropertiesLoose(source, excluded) {
|
|
|
104
104
|
return target;
|
|
105
105
|
}
|
|
106
106
|
|
|
107
|
+
var fuzzySearchFN = function fuzzySearchFN(rows, columnIds, filterValue) {
|
|
108
|
+
return matchSorter.matchSorter(rows, filterValue.toString().trim(), {
|
|
109
|
+
keys: columnIds.map(function (c) {
|
|
110
|
+
return "values." + c;
|
|
111
|
+
}),
|
|
112
|
+
sorter: function sorter(rankedItems) {
|
|
113
|
+
return rankedItems;
|
|
114
|
+
}
|
|
115
|
+
});
|
|
116
|
+
};
|
|
117
|
+
|
|
118
|
+
fuzzySearchFN.autoRemove = function (val) {
|
|
119
|
+
return !val;
|
|
120
|
+
};
|
|
121
|
+
|
|
107
122
|
var fuzzyFilterFN = function fuzzyFilterFN(rows, id, filterValue) {
|
|
108
123
|
return matchSorter.matchSorter(rows, filterValue.toString().trim(), {
|
|
109
124
|
keys: ["values." + id],
|
|
@@ -211,10 +226,11 @@ var defaultFilterFNs = {
|
|
|
211
226
|
contains: containsFilterFN,
|
|
212
227
|
empty: emptyFilterFN,
|
|
213
228
|
endsWith: endsWithFilterFN,
|
|
214
|
-
greaterThan: greaterThanFilterFN,
|
|
215
|
-
lessThan: lessThanFilterFN,
|
|
216
229
|
equals: equalsFilterFN,
|
|
217
230
|
fuzzy: fuzzyFilterFN,
|
|
231
|
+
globalFuzzy: fuzzySearchFN,
|
|
232
|
+
greaterThan: greaterThanFilterFN,
|
|
233
|
+
lessThan: lessThanFilterFN,
|
|
218
234
|
notEmpty: notEmptyFilterFN,
|
|
219
235
|
notEquals: notEqualsFilterFN,
|
|
220
236
|
startsWith: startsWithFilterFN
|
|
@@ -225,7 +241,7 @@ var MaterialReactTableContext = /*#__PURE__*/function () {
|
|
|
225
241
|
}();
|
|
226
242
|
|
|
227
243
|
var MaterialReactTableProvider = function MaterialReactTableProvider(props) {
|
|
228
|
-
var _props$initialState$d, _props$initialState, _props$initialState$f, _props$initialState2, _props$initialState$s, _props$initialState3, _props$initialState$s2, _props$initialState4;
|
|
244
|
+
var _props$initialState$d, _props$initialState, _props$initialState$f, _props$initialState2, _props$initialState$s, _props$initialState3, _props$initialState$s2, _props$initialState4, _props$globalFilter;
|
|
229
245
|
|
|
230
246
|
var hooks = [reactTable.useFilters, reactTable.useGlobalFilter, reactTable.useGroupBy, reactTable.useSortBy, reactTable.useExpanded, reactTable.usePagination, reactTable.useRowSelect];
|
|
231
247
|
if (props.enableColumnResizing) hooks.unshift(reactTable.useResizeColumns, reactTable.useFlexLayout);
|
|
@@ -253,8 +269,7 @@ var MaterialReactTableProvider = function MaterialReactTableProvider(props) {
|
|
|
253
269
|
var filterTypes = React.useMemo(function () {
|
|
254
270
|
return _extends({}, defaultFilterFNs, props.filterTypes);
|
|
255
271
|
}, [props.filterTypes]);
|
|
256
|
-
|
|
257
|
-
var getInitialFilterTypeState = function getInitialFilterTypeState() {
|
|
272
|
+
var findLowestLevelCols = React.useCallback(function () {
|
|
258
273
|
var lowestLevelColumns = props.columns;
|
|
259
274
|
var currentCols = props.columns;
|
|
260
275
|
|
|
@@ -276,24 +291,23 @@ var MaterialReactTableProvider = function MaterialReactTableProvider(props) {
|
|
|
276
291
|
currentCols = nextCols;
|
|
277
292
|
}
|
|
278
293
|
|
|
279
|
-
|
|
294
|
+
return lowestLevelColumns.filter(function (col) {
|
|
280
295
|
return !col.columns;
|
|
281
296
|
});
|
|
282
|
-
|
|
297
|
+
}, [props.columns]);
|
|
298
|
+
|
|
299
|
+
var _useState6 = React.useState(function () {
|
|
300
|
+
return Object.assign.apply(Object, [{}].concat(findLowestLevelCols().map(function (c) {
|
|
283
301
|
var _ref, _c$filter, _props$initialState5, _props$initialState5$, _ref2;
|
|
284
302
|
|
|
285
303
|
return _ref2 = {}, _ref2[c.accessor] = (_ref = (_c$filter = c.filter) != null ? _c$filter : props == null ? void 0 : (_props$initialState5 = props.initialState) == null ? void 0 : (_props$initialState5$ = _props$initialState5.filters) == null ? void 0 : _props$initialState5$[c.accessor]) != null ? _ref : !!c.filterSelectOptions ? 'equals' : 'fuzzy', _ref2;
|
|
286
304
|
})));
|
|
287
|
-
};
|
|
288
|
-
|
|
289
|
-
var _useState6 = React.useState(function () {
|
|
290
|
-
return getInitialFilterTypeState();
|
|
291
305
|
}),
|
|
292
306
|
currentFilterTypes = _useState6[0],
|
|
293
307
|
setCurrentFilterTypes = _useState6[1];
|
|
294
308
|
|
|
295
309
|
var columns = React.useMemo(function () {
|
|
296
|
-
return
|
|
310
|
+
return findLowestLevelCols().map(function (column) {
|
|
297
311
|
column.filter = filterTypes[currentFilterTypes[column.accessor]];
|
|
298
312
|
return column;
|
|
299
313
|
});
|
|
@@ -302,7 +316,7 @@ var MaterialReactTableProvider = function MaterialReactTableProvider(props) {
|
|
|
302
316
|
columns: columns,
|
|
303
317
|
// @ts-ignore
|
|
304
318
|
filterTypes: filterTypes,
|
|
305
|
-
|
|
319
|
+
globalFilter: (_props$globalFilter = props.globalFilter) != null ? _props$globalFilter : 'globalFuzzy',
|
|
306
320
|
useControlledState: function useControlledState(state) {
|
|
307
321
|
return React.useMemo(function () {
|
|
308
322
|
return _extends({}, state, {
|