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 = [ 'columnName' , 'customAggregate' , 'field' , 'footerTemplate' , 'format' , 'groupCaptionTemplate' , 'groupFooterTemplate' , 'type' ] ; let outputs = [ ] ; /**
 * `e-aggregate->e-column` directive represent a aggregate column of the Angular Grid.
 * ```html
 * <ejs-grid [dataSource]='data' allowPaging='true' allowSorting='true'>
 *   <e-columns>
 *     <e-column field='ID' width='100'></e-column>
 *     <e-column field='name' headerText='Name' width='100'></e-column>
 *   </e-columns>
 *   <e-aggregates>
 *     <e-aggregate>
 *       <e-columns>
 *         <e-column field='ID' type='Min'></e-column>
 *       </e-columns>
 *      </e-aggregate>
 *    </e-aggregates>
 * </ejs-grid>
 * ```
 */ @ Directive ( { selector : 'ejs-grid>e-aggregates>e-aggregate>e-columns>e-column' , inputs : input , outputs : outputs , queries : { } } ) export class AggregateColumnDirective extends ComplexBase < AggregateColumnDirective > { public directivePropList : any ; asptype default public type : any ; default public columnName : any ; default public customAggregate : any ; default public field : any ; asptype blazortype default public format : any ; default @ ContentChild ( 'footerTemplate' ) @ Template ( ) public footerTemplate : any ; default @ ContentChild ( 'groupFooterTemplate' ) @ Template ( ) public groupFooterTemplate : any ; default @ ContentChild ( 'groupCaptionTemplate' ) @ Template ( ) public groupCaptionTemplate : any ; constructor ( private viewContainerRef ) { super ( ) ; setValue ( 'currentInstance' , this , this . viewContainerRef ) ; this . registerEvents ( outputs ) ; this . directivePropList = input ; } } private @ Directive ( { selector : 'ejs-grid>e-aggregates>e-aggregate>e-columns' , queries : { children : new ContentChildren ( AggregateColumnDirective ) } , } ) export class AggregateColumnsDirective extends ArrayBase < AggregateColumnsDirective > { constructor ( ) { super ( 'columns' ) ; } }