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.

32 lines (31 loc) 1.15 kB
import { EmbeddedViewRef, IterableChanges } from '@angular/core'; import { RxListViewContext } from '@rx-angular/cdk/template'; import { TemplateSettings } from './model'; export interface RxVirtualListChange<T, C> { index?: number; view?: EmbeddedViewRef<C>; item: T; } export type RxVirtualListChanges<T, C> = [ number, () => RxVirtualListChange<T, C>, boolean? ][]; /** * @internal * * An object that holds methods needed to introduce actions to a list e.g. move, remove, insert */ export interface RxVirtualListTemplateManager<T, C> { getListChanges(changes: IterableChanges<T>, items: T[], renderCount: number, adjustIndexWith: number): [RxVirtualListChanges<T, C>, boolean]; setItemCount(itemCount: number): void; detach(): void; } /** * @internal * * Factory that returns a `ListTemplateManager` for the passed params. * * @param templateSettings */ export declare function createVirtualListTemplateManager<C extends RxListViewContext<T>, T>({ viewContainerRef, templateRef, createViewContext, updateViewContext, templateCacheSize, }: TemplateSettings<T, C, any>): RxVirtualListTemplateManager<T, C>;