UNPKG

polestar-ui-kit

Version:

## Install

84 lines (73 loc) 2.63 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports["default"] = void 0; var _PageInfo = _interopRequireDefault(require("../constants/PageInfo")); function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; } var _default = function _default(_currentPage, _totalCount, _pageSize, _pageGroupSize) { var totalCount = _totalCount; var pageSize = _pageSize === _PageInfo["default"].ALL ? -1 : _pageSize || 10; var pageGroupSize = _pageGroupSize || 5; var isEmpty = totalCount === 0; if (_pageSize === _PageInfo["default"].ALL) { return { totalCount: totalCount, pageSize: pageSize, pageGroupSize: pageGroupSize, pageCount: 1, pageGroupCount: 1, currentPage: 1, currentPageGroup: 1, beginRow: 1, endRow: totalCount, beginPage: 1, endPage: 1, limit: 0, isFirstPage: true, isLastPage: true, isFirstPageGroup: true, isLastPageGroup: true, isEmpty: isEmpty }; } var pageCount = Math.floor(totalCount / pageSize) + (totalCount % pageSize === 0 ? 0 : 1); var currentPage = _currentPage <= 0 ? 1 : _currentPage; if (currentPage > pageCount) { currentPage = pageCount; } var pageGroupCount = Math.floor(pageCount / pageGroupSize) + (pageCount % pageGroupSize === 0 ? 0 : 1); var currentPageGroup = Math.floor(currentPage / pageGroupSize) + (currentPage % pageGroupSize === 0 ? 0 : 1); var beginRow = !isEmpty ? pageSize * (currentPage - 1) + 1 : 0; var endRow = currentPage === pageCount ? totalCount : pageSize * currentPage; var beginPage = !isEmpty ? pageGroupSize * currentPageGroup - (pageGroupSize - 1) : 0; var endPage = beginPage + (pageGroupSize - 1) < pageCount ? beginPage + (pageGroupSize - 1) : pageCount; var isFirstPage = currentPage === 1; var isLastPage = currentPage === pageCount; var isFirstPageGroup = currentPageGroup === 1; var isLastPageGroup = currentPageGroup === pageGroupCount; var limit = beginRow - 1; if (limit < 0) { limit = 0; } return { totalCount: totalCount, pageSize: pageSize, pageGroupSize: pageGroupSize, pageCount: pageCount, pageGroupCount: pageGroupCount, currentPage: currentPage, currentPageGroup: currentPageGroup, beginRow: beginRow, endRow: endRow, beginPage: beginPage, endPage: endPage, limit: limit, isFirstPage: isFirstPage, isLastPage: isLastPage, isFirstPageGroup: isFirstPageGroup, isLastPageGroup: isLastPageGroup, isEmpty: isEmpty }; }; exports["default"] = _default;