@syncfusion/ej2-schedule
Version:
Flexible scheduling library with more built-in features and enhanced customization options similar to outlook and google calendar, allowing the users to plan and manage their appointments with efficient data-binding support.
10 lines • 766 kB
JavaScript
/*!
* filename: ej2-schedule.min.js
* version : 32.2.3
* Copyright Syncfusion Inc. 2001 - 2025. All rights reserved.
* Use of this code is subject to the terms of our license.
* A copy of the current license can be obtained at any time by e-mailing
* licensing@syncfusion.com. Any infringement will be prosecuted under
* applicable laws.
*/
this.ej=this.ej||{},this.ej.schedule=function(e,t,i,n,r,a,s,o,l,p,c){"use strict";function h(e,i,n){var r=0,a=t.createElement("div",{className:i}).cloneNode();return a.style.visibility="hidden",a.style.position="absolute",e.appendChild(a),r=W(a,n),t.remove(a),r}function d(e,i,n){var r=0,a=t.createElement("div",{className:i}).cloneNode();return a.style.visibility="hidden",a.style.position="absolute",e.appendChild(a),r=B(a,n),t.remove(a),r}function u(e){var t=getComputedStyle(e);return window.WebKitCSSMatrix?new WebKitCSSMatrix(t.webkitTransform).m42:0}function g(e){var t=getComputedStyle(e);return window.WebKitCSSMatrix?new WebKitCSSMatrix(t.webkitTransform).m41:0}function v(e,t){var i=new Date(e.getTime());return t=(t-i.getDay()-7)%7,new Date(i.setDate(i.getDate()+(isNaN(t)?0:t)))}function m(e,t){var i=v(e,t),n=new Date(i.getFullYear(),i.getMonth(),i.getDate()+6);return new Date(n.getTime())}function f(e){return new Date(e.getFullYear(),e.getMonth(),1)}function y(e){return new Date(e.getFullYear(),e.getMonth()+1,0)}function T(e){var t=new Date(e.getFullYear(),0,1).valueOf(),i=(new Date(e.getFullYear(),e.getMonth(),e.getDate()).valueOf()-t+Qe)/Qe;return Math.ceil(i/7)}function w(e,t){return new Date(t.valueOf()-(t.valueOf()-e.valueOf())/2)}function D(e,t){var i=e.getTimezoneOffset(),n=new Date(e.getTime()+t),r=n.getTimezoneOffset()-i;return e.setTime(n.getTime()+r*Ke),e}function b(e){return new Date(e.getFullYear(),e.getMonth(),e.getDate())}function C(e){var t=new Date(e.getFullYear(),e.getMonth(),e.getDate(),0,0,0).getTimezoneOffset(),i=e.getTimezoneOffset()-t;return e.getTime()-new Date(e.getFullYear(),e.getMonth(),e.getDate(),0,0,0).getTime()-60*i*1e3}function S(e,t){return Math.ceil((t.getTime()-e.getTime())/Qe)}function O(e,t){return e=new Date(""+e),new Date(e.setDate(e.getDate()+t))}function E(e,t){var i=(e=new Date(""+e)).getDate();return e.setDate(1),e.setMonth(e.getMonth()+t),e.setDate(Math.min(i,A(e))),e}function x(e,t){var i=(e=new Date(""+e)).getDate();return e.setDate(1),e.setFullYear(e.getFullYear()+t),e.setDate(Math.min(i,A(e))),e}function V(e,t,i){var n=new Date(e.getTime());n.setHours(t.getHours()),n.setMinutes(t.getMinutes()),n.setSeconds(t.getSeconds());var r=new Date(e.getTime());return 0===i.getHours()?r=O(r,1):(r.setHours(i.getHours()),r.setMinutes(i.getMinutes()),r.setSeconds(i.getSeconds())),{startHour:n,endHour:r}}function A(e){return y(e).getDate()}function I(e,t){var i=b(new Date(e)),n=b(new Date(t));return Math.round((n.getTime()-i.getTime())/Qe)}function k(e){return-1!==e.indexOf("Date")?new Date(parseInt(e.match(/\d+/g).toString(),10)):-1!==e.indexOf("T")?new Date(e):new Date(e.replace(/-/g,"/"))}function M(){if(null!==Ze)return Ze;null===Je&&(Je=window.devicePixelRatio||window.screen.availWidth/document.documentElement.clientWidth);var e=t.createElement("div"),i=0;e.style.cssText="width:100px;height: 100px;overflow: scroll;position: absolute;top: -9999px;",document.body.appendChild(e);var n=devicePixelRatio?"1.10"===devicePixelRatio.toFixed(2)||devicePixelRatio<=1?Math.ceil(devicePixelRatio%1):Math.floor(devicePixelRatio%1):0;return i=e.offsetWidth-e.clientWidth-n|0,document.body.removeChild(e),Ze=i}function R(){var e=window.devicePixelRatio||window.screen.availWidth/document.documentElement.clientWidth;Je&&Je!==e&&(Ze=null,Je=e)}function H(e,t,i,n,r){for(var a=0,s=e.length;a<s;a++)if(e[parseInt(a.toString(),10)][""+t]===i){if(!n)return a;var o=r.slice(-2)[0].field;if((n[""+o]instanceof Array?n[""+o]:[n[""+o]]).join(",").includes(e[parseInt(a.toString(),10)][r.slice(-1)[0].groupIDField]))return a}return-1}function P(e){var t=getComputedStyle(e);return e.offsetHeight+(parseInt(t.marginTop,10)||0)+(parseInt(t.marginBottom,10)||0)}function j(e){for(var t=0,i=[].slice.call(e.children);t<i.length;t++){var n=i[t];e.removeChild(n)}}function N(e){var t=new Date(e.getFullYear(),0,1),i=new Date(e.getFullYear(),6,1);return e.getTimezoneOffset()<Math.max(t.getTimezoneOffset(),i.getTimezoneOffset())}function L(e){var t=e.getFullYear(),i=e.getMonth(),n=e.getDate(),r=e.getHours(),a=e.getMinutes(),s=e.getSeconds(),o=e.getMilliseconds();return Date.UTC(t,i,n,r,a,s,o)}function q(){return window.navigator.userAgent.toLowerCase().indexOf("mobi")>-1}function F(){return window.navigator.userAgent.toLowerCase().indexOf("ipad")>-1}function U(e,i){if("multiple"===i)e=e.split(" ").map(function(e){return e.charAt(0).toLocaleUpperCase()+e.substring(1)}).join(" ");else if("single"===i){if(e[0]>="0"&&e[0]<="9"){var n=e.match(/[a-zA-Z]/);e=t.isNullOrUndefined(n)?e:e.slice(0,n.index)+e[n.index].toLocaleUpperCase()+e.slice(n.index+1)}e=e[0].toLocaleUpperCase()+e.slice(1)}return e}function B(e,t){return t?e.offsetWidth:e.getBoundingClientRect().width}function W(e,t){return t?e.offsetHeight:e.getBoundingClientRect().height}function z(e,t){return t?e.offsetTop:e.getBoundingClientRect().top}function Y(e,i,n,r){void 0===r&&(r="Gregorian");var a,s,o=Ee(e),l=i.getConstant(Vt)+" ",p=r.toLowerCase();if("en"===n||"en-US"===n){var c="months.stand-alone.abbreviated",h="days.stand-alone.abbreviated";s=t.getValue(c,t.getDefaultDateObject(p)),a=t.getValue(h,t.getDefaultDateObject(p))}else{var c="main."+n+".dates.calendars."+p+".months.stand-alone.abbreviated",h="main."+n+".dates.calendars."+p+".days.stand-alone.abbreviated";s=t.getValue(c,t.cldrData),a=t.getValue(h,t.cldrData)}switch(o.interval>1&&(l+=o.interval+" "),o.freq){case"DAILY":l+=i.getConstant(It);break;case"WEEKLY":l+=i.getConstant(kt)+" "+i.getConstant(xt)+" ",o.day.forEach(function(e,i){l+=U(t.getValue(Ht[""+e],a),"single"),l+=o.day.length-1===i?"":", "});break;case"MONTHLY":l+=i.getConstant(Mt)+" "+i.getConstant(xt)+" ",l+=_(o,a,i);break;case"YEARLY":l+=i.getConstant(Rt)+" "+i.getConstant(xt)+" ",l+=U(t.getValue(o.month[0].toString(),s),"single")+" ",l+=_(o,a,i)}if(o.count)l+=", "+o.count+" "+i.getConstant(Et);else if(o.until){var d=o.until;l+=", "+i.getConstant(At)+" "+d.getDate()+" "+U(t.getValue((d.getMonth()+1).toString(),s),"single")+" "+d.getFullYear()}return l}function _(e,i,n){var r="";if(e.monthDay.length)r+=e.monthDay[0];else if(e.day){var a=e.setPosition-1;r+=n.getConstant(Ot[a>-1?a:Ot.length-1])+" "+U(t.getValue(Ht[e.day[0]],i),"single")}return r}function G(e,i,n,r,a,s,o,l){void 0===a&&(a=St),void 0===s&&(s=null),void 0===o&&(o="Gregorian"),void 0===l&&(l=null);var p,c=Ee(i);Be=je(o);var h=[],d=new Date(e.getTime());qe=[];var u=t.isNullOrUndefined(n)?[]:n.split(","),g=new Tt;if(u.forEach(function(e){var t=X(e);l&&(t=g.add(new Date(t.getTime()),l)),qe.push(new Date(t.getTime()).setHours(0,0,0,0))}),c.recExceptionCount=t.isNullOrUndefined(c.count)?0:qe.length,Ue=s&&s>e&&!c.count?new Date(new Date(s.getTime()).setHours(0,0,0)):null,!c.until&&Ue&&((p=new Date(Ue.getTime())).setDate(Ue.getDate()+a*c.interval),c.until=p),c.until&&e>c.until)return h;switch(Fe=a,r=r||0,He(Ct[parseInt(r.toString(),10)]),c.freq){case"DAILY":Z(d,c.until,h,c);break;case"WEEKLY":J(d,c.until,h,c,r);break;case"MONTHLY":$(d,c.until,h,c);break;case"YEARLY":ee(d,c.until,h,c)}return h}function X(e){return new Date(e.substr(0,4)+"-"+e.substr(4,2)+"-"+e.substr(6,5)+":"+e.substr(11,2)+":"+e.substr(13))}function Q(e,t){var i=new Date(t).setHours(0,0,0,0);-1===qe.indexOf(i)&&(!Ue||i>=Ue.getTime())&&e.push(t)}function K(e,t){var i=Fe;return t.count?i=t.count:t.until&&("DAILY"===t.freq||"WEEKLY"===t.freq?i=Math.floor((t.until.getTime()-e.getTime())/Qe)+1:"MONTHLY"!==t.freq&&"YEARLY"!==t.freq||(i=Math.floor((t.until.getMonth()+12*t.until.getFullYear()-(e.getMonth()+12*e.getFullYear()))/t.interval)+(t.day.length>1?Math.floor((t.until.getTime()-e.getTime())/Qe)+1:1),"YEARLY"===t.freq&&(i=t.month.length>1?i*t.month.length:i))),i}function Z(e,t,i,n){for(var r=new Date(e.getTime()),a=n.interval,s=K(e,n),o=n.day;be(r,t)&&(!0,!(Pe(r,n)&&(o.indexOf(Ct[r.getDay()])>-1||0===o.length)&&(Q(i,r.getTime()),s&&i.length+n.recExceptionCount>=s)));)r.setDate(r.getDate()+a),r.getHours()!==e.getHours()&&r.setHours(e.getHours())}function J(e,i,n,r,a){var s=new Date(e.getTime());r.day.length||r.day.push(Ct[e.getDay()]);var o,l=r.interval,p=r.day,c=K(e,r),h=!0,d=[];if(p.length>1)for((t.isNullOrUndefined(r.wkst)||""===r.wkst)&&(r.wkst=bt[0]),o=Ct.indexOf(r.wkst);be(s,i);){var u=Ct.indexOf(Ct[s.getDay()])-o,g=O(O(s,-(u=-1===u?6:u)),6),v=new Date(s.getTime());for(g=b(g),v=b(v);g>=v&&(p.indexOf(Ct[s.getDay()])>-1&&d.push([s.getTime()]),!(c&&n.length+r.recExceptionCount>=c));)s.setDate(s.getDate()+1),s.getHours()!==e.getHours()&&s.setHours(e.getHours()),v=b(v=new Date(s.getTime()));if(s.setDate(s.getDate()-1),c&&n.length+r.recExceptionCount>=c)break;s.setDate(s.getDate()+1+7*(l-1)),ge(d,h,e,i,n,r),d=[]}else{for(s=Oe(e,r.day),l>1&&bt.indexOf(r.day[0])<e.getDay()-a&&s.setDate(s.getDate()+7*(l-1));be(s,i)&&((h=Pe(s,r))&&p.indexOf(Ct[s.getDay()])>-1&&Q(n,s.getTime()),!(c&&n.length+r.recExceptionCount>=c));)s.setDate(s.getDate()+7*l);ge(d,h,e,i,n,r),d=[]}}function $(e,t,i,n){switch(n.month.length||n.day.length||n.monthDay.length?n.month.length>0&&!n.day.length&&!n.monthDay.length&&n.monthDay.push(e.getDate()):(n.monthDay.push(e.getDate()),"YEARLY"===n.freq&&n.month.push(e.getMonth()+1)),Me(n)){case"day":switch(n.freq){case"MONTHLY":ce(e,t,i,n);break;case"YEARLY":he(e,t,i,n)}break;case"both":case"date":switch(n.freq){case"MONTHLY":se(e,t,i,n);break;case"YEARLY":ae(e,t,i,n)}}}function ee(e,t,i,n){switch(ne(n)){case"MONTH":$(e,t,i,n);break;case"WEEKNO":te(e,t,i,n);break;case"YEARDAY":ie(e,t,i,n)}}function te(e,i,n,r){for(var a,s,o,l,p,c=Be.getYearLastDate(e,0),h=K(e,r),d=r.weekNo,u=[],g=r.day;be(c,i);){s=6-bt.indexOf(Ct[c.getDay()])+1;for(var v=0;v<d.length;v++)for(l=1===(o=(o=d[parseInt(v.toString(),10)])>0?o:53+o+1)?s:s+7*(o-1),p=1===o?s-7:s+7*(o-2);p<l;)a=new Date(c.getTime()+Qe*p),(0===g.length||g.indexOf(Ct[a.getDay()])>-1)&&(t.isNullOrUndefined(r.setPosition)?ye(void 0,e,i,n,r,a.getTime()):u.push([a.getTime()])),p++;if(t.isNullOrUndefined(r.setPosition)||De(u,void 0,e,i,n,r),h&&n.length+r.recExceptionCount>=h)return;c=Be.getYearLastDate(a,r.interval),u=[]}}function ie(e,i,n,r){for(var a,s,o=Be.getYearLastDate(e,0),l=K(e,r),p=[],c=r.day;be(o,i);){for(var h=0;h<r.yearDay.length;h++)s=r.yearDay[parseInt(h.toString(),10)],a=new Date(o.getTime()),s!==Be.getLeapYearDaysCount()&&s!==-Be.getLeapYearDaysCount()||Be.isLeapYear(Be.getFullYear(a),1)?(a.setDate(a.getDate()+(s<0?Be.getYearDaysCount(a,1)+1+s:s)),(0===c.length||c.indexOf(Ct[a.getDay()])>-1)&&(null==r.setPosition?ye(void 0,e,i,n,r,a.getTime()):p.push([a.getTime()]))):a.setDate(a.getDate()+1);if(t.isNullOrUndefined(r.setPosition)||De(p,void 0,e,i,n,r),l&&n.length+r.recExceptionCount>=l)return;o=Be.getYearLastDate(a,r.interval),p=[]}}function ne(e){return e.yearDay.length?"YEARDAY":e.weekNo.length?"WEEKNO":"MONTH"}function re(e,t){var i={monthCollection:[],index:0,tempDate:new Date(e.getTime()),mainDate:new Date(e.getTime()),expectedCount:K(e,t),monthInit:0,dateCollection:[]};return t.month.length&&Be.setMonth(i.tempDate,t.month[0],i.tempDate.getDate()),i}function ae(e,t,i,n){if(n.month.length)return void se(e,t,i,n);var r,a=re(e,n);for(a.tempDate=a.mainDate=Be.getMonthStartDate(a.tempDate);be(a.tempDate,t);){for(r=new Date(a.tempDate.getTime());Be.isSameYear(r,a.tempDate)&&a.expectedCount&&i.length+n.recExceptionCount<=a.expectedCount;){if(!(0===n.month.length||n.month.length>0&&!Be.checkMonth(a.tempDate,n.month))){Be.setValidDate(a.tempDate,1,1),a.tempDate=Oe(a.tempDate,n.day);break}oe(n,a,t,!1),a.beginDate=new Date(a.tempDate.getTime()),a.monthInit=le(a.tempDate,n,a.monthInit,a.beginDate)}if(a.tempDate.setFullYear(r.getFullYear(),r.getMonth(),r.getDate()),ge(a.dateCollection,a.state,e,t,i,n),Be.isLastMonth(a.tempDate)&&(Be.setValidDate(a.tempDate,1,1),a.tempDate=Oe(a.tempDate,n.day)),a.expectedCount&&i.length+n.recExceptionCount>=a.expectedCount)return;a.tempDate.setFullYear(a.tempDate.getFullYear()+n.interval-1),a.tempDate=Oe(a.tempDate,n.day),a.monthInit=le(a.tempDate,n,a.monthInit,a.beginDate),a.dateCollection=[]}}function se(e,i,n,r){var a=re(e,r);if(a.tempDate=a.mainDate=Be.getMonthStartDate(a.tempDate),!(("MONTHLY"===r.freq&&12===r.interval||"YEARLY"===r.freq)&&Be.getMonthDaysCount(e)<r.monthDay[0]))for(;be(a.tempDate,i);){if(a.beginDate=new Date(a.tempDate.getTime()),oe(r,a,i,!0,e,n),t.isNullOrUndefined(r.setPosition)||De(a.dateCollection,a.state,e,i,n,r),a.expectedCount&&n.length+r.recExceptionCount>=a.expectedCount)return;a.monthInit=le(a.tempDate,r,a.monthInit,a.beginDate),a.dateCollection=[]}}function oe(e,i,n,r,a,s){for(var o=0;o<e.monthDay.length;o++){i.date=e.monthDay[parseInt(o.toString(),10)],i.tempDate=Be.getMonthStartDate(i.tempDate);var l=Be.getMonthDaysCount(i.tempDate);if(i.date=i.date>0?i.date:l+i.date+1,xe(i.tempDate,i.date,i.mainDate)&&i.date>0){if(Be.setDate(i.tempDate,i.date),n&&i.tempDate>n)return;(0===e.day.length||e.day.indexOf(Ct[i.tempDate.getDay()])>-1)&&(r&&t.isNullOrUndefined(e.setPosition)&&i.expectedCount&&s.length+e.recExceptionCount<i.expectedCount?ye(i.state,a,n,s,e,i.tempDate.getTime()):i.dateCollection.push([i.tempDate.getTime()]))}}}function le(e,i,n,r,a){void 0===r&&(r=null);var s=r?r.getMonth():0,o=Be.getMonthStartDate(e);return a=t.isNullOrUndefined(a)?i.interval:a,e.setFullYear(o.getFullYear()),e.setMonth(o.getMonth()),e.setDate(o.getDate()),i.month.length?(n++,n%=i.month.length,Be.setMonth(e,i.month[parseInt(n.toString(),10)],1),0===n&&Be.addYears(e,a,i.month[0])):(r&&r.getFullYear()<e.getFullYear()&&(s=e.getMonth()-1),Be.setValidDate(e,a,1,s,r)),n}function pe(e,i,n,r){var a=r.day,s=new Date(e.getTime());s=Be.getMonthStartDate(s);var o,l,p=[],c=[],h=[],d=K(e,r),u=0;for(r.month.length&&Be.setMonth(s,r.month[0],1),s=Oe(s,r.day);be(s,i)&&d&&n.length+r.recExceptionCount<d;){var g=new Date(s.getTime());if(a.map(function(e){return Pt.test(e)}).indexOf(!0)>-1){for(var v=0;v<=a.length-1;v++){var m=a[parseInt(v.toString(),10)].match(Nt),f=parseInt(m[0],10);for(s=new Date(s.getTime()),s=Oe(s=Be.getMonthStartDate(s),a),g.setFullYear(s.getFullYear(),s.getMonth(),s.getDate());Be.isSameYear(g,s)&&Be.isSameMonth(g,s);)m[m.length-1]===Ct[g.getDay()]&&p.push([g.getTime()]),g.setDate(g.getDate()+1);if(g.setDate(g.getDate()-1),o=m[0].indexOf("-")>-1?p.length- -1*f:f-1,o=isNaN(o)?0:o,p.length>0&&(t.isNullOrUndefined(r.setPosition)?De(p,void 0,e,i,n,r,o):c=[fe(p,o,h)]),d&&n.length+r.recExceptionCount>=d)return;p=[]}t.isNullOrUndefined(r.setPosition)||(we(c,void 0,e,i,n,r),h=[]),u=le(s,r,u,l),s=Oe(s,r.day),p=[]}else{var y=[],T=Ve(a);g.setFullYear(s.getFullYear(),s.getMonth(),s.getDate());var w=new Date(s.getTime());for(l=new Date(s.getTime());Be.isSameMonth(w,s);)y.push(s.getTime()),a.indexOf(Ct[s.getDay()])>-1&&(p.push(y),y=[]),s.setDate(s.getDate()+T[Ct[s.getDay()]]);if(o=r.setPosition<1?p.length+r.setPosition:r.setPosition-1,t.isNullOrUndefined(r.setPosition)){o=0;for(var D=[],b=0;b<p.length;b++)for(var C=0;C<p[parseInt(b.toString(),10)].length;C++)D.push(p[parseInt(b.toString(),10)][parseInt(C.toString(),10)]);p=[D]}if(p.length>0&&De(p,void 0,e,i,n,r,o),d&&n.length+r.recExceptionCount>=d)return;u=le(s,r,u,l),s=Oe(s,r.day),p=[]}}}function ce(e,t,i,n){if(n.day.length>1)return void pe(e,t,i,n);var r,a=new Date(e.getTime()),s=K(e,n),o=[],l=0;for(a=Be.getMonthStartDate(a),n.month.length&&Be.setMonth(a,n.month[0],1),a=Oe(a,n.day);be(a,t)&&s&&i.length+n.recExceptionCount<s;){r=new Date(a.getTime());for(var p=new Date(a.getTime());Be.isSameMonth(a,p);)o.push([p.getTime()]),p.setDate(p.getDate()+7);me(o,e,t,i,n),l=le(a,n,l,r),a=Oe(a,n.day),o=[]}}function he(e,i,n,r){var a=r.day,s=a.map(function(e){return Pt.test(e)});if(a.length>1&&s.indexOf(!0)>-1)return void de(e,i,n,r);if(r.month.length&&1===a.length&&s.indexOf(!0)>-1)return void ce(e,i,n,r);var o,l=new Date(e.getTime()),p=K(e,r),c=r.interval,h=[];for(r.month.length&&Be.setMonth(l,r.month[0],l.getDate()),t.isNullOrUndefined(r.setPosition)&&0===r.month.length&&0===r.weekNo.length&&l.setFullYear(e.getFullYear(),0,1),l=Oe(l=Be.getMonthStartDate(l),r.day);be(l,i);){for(o=new Date(l.getTime());Be.isSameYear(o,l)&&p&&n.length+r.recExceptionCount<=p;)for(o=new Date(l.getTime());Be.isSameYear(o,l);){if(!(0===r.month.length||r.month.length>0&&!Be.checkMonth(l,r.month))){Be.setValidDate(l,1,1),l=Oe(l,r.day);break}if(a.length>1){if(Be.compareMonth(o,l)){Be.setValidDate(l,1,1),l=Oe(l,r.day);break}a.indexOf(Ct[o.getDay()])>-1&&h.push([o.getTime()]),o.setDate(o.getDate()+1)}else{if(o.getFullYear()>l.getFullYear()){Be.setValidDate(l,1,1),l=Oe(l,r.day);break}var d=Ce(a[0]);Ct[o.getDay()]===d&&new Date(o.getFullYear(),o.getMonth(),0)>new Date(e.getFullYear())&&h.push([o.getTime()]),o.setDate(o.getDate()+7)}}if(l.setFullYear(o.getFullYear(),o.getMonth(),o.getDate()),me(h,e,i,n,r),Be.isLastMonth(l)&&(Be.setValidDate(l,1,1),l=Oe(l,r.day)),l.setFullYear(l.getFullYear()+c-1),p&&n.length+r.recExceptionCount>=p)return;l=Oe(l,r.day),h=[]}}function de(e,i,n,r){var a,s,o,l=r.day,p=K(e,r),c=new Date(e.getTime()),h=r.interval,d=[],u=[],g=0;c=Be.getMonthStartDate(c);var v=[];for(r.month.length&&Be.setMonth(c,r.month[0],1),c=Oe(c,r.day);be(c,i);){s=new Date(c.getTime());for(var m=0;m<=r.month.length;m++)for(var f=0;f<=l.length-1;f++){for(c=Oe(c=Be.getMonthStartDate(c),r.day),d=[];Be.isSameYear(s,c)&&p&&n.length+r.recExceptionCount<=p;)for(;Be.isSameYear(s,c);){if(s=new Date(c.getTime()),0===r.month.length||r.month.length>0&&r.month[parseInt(m.toString(),10)]===Be.getMonth(s)){var y=l[parseInt(f.toString(),10)].match(Nt),T=parseInt(y[0],10);for(o=new Date(c.getTime());Be.isSameYear(o,c)&&Be.isSameMonth(o,c);)y[y.length-1]===Ct[o.getDay()]&&d.push([o.getTime()]),o.setDate(o.getDate()+1);o.setDate(o.getDate()-1),a=y[0].indexOf("-")>-1?d.length- -1*T:T-1,a=isNaN(a)?0:a}g=le(c,r,g,void 0,1),c=Oe(c,r.day)}if(c=0===f&&o?new Date(o.getTime()):new Date(s.getTime()),d.length>0&&(t.isNullOrUndefined(r.setPosition)?De(d,void 0,e,i,n,r,a):u=[fe(d,a,v)]),p&&n.length+r.recExceptionCount>=p)return}t.isNullOrUndefined(r.setPosition)||(we(u,void 0,e,i,n,r),v=[]),Be.isLastMonth(c)?(Be.setValidDate(c,1,1),c.setFullYear(c.getFullYear()+h-1)):c.setFullYear(c.getFullYear()+h),c=Oe(c,r.day),r.month.length&&Be.setMonth(c,r.month[0],c.getDate())}}function ue(e,t){var i,n={monthCollection:[],index:0};if(1===t.length){var r=t[0].match(Nt),a=void 0;r.length>1?i=(a=parseInt(r[0],10))<1?e.length+a:a-1:(i=0,e=ve(e))}else i=0,e=ve(e);return n.monthCollection=e,n.index=i,n}function ge(e,i,n,r,a,s){var o=s.setPosition<1?e.length+s.setPosition:s.setPosition-1;t.isNullOrUndefined(s.setPosition)&&(o=0,e=ve(e)),e.length>0&&De(e,i,n,r,a,s,o)}function ve(e){for(var t=[],i=0;i<e.length;i++)for(var n=0;n<e[parseInt(i.toString(),10)].length;n++)t.push(new Date(e[parseInt(i.toString(),10)][parseInt(n.toString(),10)]).getTime());return e=t.length>0?[t]:[]}function me(e,t,i,n,r){var a=[],s=ue(e,r.day);e=s.monthCollection;var o=s.index;null!=r.setPosition?we([fe(e,o,a)],void 0,t,i,n,r):e.length>0&&De(e,void 0,t,i,n,r,o),a=[]}function fe(e,t,i){for(var n=0;n<e[parseInt(t.toString(),10)].length;n++)i.push(e[parseInt(t.toString(),10)][parseInt(n.toString(),10)]);return i}function ye(e,t,i,n,r,a){var s=K(t,r),o=new Date(a);e=Pe(o,r),o>=t&&be(o,i)&&e&&s&&n.length+r.recExceptionCount<s&&Q(n,a)}function Te(e,t,i,n,r){var a=t||0,s=new Date(e,r.month[0]-1,1),o=new Date(e,r.month[0],0).getDate(),l=(s.getDay()-a+7)%7+o,p=Math.ceil(l/7)-1,c=i[parseInt(n.toString(),10)][parseInt(p.toString(),10)];return Pe(new Date(c),r)?p:p-1}function we(e,t,i,n,r,a){if(e.length>0)for(var s=0;s<e.length;s++){e[parseInt(s.toString(),10)].sort();var o=a.day.map(function(e){return Pt.test(e)}),l="YEARLY"===a.freq&&a.validRules.indexOf("BYMONTH")>-1&&!(o.indexOf(!0)>-1)?Te(new Date(e[0][0]).getFullYear(),0,e,s,a):e[parseInt(s.toString(),10)].length+a.setPosition,p=a.setPosition<1?l:a.setPosition-1;ye(t,i,n,r,a,e[parseInt(s.toString(),10)][parseInt(p.toString(),10)])}}function De(e,i,n,r,a,s,o){if(e.length>0){o=t.isNullOrUndefined(o)?s.setPosition<1?e.length+s.setPosition:s.setPosition-1:o,e[parseInt(o.toString(),10)].sort();for(var l=0;l<e[parseInt(o.toString(),10)].length;l++)ye(i,n,r,a,s,e[parseInt(o.toString(),10)][parseInt(l.toString(),10)])}}function be(e,t){return!t||e<=t}function Ce(e){return e.replace(jt,"")}function Se(e,t){var i=[];return t.forEach(function(e){var t=e.match(Nt);2===t.length?i.push(t[1]):i.push(t[0])}),-1===i.indexOf(Ct[parseInt(e.toString(),10)])}function Oe(e,t){var i,n=new Date(e.getTime());if(t.length>0){for(var r=[],a=0;a<=t.length-1;a++)i=Ce(t[parseInt(a.toString(),10)]),r.push(i);if(-1===r.indexOf(Ct[n.getDay()]))do{n.setDate(n.getDate()+1)}while(-1===r.indexOf(Ct[n.getDay()]))}return n}function Ee(e){var t,i={freq:null,interval:1,count:null,until:null,day:[],wkst:null,month:[],weekNo:[],monthDay:[],yearDay:[],setPosition:null,validRules:[]},n=[];if(e.split(";").forEach(function(e){switch((n=e.split("="))[0]){case"UNTIL":t=n[1],i.until=X(t);break;case"BYDAY":i.day=n[1].split(","),i.validRules.push(n[0]);break;case"BYMONTHDAY":i.monthDay=n[1].split(",").map(Number),i.validRules.push(n[0]);break;case"BYMONTH":i.month=n[1].split(",").map(Number),i.validRules.push(n[0]);break;case"BYYEARDAY":i.yearDay=n[1].split(",").map(Number),i.validRules.push(n[0]);break;case"BYWEEKNO":i.weekNo=n[1].split(",").map(Number),i.validRules.push(n[0]);break;case"INTERVAL":i.interval=parseInt(n[1],10);break;case"COUNT":i.count=parseInt(n[1],10);break;case"BYSETPOS":i.setPosition=parseInt(n[1],10)>4?-1:parseInt(n[1],10);break;case"FREQ":i.freq=n[1];break;case"WKST":i.wkst=n[1]}}),"MONTHLY"===i.freq&&0===i.monthDay.length){var r=i.validRules.indexOf("BYDAY");i.validRules.splice(r,1)}return i}function xe(e,t,i){return t<=Be.getMonthDaysCount(e)&&e>=i}function Ve(e){var t={};return e.forEach(function(i,n){if(n===e.length-1){for(var r=bt.indexOf(i),a=r;a%7!==bt.indexOf(e[0]);)a++;t[""+i]=a-r}else t[""+i]=bt.indexOf(e[n+1])-bt.indexOf(i)}),t}function Ae(e,t){var i,n=t.slice(0),r=Be.getMonthDaysCount(e);for(i=n.shift();i;){if(i<0&&(i=i+r+1),i===e.getDate())return!1;i=n.shift()}return!0}function Ie(e,t){var i,n=t.slice(0),r=ke(e);for(i=n.shift();i;){if(i<0&&(i=i+Be.getYearDaysCount(e,0)+1),i===r)return!1;i=n.shift()}return!0}function ke(e){Dt[Be.getFullYear(e)]||(Dt[Be.getFullYear(e)]=Be.getYearLastDate(e,0));var t=Dt[Be.getFullYear(e)],i=e.getTime()-t.getTime();return Math.ceil(i/Qe)}function Me(e){return e.monthDay.length&&!e.day.length?"date":!e.monthDay.length&&e.day.length?"day":"both"}function Re(e){var t=e.shift();e.push(t)}function He(e){for(;bt[0]!==e;)Re(bt)}function Pe(e,t){var i=!0,n=t.day,r=t.month,a=Be.getExpectedDays(e,t.monthDay),s=t.yearDay;return t.validRules.forEach(function(t){switch(t){case"BYDAY":Se(e.getDay(),n)&&(i=!1);break;case"BYMONTH":Be.checkMonth(e,r)&&(i=!1);break;case"BYMONTHDAY":Ae(e,a)&&(i=!1);break;case"BYYEARDAY":Ie(e,s)&&(i=!1)}}),i}function je(e){return"Islamic"===e?new yt:new ft}function Ne(e){return[e.getUTCFullYear(),Le(e.getUTCMonth()+1),Le(e.getUTCDate()),"T",Le(e.getUTCHours()),Le(e.getUTCMinutes()),Le(e.getUTCSeconds()),"Z"].join("")}function Le(e){return("0"+e).slice(-2)}var qe,Fe,Ue,Be,We="actionBegin",ze="renderCell",Ye="inlineClick",_e="data-ready",Ge="content-ready",Xe="scroll-ui-update",Qe=864e5,Ke=6e4,Ze=null,Je=null,$e="e-schedule",et="e-icons",tt="e-table-container",it="e-schedule-table",nt="e-content-table",rt="e-popup-open",at="e-appointment-container",st="e-text-ellipsis",ot="e-schedule-form",lt="e-schedule-event-tooltip",pt="e-disable-dates",ct=function(){return(ct=Object.assign||function(e){for(var t,i=1,n=arguments.length;i<n;i++){t=arguments[i];for(var r in t)Object.prototype.hasOwnProperty.call(t,r)&&(e[r]=t[r])}return e}).apply(this,arguments)},ht=function(){function e(e){this.parent=e,this.l10n=this.parent.localeObj,this.renderHeader(),this.addEventListener()}return e.prototype.addEventListener=function(){this.parent.on("document-click",this.closeHeaderPopup,this)},e.prototype.removeEventListener=function(){this.parent.off("document-click",this.closeHeaderPopup)},e.prototype.closeHeaderPopup=function(e){var i=t.closest(e.event.target,".e-date-range,.e-header-popup,.e-day,.e-selected"),n=t.closest(e.event.target,".e-hor-nav,.e-toolbar-pop"),r=this.parent.element.querySelector(".e-content-wrap"),a=this.parent.element.querySelector(".e-toolbar-pop");if(this.parent.isAdaptive)if(t.isNullOrUndefined(n)||!n.classList.contains("e-toolbar-pop")&&!n.classList.contains("e-hor-nav")||n.classList.contains("e-hor-nav")&&a&&a.classList.contains(rt)){t.removeClass([r],"e-scroll-hidden");var s=this.element.querySelector(".e-toolbar-pop");if(!t.isNullOrUndefined(s)){var o=s.ej2_instances[0];!o||!t.isNullOrUndefined(n)&&n.classList.contains("e-hor-nav")&&s.classList.contains(rt)||o.hide()}}else t.addClass([r],"e-scroll-hidden");t.isNullOrUndefined(i)&&this.hideHeaderPopup()},e.prototype.hideHeaderPopup=function(){this.headerPopup&&this.headerPopup.hide()},e.prototype.renderHeader=function(){this.element=t.createElement("div",{className:"e-schedule-toolbar-container"});var e=t.createElement("div",{className:"e-schedule-toolbar"});this.element.appendChild(e),this.parent.element.insertBefore(this.element,this.parent.element.firstElementChild),this.renderToolbar()},e.prototype.renderToolbar=function(){var e=this,t=this.parent.toolbarItems&&this.parent.toolbarItems.length>0?this.getToolbarItems():this.getItems();this.parent.trigger(We,{requestType:"toolbarItemRendering",items:t},function(t){e.toolbarObj=new n.Toolbar({items:t.items,overflowMode:"Popup",clicked:e.toolbarClickHandler.bind(e),created:e.toolbarCreateHandler.bind(e),enableRtl:e.parent.enableRtl,enableHtmlSanitizer:e.parent.enableHtmlSanitizer,locale:e.parent.locale}),e.toolbarObj.isStringTemplate=!0,e.toolbarObj.root=e.parent.root?e.parent.root:e.parent,e.toolbarObj.appendTo(e.parent.element.querySelector(".e-schedule-toolbar")),e.toolbarObj.element.setAttribute("aria-label","Scheduler");var i=e.toolbarObj.element.querySelector(".e-prev");i&&i.firstElementChild.setAttribute("title",e.l10n.getConstant("previous"));var r=e.toolbarObj.element.querySelector(".e-next");r&&r.firstElementChild.setAttribute("title",e.l10n.getConstant("next")),e.updateAddIcon(),e.updateActiveView(),e.parent.trigger("actionComplete",{requestType:"toolBarItemRendered",items:e.toolbarObj.items})})},e.prototype.updateItems=function(){var e=this;if(this.toolbarObj){var t=this.getItems();this.parent.trigger(We,{requestType:"toolbarItemRendering",items:t},function(t){e.toolbarObj.items=t.items,e.toolbarObj.dataBind(),e.parent.trigger("actionComplete",{requestType:"toolBarItemRendered",items:e.toolbarObj.items})})}},e.prototype.getPopUpRelativeElement=function(){return this.parent.isAdaptive?this.toolbarObj.element:this.element.querySelector(".e-date-range")},e.prototype.setDayOfWeek=function(e){this.headerCalendar&&(this.headerCalendar.firstDayOfWeek=e,this.headerCalendar.dataBind())},e.prototype.setCalendarDate=function(e){this.headerCalendar&&(this.headerCalendar.value=e,this.headerCalendar.dataBind())},e.prototype.setCalendarMinMaxDate=function(){this.headerCalendar&&(this.headerCalendar.min=this.parent.minDate,this.headerCalendar.max=this.parent.maxDate,this.headerCalendar.dataBind())},e.prototype.getCalendarView=function(){return["Month","MonthAgenda","TimelineMonth"].indexOf(this.parent.currentView)>-1?"Year":["Year","TimelineYear"].indexOf(this.parent.currentView)>-1?"Decade":"Month"},e.prototype.setCalendarView=function(){if(this.headerCalendar){var e=this.getCalendarView();this.headerCalendar.depth=e,this.headerCalendar.start=e,this.headerCalendar.refresh()}},e.prototype.updateActiveView=function(){var e=[].slice.call(this.toolbarObj.element.querySelectorAll(".e-views"));t.removeClass(e,["e-active-view"]),e.length>0&&e[this.parent.viewIndex]&&t.addClass([e[this.parent.viewIndex]],["e-active-view"])},e.prototype.updateDateRange=function(e){var i=this.toolbarObj.element.querySelector(".e-date-range");if(i){i.firstElementChild.setAttribute("aria-haspopup","true");var n=i.querySelector(".e-tbar-btn-text");if(this.parent.activeViewOptions.dateRangeTemplate){n.textContent="";var r={startDate:this.parent.activeView.getStartDate(),endDate:this.parent.activeView.getEndDate(),currentView:this.parent.currentView},a=this.parent.activeViewOptions.dateRangeTemplateName,s=this.parent.element.id+"_"+a+"dateRangeTemplate",o=[].slice.call(this.parent.getDateRangeTemplate()(r,this.parent,"dateRangeTemplate",s,!1,void 0,void 0,this.parent.root));t.append(o,n)}else{var l=this.parent.activeView.getDateRangeText(e);i.firstElementChild.setAttribute("aria-label",l),n.textContent=l}this.refresh()}},e.prototype.refresh=function(){this.toolbarObj&&this.toolbarObj.refreshOverflow()},e.prototype.updateAddIcon=function(){var e=this.toolbarObj.element.querySelector(".e-add");e&&(this.parent.eventSettings.allowAdding?t.removeClass([e],"e-hidden"):t.addClass([e],"e-hidden"))},e.prototype.getDateRangeText=function(){return U(this.parent.globalize.formatDate(this.parent.selectedDate,{format:"MMMM y",calendar:this.parent.getCalendarMode()}),"single")},e.prototype.getItemModel=function(e){var t={};return e.id&&(t.id=e.id),e.text&&(t.text=e.text),e.tooltipText&&(t.tooltipText=e.tooltipText),e.prefixIcon&&(t.prefixIcon=e.prefixIcon),e.cssClass&&(t.cssClass=e.cssClass),"Both"!==e.showTextOn&&(t.showTextOn=e.showTextOn),e.template&&(t.template=e.template),e.disabled&&(t.disabled=e.disabled),"auto"!==e.width&&(t.width=e.width),e.suffixIcon&&(t.suffixIcon=e.suffixIcon),"Left"!==e.align&&(t.align=e.align),"None"!==e.overflow&&(t.overflow=e.overflow),e.htmlAttributes&&(t.htmlAttributes=e.htmlAttributes),"Button"!==e.type&&(t.type=e.type),!0!==e.visible&&(t.visible=e.visible),e.showAlwaysInPopup&&(t.showAlwaysInPopup=e.showAlwaysInPopup),-1!==e.tabIndex&&(t.tabIndex=e.tabIndex),t},e.prototype.getToolbarItems=function(){for(var e,i=[],n=0,r=this.parent.toolbarItems;n<r.length;n++){var a=r[n];e=this.getItemModel(a);var s=void 0;if(a.name)switch(a.name){case"Today":(s={showAlwaysInPopup:this.parent.isAdaptive||this.parent.enableAdaptiveUI,prefixIcon:"e-icon-today",text:this.l10n.getConstant("today"),cssClass:"e-today",overflow:"Show"}).align=e.align?e.align:a.align,i.push(ct({},s,e));break;case"Previous":(s={prefixIcon:"e-icon-prev",tooltipText:"Previous",overflow:"Show",cssClass:"e-prev",htmlAttributes:{role:"navigation"}}).align=e.align?e.align:a.align,i.push(ct({},s,e));break;case"Next":(s={prefixIcon:"e-icon-next",tooltipText:"Next",overflow:"Show",cssClass:"e-next",htmlAttributes:{role:"navigation"}}).align=e.align?e.align:a.align,i.push(ct({},s,e));break;case"DateRangeText":(s={text:this.getDateRangeText(),suffixIcon:"e-icon-down-arrow",cssClass:"e-date-range",overflow:"Show",htmlAttributes:{"aria-atomic":"true","aria-live":"assertive",role:"navigation"}}).align=e.align?e.align:a.align,i.push(ct({},s,e));break;case"NewEvent":(s={showAlwaysInPopup:this.parent.isAdaptive||this.parent.enableAdaptiveUI,prefixIcon:"e-icon-add",text:this.l10n.getConstant("newEvent"),cssClass:"e-add",overflow:"Show"}).align=e.align?e.align:a.align,i.push(ct({},s,e));break;case"Views":if(!t.isNullOrUndefined(this.parent.views)&&this.parent.views.length>1)for(var o=0,l=this.parent.views;o<l.length;o++){var p=l[o];(s=this.getItemObject(p)).align=e.align?e.align:a.align,i.push(ct({},s,e))}break;case"Custom":i.push(a)}else i.push(a)}return i},e.prototype.getItems=function(){var e=[];if(e.push({align:"Left",prefixIcon:"e-icon-prev",tooltipText:"Previous",overflow:"Show",cssClass:"e-prev"}),e.push({align:"Left",prefixIcon:"e-icon-next",tooltipText:"Next",overflow:"Show",cssClass:"e-next"}),e.push({align:"Left",text:this.getDateRangeText(),suffixIcon:"e-icon-down-arrow",cssClass:"e-date-range",overflow:"Show",htmlAttributes:{"aria-atomic":"true","aria-live":"assertive"}}),this.parent.isAdaptive||this.parent.enableAdaptiveUI?(e.push({align:"Right",showAlwaysInPopup:this.parent.isAdaptive||this.parent.enableAdaptiveUI,prefixIcon:"e-icon-add",text:this.l10n.getConstant("newEvent"),cssClass:"e-add",overflow:"Show"}),e.push({align:"Right",showAlwaysInPopup:this.parent.isAdaptive||this.parent.enableAdaptiveUI,prefixIcon:"e-icon-today",text:this.l10n.getConstant("today"),cssClass:"e-today",overflow:"Show"})):(e.push({align:"Right",showAlwaysInPopup:this.parent.isAdaptive||this.parent.enableAdaptiveUI,prefixIcon:"e-icon-today",text:this.l10n.getConstant("today"),cssClass:"e-today",overflow:"Show"}),!t.isNullOrUndefined(this.parent.views)&&this.parent.views.length>1&&e.push({align:"Right",type:"Separator",cssClass:"e-schedule-seperator"})),!t.isNullOrUndefined(this.parent.views)&&this.parent.views.length>1)for(var i=0,n=this.parent.views;i<n.length;i++){var r=n[i];e.push(this.getItemObject(r))}return e},e.prototype.getItemObject=function(e){var t,i;"string"==typeof e?(t=e.toLowerCase(),i=null):(t=e.option.toLowerCase(),i=e.displayName);var n,r=this.parent.isAdaptive||this.parent.enableAdaptiveUI;switch(t){case"day":n={align:"Right",showAlwaysInPopup:r,prefixIcon:"e-icon-day",text:i||this.l10n.getConstant("day"),cssClass:"e-views e-day"};break;case"week":n={align:"Right",showAlwaysInPopup:r,prefixIcon:"e-icon-week",text:i||this.l10n.getConstant("week"),cssClass:"e-views e-week"};break;case"workweek":n={align:"Right",showAlwaysInPopup:r,prefixIcon:"e-icon-workweek",text:i||this.l10n.getConstant("workWeek"),cssClass:"e-views e-work-week"};break;case"month":n={align:"Right",showAlwaysInPopup:r,prefixIcon:"e-icon-month",text:i||this.l10n.getConstant("month"),cssClass:"e-views e-month"};break;case"year":n={align:"Right",showAlwaysInPopup:r,prefixIcon:"e-icon-year",text:i||this.l10n.getConstant("year"),cssClass:"e-views e-year"};break;case"agenda":n={align:"Right",showAlwaysInPopup:r,prefixIcon:"e-icon-agenda",text:i||this.l10n.getConstant("agenda"),cssClass:"e-views e-agenda"};break;case"monthagenda":n={align:"Right",showAlwaysInPopup:r,prefixIcon:"e-icon-month-agenda",text:i||this.l10n.getConstant("monthAgenda"),cssClass:"e-views e-month-agenda"};break;case"timelineday":n={align:"Right",showAlwaysInPopup:r,prefixIcon:"e-icon-timeline-day",text:i||this.l10n.getConstant("timelineDay"),cssClass:"e-views e-timeline-day"};break;case"timelineweek":n={align:"Right",showAlwaysInPopup:r,prefixIcon:"e-icon-timeline-week",text:i||this.l10n.getConstant("timelineWeek"),cssClass:"e-views e-timeline-week"};break;case"timelineworkweek":n={align:"Right",showAlwaysInPopup:r,prefixIcon:"e-icon-timeline-workweek",text:i||this.l10n.getConstant("timelineWorkWeek"),cssClass:"e-views e-timeline-work-week"};break;case"timelinemonth":n={align:"Right",showAlwaysInPopup:r,prefixIcon:"e-icon-timeline-month",text:i||this.l10n.getConstant("timelineMonth"),cssClass:"e-views e-timeline-month"};break;case"timelineyear":n={align:"Right",showAlwaysInPopup:r,prefixIcon:"e-icon-timeline-year-"+("Vertical"===e.orientation?"vertical":"horizontal"),text:i||this.l10n.getConstant("timelineYear"),cssClass:"e-views e-timeline-year"}}return n},e.prototype.renderHeaderPopup=function(){var e=t.createElement("div",{className:"e-header-popup"}),n=t.createElement("div",{className:"e-header-calendar"});e.appendChild(n),this.element.appendChild(e),this.headerPopup=new i.Popup(e,{actionOnScroll:"hide",targetType:"relative",relateTo:this.getPopUpRelativeElement(),position:{X:"left",Y:"bottom"},collision:{X:"fit"},viewPortElement:this.element,enableRtl:this.parent.enableRtl});var a=this.getCalendarView(),s="Month"===this.parent.currentView&&!t.isNullOrUndefined(this.parent.activeViewOptions.displayDate)&&!this.hasSelectedDate();this.headerCalendar=new r.Calendar({value:s?this.parent.activeViewOptions.displayDate:this.parent.selectedDate,min:this.parent.minDate,max:this.parent.maxDate,firstDayOfWeek:this.parent.activeViewOptions.firstDayOfWeek,weekNumber:this.parent.activeViewOptions.showWeekNumber,enableRtl:this.parent.enableRtl,locale:this.parent.locale,depth:a,start:a,calendarMode:this.parent.calendarMode,change:this.calendarChange.bind(this)}),this.setCalendarTimezone(),this.headerCalendar.appendTo(n),this.headerPopup.hide()},e.prototype.calendarChange=function(e){if(e.value.getTime()!==this.parent.selectedDate.getTime()){var t=b(new Date(e.value));this.parent.changeDate(t)}this.headerPopup.hide()},e.prototype.setCalendarTimezone=function(){this.headerCalendar&&(this.headerCalendar.timezone=this.parent.timezone||this.parent.tzModule.getLocalTimezoneName())},e.prototype.calculateViewIndex=function(e){var i=t.closest(e.originalEvent.target,".e-views");return[].slice.call(this.element.querySelectorAll(".e-views")).indexOf(i)},e.prototype.toolbarCreateHandler=function(){this.parent&&this.parent.portals&&this.toolbarObj&&this.toolbarObj.portals&&(this.parent.portals=this.parent.portals.concat(this.toolbarObj.portals),this.parent.renderReactTemplates())},e.prototype.toolbarClickHandler=function(e){if(e.item){var i,n,r;switch(e.item.cssClass.replace("e-views ","")){case"e-date-range":this.headerPopup||this.renderHeaderPopup(),this.headerPopup.element.classList.contains(rt)?this.headerPopup.hide():this.headerPopup.show();break;case"e-day":this.parent.changeView("Day",e.originalEvent,void 0,this.calculateViewIndex(e));break;case"e-week":this.parent.changeView("Week",e.originalEvent,void 0,this.calculateViewIndex(e));break;case"e-work-week":this.parent.changeView("WorkWeek",e.originalEvent,void 0,this.calculateViewIndex(e));break;case"e-month":this.parent.changeView("Month",e.originalEvent,void 0,this.calculateViewIndex(e));break;case"e-year":this.parent.changeView("Year",e.originalEvent,void 0,this.calculateViewIndex(e));break;case"e-agenda":this.parent.changeView("Agenda",e.originalEvent,void 0,this.calculateViewIndex(e));break;case"e-month-agenda":this.parent.changeView("MonthAgenda",e.originalEvent,void 0,this.calculateViewIndex(e));break;case"e-timeline-day":this.parent.changeView("TimelineDay",e.originalEvent,void 0,this.calculateViewIndex(e));break;case"e-timeline-week":this.parent.changeView("TimelineWeek",e.originalEvent,void 0,this.calculateViewIndex(e));break;case"e-timeline-work-week":this.parent.changeView("TimelineWorkWeek",e.originalEvent,void 0,this.calculateViewIndex(e));break;case"e-timeline-month":this.parent.changeView("TimelineMonth",e.originalEvent,void 0,this.calculateViewIndex(e));break;case"e-timeline-year":this.parent.changeView("TimelineYear",e.originalEvent,void 0,this.calculateViewIndex(e));break;case"e-today":r=b(this.parent.getCurrentTime()),("Agenda"===this.parent.currentView||"MonthAgenda"===this.parent.currentView||!this.parent.isSelectedDate(r)||"Month"===this.parent.currentView&&this.parent.activeViewOptions.displayDate&&!this.hasSelectedDate()&&b(this.parent.activeViewOptions.displayDate)!==r||"Month"===this.parent.currentView&&this.parent.activeViewOptions.numberOfWeeks>0&&!this.hasSelectedDate()&&b(f(this.parent.selectedDate))!==r)&&this.parent.changeDate(r,e.originalEvent);break;case"e-prev":this.parent.changeDate(this.parent.activeView.getNextPreviousDate("Previous"),e.originalEvent);break;case"e-next":this.parent.changeDate(this.parent.activeView.getNextPreviousDate("Next"),e.originalEvent);break;case"e-add":if(n=this.parent.activeCellsData.startTime.getTime()===this.parent.activeCellsData.endTime.getTime(),this.parent.activeCellsData&&!n)i=this.parent.activeCellsData;else{var a=this.parent.activeViewOptions.timeScale.interval,s=this.parent.activeViewOptions.timeScale.slotCount,o=a*Ke/s,l=new Date(this.parent.selectedDate.getTime()),p=this.parent.getCurrentTime();l.setHours(p.getHours(),Math.round(l.getMinutes()/o)*o,0),i={startTime:l,endTime:new Date(new Date(l.getTime()).setMilliseconds(l.getMilliseconds()+o)),isAllDay:!1}}this.parent.eventWindow.openEditor(t.extend(i,{cancel:!1,event:e.originalEvent}),"Add")}if(!t.isNullOrUndefined(this.toolbarObj)){var c=this.toolbarObj.element.querySelector(".e-toolbar-pop");c&&"Input"!==e.item.type&&c.ej2_instances[0].hide({name:"SlideUp",duration:100})}}},e.prototype.hasSelectedDate=function(){var e=b(this.parent.selectedDate).getTime();return e>=this.parent.activeView.getStartDate().getTime()&&e<=this.parent.activeView.getEndDate().getTime()},e.prototype.getHeaderElement=function(){return this.toolbarObj.element},e.prototype.updateHeaderItems=function(e){var i=this.toolbarObj.element.querySelector(".e-prev"),n=this.toolbarObj.element.querySelector(".e-next"),r=this.toolbarObj.element.querySelector(".e-date-range");i&&("add"===e?t.addClass([i],"e-hidden"):t.removeClass([i],"e-hidden")),n&&("add"===e?t.addClass([n],"e-hidden"):t.removeClass([n],"e-hidden")),r&&("add"===e?t.addClass([r],st):t.removeClass([r],st))},e.prototype.previousNextIconHandler=function(){var e="Agenda"===this.parent.currentView?[this.parent.getCurrentViewDates()[0]]:this.parent.getCurrentViewDates(),i=this.toolbarObj.element.querySelector(".e-prev"),n=this.toolbarObj.element.querySelector(".e-next"),r=new Date(e[0].getTime()),a=new Date(e[e.length-1].getTime());if("WorkWeek"===this.parent.currentView||"TimelineWorkWeek"===this.parent.currentView)a=O(r=v(b(this.parent.selectedDate),this.parent.activeViewOptions.firstDayOfWeek),7*this.parent.activeViewOptions.interval);else if("Month"===this.parent.currentView){var s=!t.isNullOrUndefined(this.parent.activeViewOptions.displayDate)||this.parent.activeViewOptions.numberOfWeeks>0;r=s?this.parent.activeView.getStartDate():f(this.parent.selectedDate),a=s?this.parent.activeView.getEndDate():y(E(r,this.parent.activeViewOptions.interval-1))}t.isNullOrUndefined(i)||this.toolbarObj.enableItems(i,r>b(this.parent.minDate)),t.isNullOrUndefined(n)||this.toolbarObj.enableItems(n,a<b(this.parent.maxDate)),this.setCalendarMinMaxDate()},e.prototype.getModuleName=function(){return"headerbar"},e.prototype.destroy=function(){this.headerPopup&&!this.headerPopup.isDestroyed&&(this.headerPopup.destroy(),this.headerPopup=null),this.headerCalendar&&!this.headerCalendar.isDestroyed&&(this.headerCalendar.destroy(),this.headerCalendar=null),this.toolbarObj&&!this.toolbarObj.isDestroyed&&(this.toolbarObj.destroy(),this.removeEventListener(),t.remove(this.element),this.toolbarObj=null),this.element=null,this.parent=null,this.l10n=null},e}(),dt=function(){function e(e){this.parent=e,this.addEventListener()}return e.prototype.getModuleName=function(){return"scroll"},e.prototype.setWidth=function(){this.parent.element.style.width=t.formatUnit(this.parent.width)},e.prototype.setHeight=function(){this.parent.element.style.height=t.formatUnit(this.parent.height)},e.prototype.addEventListener=function(){this.parent.on(Ge,this.setDimensions,this),this.parent.on("ui-update",this.onPropertyChanged,this)},e.prototype.removeEventListener=function(){this.parent.off(Ge,this.setDimensions),this.parent.off("ui-update",this.onPropertyChanged)},e.prototype.setDimensions=function(){this.setWidth(),this.setHeight();var e={cssProperties:this.parent.getCssProperties(),module:this.getModuleName()};this.parent.notify(Xe,e)},e.prototype.onPropertyChanged=function(){this.setDimensions()},e.prototype.destroy=function(){this.removeEventListener()},e}(),ut=function(){function e(e){this.parent=e,this.element=this.parent.element.querySelector("."+tt),this.touchObj=new t.Touch(this.element,{scroll:this.scrollHandler.bind(this),swipe:this.swipeHandler.bind(this),tapHold:this.tapHoldHandler.bind(this),swipeSettings:{swipeThresholdDistance:1}}),t.EventHandler.add(this.element,"transitionend",this.onTransitionEnd,this),this.touchLeftDirection=this.parent.enableRtl?"Right":"Left",this.touchRightDirection=this.parent.enableRtl?"Left":"Right"}return e.prototype.scrollHandler=function(e){t.isNullOrUndefined(this.parent.eventTooltip)||this.parent.eventTooltip.close();var i=!this.parent.isAdaptive&&e.originalEvent&&e.originalEvent.target&&!t.isNullOrUndefined(t.closest(e.originalEvent.target,".e-appointment"));if(this.parent.uiStateValues.isTouchScroll=i&&"touchmove"===e.originalEvent.type&&!this.parent.uiStateValues.action,!i&&"Agenda"!==this.parent.currentView&&!this.parent.uiStateValues.action&&this.parent.allowSwiping&&!this.parent.uiStateValues.isTapHold){if(this.parent.uiStateValues.isSwipeScroll=!0,this.timeStampStart||(this.timeStampStart=Date.now()),this.element.classList.contains("e-translate")&&this.onTransitionEnd(),"Left"===e.scrollDirection||"Right"===e.scrollDirection){var n={requestType:"dateNavigate",cancel:!1,event:e.originalEvent};if(this.parent.trigger(We,n),n.cancel)return;var r=this.element.querySelector(".e-content-wrap");if(r&&r.scrollWidth>r.clientWidth)return;this.isScrollTriggered=!0,e.originalEvent.preventDefault(),e.originalEvent.stopPropagation()}if(e.scrollDirection===this.touchLeftDirection){this.nextPanel||(this.renderPanel("e-next-panel","Next"),this.nextPanel={element:this.parent.activeView.getPanel(),selectedDate:new Date(this.parent.selectedDate.getTime()),renderDates:this.parent.activeView.renderDates,colLevels:this.parent.activeView.colLevels},this.setDimensions(this.nextPanel.element));s=this.parent.enableRtl?e.distanceX:-e.distanceX;this.element.style.transform="translatex("+(this.getTranslateX(this.element)+s)+"px)"}else if(e.scrollDirection===this.touchRightDirection){var a=0;this.previousPanel||(this.renderPanel("e-previous-panel","Previous"),this.previousPanel={element:this.parent.activeView.getPanel(),selectedDate:new Date(this.parent.selectedDate.getTime()),renderDates:this.parent.activeView.renderDates,colLevels:this.parent.activeView.colLevels},this.setDimensions(this.previousPanel.element),a=this.previousPanel.element.offsetWidth);var s=this.parent.enableRtl?a-e.distanceX:-a+e.distanceX;this.element.style.transform="translatex("+(this.getTranslateX(this.element)+s)+"px)"}}},e.prototype.swipeHandler=function(e){if(this.isScrollTriggered&&!this.parent.uiStateValues.action&&this.parent.allowSwiping&&!this.parent.uiStateValues.isTapHold){this.isScrollTriggered=!1;var i="Left"===e.swipeDirection?this.parent.activeView.renderDates[0]:this.parent.activeView.renderDates.slice(-1)[0];if("Left"===e.swipeDirection&&i<this.parent.maxDate||"Right"===e.swipeDirection&&i>=this.parent.minDate){var n=Date.now()-this.timeStampStart,r=e.distanceX*(t.Browser.isDevice?6:1.66);r>n||e.distanceX>this.parent.element.offsetWidth/2?(this.swapPanels(e.swipeDirection),r>n&&e.distanceX>this.parent.element.offsetWidth/2&&(this.element.style.transitionDuration=(t.Browser.isDevice?e.distanceX:r)/n/10+"s"),this.confirmSwipe(e.swipeDirection)):this.cancelSwipe();var a={requestType:"dateNavigate",cancel:!1,event:e.originalEvent};this.parent.trigger("actionComplete",a)}else this.cancelSwipe();this.timeStampStart=null}},e.prototype.tapHoldHandler=function(e){var i=t.closest(e.originalEvent.target,".e-appointment");t.isNullOrUndefined(i)||(this.parent.uiStateValues.isTapHold=!0,this.parent.isAdaptive?(t.Browser.isIos&&t.EventHandler.add(this.element,"touchend",this.preventEventClick,this),this.parent.quickPopup.tapHoldEventPopup(e.originalEvent),this.triggerResizeStart(e.originalEvent)):["Agenda","MonthAgenda","Year"].indexOf(this.parent.currentView)<0&&(this.parent.selectedElements=[],this.parent.eventBase.getSelectedEventElements(i),this.triggerResizeStart(e.originalEvent)))},e.prototype.triggerResizeStart=function(e){this.parent.resizeModule&&t.closest(e.target,".e-event-resize")&&this.parent.resizeModule.resizeStart(e)},e.prototype.preventEventClick=function(e){e.preventDefault(),t.EventHandler.remove(this.element,"touchend",this.preventEventClick)},e.prototype.renderPanel=function(e,t){this.currentPanel?this.parent.setProperties({selectedDate:this.currentPanel.selectedDate},!0):(this.currentPanel={element:this.parent.activeView.getPanel(),selectedDate:new Date(this.parent.selectedDate.getTime()),renderDates:this.parent.activeView.renderDates,colLevels:this.parent.activeView.colLevels},this.setDimensions(this.currentPanel.element)),this.parent.setProperties({selectedDate:this.parent.activeView.getNextPreviousDate(t)},!0),this.parent.headerModule&&this.parent.headerModule.setCalendarDate(this.parent.selectedDate),this.parent.activeView.getRenderDates(),this.parent.activeView.renderLayout(e)},e.prototype.swapPanels=function(e){if(e===this.touchLeftDirection){t=this.nextPanel;this.nextPanel=this.currentPanel,this.currentPanel=t}else{var t=this.previousPanel;this.previousPanel=this.currentPanel,this.currentPanel=t}},e.prototype.confirmSwipe=function(e){var i=this,n={action:"date",cancel:!1,previousDate:e===this.touchLeftDirection?this.nextPanel.selectedDate:this.previousPanel.selectedDate,currentDate:this.currentPanel.selectedDate};this.parent.trigger("navigating",n,function(n){if(n.cancel)i.swapPanels(e),i.cancelSwipe();else{i.parent.activeView.setPanel(i.currentPanel.element),i.parent.setProperties({selectedDate:i.currentPanel.selectedDate},!0);var r=void 0;r=i.parent.enableRtl?e===i.touchLeftDirection?i.previousPanel?i.previousPanel.element.offsetLeft:i.currentPanel.element.offsetWidth:0:e===i.touchLeftDirection?-i.currentPanel.element.offsetLeft:0,i.parent.activeView.renderDates=i.currentPanel.renderDates,i.parent.activeView.colLevels=i.currentPanel.colLevels,t.addClass([i.element],"e-translate"),i.element.style.transform="translatex("+r+"px)",i.parent.headerModule&&i.parent.headerModule.updateDateRange(),i.parent.renderTemplates(),i.parent.crudModule.refreshDataManager()}})},e.prototype.cancelSwipe=function(){var e=this;if(this.parent.activeView.setPanel(this.currentPanel.element),this.parent.setProperties({selectedDate:this.currentPanel.selectedDate},!0),this.parent.activeView.renderDates=this.currentPanel.renderDates,this.parent.activeViewOptions.group.resources.length>0&&this.parent.resourceBase.lastResourc