import { Directive , ViewContainerRef , ContentChildren , ContentChild } from '@angular/core' ; import { ComplexBase , ArrayBase , setValue } from '@syncfusion/ej2-angular-base' ; import { Template } from '@syncfusion/ej2-angular-base' ; let input = [ 'allowEditing' , 'allowFiltering' , 'allowGrouping' , 'allowReordering' , 'allowResizing' , 'allowSearching' , 'allowSorting' , 'autoFit' , 'clipMode' , 'columns' , 'commands' , 'customAttributes' , 'dataSource' , 'defaultValue' , 'disableHtmlEncode' , 'displayAsCheckBox' , 'edit' , 'editTemplate' , 'editType' , 'enableGroupByFormat' , 'field' , 'filter' , 'filterBarTemplate' , 'filterTemplate' , 'foreignKeyField' , 'foreignKeyValue' , 'format' , 'formatter' , 'freeze' , 'headerTemplate' , 'headerText' , 'headerTextAlign' , 'headerValueAccessor' , 'hideAtMedia' , 'index' , 'isFrozen' , 'isIdentity' , 'isPrimaryKey' , 'lockColumn' , 'maxWidth' , 'minWidth' , 'showColumnMenu' , 'showInColumnChooser' , 'sortComparer' , 'template' , 'textAlign' , 'type' , 'uid' , 'validationRules' , 'valueAccessor' , 'visible' , 'width' ] ; let outputs = [ ] ; /**
 * `e-stacked-column` directive represent the stacked column of the Angular Grid.
 * It must be contained in a StackedColumns component(`e-stacked-columns`).
 * ```html
 * <ejs-grid [dataSource]='data' allowPaging='true' allowSorting='true'>
 *   <e-columns>
 *     <e-column field='ID' width='100'></e-column>
 *     <e-column headerText='Details' width='100'>
 *       <e-stacked-columns>
 *         <e-stacked-column field='Name' width='140'></e-stacked-column>
 *       </e-stacked-columns>
 *     </e-column>
 *   </e-columns>
 * </ejs-grid>
 * ```
 */ @ Directive ( { selector : 'ejs-grid>e-columns>e-column>e-stacked-columns>e-stacked-column' , inputs : input , outputs : outputs , queries : { } } ) export class StackedColumnDirective extends ComplexBase < StackedColumnDirective > { public directivePropList : any ; default public type : any ; default public allowEditing : any ; default public allowFiltering : any ; default public allowGrouping : any ; default public allowReordering : any ; default public allowResizing : any ; default public allowSearching : any ; default public allowSorting : any ; default public autoFit : any ; default public clipMode : any ; default public columns : any ; default public commands : any ; default public customAttributes : any ; default public dataSource : any ; default asptype public defaultValue : any ; default public disableHtmlEncode : any ; default public displayAsCheckBox : any ; default public edit : any ; default public editType : any ; default public enableGroupByFormat : any ; default public field : any ; default public filter : any ; default public filterBarTemplate : any ; default public foreignKeyField : any ; default public foreignKeyValue : any ; default asptype public format : any ; default public formatter : any ; default public freeze : any ; default public headerText : any ; aspdefaultvalueignore default public headerTextAlign : any ; default public headerValueAccessor : any ; default public hideAtMedia : any ; default public index : any ; default public isFrozen : any ; default public isIdentity : any ; default public isPrimaryKey : any ; default public lockColumn : any ; default public maxWidth : any ; default public minWidth : any ; default public showColumnMenu : any ; default public showInColumnChooser : any ; /**
     * It defines the custom sort comparer function.
     */ public sortComparer : any ; default public textAlign : any ; default public uid : any ; default public validationRules : any ; default public valueAccessor : any ; default public visible : any ; default public width : any ; default @ ContentChild ( 'template' ) @ Template ( ) public template : any ; default @ ContentChild ( 'headerTemplate' ) @ Template ( ) public headerTemplate : any ; @ ContentChild ( 'commandsTemplate' ) @ Template ( ) public commandsTemplate : any ; @ ContentChild ( 'filterItemTemplate' ) @ Template ( ) public filter_itemTemplate : any ; aspignore @ ContentChild ( 'editTemplate' ) @ Template ( ) public editTemplate : any ; aspignore @ ContentChild ( 'filterTemplate' ) @ Template ( ) public filterTemplate : any ; constructor ( private viewContainerRef ) { super ( ) ; setValue ( 'currentInstance' , this , this . viewContainerRef ) ; this . registerEvents ( outputs ) ; this . directivePropList = input ; } } private @ Directive ( { selector : 'ejs-grid>e-columns>e-column>e-stacked-columns' , queries : { children : new ContentChildren ( StackedColumnDirective ) } , } ) export class StackedColumnsDirective extends ArrayBase < StackedColumnsDirective > { constructor ( ) { super ( 'columns' ) ; } }