UNPKG

@rx-angular/template

Version:

**Fully** Reactive Component Template Rendering in Angular. @rx-angular/template aims to be a reflection of Angular's built in renderings just reactive.

81 lines (80 loc) 3.29 kB
import { AfterContentInit, AfterViewInit, OnDestroy } from '@angular/core'; import { RxVirtualScrollElement, RxVirtualScrollViewport, RxVirtualViewRepeater } from './model'; import * as i0 from "@angular/core"; /** * @Component RxVirtualScrollViewport * * @description * Container component comparable to CdkVirtualScrollViewport acting as viewport * for `*rxVirtualFor` to operate on. * * Its main purpose is to implement the `RxVirtualScrollViewport` interface * as well as maintaining the scroll runways' height in order to give * the provided `RxVirtualScrollStrategy` room to position items. * * Furthermore, it will gather and forward all events to the consumer of `rxVirtualFor`. * * @docsCategory RxVirtualFor * @docsPage RxVirtualFor * @publicApi */ export declare class RxVirtualScrollViewportComponent implements RxVirtualScrollViewport, AfterViewInit, AfterContentInit, OnDestroy { private elementRef; private scrollStrategy; protected scrollElement: RxVirtualScrollElement; /** * @description * * Sets the first view to be visible to the user. * The viewport waits for the data to arrive and scrolls to the given index immediately. * * */ initialScrollIndex: number; /** @internal */ private scrollSentinel; /** @internal */ private runway; /** @internal */ viewRepeater: RxVirtualViewRepeater<unknown>; readonly elementScrolled$: import("rxjs").Observable<void>; /** @internal */ private _containerRect$; readonly containerRect$: import("rxjs").Observable<{ width: number; height: number; }>; /** * @description * * The range to be rendered by `*rxVirtualFor`. This value is determined by the * provided `RxVirtualScrollStrategy`. It gives the user information about the * range of items being actually rendered to the DOM. * Note this value updates before the `renderCallback` kicks in, thus it is only * in sync with the DOM when the next `renderCallback` emitted an event. */ readonly viewRange: import("rxjs").Observable<import("./model").ListRange>; /** * @description * * The index of the currently scrolled item. The scrolled item is the topmost * item actually being visible to the user. */ readonly scrolledIndexChange: import("rxjs").Observable<number>; /** @internal */ private readonly destroy$; /** @internal */ constructor(); ngAfterViewInit(): void; /** @internal */ ngAfterContentInit(): void; /** @internal */ ngOnDestroy(): void; getScrollElement(): HTMLElement; getScrollTop(): number; scrollTo(position: number, behavior?: ScrollBehavior): void; scrollToIndex(index: number, behavior?: ScrollBehavior): void; measureOffset(): number; protected updateContentSize(size: number): void; static ɵfac: i0.ɵɵFactoryDeclaration<RxVirtualScrollViewportComponent, never>; static ɵcmp: i0.ɵɵComponentDeclaration<RxVirtualScrollViewportComponent, "rx-virtual-scroll-viewport", never, { "initialScrollIndex": { "alias": "initialScrollIndex"; "required": false; }; }, { "viewRange": "viewRange"; "scrolledIndexChange": "scrolledIndexChange"; }, ["viewRepeater"], ["*"], true, never>; }