@@ -68,6 +68,9 @@ export class MaterializeDirective implements AfterViewInit,DoCheck,OnChanges,OnD
6868 // this is here to trigger change detection for select elements
6969 @Input ( ) public set materializeSelectOptions ( options :any ) { }
7070
71+ //used for the datepicker at the moment
72+ @Input ( ) ngModel ;
73+
7174 public ngAfterViewInit ( ) {
7275 this . performElementUpdates ( ) ;
7376 }
@@ -153,22 +156,17 @@ export class MaterializeDirective implements AfterViewInit,DoCheck,OnChanges,OnD
153156 jQueryElement . on ( "change" , e => nativeElement . dispatchEvent ( ( < any > CustomEvent ( "input" ) ) ) ) ;
154157 }
155158
156- if ( this . isDatePicker ( ) ) {
157- const nativeElement = this . _el . nativeElement ;
158- const jQueryElement = $ ( nativeElement ) ;
159- const enablebtns = this . enableDPButtons ;
159+ if ( this . isDatePicker ( ) ) {
160+ const nativeElement = this . _el . nativeElement ;
161+ const jqueryPickerElement = $ ( nativeElement ) ;
160162
161- jQueryElement . on ( "change" , e => nativeElement . dispatchEvent ( ( < any > CustomEvent ( "input" ) ) ) ) ;
162- const datePicker = jQueryElement [ this . _functionName ] ( ...this . _params ) ;
163- const picker = datePicker . pickadate ( 'picker' ) ;
164- jQueryElement . mousedown ( ( ) => {
165- if ( ! jQueryElement . val ( ) ) {
166- return ;
167- }
168-
169- return picker . set ( 'select' , jQueryElement . val ( ) , ...this . _params )
170- } ) ;
171- }
163+ const datePicker = jqueryPickerElement [ this . _functionName ] ( ...this . _params ) ;
164+ const picker = datePicker . pickadate ( 'picker' ) ;
165+ setTimeout ( ( ) => {
166+ picker . set ( 'select' , this . ngModel ) ;
167+ jqueryPickerElement . on ( 'change' , e => nativeElement . dispatchEvent ( new Event ( 'input' ) ) ) ;
168+ } ) ;
169+ }
172170
173171 if ( this . isTimePicker ( ) ) {
174172 const nativeElement = this . _el . nativeElement ;
0 commit comments