1.2.2 • Published 10 years ago

pagination-object v1.2.2

Weekly downloads
104
License
MIT
Repository
github
Last release
10 years ago

pagination-object

Generate a pagination object to be used on Node.js. It doesn't return any type of markup, just an object

Travis Coveralls npm npm

Install

npm install --save pagination-object

Usage

var Pagination = require('pagination-object');
var pagination = new Pagination({
  currentPage  : 3,
  totalItems   : 54,
  itemsPerPage : 10
});

Returns (not in this order)

{
  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 : '»' }
  ]
}

Basic example with jade

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}

Options

currentPage

Type: Number Required: true

totalItems

Type: Number Required: true

itemsPerPage

Type: Number Required: true

firstPage

Type: Number Default: 1

rangeLength

Type: Number Default: 5

firstLabel

Type: String Default: «

previousLabel

Type: String Default:

nextLabel

Type: String Default:

lastLabel

Type: String Default: »

Tests

npm test

License

MIT © Renan Couto

1.2.2

10 years ago

1.2.1

10 years ago

1.2.0

10 years ago

1.1.0

10 years ago

1.0.1

10 years ago

1.0.0

10 years ago

0.2.3

10 years ago

0.2.2

10 years ago

0.2.1

10 years ago

0.2.0

10 years ago

0.1.2

10 years ago

0.1.1

10 years ago

0.1.0

10 years ago