@vlsergey/react-bootstrap-pagetable
Version:
Complex solution to work with pageable data, including sorting, filtering, actions, changing displayed columns, etc.
20 lines (19 loc) • 1.17 kB
JavaScript
Object.defineProperty(exports, "__esModule", { value: true });
var tslib_1 = require("tslib");
var react_1 = tslib_1.__importDefault(require("react"));
var SortableHeaderCell_1 = tslib_1.__importDefault(require("./SortableHeaderCell"));
var withSortable = function (Child) {
return function WithSortable(props) {
var fetchArgs = props.fetchArgs, itemModel = props.itemModel, onFetchArgsChange = props.onFetchArgsChange, etcProps = tslib_1.__rest(props, ["fetchArgs", "itemModel", "onFetchArgsChange"]);
var tableSortable = itemModel.fields.some(function (_a) {
var sortable = _a.sortable;
return sortable;
});
if (!tableSortable) {
return react_1.default.createElement(Child, tslib_1.__assign({}, etcProps, { fetchArgs: fetchArgs, itemModel: itemModel, onFetchArgsChange: onFetchArgsChange }));
}
return react_1.default.createElement(Child, tslib_1.__assign({}, etcProps, { columnHeaderCell: SortableHeaderCell_1.default, fetchArgs: fetchArgs, itemModel: itemModel, onFetchArgsChange: onFetchArgsChange }));
};
};
exports.default = withSortable;
;