import { Component , ElementRef , ViewContainerRef , ChangeDetectionStrategy , QueryList , Renderer2 , Injector , ValueProvider , ContentChild } from '@angular/core' ; import { ComponentBase , IComponentBase , applyMixins , ComponentMixins , PropertyCollectionInfo , setValue } from '@syncfusion/ej2-angular-base' ; import { ListView } from '@syncfusion/ej2-lists' ; import { Template } from '@syncfusion/ej2-angular-base' ; export const inputs = [ 'animation' , 'checkBoxPosition' , 'cssClass' , 'dataSource' , 'enable' , 'enableHtmlSanitizer' , 'enablePersistence' , 'enableRtl' , 'enableVirtualization' , 'fields' , 'groupTemplate' , 'headerTemplate' , 'headerTitle' , 'height' , 'htmlAttributes' , 'locale' , 'query' , 'showCheckBox' , 'showHeader' , 'showIcon' , 'sortOrder' , 'template' , 'width' ] ; export const outputs = [ 'actionBegin' , 'actionComplete' , 'actionFailure' , 'select' ] ; export const twoWays = [ '' ] ; /**
 * Represents Angular ListView Component
 * ```
 * <ejs-listview [dataSource]='data'></ejs-listview>
 * ```
 */ @ Component ( { selector : 'ejs-listview' , inputs : inputs , outputs : outputs , template : '' , changeDetection : ChangeDetectionStrategy . OnPush , queries : { } } ) @ ComponentMixins ( [ ComponentBase ] ) export class ListViewComponent extends ListView implements IComponentBase { public context : any ; public tagObjects : any ; actionBegin : any ; actionComplete : any ; actionFailure : any ; public select : any ; default deprecated @ ContentChild ( 'template' ) @ Template ( ) public template : any ; default deprecated @ ContentChild ( 'groupTemplate' ) @ Template ( ) public groupTemplate : any ; default deprecated @ ContentChild ( 'headerTemplate' ) @ Template ( ) public headerTemplate : any ; constructor ( private ngEle , private srenderer , private viewContainerRef , private injector ) { super ( ) ; this . element = this . ngEle . nativeElement ; this . injectedModules = this . injectedModules || [ ] ; try { let mod = this . injector . get ( 'ListsVirtualization' ) ; if ( this . injectedModules . indexOf ( mod ) === - 1 ) { this . injectedModules . push ( mod ) ; } } catch { } this . registerEvents ( outputs ) ; this . addTwoWay . call ( this , twoWays ) ; setValue ( 'currentInstance' , this , this . viewContainerRef ) ; this . context = new ComponentBase ( ) ; } public ngOnInit ( ) { this . context . ngOnInit ( this ) ; } public ngAfterViewInit ( ) { this . context . ngAfterViewInit ( this ) ; } public ngOnDestroy ( ) { this . context . ngOnDestroy ( this ) ; } public ngAfterContentChecked ( ) { this . context . ngAfterContentChecked ( this ) ; } public registerEvents : ( eventList : string [ ] ) => void ; public addTwoWay : ( propList : string [ ] ) => void ; }