Overview
Pager
wuic-pager is the pagination component that drives currentPage and pageSize of the datasource.
Description
- Supports classic page-based paging and cursor paging (
next/prev token). - Synchronizes with the datasource's
fetchInfoand updates totals/pages. - Can receive preferred paging from input (
pageSize,currentPage,forcedPageSize).
API
Selector:
wuic-pager
Input:
datasource: BehaviorSubject<DataSourceComponent>hardcodedDatasource: DataSourceComponentpageSize: numbercurrentPage: numberforcedPageSize: number
Output:
onPagerDataBound: EventEmitter<{ currentPage, pageSize, totalPages, totalRecords, cursorMode }>onPagerPageChange: EventEmitter<{ currentPage, pageSize, totalPages, cursorMode, direction }>onPagerPageSizeChange: EventEmitter<{ pageSize, currentPage }>onPagerBusyChange: EventEmitter<boolean>
Main public methods:
prevPage()nextPage()firstPage()lastPage()applyPageSize()applyCurrentPage()
Events and Subscriptions (Host)
Snippet 1ts
@ViewChild(PagerComponent) pager?: PagerComponent;
private readonly subs = new Subscription();
ngAfterViewInit(): void {
if (!this.pager) return;
this.subs.add(this.pager.onPagerDataBound.subscribe((e) => console.log(e)));
this.subs.add(this.pager.onPagerPageChange.subscribe((e) => console.log(e)));