UNPKG

@vlsergey/react-bootstrap-pagetable

Version:

Complex solution to work with pageable data, including sorting, filtering, actions, changing displayed columns, etc.

22 lines (21 loc) 1.21 kB
import { __assign, __read, __rest } from "tslib"; import React from 'react'; import strToSort from './sortable/strToSort'; var withFetchArgsInState = function (Child) { return function WithFetchArgsInState(_a) { var _b = _a.defaultPage, defaultPage = _b === void 0 ? 0 : _b, _c = _a.defaultSize, defaultSize = _c === void 0 ? 10 : _c, defaultSort = _a.defaultSort, onFetchArgsChange = _a.onFetchArgsChange, etcProps = __rest(_a, ["defaultPage", "defaultSize", "defaultSort", "onFetchArgsChange"]); var _d = __read(React.useState(function () { return ({ page: defaultPage, size: defaultSize, sort: strToSort(defaultSort), }); }), 2), fetchArgs = _d[0], setFetchArgs = _d[1]; var handleFetchArgsChange = React.useCallback(function (fetchArgs) { setFetchArgs(fetchArgs); if (onFetchArgsChange) { return onFetchArgsChange(fetchArgs); } }, [onFetchArgsChange, setFetchArgs]); return React.createElement(Child, __assign({}, etcProps, { fetchArgs: fetchArgs, onFetchArgsChange: handleFetchArgsChange })); }; }; export default withFetchArgsInState;