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
Post a Comment