awesome-paginator

1.0.0 • Public • Published

awesome-paginator

A simple paginator with support to build urls.

There are a lot of other paginators out there but I just created this one because it is the way I want a paginator to be. Just pagination without template rendering or other stuff. Because it is better you do that with your templating engine, this makes this module more reusable.

build status

Installation

This module is installed via npm:

$ npm install awesome-paginator

Example Usage

Initialisation

var AwesomePaginator = require('awesome-paginator');
 
var pagination = new AwesomePaginator({
  page: 6,             // default is 1
  total: 10,
  maxPages: 5,         // default is 10
  url: '/search?name=Alfred',
  queryParam: 'offset' // default is 'page'
});

Please provide all required parameters. Otherwise an Error will be thrown.

First page

The first page, this is always page 1. You can use this if you want to make a quick jump to the first page and also know if the user already is at the firsrt page with the isActive status.

var first = pagination.getFirst();
 
{ page: 1, isActive: false, url: '/search?name=Alfred&offset=1' }

Last page

The same as with the first page, but this is always the last page with isActive status and url.

var last = pagination.getLast();
 
{ page: 10, isActive: false, url: '/search?name=Alfred&offset=10' }

Pages

This is an array of pages. The main functionality of this pagination.

var pages = pagination.getPages();
 
[ { page: 4, isActive: false, url: '/search?name=Alfred&offset=4' },
  { page: 5, isActive: false, url: '/search?name=Alfred&offset=5' },
  { page: 6, isActive: true, url: '/search?name=Alfred&offset=6' },
  { page: 7, isActive: false, url: '/search?name=Alfred&offset=7' },
  { page: 8, isActive: false, url: '/search?name=Alfred&offset=8' } ]

Feedback

If you want to help or fix a bug just feel free to open a pull-request on github!

Just be sure that you have executed the Grunt Task before in this repository which checks for jshint and executes all the tests.

Readme

Keywords

Package Sidebar

Install

npm i awesome-paginator

Weekly Downloads

1

Version

1.0.0

License

BSD-3-Clause

Last publish

Collaborators

  • wwwdata