import { Directive , ViewContainerRef , ContentChildren } from '@angular/core' ; import { ComplexBase , ArrayBase , setValue } from '@syncfusion/ej2-angular-base' ; let input = [ 'end' , 'label' , 'start' ] ; let outputs = [ ] ; /**
 * 'e-presets' directive represent a presets of angular daterangepicker
 * It must be contained in a daterangepicker component(`ej-daterangepicker`).
 * ```html
 * <ejs-daterangepicker id='range'>
 *   <e-presets>
 *    <e-preset label='Last Week' [start]=new Date('06/07/2018') [end]= new Date('06/01/2018')></e-preset>
 *    <e-preset label='Last Month' [start]=new Date('06/07/2018') [end]= new Date('05/07/2018')></e-preset>
 *   </e-presets>
 * </ejs-daterangepicker>
 * ```
 */ @ Directive ( { selector : 'e-presets>e-preset' , inputs : input , outputs : outputs , queries : { } } ) export class PresetDirective extends ComplexBase < PresetDirective > { public directivePropList : any ; /**
     * Defines the end date of the preset range
     */ public end : any ; /**
     * Defines the label string of the preset range.
     */ public label : any ; /**
     * Defines the start date of the preset range.
     */ public start : any ; constructor ( private viewContainerRef ) { super ( ) ; setValue ( 'currentInstance' , this , this . viewContainerRef ) ; this . registerEvents ( outputs ) ; this . directivePropList = input ; } } private @ Directive ( { selector : 'ejs-daterangepicker>e-presets' , queries : { children : new ContentChildren ( PresetDirective ) } , } ) export class PresetsDirective extends ArrayBase < PresetsDirective > { constructor ( ) { super ( 'presets' ) ; } }