@@ -50,9 +50,10 @@ export class Ng2DatetimePickerDirective implements OnInit, OnChanges {
50
50
private componentRef :ComponentRef < Ng2DatetimePickerComponent > ; /* dropdown component reference */
51
51
private ctrl : AbstractControl ;
52
52
private sub : any ;
53
- private justShown : boolean ;
53
+ // private justShown: boolean;
54
54
55
55
inputEl : HTMLInputElement ;
56
+ clickedDatetimePicker : boolean ;
56
57
57
58
constructor (
58
59
private resolver :ComponentFactoryResolver ,
@@ -223,11 +224,8 @@ export class Ng2DatetimePickerDirective implements OnInit, OnChanges {
223
224
224
225
this . componentRef = this . viewContainerRef . createComponent ( factory ) ;
225
226
this . ng2DatetimePickerEl = this . componentRef . location . nativeElement ;
226
- // this.ng2DatetimePickerEl.addEventListener('keyup', this.keyEventListener);
227
- // this.ng2DatetimePickerEl.addEventListener('click', function(event) {
228
- // console.log('click.................');
229
- // event.stopPropagation();
230
- // });
227
+ this . ng2DatetimePickerEl . addEventListener ( 'mousedown' , ( event ) => this . clickedDatetimePicker = true ) ;
228
+ this . ng2DatetimePickerEl . addEventListener ( 'mouseup' , ( event ) => this . clickedDatetimePicker = false ) ;
231
229
232
230
let component = this . componentRef . instance ;
233
231
component . defaultValue = < Date > this . defaultValue || < Date > this . el [ 'dateValue' ] ;
@@ -249,8 +247,8 @@ export class Ng2DatetimePickerDirective implements OnInit, OnChanges {
249
247
} ) ;
250
248
251
249
//Hack not to fire tab keyup event
252
- this . justShown = true ;
253
- setTimeout ( ( ) => this . justShown = false , 100 ) ;
250
+ // this.justShown = true;
251
+ // setTimeout(() => this.justShown = false, 100);
254
252
} ;
255
253
256
254
dateSelected = ( date ) => {
@@ -259,8 +257,8 @@ export class Ng2DatetimePickerDirective implements OnInit, OnChanges {
259
257
} ;
260
258
261
259
hideDatetimePicker = ( event ?) : any => {
262
- console . log ( ' hide XXXXXXXXXXXXXXXXXXXXXXXXXXX' , event , this . elementIn ( event . target , this . ng2DatetimePickerEl ) )
263
- if ( event && this . elementIn ( event . target , this . ng2DatetimePickerEl ) ) {
260
+ console . log ( ' hide XXXXXXXXXXXXXXXXXXXXXXXXXXX' , event )
261
+ if ( this . clickedDatetimePicker ) {
264
262
return false ;
265
263
} else { /* invoked by function call */
266
264
this . componentRef . destroy ( ) ;
0 commit comments