Add a utility method to allow easily paginating a list of data
This commit is contained in:
parent
d61a1642f2
commit
82ba07414c
1 changed files with 13 additions and 0 deletions
13
module/utils/pagination.mjs
Normal file
13
module/utils/pagination.mjs
Normal file
|
|
@ -0,0 +1,13 @@
|
|||
export function paginate(data, page, pageSize) {
|
||||
const pageStart = pageSize * Math.max(0, page - 1);
|
||||
const pageEnd = pageSize * page;
|
||||
const pageData = data.slice(pageStart, pageEnd);
|
||||
const partialPage = (data.length % pageSize) !== 0;
|
||||
const total = Math.floor(data.length / pageSize) + (partialPage ? 1 : 0);
|
||||
return {
|
||||
page: pageData,
|
||||
total,
|
||||
prev: page > 1,
|
||||
next: pageEnd < data.length,
|
||||
};
|
||||
};
|
||||
Loading…
Add table
Add a link
Reference in a new issue