@popmenu/table 0.70.0 → 0.72.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/FilterPanel/FilterPanelContext/FilterPanelContext.d.ts +7 -0
- package/build/components/FilterPanel/FilterPanelContext/index.d.ts +1 -0
- package/build/components/Table/Table.d.ts +2 -0
- package/build/components/Table/TableProps.d.ts +2 -0
- package/build/index.es.js +17 -5
- package/build/index.es.js.map +1 -1
- package/build/index.js +17 -5
- package/build/index.js.map +1 -1
- package/package.json +2 -2
package/build/index.js
CHANGED
|
@@ -1264,12 +1264,22 @@ var useStyles$4 = core.makeStyles(function (theme) { return ({
|
|
|
1264
1264
|
|
|
1265
1265
|
var TableContext = React.createContext({});
|
|
1266
1266
|
|
|
1267
|
+
var FilterPanelContext = React.createContext(null);
|
|
1268
|
+
var useFilterPanelContext = function () {
|
|
1269
|
+
var context = React.useContext(FilterPanelContext);
|
|
1270
|
+
if (!context) {
|
|
1271
|
+
throw new Error('useFilterPanelContext has to be used within <FilterPanelContext.Provider>');
|
|
1272
|
+
}
|
|
1273
|
+
return context;
|
|
1274
|
+
};
|
|
1275
|
+
|
|
1267
1276
|
var SelectFilter = function (props) {
|
|
1268
1277
|
var _a, _b, _c;
|
|
1269
1278
|
var options = props.options, columnId = props.columnId, multiple = props.multiple;
|
|
1270
1279
|
var classes = useStyles$4();
|
|
1271
1280
|
var table = React.useContext(TableContext);
|
|
1272
|
-
var _d =
|
|
1281
|
+
var _d = useFilterPanelContext().anchorState, setAnchorEl = _d[1];
|
|
1282
|
+
var _e = React.useState(false), open = _e[0], setOpen = _e[1];
|
|
1273
1283
|
var column = table.getColumn(columnId);
|
|
1274
1284
|
var meta = column.columnDef.meta;
|
|
1275
1285
|
var filterName = (_a = meta === null || meta === void 0 ? void 0 : meta.filter) === null || _a === void 0 ? void 0 : _a.name;
|
|
@@ -1304,6 +1314,7 @@ var SelectFilter = function (props) {
|
|
|
1304
1314
|
var handleChange = function (event) {
|
|
1305
1315
|
event.stopPropagation();
|
|
1306
1316
|
column.setFilterValue(event.target.value);
|
|
1317
|
+
setAnchorEl(null);
|
|
1307
1318
|
};
|
|
1308
1319
|
var handleItemClick = function () {
|
|
1309
1320
|
if (multiple) {
|
|
@@ -3232,7 +3243,7 @@ var FilterPanel = function () {
|
|
|
3232
3243
|
var handleClose = function () {
|
|
3233
3244
|
setAnchorEl(null);
|
|
3234
3245
|
};
|
|
3235
|
-
return (React__default['default'].createElement(
|
|
3246
|
+
return (React__default['default'].createElement(FilterPanelContext.Provider, { value: { anchorState: [anchorEl, setAnchorEl] } },
|
|
3236
3247
|
React__default['default'].createElement(Trigger, { onClick: handleClick }),
|
|
3237
3248
|
React__default['default'].createElement(Panel, { onClose: handleClose, anchorEl: anchorEl })));
|
|
3238
3249
|
};
|
|
@@ -4040,11 +4051,12 @@ var ColumnFilterResetButton = function (props) {
|
|
|
4040
4051
|
var defaultTableProps = {
|
|
4041
4052
|
enableSortingRemoval: true,
|
|
4042
4053
|
fullWidth: true,
|
|
4054
|
+
paginated: true,
|
|
4043
4055
|
sortable: false,
|
|
4044
4056
|
searchable: false,
|
|
4045
4057
|
};
|
|
4046
4058
|
var Table = function (props) {
|
|
4047
|
-
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, pageCount = props.pageCount, GlobalFilterProps = props.GlobalFilterProps, Empty = props.Empty, idBase = props.idBase;
|
|
4059
|
+
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;
|
|
4048
4060
|
var classes = useStyles$7(props);
|
|
4049
4061
|
var rootRef = React.useRef(null);
|
|
4050
4062
|
// Prepare Empty State
|
|
@@ -4070,7 +4082,7 @@ var Table = function (props) {
|
|
|
4070
4082
|
var columnVisibility = (externalVisibilityState || [])[0];
|
|
4071
4083
|
var isControlledColumnVisibility = Boolean(externalVisibilityState);
|
|
4072
4084
|
// Init table instance
|
|
4073
|
-
var table = reactTable.useReactTable(__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(), getPaginationRowModel: reactTable.getPaginationRowModel() }, (isControlledPagination && controlledPaginationOptions)), (isControlledGlobalFilter && controlledGlobalFilterOptions)), (isControlledColumnFilters && controlledColumnFiltersOptions)), (isControlledColumnSort && controlledColumnSortOptions)), { meta: { idBase: idBase } }));
|
|
4085
|
+
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 } }));
|
|
4074
4086
|
var _f = useColumnFilters(table), selectedColumnFilters = _f.selectedColumnFilters, hasColumnFilters = _f.hasColumnFilters, deselectColumnFilter = _f.deselectColumnFilter, formatSelectedFilterText = _f.formatSelectedFilterText, resetColumnFilters = _f.resetColumnFilters;
|
|
4075
4087
|
var handlePagination = function (_e, pageNumber) {
|
|
4076
4088
|
var pageIndex = pageNumber - 1;
|
|
@@ -4099,7 +4111,7 @@ var Table = function (props) {
|
|
|
4099
4111
|
isEmpty && isEmptyComponentValid && Empty && !loading && (React__default['default'].createElement(core.Box, { display: "flex", flexDirection: "column", justifyContent: "center", alignItems: "center", p: 2, flexGrow: 1 }, React.createElement(Empty))),
|
|
4100
4112
|
loading && (React__default['default'].createElement(core.Box, { display: "flex", flexDirection: "column", justifyContent: "center", alignItems: "center", p: 2, flexGrow: 1 },
|
|
4101
4113
|
React__default['default'].createElement(CircularProgress__default['default'], { size: 80, color: "inherit" }))),
|
|
4102
|
-
table.getPageCount() > 1 && (React__default['default'].createElement(TableFooter, null,
|
|
4114
|
+
paginated && table.getPageCount() > 1 && (React__default['default'].createElement(TableFooter, null,
|
|
4103
4115
|
React__default['default'].createElement(lab.Pagination, { page: table.getState().pagination.pageIndex + 1, count: table.getPageCount(), onChange: handlePagination, disabled: loading }))))));
|
|
4104
4116
|
};
|
|
4105
4117
|
Table.defaultProps = defaultTableProps;
|