The limitation extenstion’s limit_view for preventing moving forward in time beyond a certain point through the scheduler works great. Yet, is there a simple way to prevent the minical extension from also moving forward (< using arrows >) through the months beyond the same limit.
Unfortunately - there is no built in solution.
You may try to customize updateCalendar method , which is triggered during month-to-month navigation.
thanks
Also is the limit supposed to work for days and weeks?
I appears to only work for month and year.
Simple fix example for minical month/year limit:
if (!(scheduler.config.limit_start.getMonth()== d._date.getMonth() && scheduler.config.limit_start.getFullYear()==d._date.getFullYear())) {
code in minical.js render calendar section
if (conf.navigation){
var arrow = document.createElement("DIV");
arrow.className = "dhx_cal_prev_button";
arrow.style.cssText="left:1px;top:2px;position:absolute;";
arrow.innerHTML = this._mini_cal_arrows[0];
d.firstChild.appendChild(arrow);
arrow.onclick=function(){
//added start limits check
if (!(scheduler.config.limit_start.getMonth()== d._date.getMonth() && scheduler.config.limit_start.getFullYear()==d._date.getFullYear())){
scheduler.updateCalendar(d, scheduler.date.add(d._date, -1, "month"));
if(scheduler._date.getMonth() == d._date.getMonth() && scheduler._date.getFullYear() == d._date.getFullYear()) {
scheduler._markCalendarCurrentDate(d);
}
}
};
arrow = document.createElement("DIV");
arrow.className = "dhx_cal_next_button";
arrow.style.cssText="left:auto; right:1px;top:2px;position:absolute;";
arrow.innerHTML = this._mini_cal_arrows[1];
d.firstChild.appendChild(arrow);
arrow.onclick=function(){
//added end limits check
if (!(scheduler.config.limit_end.getMonth()== d._date.getMonth() && scheduler.config.limit_end.getFullYear()==d._date.getFullYear())){
scheduler.updateCalendar(d, scheduler.date.add(d._date, 1, "month"));
if(scheduler._date.getMonth() == d._date.getMonth() && scheduler._date.getFullYear() == d._date.getFullYear()) {
scheduler._markCalendarCurrentDate(d);
}
}
};
}
Also is the limit supposed to work for days and weeks?
Actually it must work for days as well. ( you will not be able to navigate by main nav buttons or create new event outside of allowed area )
In case of minical, you can alter arrow.onclick as
arrow.onclick=function(){
var next_date = scheduler.date.add(d._date, 1, "month");
if (next_date<heduler.config.limit_start) return;
scheduler.updateCalendar(d, next_date);