@s-ui/react-molecule-pagination
Version:
`MoleculePagination` is a component that displays a range of pages with the current page highlighted and the proper buttons to navigate across the available pages in the entire range of total pages
28 lines (27 loc) • 1.08 kB
JavaScript
/**
* Gets the lowest number of the range assigned for the page number according to the number of pages to display
* @param {object} params - parameters pagination
* @param {number} params.page - Original page number
* @param {number} params.totalPages - Total number of pages
* @param {number} params.showPages - Number of pages to display in the range of pages displayed
* @return {number} lowest number of the assigned range for the page
*/
var lowRange = function lowRange(_ref) {
var page = _ref.page,
showEdges = _ref.showEdges,
showPages = _ref.showPages,
totalPages = _ref.totalPages;
var lowRangeFixer = Math.floor(showPages / 2);
var lowRange;
if (page % showPages) lowRange = page - page % showPages;else lowRange = page - showPages;
if (showEdges) {
if (page <= showPages) return 1;
if (lowRange + showPages === page) {
lowRange = page - lowRangeFixer;
} else if (lowRange === page - 1) {
lowRange = lowRange - lowRangeFixer;
}
}
return Math.min(lowRange, totalPages - showPages);
};
export default lowRange;