Added paging to accounts table
This commit is contained in:
29
src/util/PaginationUtil.ts
Normal file
29
src/util/PaginationUtil.ts
Normal file
@@ -0,0 +1,29 @@
|
||||
export function generatePagination(currentPage: number, totalPages: number){
|
||||
//If the total number of pages is 7 or less, display all pages without any ellipsis
|
||||
if(totalPages <= 7){
|
||||
return Array.from({length: totalPages}, (_, i) => i + 1);
|
||||
}
|
||||
|
||||
//If the current page is among the first 3 pages, show the first 3, an ellipsis, and the last 2 pages.
|
||||
else if(currentPage <= 3){
|
||||
return [1, 2, 3, '...', totalPages - 1, totalPages];
|
||||
}
|
||||
|
||||
//If the current page is among the last 3 pages, show the first 2, an ellipsis, and the last 3 pages
|
||||
else if(currentPage >= totalPages - 2){
|
||||
return [1, 2, '...', totalPages - 2, totalPages - 1, totalPages];
|
||||
}
|
||||
|
||||
//If the current page is somewhere in the middle, show the first page, and ellipsis, the current page and its neighbors, another ellipsis, and the last page
|
||||
else{
|
||||
return [
|
||||
1,
|
||||
'...',
|
||||
currentPage - 1,
|
||||
currentPage,
|
||||
currentPage + 1,
|
||||
'...',
|
||||
totalPages
|
||||
];
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user