pagesify 
Simple pagination algorithm
Requirements
Install
$ npm install --save pagesify
Usage
import Pagesify from 'pagesify';
const pagesify = new Pagesify({
interval: 3,
placeholder: '..',
itemsPerPage: 3,
});
const items = [
'radiohead',
'jamie woon',
'actress',
'joy division',
'burial',
'sampha',
'the xx',
'nicolas jaar',
'boards of canada',
'james blake',
'nicolas jaar',
'apparat',
'clark',
];
const currentPage = 3;
const pagination = pagesify.paginate(items, currentPage);
console.log(pagination.handles);
console.log(pagination.pages);
TypeScript
This library is written in TypeScript and includes type definitions. The interfaces are automatically available when importing:
import Pagesify, { PagesifyOptions, PaginationResult, Pages } from 'pagesify';
const options: PagesifyOptions = {
interval: 3,
placeholder: '..',
itemsPerPage: 3,
};
const pagesify = new Pagesify(options);
const result: PaginationResult = pagesify.paginate(items, 3);
API
OPTIONS
- interval(default=3) - how many pages shown in between the current page
- placeholder(default='..') - which symbol represents the interval of pages that isn't shown
- itemsPerPage(default=2) - how many items are there in each page
createPageHandles (pages, currentPage)
pages: object starting from 1
currentPage: number
Returns an array of handles
convertListToPages (list, itemsPerPage)
list: object starting from 1
itemsPerPage: number
Returns an object of pages
License
MIT © Ricardo Matias