Generate a pagination object to be used on Node.js. It doesn't return any type of markup, just an object
npm install --save pagination-object
var Pagination = require('pagination-object');
var pagination = new Pagination({
currentPage : 3,
totalItems : 54,
itemsPerPage : 10
});
{
firstPage : 1,
previousPage : 2,
currentPage : 3,
nextPage : 4,
lastPage : 6,
totalItems : 54,
totalPages : 6,
itemsPerPage : 10,
offset : 2,
rangeStart : 1,
rangeEnd : 5,
rangeLength : 5,
firstLabel : '«',
previousLabel : '‹',
nextLabel : '›',
lastLabel : '»',
range : [
{ page : 1, isFirst : true, label : '«' },
{ page : 2, isPrevious : true, label : '‹' },
{ page : 1 },
{ page : 2 },
{ page : 3, isCurrent : true },
{ page : 4 },
{ page : 5 },
{ page : 4, isNext : true, label : '›' },
{ page : 6, isLast : true, label : '»' }
]
}
nav
each item in pagination.range
if item.isCurrent
li: span(title='You are in page #{item.page}') #{item.page}
else
li: a(href='?page=#{item.page}', title='Go to page #{item.page}') #{item.label || item.page}
Type: Number
Required: true
Type: Number
Required: true
Type: Number
Required: true
Type: Number
Default: 1
Type: Number
Default: 5
Type: String
Default: «
Type: String
Default: ‹
Type: String
Default: ›
Type: String
Default: »
npm test
MIT © Renan Couto