Files
ocs-portal-web/lib/helper/pagination/index.ts
2025-04-15 13:56:54 +07:00

49 lines
1.1 KiB
TypeScript

interface Props<T> {
currentPage: number
totalPages: number
pageSize: number
totalElements: number;
content: T
}
export default class PaginationModel<T> {
private currentPage: number;
private totalPages: number;
private pageSize: number;
private totalElements: number;
private content: T;
constructor({
currentPage,
totalPages,
pageSize,
totalElements,
content,
}: Props<T>) {
this.currentPage = currentPage
this.totalPages = totalPages
this.pageSize = pageSize
this.totalElements = totalElements
this.content = content
}
getCurrentPage = () => this.currentPage
getTotalPages = () => this.totalPages
getPageSize = () => this.pageSize
getTotalElements = () => this.totalElements
getContent = () => this.content
static initialValue = () => {
return new PaginationModel<any>({
currentPage: 0,
totalPages: 0,
pageSize: 0,
totalElements: 0,
content: [],
})
};
}