diff options
Diffstat (limited to 'client/src/app/core/rest/component-pagination.model.ts')
-rw-r--r-- | client/src/app/core/rest/component-pagination.model.ts | 18 |
1 files changed, 18 insertions, 0 deletions
diff --git a/client/src/app/core/rest/component-pagination.model.ts b/client/src/app/core/rest/component-pagination.model.ts new file mode 100644 index 000000000..bcb73ed0f --- /dev/null +++ b/client/src/app/core/rest/component-pagination.model.ts | |||
@@ -0,0 +1,18 @@ | |||
1 | export interface ComponentPagination { | ||
2 | currentPage: number | ||
3 | itemsPerPage: number | ||
4 | totalItems: number | ||
5 | } | ||
6 | |||
7 | export type ComponentPaginationLight = Omit<ComponentPagination, 'totalItems'> | ||
8 | |||
9 | export function hasMoreItems (componentPagination: ComponentPagination) { | ||
10 | // No results | ||
11 | if (componentPagination.totalItems === 0) return false | ||
12 | |||
13 | // Not loaded yet | ||
14 | if (!componentPagination.totalItems) return true | ||
15 | |||
16 | const maxPage = componentPagination.totalItems / componentPagination.itemsPerPage | ||
17 | return maxPage > componentPagination.currentPage | ||
18 | } | ||