pagix
pagix copied to clipboard
A generic pagination algorithm
A generic, framework agnostic, pagination calculator
Highlights
- :electric_plug: Framework agnostic
- :trophy: Dependency free
- :fire: Higly flexible
✨ Demo
Install
yarn add pagix
Basic Usage
import { pagix } from 'pagix'
const paginate = pagix({ records: 100 })
The pagix
function returns an object with some calculated props:
- total: total number of pages
-
current: current page number, constrained between
1
andtotal
-
start: an array of page numbers, the first
fixed
page numbers -
middle: an array of page numbers, calculated from
current
page -
end: an array of page numbers, the last
fixed
page numbers -
prev: the previous page number between
start
andmiddle
, false if there is no truncated pages betweenstart
andmiddle
-
next: the next page number between
middle
andend
, false if there is no truncated pages betweenmiddle
andend
- from: initial record in current page
- to: last record in current page
API
pagix({ records [, limit, current, delta, fixed ] }): Main method to calculate pagination
Prop | Required | Default | Description |
---|---|---|---|
records | true | - | total of records to paginate |
limit | false | 10 | total of records to show per page |
current | true | 1 | current page |
delta | true | 1 | total of pages to show in each side of current page |
fixed | true | 1 | total of pages to show before prev button and after next button |
🤝 Contributing
Contributions, issues and feature requests are welcome!
Feel free to check issues page.
Show your support
Give a ⭐️ if this project helped you!