material-react-table 0.14.5 → 0.15.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/MaterialReactTable.d.ts +14 -7
- package/dist/{filtersFNs.d.ts → filtersFns.d.ts} +1 -1
- package/dist/inputs/{MRT_SearchTextField.d.ts → MRT_GlobalFilterTextField.d.ts} +1 -1
- package/dist/material-react-table.cjs.development.js +100 -38
- 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 +102 -40
- package/dist/material-react-table.esm.js.map +1 -1
- package/dist/sortingFns.d.ts +5 -0
- package/dist/utils.d.ts +1 -1
- package/package.json +1 -1
- package/src/MaterialReactTable.tsx +27 -11
- package/src/body/MRT_TableBody.tsx +34 -6
- package/src/buttons/MRT_ExpandAllButton.tsx +25 -19
- package/src/buttons/MRT_ExpandButton.tsx +25 -23
- package/src/{filtersFNs.ts → filtersFns.ts} +1 -1
- package/src/inputs/MRT_FilterTextField.tsx +12 -4
- package/src/inputs/{MRT_SearchTextField.tsx → MRT_GlobalFilterTextField.tsx} +18 -12
- package/src/menus/MRT_FilterOptionMenu.tsx +1 -1
- package/src/sortingFns.ts +25 -0
- package/src/table/MRT_TableRoot.tsx +17 -14
- package/src/toolbar/MRT_ToolbarInternalButtons.tsx +2 -2
- package/src/toolbar/MRT_ToolbarTop.tsx +3 -3
- package/src/utils.ts +2 -2
|
@@ -1,14 +1,13 @@
|
|
|
1
1
|
import { ChangeEvent, Dispatch, FC, FocusEvent, MouseEvent, ReactNode, SetStateAction } from 'react';
|
|
2
2
|
import { AlertProps, ButtonProps, CheckboxProps, IconButtonProps, LinearProgressProps, PaperProps, SkeletonProps, TableBodyProps, TableCellProps, TableContainerProps, TableFooterProps, TableHeadProps, TablePaginationProps, TableProps, TableRowProps, TextFieldProps, ToolbarProps } from '@mui/material';
|
|
3
|
-
import { Cell, Column, ColumnDef, FilterFn, FilterFnOption, Header, HeaderGroup, OnChangeFn, Overwrite, ReactTableGenerics, Row, TableGenerics, TableInstance, TableState, UseTableInstanceOptions, VisibilityState } from '@tanstack/react-table';
|
|
3
|
+
import { Cell, Column, ColumnDef, FilterFn, FilterFnOption, Header, HeaderGroup, OnChangeFn, Overwrite, ReactTableGenerics, Row, SortingFn, SortingFnOption, TableGenerics, TableInstance, TableState, UseTableInstanceOptions, VisibilityState } from '@tanstack/react-table';
|
|
4
4
|
import { Options as VirtualizerOptions } from 'react-virtual';
|
|
5
5
|
import { MRT_Localization } from './localization';
|
|
6
6
|
import { MRT_Icons } from './icons';
|
|
7
|
-
export declare type MRT_TableOptions<D extends Record<string, any> = {}> = Partial<Omit<UseTableInstanceOptions<ReactTableGenerics>, 'columns' | 'data' | 'initialState' | 'state' | 'expandRowsFn'
|
|
7
|
+
export declare type MRT_TableOptions<D extends Record<string, any> = {}> = Partial<Omit<UseTableInstanceOptions<ReactTableGenerics>, 'columns' | 'data' | 'initialState' | 'state' | 'expandRowsFn'>> & {
|
|
8
8
|
columns: MRT_ColumnDef<D>[];
|
|
9
9
|
data: D[];
|
|
10
10
|
expandRowsFn?: (dataRow: D) => D[];
|
|
11
|
-
filterFns?: MRT_FILTER_OPTION | FilterFn<D> | string | number | symbol;
|
|
12
11
|
initialState?: Partial<MRT_TableState<D>>;
|
|
13
12
|
state?: Partial<MRT_TableState<D>>;
|
|
14
13
|
};
|
|
@@ -21,7 +20,7 @@ export interface MRT_RowModel<D extends Record<string, any> = {}> {
|
|
|
21
20
|
}
|
|
22
21
|
export declare type MRT_TableInstance<D extends Record<string, any> = {}> = Omit<TableInstance<Overwrite<Partial<TableGenerics>, {
|
|
23
22
|
Row: D;
|
|
24
|
-
}>>, 'getAllColumns' | 'getAllFlatColumns' | 'getAllLeafColumns' | 'getCenterLeafColumns' | 'getColumn' | 'getExpandedRowModel' | 'getFlatHeaders' | 'getLeftLeafColumns' | 'getPaginationRowModel' | 'getPrePaginationRowModel' | 'getRightLeafColumns' | 'getRowModel' | 'getSelectedRowModel' | 'getState' | 'options'> & {
|
|
23
|
+
}>>, 'getAllColumns' | 'getAllFlatColumns' | 'getAllLeafColumns' | 'getCenterLeafColumns' | 'getColumn' | 'getExpandedRowModel' | 'getFlatHeaders' | 'getLeftLeafColumns' | 'getPaginationRowModel' | 'getPreFilteredRowModel' | 'getPrePaginationRowModel' | 'getRightLeafColumns' | 'getRowModel' | 'getSelectedRowModel' | 'getState' | 'options'> & {
|
|
25
24
|
getAllColumns: () => MRT_Column<D>[];
|
|
26
25
|
getAllFlatColumns: () => MRT_Column<D>[];
|
|
27
26
|
getAllLeafColumns: () => MRT_Column<D>[];
|
|
@@ -31,6 +30,7 @@ export declare type MRT_TableInstance<D extends Record<string, any> = {}> = Omit
|
|
|
31
30
|
getFlatHeaders: () => MRT_Header<D>[];
|
|
32
31
|
getLeftLeafColumns: () => MRT_Column<D>[];
|
|
33
32
|
getPaginationRowModel: () => MRT_RowModel<D>;
|
|
33
|
+
getPreFilteredRowModel: () => MRT_RowModel<D>;
|
|
34
34
|
getPrePaginationRowModel: () => MRT_RowModel<D>;
|
|
35
35
|
getRightLeafColumns: () => MRT_Column<D>[];
|
|
36
36
|
getRowModel: () => MRT_RowModel<D>;
|
|
@@ -65,7 +65,7 @@ export declare type MRT_TableState<D extends Record<string, any> = {}> = TableSt
|
|
|
65
65
|
showProgressBars: boolean;
|
|
66
66
|
showSkeletons: boolean;
|
|
67
67
|
};
|
|
68
|
-
export declare type MRT_ColumnDef<D extends Record<string, any> = {}> = Omit<ColumnDef<D>, 'accessorFn' | 'aggregatedCell' | '
|
|
68
|
+
export declare type MRT_ColumnDef<D extends Record<string, any> = {}> = Omit<ColumnDef<D>, 'accessorFn' | 'aggregatedCell' | 'cell' | 'columns' | 'filterFn' | 'footer' | 'header' | 'sortingFn'> & {
|
|
69
69
|
AggregatedCell?: ({ cell, instance, }: {
|
|
70
70
|
cell: MRT_Cell<D>;
|
|
71
71
|
instance: MRT_TableInstance<D>;
|
|
@@ -96,6 +96,7 @@ export declare type MRT_ColumnDef<D extends Record<string, any> = {}> = Omit<Col
|
|
|
96
96
|
enableColumnActions?: boolean;
|
|
97
97
|
enableColumnOrdering?: boolean;
|
|
98
98
|
enableEditing?: boolean;
|
|
99
|
+
enableColumnFilterChangeMode?: boolean;
|
|
99
100
|
enabledColumnFilterOptions?: (MRT_FILTER_OPTION | string)[] | null;
|
|
100
101
|
filterFn?: MRT_FilterFn;
|
|
101
102
|
filterSelectOptions?: (string | {
|
|
@@ -155,6 +156,7 @@ export declare type MRT_ColumnDef<D extends Record<string, any> = {}> = Omit<Col
|
|
|
155
156
|
filterValue: any;
|
|
156
157
|
instance: MRT_TableInstance<D>;
|
|
157
158
|
}) => void;
|
|
159
|
+
sortingFn?: MRT_SortingFn;
|
|
158
160
|
};
|
|
159
161
|
export declare type MRT_Column<D extends Record<string, any> = {}> = Omit<Column<D>, 'header' | 'footer' | 'columns' | 'columnDef'> & {
|
|
160
162
|
columns?: MRT_Column<D>[];
|
|
@@ -179,17 +181,22 @@ export declare type MRT_Cell<D extends Record<string, any> = {}> = Omit<Cell<D>,
|
|
|
179
181
|
column: MRT_Column<D>;
|
|
180
182
|
row: MRT_Row<D>;
|
|
181
183
|
};
|
|
184
|
+
export declare type MRT_SortingOption = SortingFnOption<TableGenerics> | 'fuzzy';
|
|
185
|
+
export declare type MRT_SortingFn = SortingFn<TableGenerics> | MRT_SortingOption;
|
|
182
186
|
export declare type MRT_FILTER_OPTION = 'between' | 'contains' | 'empty' | 'endsWith' | 'equals' | 'fuzzy' | 'greaterThan' | 'greaterThanOrEqual' | 'lessThan' | 'lessThanOrEqual' | 'notEmpty' | 'notEquals' | 'startsWith' | FilterFnOption<TableGenerics>;
|
|
183
|
-
export declare type MRT_FilterFn = FilterFn<TableGenerics> | MRT_FILTER_OPTION
|
|
187
|
+
export declare type MRT_FilterFn = FilterFn<TableGenerics> | MRT_FILTER_OPTION;
|
|
184
188
|
export declare type MaterialReactTableProps<D extends Record<string, any> = {}> = MRT_TableOptions<D> & {
|
|
185
189
|
editingMode?: 'table' | 'row' | 'cell';
|
|
186
190
|
enableClickToCopy?: boolean;
|
|
187
191
|
enableColumnActions?: boolean;
|
|
192
|
+
enableColumnFilterChangeMode?: boolean;
|
|
188
193
|
enableColumnOrdering?: boolean;
|
|
189
194
|
enableDensityToggle?: boolean;
|
|
190
195
|
enableEditing?: boolean;
|
|
191
196
|
enableExpandAll?: boolean;
|
|
192
197
|
enableFullScreenToggle?: boolean;
|
|
198
|
+
enableGlobalFilterChangeMode?: boolean;
|
|
199
|
+
enableGlobalFilterRankedResults?: boolean;
|
|
193
200
|
enablePagination?: boolean;
|
|
194
201
|
enablePersistentState?: boolean;
|
|
195
202
|
enableRowActions?: boolean;
|
|
@@ -451,5 +458,5 @@ export declare type MaterialReactTableProps<D extends Record<string, any> = {}>
|
|
|
451
458
|
tableId?: string;
|
|
452
459
|
virtualizerProps?: Partial<VirtualizerOptions<HTMLDivElement>>;
|
|
453
460
|
};
|
|
454
|
-
declare const _default: <D extends Record<string, any> = {}>({ autoResetExpanded, columnResizeMode, defaultColumn, editingMode, enableColumnActions, enableColumnFilters, enableColumnOrdering, enableColumnResizing, enableDensityToggle, enableExpandAll, enableFilters, enableFullScreenToggle, enableGlobalFilter, enableGrouping, enableHiding, enableMultiRowSelection, enablePagination, enablePinning, enableRowSelection, enableSelectAll, enableSorting, enableStickyHeader, enableTableFooter, enableTableHead, enableToolbarBottom, enableToolbarInternalActions, enableToolbarTop, icons, localization, persistentStateMode, positionActionsColumn, positionGlobalFilter, positionPagination, positionToolbarAlertBanner, rowNumberMode, selectAllMode, ...rest }: MaterialReactTableProps<D>) => JSX.Element;
|
|
461
|
+
declare const _default: <D extends Record<string, any> = {}>({ autoResetExpanded, columnResizeMode, defaultColumn, editingMode, enableColumnActions, enableColumnFilterChangeMode, enableColumnFilters, enableColumnOrdering, enableColumnResizing, enableDensityToggle, enableExpandAll, enableFilters, enableFullScreenToggle, enableGlobalFilter, enableGlobalFilterChangeMode, enableGlobalFilterRankedResults, enableGrouping, enableHiding, enableMultiRowSelection, enableMultiSort, enablePagination, enablePinning, enableRowSelection, enableSelectAll, enableSorting, enableStickyHeader, enableTableFooter, enableTableHead, enableToolbarBottom, enableToolbarInternalActions, enableToolbarTop, icons, localization, persistentStateMode, positionActionsColumn, positionGlobalFilter, positionPagination, positionToolbarAlertBanner, rowNumberMode, selectAllMode, ...rest }: MaterialReactTableProps<D>) => JSX.Element;
|
|
455
462
|
export default _default;
|
|
@@ -44,7 +44,7 @@ export declare const notEmpty: {
|
|
|
44
44
|
(row: MRT_Row, id: string, _filterValue: string | number): boolean;
|
|
45
45
|
autoRemove(val: any): boolean;
|
|
46
46
|
};
|
|
47
|
-
export declare const
|
|
47
|
+
export declare const MRT_FilterFns: {
|
|
48
48
|
between: {
|
|
49
49
|
(row: MRT_Row, id: string, filterValues: [string | number, string | number]): boolean;
|
|
50
50
|
autoRemove(val: any): boolean;
|
|
@@ -173,7 +173,7 @@ var MRT_ExpandAllButton = function MRT_ExpandAllButton(_ref) {
|
|
|
173
173
|
enterDelay: 1000,
|
|
174
174
|
enterNextDelay: 1000,
|
|
175
175
|
title: localization.expandAll
|
|
176
|
-
}, React__default.createElement(material.IconButton, Object.assign({
|
|
176
|
+
}, React__default.createElement("span", null, React__default.createElement(material.IconButton, Object.assign({
|
|
177
177
|
"aria-label": localization.expandAll,
|
|
178
178
|
disabled: !getCanSomeRowsExpand() && !renderDetailPanel,
|
|
179
179
|
onClick: function onClick() {
|
|
@@ -189,7 +189,7 @@ var MRT_ExpandAllButton = function MRT_ExpandAllButton(_ref) {
|
|
|
189
189
|
transform: "rotate(" + (getIsAllRowsExpanded() ? -180 : getIsSomeRowsExpanded() ? -90 : 0) + "deg)",
|
|
190
190
|
transition: 'transform 0.2s'
|
|
191
191
|
}
|
|
192
|
-
})));
|
|
192
|
+
}))));
|
|
193
193
|
};
|
|
194
194
|
|
|
195
195
|
var MRT_ExpandButton = function MRT_ExpandButton(_ref) {
|
|
@@ -225,7 +225,7 @@ var MRT_ExpandButton = function MRT_ExpandButton(_ref) {
|
|
|
225
225
|
enterDelay: 1000,
|
|
226
226
|
enterNextDelay: 1000,
|
|
227
227
|
title: localization.expand
|
|
228
|
-
}, React__default.createElement(material.IconButton, Object.assign({
|
|
228
|
+
}, React__default.createElement("span", null, React__default.createElement(material.IconButton, Object.assign({
|
|
229
229
|
"aria-label": localization.expand,
|
|
230
230
|
disabled: !row.getCanExpand() && !renderDetailPanel,
|
|
231
231
|
onClick: handleToggleExpand
|
|
@@ -239,7 +239,7 @@ var MRT_ExpandButton = function MRT_ExpandButton(_ref) {
|
|
|
239
239
|
transform: "rotate(" + (!row.getCanExpand() && !renderDetailPanel ? -90 : row.getIsExpanded() ? -180 : 0) + "deg)",
|
|
240
240
|
transition: 'transform 0.2s'
|
|
241
241
|
}
|
|
242
|
-
})));
|
|
242
|
+
}))));
|
|
243
243
|
};
|
|
244
244
|
|
|
245
245
|
var fuzzy = function fuzzy(row, columnId, filterValue, addMeta) {
|
|
@@ -334,7 +334,7 @@ notEmpty.autoRemove = function (val) {
|
|
|
334
334
|
return !val;
|
|
335
335
|
};
|
|
336
336
|
|
|
337
|
-
var
|
|
337
|
+
var MRT_FilterFns = {
|
|
338
338
|
between: between,
|
|
339
339
|
contains: contains,
|
|
340
340
|
empty: empty,
|
|
@@ -3397,7 +3397,7 @@ var createDataColumn = function createDataColumn(table, column, currentFilterFns
|
|
|
3397
3397
|
return (// @ts-ignore
|
|
3398
3398
|
table.createDataColumn(column.id, _extends({
|
|
3399
3399
|
filterFn: currentFilterFns[column.id] instanceof Function ? currentFilterFns[column.id] : // @ts-ignore
|
|
3400
|
-
|
|
3400
|
+
MRT_FilterFns[currentFilterFns[column.id]]
|
|
3401
3401
|
}, column))
|
|
3402
3402
|
);
|
|
3403
3403
|
};
|
|
@@ -5291,19 +5291,22 @@ var MRT_ToggleGlobalFilterButton = function MRT_ToggleGlobalFilterButton(_ref) {
|
|
|
5291
5291
|
}, rest), showGlobalFilter ? React__default.createElement(SearchOffIcon, null) : React__default.createElement(SearchIcon, null)));
|
|
5292
5292
|
};
|
|
5293
5293
|
|
|
5294
|
-
var
|
|
5294
|
+
var MRT_GlobalFilterTextField = function MRT_GlobalFilterTextField(_ref) {
|
|
5295
|
+
var _localization$clearSe;
|
|
5296
|
+
|
|
5295
5297
|
var instance = _ref.instance;
|
|
5296
5298
|
var getState = instance.getState,
|
|
5297
5299
|
setGlobalFilter = instance.setGlobalFilter,
|
|
5298
5300
|
_instance$options = instance.options,
|
|
5301
|
+
enableGlobalFilterChangeMode = _instance$options.enableGlobalFilterChangeMode,
|
|
5299
5302
|
_instance$options$ico = _instance$options.icons,
|
|
5300
5303
|
SearchIcon = _instance$options$ico.SearchIcon,
|
|
5301
5304
|
CloseIcon = _instance$options$ico.CloseIcon,
|
|
5302
|
-
tableId = _instance$options.tableId,
|
|
5303
5305
|
localization = _instance$options.localization,
|
|
5304
5306
|
muiSearchTextFieldProps = _instance$options.muiSearchTextFieldProps,
|
|
5305
5307
|
onGlobalFilterValueChanged = _instance$options.onGlobalFilterValueChanged,
|
|
5306
|
-
onGlobalFilterValueChangedDebounced = _instance$options.onGlobalFilterValueChangedDebounced
|
|
5308
|
+
onGlobalFilterValueChangedDebounced = _instance$options.onGlobalFilterValueChangedDebounced,
|
|
5309
|
+
tableId = _instance$options.tableId;
|
|
5307
5310
|
|
|
5308
5311
|
var _getState = getState(),
|
|
5309
5312
|
globalFilter = _getState.globalFilter,
|
|
@@ -5358,7 +5361,7 @@ var MRT_SearchTextField = function MRT_SearchTextField(_ref) {
|
|
|
5358
5361
|
value: searchValue != null ? searchValue : '',
|
|
5359
5362
|
variant: "standard",
|
|
5360
5363
|
InputProps: {
|
|
5361
|
-
startAdornment: React__default.createElement(material.InputAdornment, {
|
|
5364
|
+
startAdornment: enableGlobalFilterChangeMode ? React__default.createElement(material.InputAdornment, {
|
|
5362
5365
|
position: "start"
|
|
5363
5366
|
}, React__default.createElement(material.Tooltip, {
|
|
5364
5367
|
arrow: true,
|
|
@@ -5371,16 +5374,18 @@ var MRT_SearchTextField = function MRT_SearchTextField(_ref) {
|
|
|
5371
5374
|
height: '1.75rem',
|
|
5372
5375
|
width: '1.75rem'
|
|
5373
5376
|
}
|
|
5374
|
-
}, React__default.createElement(SearchIcon, null)))),
|
|
5377
|
+
}, React__default.createElement(SearchIcon, null)))) : React__default.createElement(SearchIcon, null),
|
|
5375
5378
|
endAdornment: React__default.createElement(material.InputAdornment, {
|
|
5376
5379
|
position: "end"
|
|
5377
|
-
}, React__default.createElement(material.
|
|
5380
|
+
}, React__default.createElement(material.Tooltip, {
|
|
5381
|
+
arrow: true,
|
|
5382
|
+
title: (_localization$clearSe = localization.clearSearch) != null ? _localization$clearSe : ''
|
|
5383
|
+
}, React__default.createElement("span", null, React__default.createElement(material.IconButton, {
|
|
5378
5384
|
"aria-label": localization.clearSearch,
|
|
5379
|
-
disabled: (searchValue
|
|
5385
|
+
disabled: !(searchValue != null && searchValue.length),
|
|
5380
5386
|
onClick: handleClear,
|
|
5381
|
-
size: "small"
|
|
5382
|
-
|
|
5383
|
-
}, React__default.createElement(CloseIcon, null)))
|
|
5387
|
+
size: "small"
|
|
5388
|
+
}, React__default.createElement(CloseIcon, null)))))
|
|
5384
5389
|
}
|
|
5385
5390
|
}, textFieldProps)), React__default.createElement(MRT_FilterOptionMenu, {
|
|
5386
5391
|
anchorEl: anchorEl,
|
|
@@ -5415,7 +5420,7 @@ var MRT_ToolbarInternalButtons = function MRT_ToolbarInternalButtons(_ref) {
|
|
|
5415
5420
|
MRT_ToggleFiltersButton: MRT_ToggleFiltersButton,
|
|
5416
5421
|
MRT_ToggleGlobalFilterButton: MRT_ToggleGlobalFilterButton,
|
|
5417
5422
|
instance: instance
|
|
5418
|
-
})) != null ? _renderToolbarInterna : React__default.createElement(React__default.Fragment, null, enableGlobalFilter && positionGlobalFilter === 'right' && React__default.createElement(
|
|
5423
|
+
})) != null ? _renderToolbarInterna : React__default.createElement(React__default.Fragment, null, enableGlobalFilter && positionGlobalFilter === 'right' && React__default.createElement(MRT_GlobalFilterTextField, {
|
|
5419
5424
|
instance: instance
|
|
5420
5425
|
}), enableFilters && enableGlobalFilter && React__default.createElement(MRT_ToggleGlobalFilterButton, {
|
|
5421
5426
|
instance: instance
|
|
@@ -5641,13 +5646,13 @@ var MRT_ToolbarTop = function MRT_ToolbarTop(_ref2) {
|
|
|
5641
5646
|
top: 0,
|
|
5642
5647
|
width: '100%'
|
|
5643
5648
|
}
|
|
5644
|
-
}, enableGlobalFilter && positionGlobalFilter === 'left' && React__default.createElement(
|
|
5649
|
+
}, enableGlobalFilter && positionGlobalFilter === 'left' && React__default.createElement(MRT_GlobalFilterTextField, {
|
|
5645
5650
|
instance: instance
|
|
5646
5651
|
}), (_renderToolbarTopCust = renderToolbarTopCustomActions == null ? void 0 : renderToolbarTopCustomActions({
|
|
5647
5652
|
instance: instance
|
|
5648
5653
|
})) != null ? _renderToolbarTopCust : React__default.createElement("span", null), enableToolbarInternalActions ? React__default.createElement(MRT_ToolbarInternalButtons, {
|
|
5649
5654
|
instance: instance
|
|
5650
|
-
}) : enableGlobalFilter && positionGlobalFilter === 'right' && React__default.createElement(
|
|
5655
|
+
}) : enableGlobalFilter && positionGlobalFilter === 'right' && React__default.createElement(MRT_GlobalFilterTextField, {
|
|
5651
5656
|
instance: instance
|
|
5652
5657
|
})), enablePagination && ['top', 'both'].includes(positionPagination != null ? positionPagination : '') && React__default.createElement(MRT_TablePagination, {
|
|
5653
5658
|
instance: instance,
|
|
@@ -5724,13 +5729,14 @@ var MRT_ToolbarBottom = function MRT_ToolbarBottom(_ref) {
|
|
|
5724
5729
|
};
|
|
5725
5730
|
|
|
5726
5731
|
var MRT_FilterTextField = function MRT_FilterTextField(_ref) {
|
|
5727
|
-
var _localization$filterB, _columnDef$enabledCol, _allowedColumnFilterO, _localization$filterM, _localization$,
|
|
5732
|
+
var _localization$filterB, _columnDef$enabledCol, _allowedColumnFilterO, _localization$filterM, _localization$, _localization$clearFi, _columnDef$filterSele;
|
|
5728
5733
|
|
|
5729
5734
|
var header = _ref.header,
|
|
5730
5735
|
inputIndex = _ref.inputIndex,
|
|
5731
5736
|
instance = _ref.instance;
|
|
5732
5737
|
var getState = instance.getState,
|
|
5733
5738
|
_instance$options = instance.options,
|
|
5739
|
+
enableColumnFilterChangeMode = _instance$options.enableColumnFilterChangeMode,
|
|
5734
5740
|
enabledColumnFilterOptions = _instance$options.enabledColumnFilterOptions,
|
|
5735
5741
|
_instance$options$ico = _instance$options.icons,
|
|
5736
5742
|
FilterListIcon = _instance$options$ico.FilterListIcon,
|
|
@@ -5856,6 +5862,7 @@ var MRT_FilterTextField = function MRT_FilterTextField(_ref) {
|
|
|
5856
5862
|
localization["filter" + (filterFn.charAt(0).toUpperCase() + filterFn.slice(1))] : '';
|
|
5857
5863
|
var filterPlaceholder = inputIndex === undefined ? (_localization$filterB = localization.filterByColumn) == null ? void 0 : _localization$filterB.replace('{column}', String(columnDef.header)) : inputIndex === 0 ? localization.min : inputIndex === 1 ? localization.max : '';
|
|
5858
5864
|
var allowedColumnFilterOptions = (_columnDef$enabledCol = columnDef == null ? void 0 : columnDef.enabledColumnFilterOptions) != null ? _columnDef$enabledCol : enabledColumnFilterOptions;
|
|
5865
|
+
var allowColumnChangeMode = enableColumnFilterChangeMode && columnDef.enableColumnFilterChangeMode !== false;
|
|
5859
5866
|
return React__default.createElement(React__default.Fragment, null, React__default.createElement(material.TextField, Object.assign({
|
|
5860
5867
|
fullWidth: true,
|
|
5861
5868
|
id: filterId,
|
|
@@ -5867,7 +5874,7 @@ var MRT_FilterTextField = function MRT_FilterTextField(_ref) {
|
|
|
5867
5874
|
},
|
|
5868
5875
|
title: filterPlaceholder
|
|
5869
5876
|
},
|
|
5870
|
-
helperText: !inputIndex && (allowedColumnFilterOptions === undefined || ((_allowedColumnFilterO = allowedColumnFilterOptions == null ? void 0 : allowedColumnFilterOptions.length) != null ? _allowedColumnFilterO : 0) > 0) ? React__default.createElement("label", {
|
|
5877
|
+
helperText: allowColumnChangeMode && !inputIndex && (allowedColumnFilterOptions === undefined || ((_allowedColumnFilterO = allowedColumnFilterOptions == null ? void 0 : allowedColumnFilterOptions.length) != null ? _allowedColumnFilterO : 0) > 0) ? React__default.createElement("label", {
|
|
5871
5878
|
htmlFor: filterId
|
|
5872
5879
|
}, filterFn instanceof Function ? (_localization$filterM = localization.filterMode.replace('{filterType}', // @ts-ignore
|
|
5873
5880
|
(_localization$ = localization["filter" + (filterFn.name.charAt(0).toUpperCase() + filterFn.name.slice(1))]) != null ? _localization$ : '')) != null ? _localization$filterM : '' : localization.filterMode.replace('{filterType}', // @ts-ignore
|
|
@@ -5879,7 +5886,6 @@ var MRT_FilterTextField = function MRT_FilterTextField(_ref) {
|
|
|
5879
5886
|
whiteSpace: 'nowrap'
|
|
5880
5887
|
}
|
|
5881
5888
|
},
|
|
5882
|
-
label: isSelectFilter && !filterValue ? filterPlaceholder : undefined,
|
|
5883
5889
|
margin: "none",
|
|
5884
5890
|
placeholder: filterChipLabel || isSelectFilter ? undefined : filterPlaceholder,
|
|
5885
5891
|
onChange: handleChange,
|
|
@@ -5890,7 +5896,7 @@ var MRT_FilterTextField = function MRT_FilterTextField(_ref) {
|
|
|
5890
5896
|
value: filterValue != null ? filterValue : '',
|
|
5891
5897
|
variant: "standard",
|
|
5892
5898
|
InputProps: {
|
|
5893
|
-
startAdornment: !isSelectFilter && !inputIndex && (allowedColumnFilterOptions === undefined || (
|
|
5899
|
+
startAdornment: allowColumnChangeMode && !isSelectFilter && !inputIndex && (allowedColumnFilterOptions === undefined || !!(allowedColumnFilterOptions != null && allowedColumnFilterOptions.length)) ? React__default.createElement(material.InputAdornment, {
|
|
5894
5900
|
position: "start"
|
|
5895
5901
|
}, React__default.createElement(material.Tooltip, {
|
|
5896
5902
|
arrow: true,
|
|
@@ -5906,7 +5912,7 @@ var MRT_FilterTextField = function MRT_FilterTextField(_ref) {
|
|
|
5906
5912
|
}, React__default.createElement(FilterListIcon, null)))), filterChipLabel && React__default.createElement(material.Chip, {
|
|
5907
5913
|
onDelete: handleClearFilterChip,
|
|
5908
5914
|
label: filterChipLabel
|
|
5909
|
-
})),
|
|
5915
|
+
})) : React__default.createElement(FilterListIcon, null),
|
|
5910
5916
|
endAdornment: !filterChipLabel && React__default.createElement(material.InputAdornment, {
|
|
5911
5917
|
position: "end"
|
|
5912
5918
|
}, React__default.createElement(material.Tooltip, {
|
|
@@ -5931,7 +5937,6 @@ var MRT_FilterTextField = function MRT_FilterTextField(_ref) {
|
|
|
5931
5937
|
p: 0,
|
|
5932
5938
|
minWidth: !filterChipLabel ? '8rem' : 'auto',
|
|
5933
5939
|
width: 'calc(100% + 0.5rem)',
|
|
5934
|
-
mt: isSelectFilter && !filterValue ? '-1rem' : undefined,
|
|
5935
5940
|
'& .MuiSelect-icon': {
|
|
5936
5941
|
mr: '1.5rem'
|
|
5937
5942
|
}
|
|
@@ -7284,6 +7289,28 @@ var MRT_TableBodyRow = function MRT_TableBodyRow(_ref) {
|
|
|
7284
7289
|
}));
|
|
7285
7290
|
};
|
|
7286
7291
|
|
|
7292
|
+
var fuzzy$1 = function fuzzy(rowA, rowB, columnId) {
|
|
7293
|
+
var dir = 0;
|
|
7294
|
+
|
|
7295
|
+
if (rowA.columnFiltersMeta[columnId]) {
|
|
7296
|
+
dir = matchSorterUtils.compareItems(rowA.columnFiltersMeta[columnId], rowB.columnFiltersMeta[columnId]);
|
|
7297
|
+
} // Provide a fallback for when the item ranks are equal
|
|
7298
|
+
|
|
7299
|
+
|
|
7300
|
+
return dir === 0 ? reactTable.sortingFns.alphanumeric(rowA, rowB, columnId) : dir;
|
|
7301
|
+
};
|
|
7302
|
+
|
|
7303
|
+
var MRT_SortingFns = {
|
|
7304
|
+
fuzzy: fuzzy$1
|
|
7305
|
+
};
|
|
7306
|
+
var rankGlobalFuzzy = function rankGlobalFuzzy(rowA, rowB) {
|
|
7307
|
+
return Math.max.apply(Math, Object.values(rowB.columnFiltersMeta).map(function (v) {
|
|
7308
|
+
return v.rank;
|
|
7309
|
+
})) - Math.max.apply(Math, Object.values(rowA.columnFiltersMeta).map(function (v) {
|
|
7310
|
+
return v.rank;
|
|
7311
|
+
}));
|
|
7312
|
+
};
|
|
7313
|
+
|
|
7287
7314
|
var MRT_TableBody = function MRT_TableBody(_ref) {
|
|
7288
7315
|
var instance = _ref.instance,
|
|
7289
7316
|
tableContainerRef = _ref.tableContainerRef;
|
|
@@ -7291,20 +7318,43 @@ var MRT_TableBody = function MRT_TableBody(_ref) {
|
|
|
7291
7318
|
getPrePaginationRowModel = instance.getPrePaginationRowModel,
|
|
7292
7319
|
getState = instance.getState,
|
|
7293
7320
|
_instance$options = instance.options,
|
|
7321
|
+
enableGlobalFilterRankedResults = _instance$options.enableGlobalFilterRankedResults,
|
|
7294
7322
|
enablePagination = _instance$options.enablePagination,
|
|
7295
7323
|
enableRowVirtualization = _instance$options.enableRowVirtualization,
|
|
7296
7324
|
muiTableBodyProps = _instance$options.muiTableBodyProps,
|
|
7297
7325
|
virtualizerProps = _instance$options.virtualizerProps;
|
|
7298
7326
|
|
|
7299
7327
|
var _getState = getState(),
|
|
7300
|
-
density = _getState.density
|
|
7328
|
+
density = _getState.density,
|
|
7329
|
+
globalFilter = _getState.globalFilter,
|
|
7330
|
+
pagination = _getState.pagination,
|
|
7331
|
+
sorting = _getState.sorting;
|
|
7301
7332
|
|
|
7302
7333
|
var tableBodyProps = muiTableBodyProps instanceof Function ? muiTableBodyProps({
|
|
7303
7334
|
instance: instance
|
|
7304
7335
|
}) : muiTableBodyProps;
|
|
7305
|
-
|
|
7336
|
+
|
|
7337
|
+
var getIsSomeColumnsSorted = function getIsSomeColumnsSorted() {
|
|
7338
|
+
return Object.values(sorting).some(Boolean);
|
|
7339
|
+
};
|
|
7340
|
+
|
|
7341
|
+
var rows = React.useMemo(function () {
|
|
7342
|
+
if (enableGlobalFilterRankedResults && globalFilter && !getIsSomeColumnsSorted()) {
|
|
7343
|
+
var rankedRows = getPrePaginationRowModel().rows.sort(function (a, b) {
|
|
7344
|
+
return rankGlobalFuzzy(a, b);
|
|
7345
|
+
});
|
|
7346
|
+
|
|
7347
|
+
if (enablePagination) {
|
|
7348
|
+
return rankedRows.slice(0, pagination.pageSize);
|
|
7349
|
+
}
|
|
7350
|
+
|
|
7351
|
+
return rankedRows;
|
|
7352
|
+
}
|
|
7353
|
+
|
|
7354
|
+
return enablePagination ? getPaginationRowModel().rows : getPrePaginationRowModel().rows;
|
|
7355
|
+
}, [enableGlobalFilterRankedResults, enableGlobalFilterRankedResults && globalFilter || !enablePagination ? getPrePaginationRowModel().rows : getPaginationRowModel().rows, globalFilter]);
|
|
7306
7356
|
var rowVirtualizer = enableRowVirtualization ? useVirtual(_extends({
|
|
7307
|
-
overscan: density === 'compact' ?
|
|
7357
|
+
overscan: density === 'compact' ? 20 : 10,
|
|
7308
7358
|
size: rows.length,
|
|
7309
7359
|
parentRef: tableContainerRef
|
|
7310
7360
|
}, virtualizerProps)) : {};
|
|
@@ -7633,8 +7683,7 @@ var MRT_TableRoot = function MRT_TableRoot(props) {
|
|
|
7633
7683
|
var table = React.useMemo(function () {
|
|
7634
7684
|
return (// @ts-ignore
|
|
7635
7685
|
reactTable.createTable().setOptions({
|
|
7636
|
-
|
|
7637
|
-
filterFns: defaultFilterFNs,
|
|
7686
|
+
filterFns: _extends({}, reactTable.filterFns, MRT_FilterFns, props.filterFns),
|
|
7638
7687
|
getCoreRowModel: reactTable.getCoreRowModel(),
|
|
7639
7688
|
getExpandedRowModel: reactTable.getExpandedRowModel(),
|
|
7640
7689
|
getFacetedRowModel: reactTable.getFacetedRowModel(),
|
|
@@ -7642,10 +7691,7 @@ var MRT_TableRoot = function MRT_TableRoot(props) {
|
|
|
7642
7691
|
getGroupedRowModel: reactTable.getGroupedRowModel(),
|
|
7643
7692
|
getPaginationRowModel: reactTable.getPaginationRowModel(),
|
|
7644
7693
|
getSortedRowModel: reactTable.getSortedRowModel(),
|
|
7645
|
-
|
|
7646
|
-
return row == null ? void 0 : row.subRows;
|
|
7647
|
-
},
|
|
7648
|
-
tableId: tableId
|
|
7694
|
+
sortingFns: _extends({}, reactTable.sortingFns, MRT_SortingFns, props.sortingFns)
|
|
7649
7695
|
})
|
|
7650
7696
|
);
|
|
7651
7697
|
}, []);
|
|
@@ -7742,6 +7788,9 @@ var MRT_TableRoot = function MRT_TableRoot(props) {
|
|
|
7742
7788
|
//@ts-ignore
|
|
7743
7789
|
columns: columns,
|
|
7744
7790
|
data: data,
|
|
7791
|
+
getSubRows: function getSubRows(row) {
|
|
7792
|
+
return row == null ? void 0 : row.subRows;
|
|
7793
|
+
},
|
|
7745
7794
|
//@ts-ignore
|
|
7746
7795
|
globalFilterFn: currentGlobalFilterFn,
|
|
7747
7796
|
initialState: initialState,
|
|
@@ -7755,7 +7804,8 @@ var MRT_TableRoot = function MRT_TableRoot(props) {
|
|
|
7755
7804
|
isFullScreen: isFullScreen,
|
|
7756
7805
|
showFilters: showFilters,
|
|
7757
7806
|
showGlobalFilter: showGlobalFilter
|
|
7758
|
-
}, props.state)
|
|
7807
|
+
}, props.state),
|
|
7808
|
+
tableId: tableId
|
|
7759
7809
|
})), {
|
|
7760
7810
|
setCurrentEditingCell: (_props$onCurrentEditi = props.onCurrentEditingCellChange) != null ? _props$onCurrentEditi : setCurrentEditingCell,
|
|
7761
7811
|
setCurrentEditingRow: (_props$onCurrentEditi2 = props.onCurrentEditingRowChange) != null ? _props$onCurrentEditi2 : setCurrentEditingRow,
|
|
@@ -7807,7 +7857,7 @@ var MRT_TableRoot = function MRT_TableRoot(props) {
|
|
|
7807
7857
|
}));
|
|
7808
7858
|
};
|
|
7809
7859
|
|
|
7810
|
-
var _excluded$5 = ["autoResetExpanded", "columnResizeMode", "defaultColumn", "editingMode", "enableColumnActions", "enableColumnFilters", "enableColumnOrdering", "enableColumnResizing", "enableDensityToggle", "enableExpandAll", "enableFilters", "enableFullScreenToggle", "enableGlobalFilter", "enableGrouping", "enableHiding", "enableMultiRowSelection", "enablePagination", "enablePinning", "enableRowSelection", "enableSelectAll", "enableSorting", "enableStickyHeader", "enableTableFooter", "enableTableHead", "enableToolbarBottom", "enableToolbarInternalActions", "enableToolbarTop", "icons", "localization", "persistentStateMode", "positionActionsColumn", "positionGlobalFilter", "positionPagination", "positionToolbarAlertBanner", "rowNumberMode", "selectAllMode"];
|
|
7860
|
+
var _excluded$5 = ["autoResetExpanded", "columnResizeMode", "defaultColumn", "editingMode", "enableColumnActions", "enableColumnFilterChangeMode", "enableColumnFilters", "enableColumnOrdering", "enableColumnResizing", "enableDensityToggle", "enableExpandAll", "enableFilters", "enableFullScreenToggle", "enableGlobalFilter", "enableGlobalFilterChangeMode", "enableGlobalFilterRankedResults", "enableGrouping", "enableHiding", "enableMultiRowSelection", "enableMultiSort", "enablePagination", "enablePinning", "enableRowSelection", "enableSelectAll", "enableSorting", "enableStickyHeader", "enableTableFooter", "enableTableHead", "enableToolbarBottom", "enableToolbarInternalActions", "enableToolbarTop", "icons", "localization", "persistentStateMode", "positionActionsColumn", "positionGlobalFilter", "positionPagination", "positionToolbarAlertBanner", "rowNumberMode", "selectAllMode"];
|
|
7811
7861
|
var MaterialReactTable = (function (_ref) {
|
|
7812
7862
|
var _ref$autoResetExpande = _ref.autoResetExpanded,
|
|
7813
7863
|
autoResetExpanded = _ref$autoResetExpande === void 0 ? false : _ref$autoResetExpande,
|
|
@@ -7823,8 +7873,10 @@ var MaterialReactTable = (function (_ref) {
|
|
|
7823
7873
|
editingMode = _ref$editingMode === void 0 ? 'row' : _ref$editingMode,
|
|
7824
7874
|
_ref$enableColumnActi = _ref.enableColumnActions,
|
|
7825
7875
|
enableColumnActions = _ref$enableColumnActi === void 0 ? true : _ref$enableColumnActi,
|
|
7826
|
-
_ref$enableColumnFilt = _ref.
|
|
7827
|
-
|
|
7876
|
+
_ref$enableColumnFilt = _ref.enableColumnFilterChangeMode,
|
|
7877
|
+
enableColumnFilterChangeMode = _ref$enableColumnFilt === void 0 ? true : _ref$enableColumnFilt,
|
|
7878
|
+
_ref$enableColumnFilt2 = _ref.enableColumnFilters,
|
|
7879
|
+
enableColumnFilters = _ref$enableColumnFilt2 === void 0 ? true : _ref$enableColumnFilt2,
|
|
7828
7880
|
_ref$enableColumnOrde = _ref.enableColumnOrdering,
|
|
7829
7881
|
enableColumnOrdering = _ref$enableColumnOrde === void 0 ? false : _ref$enableColumnOrde,
|
|
7830
7882
|
_ref$enableColumnResi = _ref.enableColumnResizing,
|
|
@@ -7839,12 +7891,18 @@ var MaterialReactTable = (function (_ref) {
|
|
|
7839
7891
|
enableFullScreenToggle = _ref$enableFullScreen === void 0 ? true : _ref$enableFullScreen,
|
|
7840
7892
|
_ref$enableGlobalFilt = _ref.enableGlobalFilter,
|
|
7841
7893
|
enableGlobalFilter = _ref$enableGlobalFilt === void 0 ? true : _ref$enableGlobalFilt,
|
|
7894
|
+
_ref$enableGlobalFilt2 = _ref.enableGlobalFilterChangeMode,
|
|
7895
|
+
enableGlobalFilterChangeMode = _ref$enableGlobalFilt2 === void 0 ? true : _ref$enableGlobalFilt2,
|
|
7896
|
+
_ref$enableGlobalFilt3 = _ref.enableGlobalFilterRankedResults,
|
|
7897
|
+
enableGlobalFilterRankedResults = _ref$enableGlobalFilt3 === void 0 ? true : _ref$enableGlobalFilt3,
|
|
7842
7898
|
_ref$enableGrouping = _ref.enableGrouping,
|
|
7843
7899
|
enableGrouping = _ref$enableGrouping === void 0 ? false : _ref$enableGrouping,
|
|
7844
7900
|
_ref$enableHiding = _ref.enableHiding,
|
|
7845
7901
|
enableHiding = _ref$enableHiding === void 0 ? true : _ref$enableHiding,
|
|
7846
7902
|
_ref$enableMultiRowSe = _ref.enableMultiRowSelection,
|
|
7847
7903
|
enableMultiRowSelection = _ref$enableMultiRowSe === void 0 ? true : _ref$enableMultiRowSe,
|
|
7904
|
+
_ref$enableMultiSort = _ref.enableMultiSort,
|
|
7905
|
+
enableMultiSort = _ref$enableMultiSort === void 0 ? true : _ref$enableMultiSort,
|
|
7848
7906
|
_ref$enablePagination = _ref.enablePagination,
|
|
7849
7907
|
enablePagination = _ref$enablePagination === void 0 ? true : _ref$enablePagination,
|
|
7850
7908
|
_ref$enablePinning = _ref.enablePinning,
|
|
@@ -7891,6 +7949,7 @@ var MaterialReactTable = (function (_ref) {
|
|
|
7891
7949
|
defaultColumn: defaultColumn,
|
|
7892
7950
|
editingMode: editingMode,
|
|
7893
7951
|
enableColumnActions: enableColumnActions,
|
|
7952
|
+
enableColumnFilterChangeMode: enableColumnFilterChangeMode,
|
|
7894
7953
|
enableColumnFilters: enableColumnFilters,
|
|
7895
7954
|
enableColumnOrdering: enableColumnOrdering,
|
|
7896
7955
|
enableColumnResizing: enableColumnResizing,
|
|
@@ -7899,9 +7958,12 @@ var MaterialReactTable = (function (_ref) {
|
|
|
7899
7958
|
enableFilters: enableFilters,
|
|
7900
7959
|
enableFullScreenToggle: enableFullScreenToggle,
|
|
7901
7960
|
enableGlobalFilter: enableGlobalFilter,
|
|
7961
|
+
enableGlobalFilterChangeMode: enableGlobalFilterChangeMode,
|
|
7962
|
+
enableGlobalFilterRankedResults: enableGlobalFilterRankedResults,
|
|
7902
7963
|
enableGrouping: enableGrouping,
|
|
7903
7964
|
enableHiding: enableHiding,
|
|
7904
7965
|
enableMultiRowSelection: enableMultiRowSelection,
|
|
7966
|
+
enableMultiSort: enableMultiSort,
|
|
7905
7967
|
enablePagination: enablePagination,
|
|
7906
7968
|
enablePinning: enablePinning,
|
|
7907
7969
|
enableRowSelection: enableRowSelection,
|