18 lines
519 B
TypeScript
18 lines
519 B
TypeScript
export class PagedResult<T> {
|
|
items: T[];
|
|
page: number; // current page (zero-based)
|
|
pageSize: number; // items per page
|
|
total: number; // total items in all pages
|
|
totalPages: number;
|
|
field?: string; // active sort column
|
|
sortDirection?: 'asc' | 'desc'; // sort direction
|
|
|
|
constructor(items: T[], page: number, pageSize: number, total: number) {
|
|
this.items = items;
|
|
this.page = page;
|
|
this.pageSize = pageSize;
|
|
this.total = total;
|
|
this.totalPages = Math.ceil(total / pageSize);
|
|
}
|
|
}
|