UNPKG

@nova-ui/bits

Version:

SolarWinds Nova Framework

43 lines (42 loc) 2.1 kB
import { ListRange } from "@angular/cdk/collections"; import { CdkVirtualScrollViewport } from "@angular/cdk/scrolling"; import { MonoTypeOperatorFunction, Observable } from "rxjs"; import { IFilter, IFilterPub } from "./data-source/public-api"; import { IVirtualPageConfig, IVirtualViewportResetOptions } from "./public-api"; import * as i0 from "@angular/core"; /** * <example-url>./../examples/index.html#/common/virtual-viewport-manager</example-url> */ export declare class VirtualViewportManager implements IFilterPub { private _viewportRef; private _currentPageRange; private _pageSize; /** * Entry point for VirtualViewportManager * @param viewportRef - CDK Viewport reference on which you want to perform observations * @returns self (VirtualViewportManager) */ setViewport(viewportRef: CdkVirtualScrollViewport): VirtualViewportManager; get currentPageRange(): Readonly<ListRange>; /** * Observes the changes of viewport and emits when current range has been rendered * and a new one should be loaded * @param config accepts and IVirtualPageConfig which contains page observer's configuration * It is requiring pageSize prop to be set to delegate responsibility of pagination to ViewportManager * @returns Stream of pages with fixed size */ observeNextPage$(config: IVirtualPageConfig): Observable<ListRange>; getFilters(): IFilter<ListRange>; /** * Resetting viewportManager to initial state * @param options In case VirtualViewportManager is used along with filters (sorting, search...) * we can prevent default behaviour of emitting firstPageEvent and let user to set first batch of data * @returns void */ reset(options?: IVirtualViewportResetOptions): void; private updateCurrentPage; private checkViewportUntilValid; protected mapToPageSize(pageSize: number): MonoTypeOperatorFunction<ListRange>; static ɵfac: i0.ɵɵFactoryDeclaration<VirtualViewportManager, never>; static ɵprov: i0.ɵɵInjectableDeclaration<VirtualViewportManager>; }