Helpers for pagination.
Install via npm
npm install @vkbansal/paginationUse as follows
import { getTotalPages } from '@vkbansal/pagination';
const totalItems = 102;
const pageSize = 10;
const totalPages = getTotalPages(totalItems / pageSize); // 11The package exposes the following methods:
- getTotalPages
- getPageNumbers
- paginateWithEllipsis
Given the total items count and the page size, return the total number of pages
getTotalPages(totalItems: number, pageSize: number): numberGiven a number n, returns an array of numbers starting from 1 up to n, inclusive of n.
getPageNumbers(totalPages: number): number[]Given the total number of pages and current pages, returns an array of Page objects, which can be used to create a pagination component with an ellipsis as shown below:
paginateWithEllipsis(args: PaginateWithEllipsisArgs): Page[]
interface PaginateWithEllipsisArgs {
totalPages: number;
currentPage: number;
innerGroupSize?: number;
outerGroupSize?: number;
}
interface Page {
page: number;
active: boolean;
ellipsis: boolean;
}Note: The value of page will be
-1whenellipsisistrue
MIT. Copyright(c) Vivek Kumar Bansal
