@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
TypeScript
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>;
}