UNPKG

@dimkel/ng-cdk-table-virtual-scroll

Version:
42 lines (41 loc) 1.75 kB
import { BehaviorSubject, Observable, ReplaySubject, Subject, Subscription } from 'rxjs'; import { DataSource } from '@angular/cdk/collections'; export interface TVSDataSource<T> { dataToRender$: Subject<T[]>; dataOfRange$: Subject<T[]>; } export declare function isTVSDataSource<T>(dataSource: unknown): dataSource is TVSDataSource<T>; export declare class CdkTableVirtualScrollDataSource<T> extends DataSource<T> implements TVSDataSource<T> { /** Stream that emits when a new data array is set on the data source. */ private readonly _data; /** Stream emitting render data to the table (depends on ordered data changes). */ private readonly _renderData; /** * Subscription to the changes that should trigger an update to the table's rendered rows, such * as filtering, sorting, pagination, or base data changes. */ _renderChangesSubscription: Subscription | null; /** Array of data that should be rendered by the table, where each object represents one row. */ get data(): T[]; set data(data: T[]); dataToRender$: Subject<T[]>; dataOfRange$: Subject<T[]>; private streamsReady; constructor(initialData?: T[]); _updateChangeSubscription(): void; connect(): BehaviorSubject<T[]>; disconnect(): void; private initStreams; } export declare class TableVirtualScrollDataSource<T> extends DataSource<T> implements TVSDataSource<T> { private readonly _dataSubject; private readonly _renderData; private readonly _renderChangesSubscription; dataToRender$: ReplaySubject<T[]>; dataOfRange$: ReplaySubject<T[]>; get data(): T[]; set data(data: T[]); constructor(initialData?: T[]); connect(): Observable<T[]>; disconnect(): void; }