material-react-table 0.6.1 → 0.6.4
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/MaterialReactTable.d.ts +18 -10
- package/dist/filtersFNs.d.ts +12 -20
- package/dist/material-react-table.cjs.development.js +249 -228
- 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 +250 -229
- package/dist/material-react-table.esm.js.map +1 -1
- package/dist/toolbar/MRT_LinearProgressBar.d.ts +5 -0
- package/dist/toolbar/MRT_ToolbarTop.d.ts +11 -0
- package/dist/useMRT.d.ts +5 -1
- package/dist/utils.d.ts +2 -0
- package/package.json +1 -1
- package/src/MaterialReactTable.tsx +67 -53
- package/src/body/MRT_TableBody.tsx +3 -1
- package/src/filtersFNs.ts +34 -45
- package/src/inputs/MRT_FilterTextField.tsx +25 -12
- package/src/menus/MRT_ColumnActionMenu.tsx +5 -4
- package/src/menus/MRT_FilterTypeMenu.tsx +20 -20
- package/src/table/MRT_TableContainer.tsx +4 -28
- package/src/toolbar/MRT_LinearProgressBar.tsx +25 -0
- package/src/toolbar/MRT_TablePagination.tsx +1 -1
- package/src/toolbar/MRT_ToolbarBottom.tsx +18 -21
- package/src/toolbar/MRT_ToolbarTop.tsx +21 -10
- package/src/useMRT.tsx +48 -44
- package/src/utils.ts +17 -0
|
@@ -7,8 +7,8 @@ function _interopDefault (ex) { return (ex && (typeof ex === 'object') && 'defau
|
|
|
7
7
|
var React = require('react');
|
|
8
8
|
var React__default = _interopDefault(React);
|
|
9
9
|
var reactTable = require('react-table');
|
|
10
|
-
var matchSorter = require('match-sorter');
|
|
11
10
|
var material = require('@mui/material');
|
|
11
|
+
var matchSorter = require('match-sorter');
|
|
12
12
|
var ArrowRightIcon = _interopDefault(require('@mui/icons-material/ArrowRight'));
|
|
13
13
|
var CancelIcon = _interopDefault(require('@mui/icons-material/Cancel'));
|
|
14
14
|
var ClearAllIcon = _interopDefault(require('@mui/icons-material/ClearAll'));
|
|
@@ -104,144 +104,41 @@ function _objectWithoutPropertiesLoose(source, excluded) {
|
|
|
104
104
|
return target;
|
|
105
105
|
}
|
|
106
106
|
|
|
107
|
-
var
|
|
108
|
-
|
|
109
|
-
|
|
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
|
-
};
|
|
107
|
+
var findLowestLevelCols = function findLowestLevelCols(columns) {
|
|
108
|
+
var lowestLevelColumns = columns;
|
|
109
|
+
var currentCols = columns;
|
|
121
110
|
|
|
122
|
-
|
|
123
|
-
|
|
124
|
-
|
|
125
|
-
|
|
126
|
-
return rankedItems;
|
|
127
|
-
}
|
|
128
|
-
});
|
|
129
|
-
};
|
|
130
|
-
|
|
131
|
-
fuzzyFilterFN.autoRemove = function (val) {
|
|
132
|
-
return !val;
|
|
133
|
-
};
|
|
134
|
-
|
|
135
|
-
var containsFilterFN = function containsFilterFN(rows, id, filterValue) {
|
|
136
|
-
return rows.filter(function (row) {
|
|
137
|
-
return row.values[id].toString().toLowerCase().trim().includes(filterValue.toString().toLowerCase().trim());
|
|
138
|
-
});
|
|
139
|
-
};
|
|
140
|
-
|
|
141
|
-
containsFilterFN.autoRemove = function (val) {
|
|
142
|
-
return !val;
|
|
143
|
-
};
|
|
144
|
-
|
|
145
|
-
var startsWithFilterFN = function startsWithFilterFN(rows, id, filterValue) {
|
|
146
|
-
return rows.filter(function (row) {
|
|
147
|
-
return row.values[id].toString().toLowerCase().trim().startsWith(filterValue.toString().toLowerCase().trim());
|
|
148
|
-
});
|
|
149
|
-
};
|
|
150
|
-
|
|
151
|
-
startsWithFilterFN.autoRemove = function (val) {
|
|
152
|
-
return !val;
|
|
153
|
-
};
|
|
154
|
-
|
|
155
|
-
var endsWithFilterFN = function endsWithFilterFN(rows, id, filterValue) {
|
|
156
|
-
return rows.filter(function (row) {
|
|
157
|
-
return row.values[id].toString().toLowerCase().trim().endsWith(filterValue.toString().toLowerCase().trim());
|
|
158
|
-
});
|
|
159
|
-
};
|
|
160
|
-
|
|
161
|
-
endsWithFilterFN.autoRemove = function (val) {
|
|
162
|
-
return !val;
|
|
163
|
-
};
|
|
164
|
-
|
|
165
|
-
var equalsFilterFN = function equalsFilterFN(rows, id, filterValue) {
|
|
166
|
-
return rows.filter(function (row) {
|
|
167
|
-
return row.values[id].toString().toLowerCase().trim() === filterValue.toString().toLowerCase().trim();
|
|
168
|
-
});
|
|
169
|
-
};
|
|
170
|
-
|
|
171
|
-
equalsFilterFN.autoRemove = function (val) {
|
|
172
|
-
return !val;
|
|
173
|
-
};
|
|
174
|
-
|
|
175
|
-
var notEqualsFilterFN = function notEqualsFilterFN(rows, id, filterValue) {
|
|
176
|
-
return rows.filter(function (row) {
|
|
177
|
-
return row.values[id].toString().toLowerCase().trim() !== filterValue.toString().toLowerCase().trim();
|
|
178
|
-
});
|
|
179
|
-
};
|
|
180
|
-
|
|
181
|
-
notEqualsFilterFN.autoRemove = function (val) {
|
|
182
|
-
return !val;
|
|
183
|
-
};
|
|
111
|
+
while (!!((_currentCols = currentCols) != null && _currentCols.length) && currentCols.some(function (col) {
|
|
112
|
+
return col.columns;
|
|
113
|
+
})) {
|
|
114
|
+
var _currentCols;
|
|
184
115
|
|
|
185
|
-
var
|
|
186
|
-
|
|
187
|
-
|
|
188
|
-
|
|
189
|
-
};
|
|
190
|
-
|
|
191
|
-
greaterThanFilterFN.autoRemove = function (val) {
|
|
192
|
-
return !val;
|
|
193
|
-
};
|
|
194
|
-
|
|
195
|
-
var lessThanFilterFN = function lessThanFilterFN(rows, id, filterValue) {
|
|
196
|
-
return rows.filter(function (row) {
|
|
197
|
-
return !isNaN(+filterValue) && !isNaN(+row.values[id]) ? +row.values[id] < +filterValue : row.values[id].toString().toLowerCase().trim() < filterValue.toString().toLowerCase().trim();
|
|
198
|
-
});
|
|
199
|
-
};
|
|
200
|
-
|
|
201
|
-
lessThanFilterFN.autoRemove = function (val) {
|
|
202
|
-
return !val;
|
|
203
|
-
};
|
|
116
|
+
var nextCols = currentCols.filter(function (col) {
|
|
117
|
+
return !!col.columns;
|
|
118
|
+
}).map(function (col) {
|
|
119
|
+
return col.columns;
|
|
120
|
+
}).flat();
|
|
204
121
|
|
|
205
|
-
|
|
206
|
-
|
|
207
|
-
|
|
208
|
-
|
|
209
|
-
}
|
|
122
|
+
if (nextCols.every(function (col) {
|
|
123
|
+
return !(col != null && col.columns);
|
|
124
|
+
})) {
|
|
125
|
+
lowestLevelColumns = [].concat(lowestLevelColumns, nextCols);
|
|
126
|
+
}
|
|
210
127
|
|
|
211
|
-
|
|
212
|
-
|
|
213
|
-
};
|
|
128
|
+
currentCols = nextCols;
|
|
129
|
+
}
|
|
214
130
|
|
|
215
|
-
|
|
216
|
-
|
|
217
|
-
return !!row.values[id].toString().toLowerCase().trim();
|
|
131
|
+
return lowestLevelColumns.filter(function (col) {
|
|
132
|
+
return !col.columns;
|
|
218
133
|
});
|
|
219
134
|
};
|
|
220
135
|
|
|
221
|
-
notEmptyFilterFN.autoRemove = function (val) {
|
|
222
|
-
return !val;
|
|
223
|
-
};
|
|
224
|
-
|
|
225
|
-
var defaultFilterFNs = {
|
|
226
|
-
contains: containsFilterFN,
|
|
227
|
-
empty: emptyFilterFN,
|
|
228
|
-
endsWith: endsWithFilterFN,
|
|
229
|
-
equals: equalsFilterFN,
|
|
230
|
-
fuzzy: fuzzyFilterFN,
|
|
231
|
-
globalFuzzy: fuzzySearchFN,
|
|
232
|
-
greaterThan: greaterThanFilterFN,
|
|
233
|
-
lessThan: lessThanFilterFN,
|
|
234
|
-
notEmpty: notEmptyFilterFN,
|
|
235
|
-
notEquals: notEqualsFilterFN,
|
|
236
|
-
startsWith: startsWithFilterFN
|
|
237
|
-
};
|
|
238
|
-
|
|
239
136
|
var MaterialReactTableContext = /*#__PURE__*/function () {
|
|
240
137
|
return React.createContext({});
|
|
241
138
|
}();
|
|
242
139
|
|
|
243
140
|
var MaterialReactTableProvider = function MaterialReactTableProvider(props) {
|
|
244
|
-
var _props$initialState$d, _props$initialState, _props$initialState$f, _props$initialState2, _props$initialState$s, _props$initialState3, _props$initialState$s2, _props$initialState4
|
|
141
|
+
var _props$initialState$d, _props$initialState, _props$initialState$f, _props$initialState2, _props$initialState$s, _props$initialState3, _props$initialState$s2, _props$initialState4;
|
|
245
142
|
|
|
246
143
|
var hooks = [reactTable.useFilters, reactTable.useGlobalFilter, reactTable.useGroupBy, reactTable.useSortBy, reactTable.useExpanded, reactTable.usePagination, reactTable.useRowSelect];
|
|
247
144
|
if (props.enableColumnResizing) hooks.unshift(reactTable.useResizeColumns, reactTable.useFlexLayout);
|
|
@@ -266,38 +163,8 @@ var MaterialReactTableProvider = function MaterialReactTableProvider(props) {
|
|
|
266
163
|
showSearch = _useState5[0],
|
|
267
164
|
setShowSearch = _useState5[1];
|
|
268
165
|
|
|
269
|
-
var filterTypes = React.useMemo(function () {
|
|
270
|
-
return _extends({}, defaultFilterFNs, props.filterTypes);
|
|
271
|
-
}, [props.filterTypes]);
|
|
272
|
-
var findLowestLevelCols = React.useCallback(function () {
|
|
273
|
-
var lowestLevelColumns = props.columns;
|
|
274
|
-
var currentCols = props.columns;
|
|
275
|
-
|
|
276
|
-
while (!!currentCols.length && currentCols.some(function (col) {
|
|
277
|
-
return col.columns;
|
|
278
|
-
})) {
|
|
279
|
-
var nextCols = currentCols.filter(function (col) {
|
|
280
|
-
return !!col.columns;
|
|
281
|
-
}).map(function (col) {
|
|
282
|
-
return col.columns;
|
|
283
|
-
}).flat();
|
|
284
|
-
|
|
285
|
-
if (nextCols.every(function (col) {
|
|
286
|
-
return !col.columns;
|
|
287
|
-
})) {
|
|
288
|
-
lowestLevelColumns = [].concat(lowestLevelColumns, nextCols);
|
|
289
|
-
}
|
|
290
|
-
|
|
291
|
-
currentCols = nextCols;
|
|
292
|
-
}
|
|
293
|
-
|
|
294
|
-
return lowestLevelColumns.filter(function (col) {
|
|
295
|
-
return !col.columns;
|
|
296
|
-
});
|
|
297
|
-
}, [props.columns]);
|
|
298
|
-
|
|
299
166
|
var _useState6 = React.useState(function () {
|
|
300
|
-
return Object.assign.apply(Object, [{}].concat(findLowestLevelCols().map(function (c) {
|
|
167
|
+
return Object.assign.apply(Object, [{}].concat(findLowestLevelCols(props.columns).map(function (c) {
|
|
301
168
|
var _ref, _c$filter, _props$initialState5, _props$initialState5$, _ref2;
|
|
302
169
|
|
|
303
170
|
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;
|
|
@@ -306,17 +173,36 @@ var MaterialReactTableProvider = function MaterialReactTableProvider(props) {
|
|
|
306
173
|
currentFilterTypes = _useState6[0],
|
|
307
174
|
setCurrentFilterTypes = _useState6[1];
|
|
308
175
|
|
|
309
|
-
var
|
|
310
|
-
return
|
|
311
|
-
column.
|
|
176
|
+
var applyFiltersToColumns = React.useCallback(function (cols) {
|
|
177
|
+
return cols.map(function (column) {
|
|
178
|
+
if (column.columns) {
|
|
179
|
+
applyFiltersToColumns(column.columns);
|
|
180
|
+
} else {
|
|
181
|
+
var _props$filterTypes;
|
|
182
|
+
|
|
183
|
+
column.filter = props == null ? void 0 : (_props$filterTypes = props.filterTypes) == null ? void 0 : _props$filterTypes[currentFilterTypes[column.accessor]];
|
|
184
|
+
}
|
|
185
|
+
|
|
312
186
|
return column;
|
|
313
187
|
});
|
|
314
|
-
}, [props.
|
|
315
|
-
var
|
|
316
|
-
|
|
188
|
+
}, [currentFilterTypes, props.filterTypes]);
|
|
189
|
+
var columns = React.useMemo(function () {
|
|
190
|
+
return applyFiltersToColumns(props.columns);
|
|
191
|
+
}, [props.columns, applyFiltersToColumns]);
|
|
192
|
+
var data = React.useMemo(function () {
|
|
193
|
+
return !props.isLoading || !!props.data.length ? props.data : [].concat(Array(10).fill(null)).map(function (_) {
|
|
194
|
+
return Object.assign.apply(Object, [{}].concat(findLowestLevelCols(props.columns).map(function (c) {
|
|
195
|
+
var _ref3;
|
|
196
|
+
|
|
197
|
+
return _ref3 = {}, _ref3[c.accessor] = null, _ref3;
|
|
198
|
+
})));
|
|
199
|
+
});
|
|
200
|
+
}, [props.data, props.isLoading]);
|
|
201
|
+
var tableInstance = reactTable.useTable.apply(void 0, [// @ts-ignore
|
|
202
|
+
_extends({}, props, {
|
|
317
203
|
// @ts-ignore
|
|
318
|
-
|
|
319
|
-
|
|
204
|
+
columns: columns,
|
|
205
|
+
data: data,
|
|
320
206
|
useControlledState: function useControlledState(state) {
|
|
321
207
|
return React.useMemo(function () {
|
|
322
208
|
return _extends({}, state, {
|
|
@@ -381,6 +267,124 @@ var MRT_FILTER_TYPE;
|
|
|
381
267
|
MRT_FILTER_TYPE["STARTS_WITH"] = "startsWith";
|
|
382
268
|
})(MRT_FILTER_TYPE || (MRT_FILTER_TYPE = {}));
|
|
383
269
|
|
|
270
|
+
var fuzzy = function fuzzy(rows, columnIds, filterValue) {
|
|
271
|
+
return matchSorter.matchSorter(rows, filterValue.toString().trim(), {
|
|
272
|
+
keys: Array.isArray(columnIds) ? columnIds.map(function (c) {
|
|
273
|
+
return "values." + c;
|
|
274
|
+
}) : ["values." + columnIds],
|
|
275
|
+
sorter: function sorter(rankedItems) {
|
|
276
|
+
return rankedItems;
|
|
277
|
+
}
|
|
278
|
+
});
|
|
279
|
+
};
|
|
280
|
+
|
|
281
|
+
fuzzy.autoRemove = function (val) {
|
|
282
|
+
return !val;
|
|
283
|
+
};
|
|
284
|
+
|
|
285
|
+
var contains = function contains(rows, id, filterValue) {
|
|
286
|
+
return rows.filter(function (row) {
|
|
287
|
+
return row.values[id].toString().toLowerCase().trim().includes(filterValue.toString().toLowerCase().trim());
|
|
288
|
+
});
|
|
289
|
+
};
|
|
290
|
+
|
|
291
|
+
contains.autoRemove = function (val) {
|
|
292
|
+
return !val;
|
|
293
|
+
};
|
|
294
|
+
|
|
295
|
+
var startsWith = function startsWith(rows, id, filterValue) {
|
|
296
|
+
return rows.filter(function (row) {
|
|
297
|
+
return row.values[id].toString().toLowerCase().trim().startsWith(filterValue.toString().toLowerCase().trim());
|
|
298
|
+
});
|
|
299
|
+
};
|
|
300
|
+
|
|
301
|
+
startsWith.autoRemove = function (val) {
|
|
302
|
+
return !val;
|
|
303
|
+
};
|
|
304
|
+
|
|
305
|
+
var endsWith = function endsWith(rows, id, filterValue) {
|
|
306
|
+
return rows.filter(function (row) {
|
|
307
|
+
return row.values[id].toString().toLowerCase().trim().endsWith(filterValue.toString().toLowerCase().trim());
|
|
308
|
+
});
|
|
309
|
+
};
|
|
310
|
+
|
|
311
|
+
endsWith.autoRemove = function (val) {
|
|
312
|
+
return !val;
|
|
313
|
+
};
|
|
314
|
+
|
|
315
|
+
var equals = function equals(rows, id, filterValue) {
|
|
316
|
+
return rows.filter(function (row) {
|
|
317
|
+
return row.values[id].toString().toLowerCase().trim() === filterValue.toString().toLowerCase().trim();
|
|
318
|
+
});
|
|
319
|
+
};
|
|
320
|
+
|
|
321
|
+
equals.autoRemove = function (val) {
|
|
322
|
+
return !val;
|
|
323
|
+
};
|
|
324
|
+
|
|
325
|
+
var notEquals = function notEquals(rows, id, filterValue) {
|
|
326
|
+
return rows.filter(function (row) {
|
|
327
|
+
return row.values[id].toString().toLowerCase().trim() !== filterValue.toString().toLowerCase().trim();
|
|
328
|
+
});
|
|
329
|
+
};
|
|
330
|
+
|
|
331
|
+
notEquals.autoRemove = function (val) {
|
|
332
|
+
return !val;
|
|
333
|
+
};
|
|
334
|
+
|
|
335
|
+
var greaterThan = function greaterThan(rows, id, filterValue) {
|
|
336
|
+
return rows.filter(function (row) {
|
|
337
|
+
return !isNaN(+filterValue) && !isNaN(+row.values[id]) ? +row.values[id] > +filterValue : row.values[id].toString().toLowerCase().trim() > filterValue.toString().toLowerCase().trim();
|
|
338
|
+
});
|
|
339
|
+
};
|
|
340
|
+
|
|
341
|
+
greaterThan.autoRemove = function (val) {
|
|
342
|
+
return !val;
|
|
343
|
+
};
|
|
344
|
+
|
|
345
|
+
var lessThan = function lessThan(rows, id, filterValue) {
|
|
346
|
+
return rows.filter(function (row) {
|
|
347
|
+
return !isNaN(+filterValue) && !isNaN(+row.values[id]) ? +row.values[id] < +filterValue : row.values[id].toString().toLowerCase().trim() < filterValue.toString().toLowerCase().trim();
|
|
348
|
+
});
|
|
349
|
+
};
|
|
350
|
+
|
|
351
|
+
lessThan.autoRemove = function (val) {
|
|
352
|
+
return !val;
|
|
353
|
+
};
|
|
354
|
+
|
|
355
|
+
var empty = function empty(rows, id, _filterValue) {
|
|
356
|
+
return rows.filter(function (row) {
|
|
357
|
+
return !row.values[id].toString().toLowerCase().trim();
|
|
358
|
+
});
|
|
359
|
+
};
|
|
360
|
+
|
|
361
|
+
empty.autoRemove = function (val) {
|
|
362
|
+
return !val;
|
|
363
|
+
};
|
|
364
|
+
|
|
365
|
+
var notEmpty = function notEmpty(rows, id, _filterValue) {
|
|
366
|
+
return rows.filter(function (row) {
|
|
367
|
+
return !!row.values[id].toString().toLowerCase().trim();
|
|
368
|
+
});
|
|
369
|
+
};
|
|
370
|
+
|
|
371
|
+
notEmpty.autoRemove = function (val) {
|
|
372
|
+
return !val;
|
|
373
|
+
};
|
|
374
|
+
|
|
375
|
+
var defaultFilterFNs = {
|
|
376
|
+
contains: contains,
|
|
377
|
+
empty: empty,
|
|
378
|
+
endsWith: endsWith,
|
|
379
|
+
equals: equals,
|
|
380
|
+
fuzzy: fuzzy,
|
|
381
|
+
greaterThan: greaterThan,
|
|
382
|
+
lessThan: lessThan,
|
|
383
|
+
notEmpty: notEmpty,
|
|
384
|
+
notEquals: notEquals,
|
|
385
|
+
startsWith: startsWith
|
|
386
|
+
};
|
|
387
|
+
|
|
384
388
|
var commonMenuItemStyles = {
|
|
385
389
|
py: '6px',
|
|
386
390
|
my: 0,
|
|
@@ -402,52 +406,52 @@ var MRT_FilterTypeMenu = function MRT_FilterTypeMenu(_ref) {
|
|
|
402
406
|
type: MRT_FILTER_TYPE.FUZZY,
|
|
403
407
|
label: localization.filterFuzzy,
|
|
404
408
|
divider: false,
|
|
405
|
-
fn:
|
|
409
|
+
fn: fuzzy
|
|
406
410
|
}, {
|
|
407
411
|
type: MRT_FILTER_TYPE.CONTAINS,
|
|
408
412
|
label: localization.filterContains,
|
|
409
413
|
divider: true,
|
|
410
|
-
fn:
|
|
414
|
+
fn: contains
|
|
411
415
|
}, {
|
|
412
416
|
type: MRT_FILTER_TYPE.STARTS_WITH,
|
|
413
417
|
label: localization.filterStartsWith,
|
|
414
418
|
divider: false,
|
|
415
|
-
fn:
|
|
419
|
+
fn: startsWith
|
|
416
420
|
}, {
|
|
417
421
|
type: MRT_FILTER_TYPE.ENDS_WITH,
|
|
418
422
|
label: localization.filterEndsWith,
|
|
419
423
|
divider: true,
|
|
420
|
-
fn:
|
|
424
|
+
fn: endsWith
|
|
421
425
|
}, {
|
|
422
426
|
type: MRT_FILTER_TYPE.EQUALS,
|
|
423
427
|
label: localization.filterEquals,
|
|
424
428
|
divider: false,
|
|
425
|
-
fn:
|
|
429
|
+
fn: equals
|
|
426
430
|
}, {
|
|
427
431
|
type: MRT_FILTER_TYPE.NOT_EQUALS,
|
|
428
432
|
label: localization.filterNotEquals,
|
|
429
433
|
divider: true,
|
|
430
|
-
fn:
|
|
434
|
+
fn: notEquals
|
|
431
435
|
}, {
|
|
432
436
|
type: MRT_FILTER_TYPE.GREATER_THAN,
|
|
433
437
|
label: localization.filterGreaterThan,
|
|
434
438
|
divider: false,
|
|
435
|
-
fn:
|
|
439
|
+
fn: greaterThan
|
|
436
440
|
}, {
|
|
437
441
|
type: MRT_FILTER_TYPE.LESS_THAN,
|
|
438
442
|
label: localization.filterLessThan,
|
|
439
443
|
divider: true,
|
|
440
|
-
fn:
|
|
444
|
+
fn: lessThan
|
|
441
445
|
}, {
|
|
442
446
|
type: MRT_FILTER_TYPE.EMPTY,
|
|
443
447
|
label: localization.filterEmpty,
|
|
444
448
|
divider: false,
|
|
445
|
-
fn:
|
|
449
|
+
fn: empty
|
|
446
450
|
}, {
|
|
447
451
|
type: MRT_FILTER_TYPE.NOT_EMPTY,
|
|
448
452
|
label: localization.filterNotEmpty,
|
|
449
453
|
divider: false,
|
|
450
|
-
fn:
|
|
454
|
+
fn: notEmpty
|
|
451
455
|
}];
|
|
452
456
|
}, []);
|
|
453
457
|
|
|
@@ -499,7 +503,7 @@ var MRT_FilterTypeMenu = function MRT_FilterTypeMenu(_ref) {
|
|
|
499
503
|
};
|
|
500
504
|
|
|
501
505
|
var MRT_FilterTextField = function MRT_FilterTextField(_ref) {
|
|
502
|
-
var _localization$filterB, _localization$clearFi, _column$filterSelectO;
|
|
506
|
+
var _localization$filterB, _localization$filterM, _localization$, _localization$clearFi, _column$filterSelectO;
|
|
503
507
|
|
|
504
508
|
var column = _ref.column;
|
|
505
509
|
|
|
@@ -557,6 +561,7 @@ var MRT_FilterTextField = function MRT_FilterTextField(_ref) {
|
|
|
557
561
|
}));
|
|
558
562
|
}
|
|
559
563
|
|
|
564
|
+
var filterId = "mrt-" + idPrefix + "-" + column.id + "-filter-text-field";
|
|
560
565
|
var filterType = tableInstance.state.currentFilterTypes[column.id];
|
|
561
566
|
var isSelectFilter = !!column.filterSelectOptions;
|
|
562
567
|
var filterChipLabel = !(filterType instanceof Function) && [MRT_FILTER_TYPE.EMPTY, MRT_FILTER_TYPE.NOT_EMPTY].includes(filterType) ? //@ts-ignore
|
|
@@ -564,7 +569,7 @@ var MRT_FilterTextField = function MRT_FilterTextField(_ref) {
|
|
|
564
569
|
var filterPlaceholder = (_localization$filterB = localization.filterByColumn) == null ? void 0 : _localization$filterB.replace('{column}', String(column.Header));
|
|
565
570
|
return React__default.createElement(React__default.Fragment, null, React__default.createElement(material.TextField, Object.assign({
|
|
566
571
|
fullWidth: true,
|
|
567
|
-
id:
|
|
572
|
+
id: filterId,
|
|
568
573
|
inputProps: {
|
|
569
574
|
disabled: !!filterChipLabel,
|
|
570
575
|
sx: {
|
|
@@ -573,8 +578,11 @@ var MRT_FilterTextField = function MRT_FilterTextField(_ref) {
|
|
|
573
578
|
},
|
|
574
579
|
title: filterPlaceholder
|
|
575
580
|
},
|
|
576
|
-
helperText:
|
|
577
|
-
|
|
581
|
+
helperText: React__default.createElement("label", {
|
|
582
|
+
htmlFor: filterId
|
|
583
|
+
}, filterType instanceof Function ? (_localization$filterM = localization.filterMode.replace('{filterType}', // @ts-ignore
|
|
584
|
+
(_localization$ = localization["filter" + (filterType.name.charAt(0).toUpperCase() + filterType.name.slice(1))]) != null ? _localization$ : '')) != null ? _localization$filterM : '' : localization.filterMode.replace('{filterType}', // @ts-ignore
|
|
585
|
+
localization["filter" + (filterType.charAt(0).toUpperCase() + filterType.slice(1))])),
|
|
578
586
|
FormHelperTextProps: {
|
|
579
587
|
sx: {
|
|
580
588
|
fontSize: '0.6rem',
|
|
@@ -608,6 +616,7 @@ var MRT_FilterTextField = function MRT_FilterTextField(_ref) {
|
|
|
608
616
|
arrow: true,
|
|
609
617
|
title: localization.changeFilterMode
|
|
610
618
|
}, React__default.createElement("span", null, React__default.createElement(material.IconButton, {
|
|
619
|
+
"aria-label": localization.changeFilterMode,
|
|
611
620
|
onClick: handleFilterMenuOpen,
|
|
612
621
|
size: "small",
|
|
613
622
|
sx: {
|
|
@@ -857,15 +866,16 @@ var MRT_ColumnActionMenu = function MRT_ColumnActionMenu(_ref) {
|
|
|
857
866
|
setAnchorEl(null);
|
|
858
867
|
};
|
|
859
868
|
|
|
869
|
+
var handleShowAllColumns = function handleShowAllColumns() {
|
|
870
|
+
tableInstance.toggleHideAllColumns(false);
|
|
871
|
+
setAnchorEl(null);
|
|
872
|
+
};
|
|
873
|
+
|
|
860
874
|
var handleOpenFilterModeMenu = function handleOpenFilterModeMenu(event) {
|
|
861
875
|
event.stopPropagation();
|
|
862
876
|
setFilterMenuAnchorEl(event.currentTarget);
|
|
863
877
|
};
|
|
864
878
|
|
|
865
|
-
var handleShowAllColumns = function handleShowAllColumns() {
|
|
866
|
-
tableInstance.toggleHideAllColumns(false);
|
|
867
|
-
};
|
|
868
|
-
|
|
869
879
|
var handleOpenShowHideColumnsMenu = function handleOpenShowHideColumnsMenu(event) {
|
|
870
880
|
event.stopPropagation();
|
|
871
881
|
setShowHideColumnsMenuAnchorEl(event.currentTarget);
|
|
@@ -2427,9 +2437,7 @@ var MRT_TableBody = function MRT_TableBody() {
|
|
|
2427
2437
|
});
|
|
2428
2438
|
|
|
2429
2439
|
return React__default.createElement(material.TableBody, Object.assign({}, tableBodyProps, {
|
|
2430
|
-
sx: _extends({
|
|
2431
|
-
overflowY: 'hidden'
|
|
2432
|
-
}, tableBodyProps == null ? void 0 : tableBodyProps.sx)
|
|
2440
|
+
sx: _extends({}, tableBodyProps == null ? void 0 : tableBodyProps.sx)
|
|
2433
2441
|
}), rows.map(function (row) {
|
|
2434
2442
|
tableInstance.prepareRow(row);
|
|
2435
2443
|
return React__default.createElement(MRT_TableBodyRow, {
|
|
@@ -2789,7 +2797,7 @@ var MRT_TablePagination = function MRT_TablePagination() {
|
|
|
2789
2797
|
showLastButton: tableInstance.rows.length / tableInstance.state.pageSize > 2
|
|
2790
2798
|
}, tablePaginationProps, {
|
|
2791
2799
|
sx: _extends({
|
|
2792
|
-
|
|
2800
|
+
m: '0 0.5rem',
|
|
2793
2801
|
position: 'relative',
|
|
2794
2802
|
zIndex: 2
|
|
2795
2803
|
}, tablePaginationProps == null ? void 0 : tablePaginationProps.sx)
|
|
@@ -2851,6 +2859,34 @@ var MRT_ToolbarAlertBanner = function MRT_ToolbarAlertBanner() {
|
|
|
2851
2859
|
}, selectMessage, groupedByMessage)));
|
|
2852
2860
|
};
|
|
2853
2861
|
|
|
2862
|
+
var MRT_LinearProgressBar = function MRT_LinearProgressBar() {
|
|
2863
|
+
var _useMRT = useMRT(),
|
|
2864
|
+
muiLinearProgressProps = _useMRT.muiLinearProgressProps,
|
|
2865
|
+
isFetching = _useMRT.isFetching,
|
|
2866
|
+
isLoading = _useMRT.isLoading,
|
|
2867
|
+
tableInstance = _useMRT.tableInstance;
|
|
2868
|
+
|
|
2869
|
+
var linearProgressProps = muiLinearProgressProps instanceof Function ? muiLinearProgressProps(tableInstance) : muiLinearProgressProps;
|
|
2870
|
+
return React__default.createElement(material.Collapse, {
|
|
2871
|
+
"in": isFetching || isLoading,
|
|
2872
|
+
unmountOnExit: true
|
|
2873
|
+
}, React__default.createElement(material.LinearProgress, Object.assign({
|
|
2874
|
+
"aria-label": "Loading",
|
|
2875
|
+
"aria-busy": "true"
|
|
2876
|
+
}, linearProgressProps)));
|
|
2877
|
+
};
|
|
2878
|
+
|
|
2879
|
+
var commonToolbarStyles = function commonToolbarStyles(theme, tableInstance) {
|
|
2880
|
+
return {
|
|
2881
|
+
backgroundColor: theme.palette.background["default"],
|
|
2882
|
+
backgroundImage: "linear-gradient(" + material.alpha(theme.palette.common.white, 0.05) + "," + material.alpha(theme.palette.common.white, 0.05) + ")",
|
|
2883
|
+
display: 'grid',
|
|
2884
|
+
opacity: tableInstance.state.fullScreen ? 0.95 : 1,
|
|
2885
|
+
p: '0 !important',
|
|
2886
|
+
width: '100%',
|
|
2887
|
+
zIndex: 1
|
|
2888
|
+
};
|
|
2889
|
+
};
|
|
2854
2890
|
var MRT_ToolbarTop = function MRT_ToolbarTop() {
|
|
2855
2891
|
var _renderToolbarCustomA;
|
|
2856
2892
|
|
|
@@ -2871,15 +2907,9 @@ var MRT_ToolbarTop = function MRT_ToolbarTop() {
|
|
|
2871
2907
|
}, toolbarProps, {
|
|
2872
2908
|
sx: function sx(theme) {
|
|
2873
2909
|
return _extends({
|
|
2874
|
-
backgroundColor: theme.palette.background["default"],
|
|
2875
|
-
backgroundImage: "linear-gradient(" + material.alpha(theme.palette.common.white, 0.05) + "," + material.alpha(theme.palette.common.white, 0.05) + ")",
|
|
2876
|
-
display: 'grid',
|
|
2877
|
-
p: '0 !important',
|
|
2878
2910
|
position: tableInstance.state.fullScreen ? 'sticky' : undefined,
|
|
2879
|
-
top: tableInstance.state.fullScreen ? '0' : undefined
|
|
2880
|
-
|
|
2881
|
-
zIndex: 1
|
|
2882
|
-
}, toolbarProps == null ? void 0 : toolbarProps.sx);
|
|
2911
|
+
top: tableInstance.state.fullScreen ? '0' : undefined
|
|
2912
|
+
}, commonToolbarStyles(theme, tableInstance), toolbarProps == null ? void 0 : toolbarProps.sx);
|
|
2883
2913
|
}
|
|
2884
2914
|
}), positionToolbarAlertBanner === 'top' && React__default.createElement(MRT_ToolbarAlertBanner, null), React__default.createElement(material.Box, {
|
|
2885
2915
|
sx: {
|
|
@@ -2894,7 +2924,7 @@ var MRT_ToolbarTop = function MRT_ToolbarTop() {
|
|
|
2894
2924
|
position: 'relative',
|
|
2895
2925
|
zIndex: 3
|
|
2896
2926
|
}
|
|
2897
|
-
}, !disableGlobalFilter && React__default.createElement(MRT_SearchTextField, null), !hideToolbarInternalActions && positionToolbarActions === 'top' && React__default.createElement(MRT_ToolbarInternalButtons, null))), React__default.createElement("div", null, !manualPagination && ['top', 'both'].includes(positionPagination != null ? positionPagination : '') && React__default.createElement(MRT_TablePagination, null)));
|
|
2927
|
+
}, !disableGlobalFilter && React__default.createElement(MRT_SearchTextField, null), !hideToolbarInternalActions && positionToolbarActions === 'top' && React__default.createElement(MRT_ToolbarInternalButtons, null))), React__default.createElement("div", null, !manualPagination && ['top', 'both'].includes(positionPagination != null ? positionPagination : '') && React__default.createElement(MRT_TablePagination, null)), React__default.createElement(MRT_LinearProgressBar, null));
|
|
2898
2928
|
};
|
|
2899
2929
|
|
|
2900
2930
|
var MRT_ToolbarBottom = function MRT_ToolbarBottom() {
|
|
@@ -2913,53 +2943,37 @@ var MRT_ToolbarBottom = function MRT_ToolbarBottom() {
|
|
|
2913
2943
|
}, toolbarProps, {
|
|
2914
2944
|
sx: function sx(theme) {
|
|
2915
2945
|
return _extends({
|
|
2916
|
-
backgroundColor: theme.palette.background["default"],
|
|
2917
|
-
backgroundImage: "linear-gradient(" + material.alpha(theme.palette.common.white, 0.05) + "," + material.alpha(theme.palette.common.white, 0.05) + ")",
|
|
2918
2946
|
bottom: tableInstance.state.fullScreen ? '0' : undefined,
|
|
2919
|
-
|
|
2920
|
-
|
|
2921
|
-
|
|
2922
|
-
|
|
2923
|
-
|
|
2924
|
-
|
|
2925
|
-
|
|
2926
|
-
|
|
2947
|
+
position: tableInstance.state.fullScreen ? 'fixed' : undefined
|
|
2948
|
+
}, commonToolbarStyles(theme, tableInstance), toolbarProps == null ? void 0 : toolbarProps.sx);
|
|
2949
|
+
}
|
|
2950
|
+
}), React__default.createElement(MRT_LinearProgressBar, null), React__default.createElement(material.Box, {
|
|
2951
|
+
sx: {
|
|
2952
|
+
display: 'flex',
|
|
2953
|
+
justifyContent: 'space-between',
|
|
2954
|
+
width: '100%'
|
|
2927
2955
|
}
|
|
2928
|
-
}
|
|
2956
|
+
}, !hideToolbarInternalActions && positionToolbarActions === 'bottom' ? React__default.createElement(MRT_ToolbarInternalButtons, null) : React__default.createElement("span", null), positionToolbarAlertBanner === 'bottom' && React__default.createElement(MRT_ToolbarAlertBanner, null), !manualPagination && ['bottom', 'both'].includes(positionPagination != null ? positionPagination : '') && React__default.createElement(MRT_TablePagination, null)));
|
|
2929
2957
|
};
|
|
2930
2958
|
|
|
2931
2959
|
var MRT_TableContainer = function MRT_TableContainer() {
|
|
2932
2960
|
var _useMRT = useMRT(),
|
|
2933
2961
|
hideToolbarBottom = _useMRT.hideToolbarBottom,
|
|
2934
2962
|
hideToolbarTop = _useMRT.hideToolbarTop,
|
|
2935
|
-
isFetching = _useMRT.isFetching,
|
|
2936
|
-
isLoading = _useMRT.isLoading,
|
|
2937
|
-
muiLinearProgressProps = _useMRT.muiLinearProgressProps,
|
|
2938
2963
|
muiTableContainerProps = _useMRT.muiTableContainerProps,
|
|
2939
2964
|
tableInstance = _useMRT.tableInstance;
|
|
2940
2965
|
|
|
2941
2966
|
var fullScreen = tableInstance.state.fullScreen;
|
|
2942
|
-
var originalBodyOverflowStyle = React.useRef();
|
|
2943
|
-
React.useEffect(function () {
|
|
2944
|
-
if (typeof window !== 'undefined') {
|
|
2945
|
-
var _document, _document$body, _document$body$style;
|
|
2946
|
-
|
|
2947
|
-
originalBodyOverflowStyle.current = (_document = document) == null ? void 0 : (_document$body = _document.body) == null ? void 0 : (_document$body$style = _document$body.style) == null ? void 0 : _document$body$style.overflow;
|
|
2948
|
-
}
|
|
2949
|
-
}, []);
|
|
2950
2967
|
React.useEffect(function () {
|
|
2951
2968
|
if (typeof window !== 'undefined') {
|
|
2952
2969
|
if (fullScreen) {
|
|
2953
2970
|
document.body.style.overflow = 'hidden';
|
|
2954
2971
|
} else {
|
|
2955
|
-
|
|
2956
|
-
|
|
2957
|
-
document.body.style.overflow = (_originalBodyOverflow = originalBodyOverflowStyle.current) != null ? _originalBodyOverflow : 'auto';
|
|
2972
|
+
document.body.style.overflow = 'auto';
|
|
2958
2973
|
}
|
|
2959
2974
|
}
|
|
2960
2975
|
}, [fullScreen]);
|
|
2961
2976
|
var tableContainerProps = muiTableContainerProps instanceof Function ? muiTableContainerProps(tableInstance) : muiTableContainerProps;
|
|
2962
|
-
var linearProgressProps = muiLinearProgressProps instanceof Function ? muiLinearProgressProps(tableInstance) : muiLinearProgressProps;
|
|
2963
2977
|
return React__default.createElement(material.TableContainer, Object.assign({
|
|
2964
2978
|
component: material.Paper
|
|
2965
2979
|
}, tableContainerProps, {
|
|
@@ -2968,6 +2982,7 @@ var MRT_TableContainer = function MRT_TableContainer() {
|
|
|
2968
2982
|
height: fullScreen ? '100%' : undefined,
|
|
2969
2983
|
left: fullScreen ? '0' : undefined,
|
|
2970
2984
|
m: fullScreen ? '0' : undefined,
|
|
2985
|
+
overflowY: !fullScreen ? 'hidden' : undefined,
|
|
2971
2986
|
position: fullScreen ? 'fixed' : undefined,
|
|
2972
2987
|
right: fullScreen ? '0' : undefined,
|
|
2973
2988
|
top: fullScreen ? '0' : undefined,
|
|
@@ -2975,10 +2990,7 @@ var MRT_TableContainer = function MRT_TableContainer() {
|
|
|
2975
2990
|
width: fullScreen ? '100vw' : undefined,
|
|
2976
2991
|
zIndex: fullScreen ? 1200 : 1
|
|
2977
2992
|
}, tableContainerProps == null ? void 0 : tableContainerProps.sx)
|
|
2978
|
-
}), !hideToolbarTop && React__default.createElement(MRT_ToolbarTop, null), React__default.createElement(material.
|
|
2979
|
-
"in": isFetching || isLoading,
|
|
2980
|
-
unmountOnExit: true
|
|
2981
|
-
}, React__default.createElement(material.LinearProgress, Object.assign({}, linearProgressProps))), React__default.createElement(material.Box, {
|
|
2993
|
+
}), !hideToolbarTop && React__default.createElement(MRT_ToolbarTop, null), React__default.createElement(material.Box, {
|
|
2982
2994
|
sx: {
|
|
2983
2995
|
maxWidth: '100%',
|
|
2984
2996
|
overflowX: 'auto'
|
|
@@ -3061,13 +3073,16 @@ var MRT_Default_Icons = {
|
|
|
3061
3073
|
VisibilityOffIcon: VisibilityOffIcon
|
|
3062
3074
|
};
|
|
3063
3075
|
|
|
3064
|
-
var _excluded = ["defaultColumn", "icons", "localization", "positionActionsColumn", "positionPagination", "positionToolbarActions", "positionToolbarAlertBanner"];
|
|
3076
|
+
var _excluded = ["defaultColumn", "filterTypes", "globalFilter", "icons", "localization", "positionActionsColumn", "positionPagination", "positionToolbarActions", "positionToolbarAlertBanner"];
|
|
3065
3077
|
var MaterialReactTable = (function (_ref) {
|
|
3066
3078
|
var _ref$defaultColumn = _ref.defaultColumn,
|
|
3067
3079
|
defaultColumn = _ref$defaultColumn === void 0 ? {
|
|
3068
3080
|
minWidth: 50,
|
|
3069
3081
|
maxWidth: 1000
|
|
3070
3082
|
} : _ref$defaultColumn,
|
|
3083
|
+
filterTypes = _ref.filterTypes,
|
|
3084
|
+
_ref$globalFilter = _ref.globalFilter,
|
|
3085
|
+
globalFilter = _ref$globalFilter === void 0 ? 'fuzzy' : _ref$globalFilter,
|
|
3071
3086
|
icons = _ref.icons,
|
|
3072
3087
|
localization = _ref.localization,
|
|
3073
3088
|
_ref$positionActionsC = _ref.positionActionsColumn,
|
|
@@ -3080,8 +3095,14 @@ var MaterialReactTable = (function (_ref) {
|
|
|
3080
3095
|
positionToolbarAlertBanner = _ref$positionToolbarA2 === void 0 ? 'top' : _ref$positionToolbarA2,
|
|
3081
3096
|
rest = _objectWithoutPropertiesLoose(_ref, _excluded);
|
|
3082
3097
|
|
|
3083
|
-
return React__default.createElement(MaterialReactTableProvider
|
|
3098
|
+
return React__default.createElement(MaterialReactTableProvider //@ts-ignore
|
|
3099
|
+
, Object.assign({
|
|
3100
|
+
//@ts-ignore
|
|
3084
3101
|
defaultColumn: defaultColumn,
|
|
3102
|
+
//@ts-ignore
|
|
3103
|
+
filterTypes: _extends({}, defaultFilterFNs, filterTypes),
|
|
3104
|
+
//@ts-ignore
|
|
3105
|
+
globalFilter: globalFilter,
|
|
3085
3106
|
icons: _extends({}, MRT_Default_Icons, icons),
|
|
3086
3107
|
localization: _extends({}, MRT_DefaultLocalization_EN, localization),
|
|
3087
3108
|
positionActionsColumn: positionActionsColumn,
|