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 { TreeView } from '@syncfusion/ej2-navigations' ; import { Template } from '@syncfusion/ej2-angular-base' ; export const inputs = [ 'allowDragAndDrop' , 'allowEditing' , 'allowMultiSelection' , 'allowTextWrap' , 'animation' , 'autoCheck' , 'checkedNodes' , 'cssClass' , 'disabled' , 'dragArea' , 'enableHtmlSanitizer' , 'enablePersistence' , 'enableRtl' , 'expandOn' , 'expandedNodes' , 'fields' , 'fullRowNavigable' , 'fullRowSelect' , 'loadOnDemand' , 'locale' , 'nodeTemplate' , 'selectedNodes' , 'showCheckBox' , 'sortOrder' ] ; export const outputs = [ 'actionFailure' , 'created' , 'dataBound' , 'dataSourceChanged' , 'destroyed' , 'drawNode' , 'keyPress' , 'nodeChecked' , 'nodeChecking' , 'nodeClicked' , 'nodeCollapsed' , 'nodeCollapsing' , 'nodeDragStart' , 'nodeDragStop' , 'nodeDragging' , 'nodeDropped' , 'nodeEdited' , 'nodeEditing' , 'nodeExpanded' , 'nodeExpanding' , 'nodeSelected' , 'nodeSelecting' ] ; export const twoWays = [ '' ] ; /**
 * TreeView component is used to represent the hierarchical data in tree like structure with advanced functions to perform edit, drag and drop, selection with check-box and more.
 * ```html
 * <ej-treeview allowDragAndDrop='true'></ej-treeview>
 * ```
 */ @ Component ( { selector : 'ejs-treeview' , inputs : inputs , outputs : outputs , template : '' , changeDetection : ChangeDetectionStrategy . OnPush , queries : { } } ) @ ComponentMixins ( [ ComponentBase ] ) export class TreeViewComponent extends TreeView implements IComponentBase { public context : any ; public tagObjects : any ; actionFailure : any ; created : any ; dataBound : any ; dataSourceChanged : any ; destroyed : any ; drawNode : any ; keyPress : any ; nodeChecked : any ; nodeChecking : any ; nodeClicked : any ; nodeCollapsed : any ; nodeCollapsing : any ; nodeDragStart : any ; nodeDragStop : any ; nodeDragging : any ; nodeDropped : any ; nodeEdited : any ; nodeEditing : any ; nodeExpanded : any ; nodeExpanding : any ; nodeSelected : any ; public nodeSelecting : any ; default @ ContentChild ( 'nodeTemplate' ) @ Template ( ) public nodeTemplate : any ; constructor ( private ngEle , private srenderer , private viewContainerRef , private injector ) { super ( ) ; this . element = this . ngEle . nativeElement ; this . injectedModules = this . injectedModules || [ ] ; 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 ; }