@popmenu/table 0.92.0 → 0.93.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/build/components/Table/TableProps.d.ts +2 -0
- package/build/components/TableContext/index.d.ts +15 -2
- package/build/hooks/index.d.ts +1 -0
- package/build/hooks/useStagedColumnFilters.d.ts +8 -0
- package/build/index.es.js +153 -64
- package/build/index.es.js.map +1 -1
- package/build/index.js +152 -63
- package/build/index.js.map +1 -1
- package/package.json +2 -2
package/build/index.js
CHANGED
|
@@ -1081,6 +1081,14 @@ var TableFooter = function (props) {
|
|
|
1081
1081
|
};
|
|
1082
1082
|
|
|
1083
1083
|
var useStyles$6 = core.makeStyles(function (theme) { return ({
|
|
1084
|
+
buttonBox: {
|
|
1085
|
+
'& > :last-child': {
|
|
1086
|
+
marginLeft: theme.spacing(2),
|
|
1087
|
+
},
|
|
1088
|
+
display: 'flex',
|
|
1089
|
+
justifyContent: 'flex-end',
|
|
1090
|
+
padding: "0px " + theme.spacing(3) + "px " + theme.spacing(3) + "px " + theme.spacing(3) + "px",
|
|
1091
|
+
},
|
|
1084
1092
|
buttonLabel: {
|
|
1085
1093
|
fontWeight: 400,
|
|
1086
1094
|
},
|
|
@@ -1126,55 +1134,55 @@ var useStyles$6 = core.makeStyles(function (theme) { return ({
|
|
|
1126
1134
|
},
|
|
1127
1135
|
}); });
|
|
1128
1136
|
|
|
1129
|
-
var _path$
|
|
1137
|
+
var _path$2p;
|
|
1130
1138
|
|
|
1131
|
-
function _extends$
|
|
1139
|
+
function _extends$5p() { _extends$5p = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends$5p.apply(this, arguments); }
|
|
1132
1140
|
|
|
1133
1141
|
function SvgChevronDown(props) {
|
|
1134
|
-
return /*#__PURE__*/React__namespace.createElement("svg", _extends$
|
|
1142
|
+
return /*#__PURE__*/React__namespace.createElement("svg", _extends$5p({
|
|
1135
1143
|
viewBox: "0 0 16 16",
|
|
1136
1144
|
fill: "none",
|
|
1137
1145
|
strokeLinecap: "round",
|
|
1138
1146
|
strokeLinejoin: "round",
|
|
1139
1147
|
width: "1em",
|
|
1140
1148
|
height: "1em"
|
|
1141
|
-
}, props), _path$
|
|
1149
|
+
}, props), _path$2p || (_path$2p = /*#__PURE__*/React__namespace.createElement("path", {
|
|
1142
1150
|
d: "M4 6l4 4 4-4",
|
|
1143
1151
|
stroke: "currentColor"
|
|
1144
1152
|
})));
|
|
1145
1153
|
}
|
|
1146
1154
|
|
|
1147
|
-
var _path$
|
|
1155
|
+
var _path$2o;
|
|
1148
1156
|
|
|
1149
|
-
function _extends$
|
|
1157
|
+
function _extends$5o() { _extends$5o = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends$5o.apply(this, arguments); }
|
|
1150
1158
|
|
|
1151
1159
|
function SvgChevronUp(props) {
|
|
1152
|
-
return /*#__PURE__*/React__namespace.createElement("svg", _extends$
|
|
1160
|
+
return /*#__PURE__*/React__namespace.createElement("svg", _extends$5o({
|
|
1153
1161
|
viewBox: "0 0 16 16",
|
|
1154
1162
|
fill: "none",
|
|
1155
1163
|
strokeLinecap: "round",
|
|
1156
1164
|
strokeLinejoin: "round",
|
|
1157
1165
|
width: "1em",
|
|
1158
1166
|
height: "1em"
|
|
1159
|
-
}, props), _path$
|
|
1167
|
+
}, props), _path$2o || (_path$2o = /*#__PURE__*/React__namespace.createElement("path", {
|
|
1160
1168
|
d: "M12 10L8 6l-4 4",
|
|
1161
1169
|
stroke: "currentColor"
|
|
1162
1170
|
})));
|
|
1163
1171
|
}
|
|
1164
1172
|
|
|
1165
|
-
var _path$
|
|
1173
|
+
var _path$2f;
|
|
1166
1174
|
|
|
1167
|
-
function _extends$
|
|
1175
|
+
function _extends$58() { _extends$58 = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends$58.apply(this, arguments); }
|
|
1168
1176
|
|
|
1169
1177
|
function SvgSort(props) {
|
|
1170
|
-
return /*#__PURE__*/React__namespace.createElement("svg", _extends$
|
|
1178
|
+
return /*#__PURE__*/React__namespace.createElement("svg", _extends$58({
|
|
1171
1179
|
viewBox: "0 0 16 16",
|
|
1172
1180
|
fill: "none",
|
|
1173
1181
|
strokeLinecap: "round",
|
|
1174
1182
|
strokeLinejoin: "round",
|
|
1175
1183
|
width: "1em",
|
|
1176
1184
|
height: "1em"
|
|
1177
|
-
}, props), _path$
|
|
1185
|
+
}, props), _path$2f || (_path$2f = /*#__PURE__*/React__namespace.createElement("path", {
|
|
1178
1186
|
d: "M11.333 6L8 2.667 4.667 6m6.666 4L8 13.334 4.667 10",
|
|
1179
1187
|
stroke: "currentColor"
|
|
1180
1188
|
})));
|
|
@@ -1268,30 +1276,36 @@ var SelectFilter = function (props) {
|
|
|
1268
1276
|
var _a, _b, _c;
|
|
1269
1277
|
var options = props.options, columnId = props.columnId, multiple = props.multiple;
|
|
1270
1278
|
var classes = useStyles$4();
|
|
1271
|
-
var
|
|
1272
|
-
var _d = useFilterPanelContext().anchorState, setAnchorEl = _d[1];
|
|
1279
|
+
var _d = React.useContext(TableContext), table = _d.table, stagedColumnFilters = _d.stagedColumnFilters, stageFilterSelections = _d.stageFilterSelections;
|
|
1273
1280
|
var _e = React.useState(false), open = _e[0], setOpen = _e[1];
|
|
1281
|
+
var _f = useFilterPanelContext().anchorState, setAnchorEl = _f[1];
|
|
1274
1282
|
var column = table.getColumn(columnId);
|
|
1275
1283
|
var meta = column.columnDef.meta;
|
|
1276
1284
|
var filterName = (_a = meta === null || meta === void 0 ? void 0 : meta.filter) === null || _a === void 0 ? void 0 : _a.name;
|
|
1277
|
-
var value =
|
|
1285
|
+
var value = '';
|
|
1286
|
+
if (stageFilterSelections) {
|
|
1287
|
+
value = stagedColumnFilters.get(columnId);
|
|
1288
|
+
}
|
|
1289
|
+
else {
|
|
1290
|
+
value = column.getFilterValue();
|
|
1291
|
+
}
|
|
1278
1292
|
var fallbackValue = multiple ? [] : '';
|
|
1279
1293
|
var filteredOptions = options.map(function (option) {
|
|
1280
1294
|
if (Array.isArray(value)) {
|
|
1281
1295
|
if (value.includes(option.value)) {
|
|
1282
|
-
return __assign$3(__assign$3({}, option), { hide:
|
|
1296
|
+
return __assign$3(__assign$3({}, option), { hide: !stageFilterSelections });
|
|
1283
1297
|
}
|
|
1284
1298
|
}
|
|
1285
1299
|
if (typeof value === 'string' || typeof value === 'number') {
|
|
1286
1300
|
if (value === option.value) {
|
|
1287
|
-
return __assign$3(__assign$3({}, option), { hide:
|
|
1301
|
+
return __assign$3(__assign$3({}, option), { hide: !stageFilterSelections });
|
|
1288
1302
|
}
|
|
1289
1303
|
}
|
|
1290
1304
|
return __assign$3(__assign$3({}, option), { hide: false });
|
|
1291
1305
|
});
|
|
1292
1306
|
var filteredOptionsCount = filteredOptions.filter(function (option) { return !(option === null || option === void 0 ? void 0 : option.hide); }).length;
|
|
1293
1307
|
var renderedValue = '';
|
|
1294
|
-
if (value && filteredOptions && filteredOptionsCount > 0) {
|
|
1308
|
+
if (!stageFilterSelections && value && filteredOptions && filteredOptionsCount > 0) {
|
|
1295
1309
|
if (typeof value === 'string' || typeof value === 'number') {
|
|
1296
1310
|
renderedValue = (_c = (_b = filteredOptions.find(function (option) { return option.value === value; })) === null || _b === void 0 ? void 0 : _b.label) !== null && _c !== void 0 ? _c : filterName;
|
|
1297
1311
|
}
|
|
@@ -1304,12 +1318,20 @@ var SelectFilter = function (props) {
|
|
|
1304
1318
|
}
|
|
1305
1319
|
var handleChange = function (event) {
|
|
1306
1320
|
event.stopPropagation();
|
|
1307
|
-
|
|
1308
|
-
|
|
1321
|
+
if (stageFilterSelections) {
|
|
1322
|
+
stagedColumnFilters.update(columnId, event.target.value);
|
|
1323
|
+
}
|
|
1324
|
+
else {
|
|
1325
|
+
column.setFilterValue(event.target.value);
|
|
1326
|
+
setAnchorEl(null);
|
|
1327
|
+
}
|
|
1309
1328
|
};
|
|
1310
1329
|
var handleItemClick = function () {
|
|
1311
1330
|
if (multiple) {
|
|
1312
|
-
if (filteredOptionsCount === 1) {
|
|
1331
|
+
if (!stageFilterSelections && filteredOptionsCount === 1) {
|
|
1332
|
+
setOpen(false);
|
|
1333
|
+
}
|
|
1334
|
+
else {
|
|
1313
1335
|
setOpen(false);
|
|
1314
1336
|
}
|
|
1315
1337
|
}
|
|
@@ -1317,7 +1339,7 @@ var SelectFilter = function (props) {
|
|
|
1317
1339
|
return (React__default['default'].createElement(core.Box, { className: classes.selectContainer },
|
|
1318
1340
|
React__default['default'].createElement(core.FormControl, { variant: "outlined", fullWidth: true },
|
|
1319
1341
|
React__default['default'].createElement(core.InputLabel, { id: "select-filter-label-" + filterName }, filterName || 'filter'),
|
|
1320
|
-
React__default['default'].createElement(core.Select, { variant: "outlined", open: open, onOpen: function () { return setOpen(true); }, onClose: function () { return setOpen(false); }, value: value || fallbackValue, displayEmpty: true, multiple: multiple, renderValue: function () { return React__default['default'].createElement(Typography$1, null, renderedValue); }, label: filterName || 'filter', labelId: "select-filter-label-" + filterName, disabled: !filteredOptionsCount, IconComponent: SvgChevronDown, onChange: handleChange, fullWidth: true, classes: {
|
|
1342
|
+
React__default['default'].createElement(core.Select, { variant: "outlined", open: open, onOpen: function () { return setOpen(true); }, onClose: function () { return setOpen(false); }, value: value || fallbackValue, displayEmpty: true, multiple: multiple, renderValue: stageFilterSelections ? undefined : function () { return React__default['default'].createElement(Typography$1, null, renderedValue); }, label: filterName || 'filter', labelId: "select-filter-label-" + filterName, disabled: !filteredOptionsCount, IconComponent: SvgChevronDown, onChange: handleChange, fullWidth: true, classes: {
|
|
1321
1343
|
root: classes.selectRoot,
|
|
1322
1344
|
icon: classes.icon,
|
|
1323
1345
|
}, MenuProps: {
|
|
@@ -1337,7 +1359,7 @@ var SelectFilter = function (props) {
|
|
|
1337
1359
|
};
|
|
1338
1360
|
|
|
1339
1361
|
var ToggleFilter = function (props) {
|
|
1340
|
-
var table = React.useContext(TableContext);
|
|
1362
|
+
var table = React.useContext(TableContext).table;
|
|
1341
1363
|
var columnId = props.columnId;
|
|
1342
1364
|
var column = table.getColumn(columnId);
|
|
1343
1365
|
var meta = column.columnDef.meta;
|
|
@@ -1435,44 +1457,37 @@ function makeFormatSelectedFilterText(table) {
|
|
|
1435
1457
|
};
|
|
1436
1458
|
}
|
|
1437
1459
|
|
|
1438
|
-
var
|
|
1439
|
-
var
|
|
1440
|
-
var
|
|
1441
|
-
|
|
1442
|
-
|
|
1443
|
-
|
|
1444
|
-
|
|
1445
|
-
|
|
1446
|
-
|
|
1447
|
-
|
|
1448
|
-
|
|
1449
|
-
|
|
1450
|
-
var
|
|
1451
|
-
|
|
1452
|
-
|
|
1453
|
-
|
|
1454
|
-
|
|
1460
|
+
var useStagedColumnFilters = function () {
|
|
1461
|
+
var _a = React.useState(new Map()), columnInputValues = _a[0], setColumnInputValues = _a[1];
|
|
1462
|
+
var filterState = {
|
|
1463
|
+
update: function (columnId, value) {
|
|
1464
|
+
return setColumnInputValues(columnInputValues.set(columnId, value));
|
|
1465
|
+
},
|
|
1466
|
+
get: function (columnId) { return columnInputValues.get(columnId); },
|
|
1467
|
+
clear: function () {
|
|
1468
|
+
columnInputValues.clear();
|
|
1469
|
+
setColumnInputValues(columnInputValues);
|
|
1470
|
+
},
|
|
1471
|
+
delete: function (columnFilter) {
|
|
1472
|
+
var values = columnInputValues.get(columnFilter.id);
|
|
1473
|
+
if (values && Array.isArray(values)) {
|
|
1474
|
+
var valueIndex = values.indexOf(columnFilter.value);
|
|
1475
|
+
values.splice(valueIndex, 1);
|
|
1476
|
+
if (values.length > 0) {
|
|
1477
|
+
columnInputValues.set(columnFilter.id, values);
|
|
1478
|
+
}
|
|
1479
|
+
else {
|
|
1480
|
+
columnInputValues.clear();
|
|
1481
|
+
}
|
|
1455
1482
|
}
|
|
1456
|
-
|
|
1483
|
+
else {
|
|
1484
|
+
columnInputValues.delete(columnFilter.id);
|
|
1485
|
+
}
|
|
1486
|
+
setColumnInputValues(columnInputValues);
|
|
1487
|
+
},
|
|
1488
|
+
exist: function () { return columnInputValues.size > 0; },
|
|
1457
1489
|
};
|
|
1458
|
-
|
|
1459
|
-
return (React__default['default'].createElement(core.Popover, { onClick: handleClick, anchorEl: anchorEl, anchorOrigin: {
|
|
1460
|
-
vertical: 'bottom',
|
|
1461
|
-
horizontal: 'right',
|
|
1462
|
-
}, className: classes.filterPopover, onClose: onClose, open: open, PaperProps: {
|
|
1463
|
-
style: {
|
|
1464
|
-
backgroundColor: 'transparent',
|
|
1465
|
-
boxShadow: 'none',
|
|
1466
|
-
borderRadius: 0,
|
|
1467
|
-
},
|
|
1468
|
-
}, transformOrigin: {
|
|
1469
|
-
vertical: 'top',
|
|
1470
|
-
horizontal: 'right',
|
|
1471
|
-
} },
|
|
1472
|
-
React__default['default'].createElement(Paper$1, { className: classes.filterPopoverContents, elevation: 2 },
|
|
1473
|
-
React__default['default'].createElement(core.Box, __assign$3({}, { ref: paperRef }, { padding: 3 }),
|
|
1474
|
-
React__default['default'].createElement(Typography$1, { className: classes.menuTitle }, "Filter By"),
|
|
1475
|
-
columnFilters.map(function (columnFilter, i) { return (React__default['default'].createElement(FilterControl, __assign$3({}, columnFilter, { key: i }))); })))));
|
|
1490
|
+
return filterState;
|
|
1476
1491
|
};
|
|
1477
1492
|
|
|
1478
1493
|
/*! *****************************************************************************
|
|
@@ -3248,6 +3263,68 @@ createTheme__default['default'](adminLightOptions);
|
|
|
3248
3263
|
var adminDarkOptions = __assign$1(__assign$1(__assign$1(__assign$1({ themeName: 'Admin Dark', palette: __assign$1(__assign$1(__assign$1({}, basePalette), adminDarkPalette), dataVizPalette), breakpoints: adminThemeBreakpoints, typography: adminThemeTypography, overrides: overrides }, adminDarkPlaceholder), adminThemeZIndex), adminThemeStatus), adminThemeDefaultProps);
|
|
3249
3264
|
createTheme__default['default'](adminDarkOptions);
|
|
3250
3265
|
|
|
3266
|
+
var Panel = function (props) {
|
|
3267
|
+
var anchorEl = props.anchorEl, onClose = props.onClose;
|
|
3268
|
+
var classes = useStyles$6();
|
|
3269
|
+
var _a = React.useContext(TableContext), table = _a.table, stagedColumnFilters = _a.stagedColumnFilters, stageFilterSelections = _a.stageFilterSelections;
|
|
3270
|
+
var paperRef = React.useRef(null);
|
|
3271
|
+
var _b = useColumnFilters(table), columnFilters = _b.columnFilters, resetColumnFilters = _b.resetColumnFilters;
|
|
3272
|
+
var handleClick = function (e) {
|
|
3273
|
+
var _a;
|
|
3274
|
+
var rect = (_a = paperRef.current) === null || _a === void 0 ? void 0 : _a.getBoundingClientRect();
|
|
3275
|
+
if (rect) {
|
|
3276
|
+
var buffer = 10;
|
|
3277
|
+
var mouseX = e.nativeEvent.x;
|
|
3278
|
+
var mouseY = e.nativeEvent.y;
|
|
3279
|
+
var xHit = rect.x - buffer < mouseX && mouseX < rect.x + rect.width + buffer;
|
|
3280
|
+
var yHit = rect.y - buffer < mouseY && mouseY < rect.y + rect.height + buffer;
|
|
3281
|
+
if (!xHit || !yHit) {
|
|
3282
|
+
onClose();
|
|
3283
|
+
}
|
|
3284
|
+
}
|
|
3285
|
+
};
|
|
3286
|
+
var handleApplyClick = function () {
|
|
3287
|
+
if (stagedColumnFilters.exist()) {
|
|
3288
|
+
columnFilters.forEach(function (columnFilter) {
|
|
3289
|
+
var columnInputValue = stagedColumnFilters.get(columnFilter.columnId);
|
|
3290
|
+
if (columnInputValue) {
|
|
3291
|
+
var column = table.getColumn(columnFilter.columnId);
|
|
3292
|
+
column.setFilterValue(columnInputValue);
|
|
3293
|
+
}
|
|
3294
|
+
});
|
|
3295
|
+
}
|
|
3296
|
+
else {
|
|
3297
|
+
resetColumnFilters();
|
|
3298
|
+
}
|
|
3299
|
+
onClose();
|
|
3300
|
+
};
|
|
3301
|
+
var handleCancelClick = function () {
|
|
3302
|
+
stagedColumnFilters.clear();
|
|
3303
|
+
onClose();
|
|
3304
|
+
};
|
|
3305
|
+
var open = Boolean(anchorEl);
|
|
3306
|
+
return (React__default['default'].createElement(core.Popover, { onClick: handleClick, anchorEl: anchorEl, anchorOrigin: {
|
|
3307
|
+
vertical: 'bottom',
|
|
3308
|
+
horizontal: 'right',
|
|
3309
|
+
}, className: classes.filterPopover, onClose: onClose, open: open, PaperProps: {
|
|
3310
|
+
style: {
|
|
3311
|
+
backgroundColor: 'transparent',
|
|
3312
|
+
boxShadow: 'none',
|
|
3313
|
+
borderRadius: 0,
|
|
3314
|
+
},
|
|
3315
|
+
}, transformOrigin: {
|
|
3316
|
+
vertical: 'top',
|
|
3317
|
+
horizontal: 'right',
|
|
3318
|
+
} },
|
|
3319
|
+
React__default['default'].createElement(Paper$1, { className: classes.filterPopoverContents, elevation: 2 },
|
|
3320
|
+
React__default['default'].createElement(core.Box, __assign$3({}, { ref: paperRef }, { padding: 3 }),
|
|
3321
|
+
React__default['default'].createElement(Typography$1, { className: classes.menuTitle }, "Filter By"),
|
|
3322
|
+
columnFilters.map(function (columnFilter, i) { return (React__default['default'].createElement(FilterControl, __assign$3({}, columnFilter, { key: i }))); })),
|
|
3323
|
+
stageFilterSelections && (React__default['default'].createElement(core.Box, { className: classes.buttonBox },
|
|
3324
|
+
React__default['default'].createElement(Button, { variant: "secondary", onClick: handleCancelClick }, "Cancel"),
|
|
3325
|
+
React__default['default'].createElement(Button, { onClick: handleApplyClick }, "Apply"))))));
|
|
3326
|
+
};
|
|
3327
|
+
|
|
3251
3328
|
var useStyles$3 = core.makeStyles({
|
|
3252
3329
|
root: {
|
|
3253
3330
|
justifySelf: 'end',
|
|
@@ -4082,7 +4159,7 @@ var defaultTableProps = {
|
|
|
4082
4159
|
searchable: false,
|
|
4083
4160
|
};
|
|
4084
4161
|
var Table = function (props) {
|
|
4085
|
-
var title = props.title, data = props.data, columns = props.columns, enableSortingRemoval = props.enableSortingRemoval, loading = props.loading, searchable = props.searchable, sortable = props.sortable, externalFilterState = props.filterState, externalGlobalFilterState = props.globalFilterState, externalPaginationState = props.paginationState, externalSortingState = props.sortingState, externalVisibilityState = props.visibilityState, paginated = props.paginated, pageCount = props.pageCount, GlobalFilterProps = props.GlobalFilterProps, Empty = props.Empty, idBase = props.idBase;
|
|
4162
|
+
var title = props.title, data = props.data, columns = props.columns, enableSortingRemoval = props.enableSortingRemoval, loading = props.loading, searchable = props.searchable, sortable = props.sortable, externalFilterState = props.filterState, externalGlobalFilterState = props.globalFilterState, externalPaginationState = props.paginationState, externalSortingState = props.sortingState, externalVisibilityState = props.visibilityState, paginated = props.paginated, pageCount = props.pageCount, GlobalFilterProps = props.GlobalFilterProps, Empty = props.Empty, idBase = props.idBase, stageFilterSelections = props.stageFilterSelections;
|
|
4086
4163
|
var classes = useStyles$7(props);
|
|
4087
4164
|
var rootRef = React.useRef(null);
|
|
4088
4165
|
// Prepare Empty State
|
|
@@ -4110,6 +4187,8 @@ var Table = function (props) {
|
|
|
4110
4187
|
// Init table instance
|
|
4111
4188
|
var table = reactTable.useReactTable(__assign$3(__assign$3(__assign$3(__assign$3(__assign$3(__assign$3({ data: data, columns: columns, state: __assign$3(__assign$3(__assign$3(__assign$3(__assign$3({}, (isControlledPagination && { pagination: pagination })), (isControlledGlobalFilter && { globalFilter: globalFilter })), (isControlledColumnFilters && { columnFilters: columnFilters })), (isControlledColumnVisibility && { columnVisibility: columnVisibility })), (isControlledColumnSort && { sorting: sorting })), enableSorting: sortable, enableSortingRemoval: enableSortingRemoval, globalFilterFn: coercedValueIncludesString, getCoreRowModel: reactTable.getCoreRowModel(), getSortedRowModel: reactTable.getSortedRowModel(), getFilteredRowModel: reactTable.getFilteredRowModel() }, (paginated && { getPaginationRowModel: reactTable.getPaginationRowModel() })), (isControlledPagination && controlledPaginationOptions)), (isControlledGlobalFilter && controlledGlobalFilterOptions)), (isControlledColumnFilters && controlledColumnFiltersOptions)), (isControlledColumnSort && controlledColumnSortOptions)), { meta: { idBase: idBase } }));
|
|
4112
4189
|
var _f = useColumnFilters(table), selectedColumnFilters = _f.selectedColumnFilters, hasColumnFilters = _f.hasColumnFilters, deselectColumnFilter = _f.deselectColumnFilter, formatSelectedFilterText = _f.formatSelectedFilterText, resetColumnFilters = _f.resetColumnFilters;
|
|
4190
|
+
// stagedColumnFilters is only used when stageFilterSelections is enabled
|
|
4191
|
+
var stagedColumnFilters = useStagedColumnFilters();
|
|
4113
4192
|
var handlePagination = function (_e, pageNumber) {
|
|
4114
4193
|
var pageIndex = pageNumber - 1;
|
|
4115
4194
|
table.setPageIndex(pageIndex);
|
|
@@ -4118,7 +4197,7 @@ var Table = function (props) {
|
|
|
4118
4197
|
var showGlobalSearch = Boolean(searchable || isControlledGlobalFilter);
|
|
4119
4198
|
var showColumnFilter = Boolean(hasColumnFilters);
|
|
4120
4199
|
var showControls = Boolean(showTitle || showGlobalSearch || showColumnFilter);
|
|
4121
|
-
return (React__default['default'].createElement(TableContext.Provider, { value: table },
|
|
4200
|
+
return (React__default['default'].createElement(TableContext.Provider, { value: { table: table, stagedColumnFilters: stagedColumnFilters, stageFilterSelections: stageFilterSelections } },
|
|
4122
4201
|
React__default['default'].createElement(core.Box, __assign$3({ className: classes.root }, { ref: rootRef }, { "data-table-element": "root" }, (table.getPageCount() > 1 && {
|
|
4123
4202
|
minHeight: getTableMinHeight(rootRef, table.getState().pagination.pageSize),
|
|
4124
4203
|
})),
|
|
@@ -4128,8 +4207,18 @@ var Table = function (props) {
|
|
|
4128
4207
|
showGlobalSearch && (React__default['default'].createElement(GlobalFilter, __assign$3({}, GlobalFilterProps, { value: table.getState().globalFilter, setValue: table.setGlobalFilter }))),
|
|
4129
4208
|
showColumnFilter && React__default['default'].createElement(FilterPanel, null)),
|
|
4130
4209
|
React__default['default'].createElement(core.Box, { display: "flex", flexWrap: "wrap", gridGap: 8 },
|
|
4131
|
-
selectedColumnFilters.map(function (selectedColumnFilter, i) { return (React__default['default'].createElement(ColumnFilterChip, { key: "selected-column-filter-chip-" + i, columnFilter: selectedColumnFilter, label: formatSelectedFilterText(selectedColumnFilter), onClick:
|
|
4132
|
-
|
|
4210
|
+
selectedColumnFilters.map(function (selectedColumnFilter, i) { return (React__default['default'].createElement(ColumnFilterChip, { key: "selected-column-filter-chip-" + i, columnFilter: selectedColumnFilter, label: formatSelectedFilterText(selectedColumnFilter), onClick: function (columnFilter) {
|
|
4211
|
+
if (stageFilterSelections) {
|
|
4212
|
+
stagedColumnFilters.delete(columnFilter);
|
|
4213
|
+
}
|
|
4214
|
+
deselectColumnFilter(columnFilter);
|
|
4215
|
+
} })); }),
|
|
4216
|
+
selectedColumnFilters.length >= 1 && (React__default['default'].createElement(ColumnFilterResetButton, { onClick: function () {
|
|
4217
|
+
if (stageFilterSelections) {
|
|
4218
|
+
stagedColumnFilters.clear();
|
|
4219
|
+
}
|
|
4220
|
+
resetColumnFilters();
|
|
4221
|
+
} }))))),
|
|
4133
4222
|
React__default['default'].createElement(core.Box, { className: classes.tableContainer, flexGrow: loading || isEmpty ? 0 : 1 },
|
|
4134
4223
|
React__default['default'].createElement("table", { className: classes.table },
|
|
4135
4224
|
React__default['default'].createElement(TableHeader, null, table.getHeaderGroups().map(function (headerGroup) { return (React__default['default'].createElement(TableHeaderRow, { key: headerGroup.id }, headerGroup.headers.map(function (header) { return (React__default['default'].createElement(TableHeaderCell, { key: header.id, context: header.getContext() }, reactTable.flexRender(header.column.columnDef.header, header.getContext()))); }))); })),
|