UNPKG

@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
/** * 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;