UNPKG

@tapsellorg/angular-material-library

Version:

Angular library for Tapsell

42 lines (41 loc) 2.04 kB
import { DataSource } from '@angular/cdk/table'; import { BehaviorSubject, Observable, Subject } from 'rxjs'; import { CollectionViewer } from '@angular/cdk/collections'; import { PghLoader } from '@tapsellorg/angular-material-library/src/lib/loader'; import { MatPaginator } from '@angular/material/paginator'; import { MatSort } from '@angular/material/sort'; import { PghTableDataSourceLoadResponse, PghTableDataSourceParams } from './models'; import { PghFilterChipsComponent } from '@tapsellorg/angular-material-library/src/lib/filter-chips'; import { PghRefreshButtonComponent } from '@tapsellorg/angular-material-library/src/lib/refresh-button'; import { PghDateRangePickerComponent } from '@tapsellorg/angular-material-library/src/lib/date-range-picker'; export declare abstract class PghTableDatasource<T> extends DataSource<T> { protected config: { idField: keyof T; }; readonly DEFAULT_PAGE_SIZE = 20; protected _destroyed$: Subject<unknown>; protected dataSubject: BehaviorSubject<T[]>; private triggerLoadDataSubject; private paginator?; private sorter?; private filterChipsComponent?; private dateRangePickerComponent?; private filterChipsFilterData?; private dateRangePickerSelectedRange?; private refreshButtonComponent?; dataLength: number; loader: PghLoader; protected constructor(config: { idField: keyof T; }); connect(_collectionViewer: CollectionViewer): Observable<T[]>; disconnect(_collectionViewer: CollectionViewer): void; abstract loadData(data: PghTableDataSourceParams): Observable<PghTableDataSourceLoadResponse<T>>; setPaginator(paginator: MatPaginator): void; setSorter(sorter: MatSort): void; setFilter(filterChipsComponent: PghFilterChipsComponent): void; setDateFilter(dateRangePickerComponent: PghDateRangePickerComponent): void; setRefresher(refreshButtonComponent: PghRefreshButtonComponent): void; trackBy: (index: number, item: T) => T[keyof T]; triggerLoadData(): void; }