devextreme
Version:
HTML5 JavaScript Component Suite for Responsive Web Development
56 lines (50 loc) • 1.48 kB
JavaScript
/**
* DevExtreme (cjs/__internal/pagination/utils/validation_utils.js)
* Version: 24.2.6
* Build date: Mon Mar 17 2025
*
* Copyright (c) 2012 - 2025 Developer Express Inc. ALL RIGHTS RESERVED
* Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/
*/
;
Object.defineProperty(exports, "__esModule", {
value: true
});
exports.validateOptions = validateOptions;
function getPageSize(pageSize) {
if (pageSize < 1) {
return 1
}
return pageSize
}
function getItemCount(itemCount) {
if (itemCount < 0) {
return 0
}
return itemCount
}
function getPageCount(pageSize, itemCount) {
if (pageSize > 0 && itemCount > 0) {
return Math.max(1, Math.ceil(itemCount / pageSize))
}
return 1
}
function getPageIndex(pageIndex, pageSize, itemCount) {
if (pageIndex < 1) {
return 1
}
const pageCount = getPageCount(pageSize, itemCount);
return Math.min(pageIndex, pageCount)
}
function validateOptions(oldPageSize, oldPageIndex, oldItemCount) {
const pageSize = getPageSize(oldPageSize);
const itemCount = getItemCount(oldItemCount);
const pageCount = getPageCount(pageSize, oldItemCount);
const pageIndex = getPageIndex(oldPageIndex, pageSize, itemCount);
return {
pageSize: pageSize,
pageIndex: pageIndex,
itemCount: itemCount,
pageCount: pageCount
}
}