a simple pagination for calculating offset, limit and number of pages
Install the library with npm install pagination-helper
yarn add pagination-helper
var pagination = require('pagination-helper');
import pagination, { IPaginationParams } from "pagination-helper";
const params: IPaginationParams = {
data_per_page: 10,
exportDataAsarray: true,
};
const pagination_helper = pagination(params);
// Calculates the total number of pages based on data count
// @param data_count Total number of items to paginate
// @returns Number of pages or array of page numbers if exportDataAsarray is true
pagination_helper.getNumberOfPage(569) // output: 57 pages
if you want to map number of your page's in your react component you can go on like this:
import pagination, { IPaginationParams } from "pagination-helper";
const params: IPaginationParams = {
data_per_page: 10,
exportDataAsarray: true,
};
const pagination_helper = pagination(params);
// Calculates the total number of pages based on data count
// @param data_count Total number of items to paginate
// @returns Number of pages or array of page numbers if exportDataAsarray is true
pagination_helper.getNumberOfPages(20.9) // => [1, 2, 3]
// Determines the current page number based on offset and limit values
// @param offset Number of items to skip
// @returns The current page number
pagination_helper.getPageNumberByOffsetAndLimit(30)
this method give you the number of your (take, skip) by page number, it's useful for when you want to write a query to get the data
// Calculates the take (limit) and skip (offset) values for pagination
// @param pageNumber The current page number to calculate pagination values for
// @returns An object containing take and skip values
pagination_helper.getTakeAndSkip(7) // => { take: 10, skip: 60 }, it means, if you want to go to page 7 set this data
// to your query
- alireza kargar - alireza kargar (author)