Server IP : 172.67.158.161 / Your IP : 3.144.17.43 Web Server : LiteSpeed System : Linux business53.web-hosting.com 4.18.0-553.lve.el8.x86_64 #1 SMP Mon May 27 15:27:34 UTC 2024 x86_64 User : giankuin ( 1871) PHP Version : 7.4.33 Disable Function : NONE MySQL : OFF | cURL : ON | WGET : ON | Perl : ON | Python : ON | Sudo : OFF | Pkexec : OFF Directory : /proc/thread-self/root/home/giankuin/sieuthiweb.com.vn/wp-content/plugins/woocommerce/packages/woocommerce-blocks/assets/js/base/components/pagination/ |
Upload File : |
/** * Given the number of pages to display, the current page and the total pages, * returns the min and max index of the pages to display in the pagination component. * * @param {number} pagesToDisplay Maximum number of pages to display in the pagination component. * @param {number} currentPage Page currently visible. * @param {number} totalPages Total pages available. * @return {Object} Object containing the min and max index to display in the pagination component. */ export const getIndexes = ( pagesToDisplay, currentPage, totalPages ) => { if ( totalPages <= 2 ) { return { minIndex: null, maxIndex: null }; } const extraPagesToDisplay = pagesToDisplay - 1; const tentativeMinIndex = Math.max( Math.floor( currentPage - extraPagesToDisplay / 2 ), 2 ); const maxIndex = Math.min( Math.ceil( currentPage + ( extraPagesToDisplay - ( currentPage - tentativeMinIndex ) ) ), totalPages - 1 ); const minIndex = Math.max( Math.floor( currentPage - ( extraPagesToDisplay - ( maxIndex - currentPage ) ) ), 2 ); return { minIndex, maxIndex }; };