javascript - How to close calendar popup after clicking on date -


how can hide calendar after date selected? using date-time-picker danyelykpan.

is there specific function can use? code below

 <div class="col-3">   <div class="form-group calenderform calenderform1">    <label for="templatename">repair date (from)</label>     <owl-date-time name="repairdatefrom"      [(ngmodel)]="repairdatefrom"       [max]="max"      [type]="'calendar'"      [dateformat]="'yyyy-mm-dd'"      [placeholder]="'yyyy-mm-dd'"     ></owl-date-time>   <div class="error-message-block"></div>   <input type="hidden" name="repairdatefrom" id = "repairdatefrom" value="   {{repairdatefrom | date: 'yyyy-mm-dd'}}" (click)="closedatepopup()"/>   </div>  </div> 

from top of code through picker plugin component call goes below function.

    datetimepickercomponent.prototype.updateformattedvalue = function () {     var formattedvalue = '';     if (this.value) {         var d = new date();          if (this.issingleselection()) {             this.value = this.value.sethours(d.gethours(), d.getminutes());             formattedvalue = date_fns_1.format(this.value, this.dateformat,              { locale: this.locale.datefns });             $('.owl-calendar-wrapper').on('click',function(){                 $('.owl-datetime-dialog').hide();             });         }}} 

i tried above code works 1 time after clicking on date field second time date popup not come. please me solve problem.

if use mechanism of parent call of @viewchild described in angular component interaction page.

1 - import datetimepickercomponent

import  { datetimepickercomponent } "ng-pick-datetime/picker.component" 

2- refer viewchild , assign variable name:

@viewchild(datetimepickercomponent) picker: datetimepickercomponent; 

3- can access non private attribute/method described here: https://github.com/danielykpan/date-time-picker/blob/master/src/picker.component.ts this.picker

for hiding calendar can set dialogvisible false:

this.picker.dialogvisible = false 

now time detect click event in our calendar. simplest way use (ngmodelchange) event.

<owl-date-time   [(ngmodel)]="repairdatefrom" name="repairdatefrom"    (ngmodelchange)="ondatechange()"   [type]="'calendar'"   [dateformat]="'yyyy-mm-dd'" ></owl-date-time> 

and in our component :

ondatechange() {     this.picker.dialogvisible = false; } 

Comments

Popular posts from this blog

angular - Ionic slides - dynamically add slides before and after -

minify - Minimizing css files -

Add a dynamic header in angular 2 http provider -