UNPKG

nativescript-angular

Version:

An Angular renderer that lets you build mobile apps with NativeScript.

54 lines (53 loc) 2.34 kB
import { AfterContentInit, DoCheck, ElementRef, EmbeddedViewRef, EventEmitter, InjectionToken, IterableDiffer, IterableDiffers, OnDestroy, TemplateRef, ViewContainerRef } from "@angular/core"; import { ItemEventData, TemplatedItemsView } from "tns-core-modules/ui/list-view"; import { View, KeyedTemplate } from "tns-core-modules/ui/core/view"; export declare class ItemContext { $implicit?: any; item?: any; index?: number; even?: boolean; odd?: boolean; constructor($implicit?: any, item?: any, index?: number, even?: boolean, odd?: boolean); } export interface SetupItemViewArgs { view: EmbeddedViewRef<any>; data: any; index: number; context: ItemContext; } export declare abstract class TemplatedItemsComponent implements DoCheck, OnDestroy, AfterContentInit { private _iterableDiffers; abstract readonly nativeElement: TemplatedItemsView; protected templatedItemsView: TemplatedItemsView; protected _items: any; protected _differ: IterableDiffer<KeyedTemplate>; protected _templateMap: Map<string, KeyedTemplate>; loader: ViewContainerRef; setupItemView: EventEmitter<SetupItemViewArgs>; itemTemplateQuery: TemplateRef<ItemContext>; itemTemplate: TemplateRef<ItemContext>; items: any; constructor(_elementRef: ElementRef, _iterableDiffers: IterableDiffers); ngAfterContentInit(): void; ngOnDestroy(): void; private setItemTemplates; registerTemplate(key: string, template: TemplateRef<ItemContext>): void; onItemLoading(args: ItemEventData): void; setupViewRef(viewRef: EmbeddedViewRef<ItemContext>, data: any, index: number): void; protected getItemTemplateViewFactory(template: TemplateRef<ItemContext>): () => View; private detectChangesOnChild; ngDoCheck(): void; } export interface ComponentView { rootNodes: Array<any>; destroy(): void; } export declare type RootLocator = (nodes: Array<any>, nestLevel: number) => View; export declare function getItemViewRoot(viewRef: ComponentView, rootLocator?: RootLocator): View; export declare const TEMPLATED_ITEMS_COMPONENT: InjectionToken<TemplatedItemsComponent>; export declare class TemplateKeyDirective { private templateRef; private comp; constructor(templateRef: TemplateRef<any>, comp: TemplatedItemsComponent); nsTemplateKey: any; }