I have a <kendo-datepicker/>
. It works perfectly, however it does not give a chance to select the previous date twice.
For example, if I choose the following date 1.1.2018
, then <kendo-datepicker/>
closes with selected date. It is okay.
However, if I want to select the same date 1.1.2018
, then <kendo-datepicker/>
does not close with selected date.
You can reproduce this behaviour at Basic Usage of Overview of kendo-datepicker
.
Is it possible to choose the same date(1.1.2018
) after I chosen the date(1.1.2018
)?
I decided to handle click event at the day of calendar and use toggle
method on kendo-datepicker
to collapse calendar.
So we have kendo-datepicker
:
<kendo-datepicker #kendoDataPicker>
<ng-template kendoCalendarCellTemplate let-date>
<div (click)="handleClickCell(kendoDataPicker, date)">
{{date.getDate()}}
</div>
</ng-template>
</kendo-datepicker>
and JavaScript
code:
handleClickCell(kendoDataPicker : any, selectedDate: any){
if( kendoDataPicker.hasOwnProperty('_value')
&& typeof( kendoDataPicker._value)!=='undefined'
&& typeof( selectedDate)!=='undefined'
&& selectedDate.toString() === kendoDataPicker._value.toString()
){
kendoDataPicker.toggle();
}
}
It is so cool that toggle()
method of kendo-datepicker
method can work out whether calendar should be collapsed or not.