import Pagination from 'poltoratchi-pagination-js-plugin';
Required parameter stack for connection
const paginationWrapper1 = document.querySelector( '#pagination-1' );
// you can use JQUERY const paginationWrapper1 = $('#pagination01')[0]
const pagination1 = new Pagination( paginationWrapper1, {
pageSize: 10,
elements: 101
} );
The number of pages for the central display must be an odd number (even if you enter an even number, it is incremented by 1)
const paginationWrapper2 = document.querySelector( '#pagination-2' );
const pagination2 = new Pagination( paginationWrapper2, {
pageSize: 10,
elements: 181,
pagesShow: 11
} );
You can make a custom handler function for pagination
const paginationWrapper3 = document.querySelector( '#pagination-3' );
const currentPageCounter = document.querySelector('#current-page-counter');
const pagination3 = new Pagination( paginationWrapper3, {
pageSize: 10,
elements: 181,
pageHandle: function (pageNumber, lastPageNumber, event) {
this.changePage(pageNumber);
currentPageCounter.textContent = pageNumber;
}
} );
You can destroy pagination and initialize it again
const paginationWrapper4 = document.querySelector( '#pagination-3' );
const destroyBtn = document.querySelector( '#destroy' );
const initBtn = document.querySelector( '#init' );
const pagination4 = new Pagination( paginationWrapper4, {
pageSize: 10,
elements: 181,
} );
initBtn.addEventListener('click', () => pagination4.init());
destroyBtn.addEventListener('click', () => pagination4.destroy());
You can make rebuild pagination with new options
const paginationWrapper5 = document.querySelector( '#pagination-3' );
const inputsWrapper = document.querySelector( '.inputs-wrapper' );
const rebuildBtn = document.querySelector( '#rebuild' );
const pagination5 = new Pagination( paginationWrapper5, {
pageSize: 10,
elements: 181,
pagesShow: 5
} );
rebuildBtn.addEventListener( 'click', () => {
const newOptions = {};
inputsWrapper.querySelectorAll( 'input' ).forEach( input => {
if ( input.value.length > 0 && !isNaN( parseInt( input.value ) ) ) {
newOptions[input.name] = input.value
}
} );
pagination5.rebuild(newOptions)
} );