diff options
author | Chocobozzz <me@florianbigard.com> | 2020-06-23 14:10:17 +0200 |
---|---|---|
committer | Chocobozzz <chocobozzz@cpy.re> | 2020-06-23 16:00:49 +0200 |
commit | 67ed6552b831df66713bac9e672738796128d33f (patch) | |
tree | 59c97d41e0b49d75a90aa3de987968ab9b1ff447 /client/src/app/core/rest/component-pagination.model.ts | |
parent | 0c4bacbff53bc732f5a2677d62a6ead7752e2405 (diff) | |
download | PeerTube-67ed6552b831df66713bac9e672738796128d33f.tar.gz PeerTube-67ed6552b831df66713bac9e672738796128d33f.tar.zst PeerTube-67ed6552b831df66713bac9e672738796128d33f.zip |
Reorganize client shared modules
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 | } | ||