poltoratchi-pagination-js-plugin v1.1.1
Pagination-js-plugin
VanillaJS Pagination Plugin with custom handler
Demo
VanillaJS Pagination Plugin with custom handler
Install
npm install poltoratchi-pagination-js-pluginUse
<ul id="pagination"></ul>import Pagination from 'poltoratchi-pagination-js-plugin';
const paginationWrapper = document.querySelector('#pagination');
const pagination = new Pagination(paginationWrapper, { options });Options
activeColor: string ( hex / rgb )Color of active page buttonoptional | default: 'red'.
activeClass: string (className without ".")Class of active page buttonoptional | default: 'selected-page'.
elements: numberTotal elements data, from serverrequired.
pageSize: numberPage sizerequired.
pagesShow: numberNumber of central pagesoptional | default: 5.
classes: {object}Classes for pagination elementsoptional | default:-classes: { mainParent: 'pagination-plugin', // class name of pagination wrapper centerParent: 'pagination-plugin__wrapper', // class name of centered pages wrapper page: 'pagination-plugin__wrapper-btn', // class name of page selectedSiblings: 'selected-siblings-pages', // class name of elements if activePage is first elements or last lastPage: 'pagination-lastPage', // class name of last page firstPage: 'pagination-firstPage', // class name of first page }
pageHandle: functionCustom function for click the page buttons -
optional | default:function handlePage(pageNumber, lastPageNumber, event) { pagination.changePage(pageNumber) }
Methods
pagination.changePage(pageNumber)Change the pagepageNumber: number
pagination.destroy()Destroy the pagination and remove elements;
pagination.init()Initialize the pagination (you can make this before destroy);
pagination.rebuild(options)Rebuild pagination with new options ( default | {} );
CSS classes
You can override style using these classes
- .pagination-plugin
- .pagination-plugin__wrapper
- .pagination-plugin__wrapper-btn
- .pagination-lastPage
- .pagination-firstPage
- .selected-siblings-pages
Outcome
This is my first plugin, I will gradually add new methods and functionality.
I would be grateful for your help and corrections in my code.
Good luck, happy hacking!!!