polestar-ui-kit
Version:
## Install
84 lines (73 loc) • 2.63 kB
JavaScript
"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;