mirror of
https://github.com/ThatGuySam/doesitarm.git
synced 2026-05-18 06:44:46 -07:00
Add hasNextPage to pagination
This commit is contained in:
parent
e4ab3384eb
commit
f838955dc3
2 changed files with 8 additions and 0 deletions
|
|
@ -31,12 +31,17 @@ export class PaginatedList {
|
||||||
return this.list.slice(start, end)
|
return this.list.slice(start, end)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
hasPage ( pageNumber ) {
|
||||||
|
return pageNumber > 0 && pageNumber <= this.pageCount
|
||||||
|
}
|
||||||
|
|
||||||
makePage ( pageNumber ) {
|
makePage ( pageNumber ) {
|
||||||
const items = this.makePageItems( pageNumber )
|
const items = this.makePageItems( pageNumber )
|
||||||
|
|
||||||
return {
|
return {
|
||||||
number: pageNumber,
|
number: pageNumber,
|
||||||
items,
|
items,
|
||||||
|
hasNextPage: this.hasPage( pageNumber + 1 ),
|
||||||
get json() {
|
get json() {
|
||||||
return JSON.stringify( items )
|
return JSON.stringify( items )
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -193,11 +193,13 @@ test('Can paginate', async (t) => {
|
||||||
pages: [
|
pages: [
|
||||||
{
|
{
|
||||||
number: 1,
|
number: 1,
|
||||||
|
hasNextPage: true,
|
||||||
items: [1, 2],
|
items: [1, 2],
|
||||||
json: '[1,2]'
|
json: '[1,2]'
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
number: 2,
|
number: 2,
|
||||||
|
hasNextPage: true,
|
||||||
items: [3, 4],
|
items: [3, 4],
|
||||||
json: '[3,4]'
|
json: '[3,4]'
|
||||||
},
|
},
|
||||||
|
|
@ -205,6 +207,7 @@ test('Can paginate', async (t) => {
|
||||||
// Last page should have less than perPage items
|
// Last page should have less than perPage items
|
||||||
{
|
{
|
||||||
number: 5,
|
number: 5,
|
||||||
|
hasNextPage: false,
|
||||||
items: [9],
|
items: [9],
|
||||||
json: '[9]'
|
json: '[9]'
|
||||||
}
|
}
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue