UNPKG

@infotech/uikit-datagrid

Version:

uikit-datagrid --

63 lines (50 loc) 1.76 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.default = void 0; var _react = _interopRequireDefault(require("react")); var _recompose = require("recompose"); var _uikitPaginationBar = _interopRequireDefault(require("@infotech/uikit-pagination-bar")); function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } /* Get total count of items from data, or pages, or totalCount */ function calcTotalCount(props) { if (typeof props.totalCount === "number") { return props.totalCount; } var count = props.pages ? props.pages * props.pageSize : props.data ? props.data.length : 0; if (count < 0) { return 0; } return count; } function PaginationComponent(props) { var page = props.page, pageSize = props.pageSize, onPageChange = props.onPageChange, onPageSizeChange = props.onPageSizeChange, showPageSizeOptions = props.showPageSizeOptions, pageSizeOptions = props.pageSizeOptions, onRefresh = props.onRefresh, pending = props.pending, loading = props.loading; /* Get totalCount, or product of pages and pageSize, or data.length */ var total = calcTotalCount(props); return _react.default.createElement(_uikitPaginationBar.default, { current: page + 1, total: total, perPage: pageSize, pending: pending, loading: loading, onChange: function onChange(page) { return onPageChange(page - 1); }, onChangePerPage: showPageSizeOptions && onPageSizeChange ? onPageSizeChange : null, perPageOptions: pageSizeOptions, onRefresh: onRefresh }); } var _default = (0, _recompose.defaultProps)({ PaginationComponent: PaginationComponent }); exports.default = _default;