UNPKG

@vlsergey/react-bootstrap-pagetable

Version:

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

24 lines (23 loc) 1.39 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); var tslib_1 = require("tslib"); var react_1 = tslib_1.__importDefault(require("react")); var strToSort_1 = tslib_1.__importDefault(require("./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 = tslib_1.__rest(_a, ["defaultPage", "defaultSize", "defaultSort", "onFetchArgsChange"]); var _d = tslib_1.__read(react_1.default.useState(function () { return ({ page: defaultPage, size: defaultSize, sort: strToSort_1.default(defaultSort), }); }), 2), fetchArgs = _d[0], setFetchArgs = _d[1]; var handleFetchArgsChange = react_1.default.useCallback(function (fetchArgs) { setFetchArgs(fetchArgs); if (onFetchArgsChange) { return onFetchArgsChange(fetchArgs); } }, [onFetchArgsChange, setFetchArgs]); return react_1.default.createElement(Child, tslib_1.__assign({}, etcProps, { fetchArgs: fetchArgs, onFetchArgsChange: handleFetchArgsChange })); }; }; exports.default = withFetchArgsInState;