react-application-core
Version:
A react-based application core for the business applications.
59 lines • 1.72 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
exports.PageUtils = void 0;
var util_1 = require("../util");
var definition_1 = require("../definition");
/**
* @stable [03.11.2020]
* @param entity
*/
var pageCursorFrom = function (entity) { return 1 + (entity.page - definition_1.FIRST_PAGE) * entity.pageSize; };
/**
* @stable [03.11.2020]
* @param entity
*/
var pageCursorTo = function (entity) {
return Math.min(entity.page * entity.pageSize, entity.totalCount);
};
/**
* @stable [03.11.2020]
* @param entity
*/
var pagesCount = function (entity) { return Math.ceil(entity.totalCount / entity.pageSize); };
/**
* @stable [03.11.2020]
* @param entity
*/
var isPageCursorInEndPosition = function (entity) {
return pageCursorTo(entity) === entity.totalCount;
};
/**
* @stable [03.11.2020]
* @param entity
*/
var isPageCursorInStartPosition = function (entity) {
return entity.page === definition_1.FIRST_PAGE;
};
/**
* @stable [03.11.2020]
* @param entity
*/
var isPageable = function (entity) {
return util_1.TypeUtils.isNumber(entity.pageSize) && entity.totalCount > entity.pageSize;
};
/**
* @stable [03.11.2020]
*/
var PageUtils = /** @class */ (function () {
function PageUtils() {
}
PageUtils.isPageable = isPageable;
PageUtils.isPageCursorInEndPosition = isPageCursorInEndPosition;
PageUtils.isPageCursorInStartPosition = isPageCursorInStartPosition;
PageUtils.pageCursorFrom = pageCursorFrom;
PageUtils.pageCursorTo = pageCursorTo;
PageUtils.pagesCount = pagesCount;
return PageUtils;
}());
exports.PageUtils = PageUtils;
//# sourceMappingURL=page.js.map