@workday/canvas-kit-react
Version:
The parent module that contains all Workday Canvas Kit React components
25 lines (24 loc) • 1.09 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
exports.buildPageRange = void 0;
const buildRange = (max, min) => {
// `max` determines the size of the range, and `min + index` determines its values
return [...Array(max)].map((_, index) => min + index);
};
const buildPageRange = ({ currentPage, lastPage, rangeSize }) => {
// prevent the range size exceeding the number of pages
const adjustedRangeSize = lastPage < rangeSize ? lastPage : rangeSize;
// Prevent the range from going below 1
if (currentPage <= Math.floor(rangeSize / 2)) {
const rangeMin = 1;
return buildRange(adjustedRangeSize, rangeMin);
}
// Prevent the range from going above the lastPage
if (currentPage + Math.floor(adjustedRangeSize / 2) > lastPage) {
const rangeMin = lastPage - adjustedRangeSize + 1;
return buildRange(adjustedRangeSize, rangeMin);
}
const rangeMin = currentPage - Math.floor(adjustedRangeSize / 2);
return buildRange(adjustedRangeSize, rangeMin);
};
exports.buildPageRange = buildPageRange;