EOS/Scripts/kendo/2015.3.1111/kendo.scheduler.recurrence.min.js
Nidhi Bhargava f0c1ab20e1 code push
2025-09-04 16:25:07 +05:30

10 lines
35 KiB
JavaScript

/*
* Kendo UI v2015.3.1111 (http://www.telerik.com/kendo-ui)
* Copyright 2015 Telerik AD. All rights reserved.
*
* Kendo UI commercial licenses may be obtained at
* http://www.telerik.com/purchase/license-agreement/kendo-ui-complete
* If you do not own a commercial license, this file shall be governed by the trial license terms.
*/
!function(e,define){define(["./kendo.dropdownlist.min","./kendo.datepicker.min","./kendo.numerictextbox.min"],e)}(function(){return function(e,t){function n(e,t){var n;return 0!==e&&t>e?n=t-e:(n=e%t,n&&(n=t-n)),n}function i(e){var t=e.getMonth(),n=m(e)?ee[t]:te[t];return n+e.getDate()}function o(e,n){var i,o;return e=new Date(e.getFullYear(),e.getMonth(),e.getDate()),X(e,0),i=e.getFullYear(),n!==t?(K(e,n,-1),e.setDate(e.getDate()+4)):e.setDate(e.getDate()+(4-(e.getDay()||7))),X(e,0),o=Math.floor((e.getTime()-new Date(i,0,1,-6))/864e5),1+Math.floor(o/7)}function r(e,t){var n=Z(e).getDay(),i=7-(n+7-(t||7))||7;return 0>i&&(i+=7),Math.ceil((e.getDate()-i)/7)+1}function a(e,t){return e+(t>e?7:0)}function s(e,t,n){var i,o,s,l,c,u=t.offset;return u?(i=new Date(e.getFullYear(),e.getMonth()+1,0),o=r(i,n),s=a(t.day,n),l=s<a(new Date(e.getFullYear(),e.getMonth(),1).getDay(),n),c=s>a(i.getDay(),n),0>u?u=o+(u+1-(c?1:0)):l&&(u+=1),o-=c?1:0,(l?1:0)>u||u>o?null:u):r(e,n)}function l(e,t){return r(new Date(e.getFullYear(),e.getMonth()+1,0),t)}function c(e,t,n){return r(e,n)===s(e,t,n)}function u(e,t,n){for(var i,o,l,c,u=a(t.getDay(),n),d=e.length,h=[],f=0;d>f;f++)if(o=e[f],c=r(t,n),i=s(t,o,n),null!==i)if(i>c)h.push(o);else if(c===i)if(l=a(o.day,n),l>u)h.push(o);else if(u===l)return null;return h}function d(e,t,n){for(var i,o=0,r=e.length,a=[];r>o;o++){if(i=e[o],n&&(i=n(i)),t===i)return null;i>t&&a.push(i)}return a}function h(e,t){for(var n,i=0,o=e.length;o>i;i++){if(n=parseInt(e[i],10),isNaN(n)||t.start>n||n>t.end||0===n&&0>t.start)return null;e[i]=n}return e.sort(v)}function f(e){for(var n,i,o,r=0,a=e.length;a>r;r++){if(n=e[r],i=n.length,o=n.substring(i-2).toUpperCase(),o=oe[o],o===t)return null;e[r]={offset:parseInt(n.substring(0,i-2),10)||0,day:o}}return e}function p(e){for(var t,n,i=0,o=e.length,r=[];o>i;i++)t=e[i],"string"==typeof t?n=t:(n=""+ie[t.day],t.offset&&(n=t.offset+n)),r.push(n);return""+r}function g(e){var t=e.getMonth();return 1===t?1===new Date(e.getFullYear(),1,29).getMonth()?29:28:ne[t]}function m(e){return e=e.getFullYear(),e%4===0&&e%100!==0||e%400===0}function v(e,t){return e-t}function _(e,t){var n,i,o=0,r=[];if(e)for(e=e.split(";"),n=e.length;n>o;o++)i=S(e[o],t),i&&r.push(i);return r}function w(t,n,i){for(var o=e.isArray(t)?t:_(t,i),r=n.getTime()-n.getMilliseconds(),a=0,s=o.length;s>a;a++)if(o[a].getTime()===r)return!0;return!1}function y(e,t){var n,i,o=0,r=[].concat(e);for(n=r.length;n>o;o++)i=r[o],i=U.timezone.convert(i,t||i.getTimezoneOffset(),"Etc/UTC"),r[o]=U.toString(i,le);return r.join(";")+";"}function b(e,t){var n=new Date(e);switch(t.freq){case"yearly":n.setFullYear(n.getFullYear(),0,1);break;case"monthly":n.setFullYear(n.getFullYear(),n.getMonth(),1);break;case"weekly":K(n,t.weekStart,-1)}return t.hours&&n.setHours(0),t.minutes&&n.setMinutes(0),t.seconds&&n.setSeconds(0),n}function x(e,t){var n=new Date(e);switch(t.freq){case"yearly":n.setFullYear(n.getFullYear(),11,31);break;case"monthly":n.setFullYear(n.getFullYear(),n.getMonth()+1,0);break;case"weekly":K(n,t.weekStart,-1),n.setDate(n.getDate()+6)}return t.hours&&n.setHours(23),t.minutes&&n.setMinutes(59),t.seconds&&n.setSeconds(59),n}function k(e,t,n){var i,o,r,a,s=e.slice(n._startIdx),l=s.length,c=n.positions,u=[];for(r=0,a=c.length;a>r;r++)i=c[r],0>i?i=l+i:i-=1,o=s[i],o&&o.start>=t&&u.push(o);return e=e.slice(0,n._startIdx).concat(u),n._startIdx=e.length,e}function C(e,n,i,o){var r,a,s,l,c,u,d,h,f,p,g,m,v,C,S,T,A,E,M,P,I,R,z=D(e.recurrenceRule,o),B=[];if(!z)return[e];for(P=z.positions,I=P?0:1,p=z.start,g=z.end,(p||g)&&(e=e.clone({start:p?new Date(p.value[0]):t,end:g?new Date(g.value[0]):t})),A=e.start,T=A.getTime(),S=J(A),C=_(e.recurrenceException,o),!C[0]&&z.exdates&&(C=z.exdates.value,e.set("recurrenceException",y(C,o))),h=n=new Date(n),i=new Date(i),v=z.freq,M=me[v],E=z.count,z.until&&i>z.until&&(i=new Date(z.until)),m="yearly"===v||"monthly"===v||"weekly"===v,T>n||E||z.interval>1||m?n=new Date(T):(l=n.getHours(),c=n.getMinutes(),u=n.getSeconds(),z.hours||(l=A.getHours()),z.minutes||(c=A.getMinutes()),z.seconds||(u=A.getSeconds()),n.setHours(l,c,u,A.getMilliseconds())),z._startPeriod=new Date(n),P&&(n=b(n,z),i=x(i,z),R=J(i)-J(n),0>R&&(l=n.getHours(),i.setHours(l,n.getMinutes(),n.getSeconds(),n.getMilliseconds()),Y.adjustDST(i,l)),z._startPeriod=new Date(n),z._endPeriod=x(n,z),z._startIdx=0),d=e.duration(),z._startTime=r=Y.toInvariantTime(n),M.setup&&M.setup(z,A,n),M.limit(n,i,z);i>=n;)if(s=new Date(n),Q(s,d),f=n>=h||s>h,(f&&!w(C,n,o)||P)&&(r=Y.toUtcTime(Y.getDate(n))+J(z._startTime),a=r+d,T!==n.getTime()||S!==J(z._startTime)?B.push(e.toOccurrence({start:new Date(n),end:s,_startTime:r,_endTime:a})):(e._startTime=r,e._endTime=a,B.push(e))),P){if(M.next(n,z),M.limit(n,i,z),n>z._endPeriod&&(B=k(B,A,z),z._endPeriod=x(n,z),I=B.length),E&&E===I)break}else{if(E&&E===I)break;I++,M.next(n,z),M.limit(n,i,z)}return B}function S(e,t){return e=U.parseDate(e,re),e&&t&&(e=W.convert(e,e.getTimezoneOffset(),t)),e}function T(e,n){var i,o,r,a,s,l,c,u,d=e.split(";");for(c=0,u=d.length;u>c;c++)if(i=d[c].split(":"),o=i[0],r=i[1],-1!==o.indexOf("TZID")&&(a=o.substring(o.indexOf("TZID")).split("=")[1]),r)for(r=r.split(","),s=0,l=r.length;l>s;s++)r[s]=S(r[s],a||n);return r?{value:r,tzid:a}:t}function D(n,i){var o,r,a,s,l,c,u,d,p,g={},m=0,v=!1,_=function(e,t){var n=e.day,i=t.day;return d>n&&(n+=7),d>i&&(i+=7),n-i};if(!n)return null;for(c=n.split("\n"),c[1]||-1===n.indexOf("DTSTART")&&-1===n.indexOf("DTEND")&&-1===n.indexOf("EXDATE")||(c=n.split(" ")),m=0,a=c.length;a>m;m++)l=e.trim(c[m]),-1!==l.indexOf("DTSTART")?g.start=T(l,i):-1!==l.indexOf("DTEND")?g.end=T(l,i):-1!==l.indexOf("EXDATE")?g.exdates=T(l,i):-1!==l.indexOf("RRULE")?s=l.substring(6):e.trim(l)&&(s=l);for(s=s.split(";"),m=0,a=s.length;a>m;m++)switch(u=s[m],o=u.split("="),r=e.trim(o[1]).split(","),e.trim(o[0]).toUpperCase()){case"FREQ":g.freq=r[0].toLowerCase();break;case"UNTIL":g.until=S(r[0],i);break;case"COUNT":g.count=parseInt(r[0],10);break;case"INTERVAL":g.interval=parseInt(r[0],10);break;case"BYSECOND":g.seconds=h(r,{start:0,end:60}),v=!0;break;case"BYMINUTE":g.minutes=h(r,{start:0,end:59}),v=!0;break;case"BYHOUR":g.hours=h(r,{start:0,end:23}),v=!0;break;case"BYMONTHDAY":g.monthDays=h(r,{start:-31,end:31}),v=!0;break;case"BYYEARDAY":g.yearDays=h(r,{start:-366,end:366}),v=!0;break;case"BYMONTH":g.months=h(r,{start:1,end:12}),v=!0;break;case"BYDAY":g.weekDays=p=f(r),v=!0;break;case"BYWEEKNO":g.weeks=h(r,{start:-53,end:53}),v=!0;break;case"BYSETPOS":g.positions=h(r,{start:-366,end:366});break;case"WKST":g.weekStart=d=oe[r[0]]}return g.freq===t||g.count!==t&&g.until?null:(g.interval||(g.interval=1),d===t&&(g.weekStart=d=U.culture().calendar.firstDay),p&&(g.weekDays=p.sort(_)),g.positions&&!v&&(g.positions=null),g._hasRuleValue=v,g)}function A(e,t){for(var n,i=e.value,o=e.tzid||"",r=i.length,a=0;r>a;a++)n=i[a],n=W.convert(n,o||t||n.getTimezoneOffset(),"Etc/UTC"),i[a]=U.toString(n,"yyyyMMddTHHmmssZ");return o&&(o=";TZID="+o),o+":"+i.join(",")+" "}function E(e,n){var i=e.weekStart,o="FREQ="+e.freq.toUpperCase(),r=e.exdates||"",a=e.start||"",s=e.end||"",l=e.until;return e.interval>1&&(o+=";INTERVAL="+e.interval),e.count&&(o+=";COUNT="+e.count),l&&(l=W.convert(l,n||l.getTimezoneOffset(),"Etc/UTC"),o+=";UNTIL="+U.toString(l,"yyyyMMddTHHmmssZ")),e.months&&(o+=";BYMONTH="+e.months),e.weeks&&(o+=";BYWEEKNO="+e.weeks),e.yearDays&&(o+=";BYYEARDAY="+e.yearDays),e.monthDays&&(o+=";BYMONTHDAY="+e.monthDays),e.weekDays&&(o+=";BYDAY="+p(e.weekDays)),e.hours&&(o+=";BYHOUR="+e.hours),e.minutes&&(o+=";BYMINUTE="+e.minutes),e.seconds&&(o+=";BYSECOND="+e.seconds),e.positions&&(o+=";BYSETPOS="+e.positions),i!==t&&(o+=";WKST="+ie[i]),a&&(a="DTSTART"+A(a,n)),s&&(s="DTEND"+A(s,n)),r&&(r="EXDATE"+A(r,n)),(a||s||r)&&(o=a+s+r+"RRULE:"+o),o}var M,P,I,R,z,B,L,F,O,N,H,V,U=window.kendo,W=U.timezone,j=U.Class,G=U.ui,q=G.Widget,$=G.DropDownList,Y=U.date,Q=Y.setTime,K=Y.setDayOfWeek,X=Y.adjustDST,Z=Y.firstDayOfMonth,J=Y.getMilliseconds,ee=[0,31,60,91,121,152,182,213,244,274,305,335,366],te=[0,31,59,90,120,151,181,212,243,273,304,334,365],ne=[31,28,30,31,30,31,30,31,30,31,30,31],ie={0:"SU",1:"MO",2:"TU",3:"WE",4:"TH",5:"FR",6:"SA"},oe={SU:0,MO:1,TU:2,WE:3,TH:4,FR:5,SA:6},re=["yyyy-MM-ddTHH:mm:ss.fffzzz","yyyy-MM-ddTHH:mm:sszzz","yyyy-MM-ddTHH:mm:ss","yyyy-MM-ddTHH:mm","yyyy-MM-ddTHH","yyyy-MM-dd","yyyyMMddTHHmmssfffzzz","yyyyMMddTHHmmsszzz","yyyyMMddTHHmmss","yyyyMMddTHHmm","yyyyMMddTHH","yyyyMMdd"],ae=["months","weeks","yearDays","monthDays","weekDays","hours","minutes","seconds"],se=ae.length,le="yyyyMMddTHHmmssZ",ce={months:function(e,t,n){var i=n.months,o=d(i,e.getMonth()+1),r=!1;return null!==o&&(o.length?e.setMonth(o[0]-1,1):e.setFullYear(e.getFullYear()+1,i[0]-1,1),r=!0),r},monthDays:function(e,t,n){for(var i,o,r,a=!1,s=e.getHours(),l=function(e){return 0>e&&(e=i+e),e};t>=e;){if(o=e.getMonth(),i=g(e),r=d(n.monthDays,e.getDate(),l),null===r)return a;if(a=!0,r.length){if(e.setMonth(o,r.sort(v)[0]),X(e,s),o===e.getMonth())break}else e.setMonth(o+1,1)}return a},yearDays:function(e,t,n){for(var o,r,a=!1,s=e.getHours(),l=function(e){return 0>e&&(e=o+e),e};t>e;){if(o=m(e)?366:365,r=d(n.yearDays,i(e),l),null===r)return a;if(a=!0,o=e.getFullYear(),r.length){e.setFullYear(o,0,r.sort(v)[0]),X(e,s);break}e.setFullYear(o+1,0,1)}return a},weeks:function(e,t,n){for(var i,r,a,s=n.weekStart,l=!1,c=e.getHours(),u=function(e){return 0>e&&(e=53+e),e};t>e;){if(r=d(n.weeks,o(e,s),u),null===r)return l;if(l=!0,i=e.getFullYear(),r.length){a=7*r.sort(v)[0]-1,e.setFullYear(i,0,a),K(e,s,-1),X(e,c);break}e.setFullYear(i+1,0,1)}return l},weekDays:function(e,t,n){var i,o,a=n.weekDays,s=n.weekStart,d=u(a,e,s),h=e.getHours();if(null===d)return!1;if(i=d[0],i||(i=a[0],K(e,s)),o=i.day,i.offset)for(;t>=e&&!c(e,i,s);)r(e,s)===l(e,s)?(e.setMonth(e.getMonth()+1,1),X(e,h)):(e.setDate(e.getDate()+7),X(e,h),K(e,s,-1));return e.getDay()!==o&&K(e,o),!0},hours:function(e,t,n){var i=n.hours,o=n._startTime,r=o.getHours(),a=d(i,r),s=!1;return null!==a&&(s=!0,e.setHours(r),X(e,r),a.length?(a=a[0],e.setHours(a)):(a=e.getHours(),e.setDate(e.getDate()+1),X(e,a),a=i[0],e.setHours(a),X(e,a)),n.minutes&&e.setMinutes(0),o.setHours(a,e.getMinutes())),s},minutes:function(e,t,n){var i=n.minutes,o=e.getMinutes(),r=d(i,o),a=n._startTime.getHours(),s=!1;return null!==r&&(s=!0,r.length?r=r[0]:(a+=1,r=i[0]),n.seconds&&e.setSeconds(0),e.setHours(a,r),a%=24,X(e,a),n._startTime.setHours(a,r,e.getSeconds())),s},seconds:function(e,t,n){var i=n.seconds,o=n._startTime.getHours(),r=d(i,e.getSeconds()),a=e.getMinutes(),s=!1;return null!==r&&(s=!0,r.length?e.setSeconds(r[0]):(a+=1,e.setMinutes(a,i[0]),a>59&&(a%=60,o=(o+1)%24)),n._startTime.setHours(o,a,e.getSeconds())),s}},ue=j.extend({next:function(e,t){var n,i,o=t._startTime,r=o.getDate();if(t.seconds)i=e.getSeconds()+1,e.setSeconds(i),o.setSeconds(i),o.setDate(r);else{if(!t.minutes)return!1;n=e.getMinutes()+1,e.setMinutes(n),o.setMinutes(n),o.setDate(r)}return!0},normalize:function(e){var t=e.rule;4===e.idx&&t.hours&&(t._startTime.setHours(0),this._hour(e.date,t))},limit:function(e,n,i){for(var o,r,a,s,l,c=i.interval;n>=e;){for(a=r=t,l=e.getDate(),s=0;se>s;s++){if(o=ae[s],i[o]){if(a=ce[o](e,n,i),r!==t&&a)break;r=a}a&&this.normalize({date:e,rule:i,day:l,idx:s})}if((1===c||!this.interval(i,e))&&s===se)break}},interval:function(e,t){var i,r,a=new Date(e._startPeriod),s=new Date(t),l=t.getHours(),c=e.weekStart,u=e.interval,d=e.freq,h=!1,f=0,p=0,g=1;return"hourly"===d?(i=s.getTimezoneOffset()-a.getTimezoneOffset(),r=e._startTime.getHours(),s=s.getTime(),l!==r&&(s+=(r-l)*Y.MS_PER_HOUR),s-=a,i&&(s-=i*Y.MS_PER_MINUTE),i=Math.floor(s/Y.MS_PER_HOUR),f=n(i,u),0!==f&&(this._hour(t,e,f),h=!0)):"daily"===d?(Y.setTime(s,-a),i=Math.floor(s/Y.MS_PER_DAY),f=n(i,u),0!==f&&(this._date(t,e,f),h=!0)):"weekly"===d?(i=52*(t.getFullYear()-a.getFullYear()),f=o(t,c)-o(a,c)+i,f=n(f,u),0!==f&&(Y.setDayOfWeek(t,e.weekStart,-1),t.setDate(t.getDate()+7*f),X(t,l),h=!0)):"monthly"===d?(i=t.getFullYear()-a.getFullYear(),i=t.getMonth()-a.getMonth()+12*i,f=n(i,u),0!==f&&(g=e._hasRuleValue?1:t.getDate(),t.setFullYear(t.getFullYear(),t.getMonth()+f,g),X(t,l),h=!0)):"yearly"===d&&(i=t.getFullYear()-a.getFullYear(),f=n(i,u),e.months||(p=t.getMonth()),e.yearDays||e.monthDays||e.weekDays||(g=t.getDate()),0!==f&&(t.setFullYear(t.getFullYear()+f,p,g),X(t,l),h=!0)),h},_hour:function(e,t,n){var i=t._startTime,o=i.getHours();n&&(o+=n),e.setHours(o),o%=24,i.setHours(o),X(e,o)},_date:function(e,t,n){var i=e.getHours();e.setDate(e.getDate()+n),X(e,i)||this._hour(e,t)}}),de=ue.extend({next:function(e,t){ue.fn.next(e,t)||this._hour(e,t,1)},normalize:function(e){var t=e.rule;4===e.idx&&(t._startTime.setHours(0),this._hour(e.date,t))}}),he=ue.extend({next:function(e,t){ue.fn.next(e,t)||this[t.hours?"_hour":"_date"](e,t,1)}}),fe=he.extend({setup:function(e,t){e.weekDays||(e.weekDays=[{day:t.getDay(),offset:0}])}}),pe=ue.extend({next:function(e,t){var n,i;if(!ue.fn.next(e,t))if(t.hours)this._hour(e,t,1);else if(t.monthDays||t.weekDays||t.yearDays||t.weeks)this._date(e,t,1);else{for(n=e.getDate(),i=e.getHours(),e.setMonth(e.getMonth()+1),X(e,i);e.getDate()!==n;)e.setDate(n),X(e,i);this._hour(e,t)}},normalize:function(e){var t=e.rule,n=e.date,i=n.getHours();0!==e.idx||t.monthDays||t.weekDays?ue.fn.normalize(e):(n.setDate(e.day),X(n,i))},setup:function(e,t,n){e.monthDays||e.weekDays||n.setDate(t.getDate())}}),ge=pe.extend({next:function(e,t){var n,i=e.getHours();if(!ue.fn.next(e,t))if(t.hours)this._hour(e,t,1);else if(t.monthDays||t.weekDays||t.yearDays||t.weeks)this._date(e,t,1);else if(t.months){for(n=e.getDate(),e.setMonth(e.getMonth()+1),X(e,i);e.getDate()!==n;)e.setDate(n),X(e,i);this._hour(e,t)}else e.setFullYear(e.getFullYear()+1),X(e,i),this._hour(e,t)},setup:function(){}}),me={hourly:new de,daily:new he,weekly:new fe,monthly:new pe,yearly:new ge},ve="click";U.recurrence={rule:{parse:D,serialize:E},expand:C,dayInYear:i,weekInYear:o,weekInMonth:r,numberOfWeeks:l,isException:w,toExceptionString:y},M=function(e){for(var t=U.culture().calendar.days.namesShort,n=t.length,i="",o=0,r=[];n>o;o++)r.push(o);for(t=t.slice(e).concat(t.slice(0,e)),r=r.slice(e).concat(r.slice(0,e)),o=0;n>o;o++)i+='<label class="k-check"><input class="k-recur-weekday-checkbox" type="checkbox" value="'+r[o]+'" /> '+t[o]+"</label>";return i},P=U.template('# if (frequency !== "never") { #<div class="k-edit-label"><label>#:messages.repeatEvery#</label></div><div class="k-edit-field"><input class="k-recur-interval"/>#:messages.interval#</div># } ## if (frequency === "weekly") { #<div class="k-edit-label"><label>#:messages.repeatOn#</label></div><div class="k-edit-field">#=weekDayCheckBoxes(firstWeekDay)#</div># } else if (frequency === "monthly") { #<div class="k-edit-label"><label>#:messages.repeatOn#</label></div><div class="k-edit-field"><ul class="k-reset"><li><label><input class="k-recur-month-radio" type="radio" name="month" value="monthday" />#:messages.day#</label><input class="k-recur-monthday" /></li><li><input class="k-recur-month-radio" type="radio" name="month" value="weekday" /><input class="k-recur-weekday-offset" /><input class="k-recur-weekday" /></li></ul></div># } else if (frequency === "yearly") { #<div class="k-edit-label"><label>#:messages.repeatOn#</label></div><div class="k-edit-field"><ul class="k-reset"><li><input class="k-recur-year-radio" type="radio" name="year" value="monthday" /><input class="k-recur-month" /><input class="k-recur-monthday" /></li><li><input class="k-recur-year-radio" type="radio" name="year" value="weekday" /><input class="k-recur-weekday-offset" /><input class="k-recur-weekday" />#:messages.of#<input class="k-recur-month" /></li></ul></div># } ## if (frequency !== "never") { #<div class="k-edit-label"><label>#:end.label#</label></div><div class="k-edit-field"><ul class="k-reset"><li><label><input class="k-recur-end-never" type="radio" name="end" value="never" />#:end.never#</label></li><li><label><input class="k-recur-end-count" type="radio" name="end" value="count" />#:end.after#</label><input class="k-recur-count" />#:end.occurrence#</li><li><label><input class="k-recur-end-until" type="radio" name="end" value="until" />#:end.on#</label><input class="k-recur-until" /></li></ul></div># } #'),I=[{day:0,offset:0},{day:1,offset:0},{day:2,offset:0},{day:3,offset:0},{day:4,offset:0},{day:5,offset:0},{day:6,offset:0}],R=[{day:1,offset:0},{day:2,offset:0},{day:3,offset:0},{day:4,offset:0},{day:5,offset:0}],z=[{day:0,offset:0},{day:6,offset:0}],B=q.extend({init:function(e,t){var n,i=this,o=t&&t.frequencies;q.fn.init.call(i,e,t),i.wrapper=i.element,t=i.options,t.start=n=t.start||Y.today(),o&&(t.frequencies=o),"string"==typeof n&&(t.start=U.parseDate(n,"yyyyMMddTHHmmss")),null===t.firstWeekDay&&(t.firstWeekDay=U.culture().calendar.firstDay),i._namespace="."+t.name},options:{value:"",start:"",timezone:"",spinners:!0,firstWeekDay:null,frequencies:["never","daily","weekly","monthly","yearly"],mobile:!1,messages:{frequencies:{never:"Never",hourly:"Hourly",daily:"Daily",weekly:"Weekly",monthly:"Monthly",yearly:"Yearly"},hourly:{repeatEvery:"Repeat every: ",interval:" hour(s)"},daily:{repeatEvery:"Repeat every: ",interval:" day(s)"},weekly:{interval:" week(s)",repeatEvery:"Repeat every: ",repeatOn:"Repeat on: "},monthly:{repeatEvery:"Repeat every: ",repeatOn:"Repeat on: ",interval:" month(s)",day:"Day "},yearly:{repeatEvery:"Repeat every: ",repeatOn:"Repeat on: ",interval:" year(s)",of:" of "},end:{label:"End:",mobileLabel:"Ends",never:"Never",after:"After ",occurrence:" occurrence(s)",on:"On "},offsetPositions:{first:"first",second:"second",third:"third",fourth:"fourth",last:"last"},weekdays:{day:"day",weekday:"weekday",weekend:"weekend day"}}},events:["change"],_initInterval:function(){var e=this,t=e._value;e._container.find(".k-recur-interval").kendoNumericTextBox({spinners:e.options.spinners,value:t.interval||1,decimals:0,format:"#",min:1,change:function(){t.interval=this.value(),e._trigger()}})},_weekDayRule:function(e){var t=this,n=(t._weekDay.element||t._weekDay).val(),i=+(t._weekDayOffset.element||t._weekDayOffset).val(),o=null,r=null;e||("day"===n?(o=I,r=i):"weekday"===n?(o=R,r=i):"weekend"===n?(o=z,r=i):o=[{offset:i,day:+n}]),t._value.weekDays=o,t._value.positions=r},_weekDayView:function(){var e,t,n,i,o=this,r=o._value.weekDays,a=o._value.positions,s=o._weekDayOffset;r&&(n=r.length,a&&(7===n?(t="day",e=a):5===n?(t="weekday",e=a):2===n&&(t="weekend",e=a)),t||(r=r[0],t=r.day,e=r.offset||""),i=s.value?"value":"val",s[i](e),o._weekDay[i](t))},_initWeekDay:function(){var t,n=this,i=n.options.messages.weekdays,o=n.options.messages.offsetPositions,r=n._container.find(".k-recur-weekday"),a=function(){n._weekDayRule(),n._trigger()};r[0]&&(n._weekDayOffset=new $(n._container.find(".k-recur-weekday-offset"),{change:a,dataTextField:"text",dataValueField:"value",dataSource:[{text:o.first,value:"1"},{text:o.second,value:"2"},{text:o.third,value:"3"},{text:o.fourth,value:"4"},{text:o.last,value:"-1"}]}),t=[{text:i.day,value:"day"},{text:i.weekday,value:"weekday"},{text:i.weekend,value:"weekend"}],n._weekDay=new $(r,{value:n.options.start.getDay(),change:a,dataTextField:"text",dataValueField:"value",dataSource:t.concat(e.map(U.culture().calendar.days.names,function(e,t){return{text:e,value:t}}))}),n._weekDayView())},_initWeekDays:function(){var t,n,i,o,r,a=this,s=a._value,l=a._container.find(".k-recur-weekday-checkbox");if(l[0]&&(l.on(ve+a._namespace,function(){s.weekDays=e.map(l.filter(":checked"),function(e){return{day:+e.value,offset:0}}),a.options.mobile||a._trigger()}),s.weekDays))for(i=0,o=l.length,r=s.weekDays.length;o>i;i++)for(n=l[i],t=0;r>t;t++)n.value==s.weekDays[t].day&&(n.checked=!0)},_initMonthDay:function(){var e=this,t=e._value,n=e._container.find(".k-recur-monthday");n[0]&&(e._monthDay=new U.ui.NumericTextBox(n,{spinners:e.options.spinners,min:1,max:31,decimals:0,format:"#",value:t.monthDays?t.monthDays[0]:e.options.start.getDate(),change:function(){var n=this.value();t.monthDays=n?[n]:n,e._trigger()}}))},_initCount:function(){var e=this,t=e._container.find(".k-recur-count"),n=e._value;e._count=t.kendoNumericTextBox({spinners:e.options.spinners,value:n.count||1,decimals:0,format:"#",min:1,change:function(){n.count=this.value(),e._trigger()}}).data("kendoNumericTextBox")},_initUntil:function(){var e=this,t=e._container.find(".k-recur-until"),n=e.options.start,i=e._value,o=i.until;e._until=t.kendoDatePicker({min:o&&n>o?o:n,value:o||new Date(n.getFullYear(),n.getMonth(),n.getDate(),23,59,59),change:function(){var t=this.value();i.until=new Date(t.getFullYear(),t.getMonth(),t.getDate(),23,59,59),e._trigger()}}).data("kendoDatePicker")},_trigger:function(){this.options.mobile||this.trigger("change")}}),L=B.extend({init:function(e,t){var n=this;B.fn.init.call(n,e,t),n._initFrequency(),n._initContainer(),n.value(n.options.value)},options:{name:"RecurrenceEditor"},events:["change"],destroy:function(){var e=this;e._frequency.destroy(),e._container.find("input[type=radio],input[type=checkbox]").off(ve+e._namespace),U.destroy(e._container),B.fn.destroy.call(e)},value:function(e){var n,i=this,o=i.options.timezone;return e===t?i._value.freq?E(i._value,o):"":(i._value=D(e,o)||{},n=i._value.freq,n?i._frequency.value(n):i._frequency.select(0),i._initView(i._frequency.value()),t)},_initContainer:function(){var t=this.element,n=e('<div class="k-recur-view" />'),i=t.parent(".k-edit-field");i[0]?n.insertAfter(i):t.append(n),this._container=n},_initFrequency:function(){var t,n=this,i=n.options,o=i.frequencies,r=i.messages.frequencies,a=e("<input />");o=e.map(o,function(e){return{text:r[e],value:e}}),t=o[0],t&&"never"===t.value&&(t.value=""),n.element.append(a),n._frequency=new $(a,{dataTextField:"text",dataValueField:"value",dataSource:o,change:function(){n._value={},n._initView(n._frequency.value()),n.trigger("change")}})},_initView:function(e){var n=this,i=n._value,o=n.options,r={frequency:e||"never",weekDayCheckBoxes:M,firstWeekDay:o.firstWeekDay,messages:o.messages[e],end:o.messages.end};return U.destroy(n._container),n._container.html(P(r)),e?(i.freq=e,"weekly"!==e||i.weekDays||(i.weekDays=[{day:o.start.getDay(),offset:0}]),n._initInterval(),n._initWeekDays(),n._initMonthDay(),n._initWeekDay(),n._initMonth(),n._initCount(),n._initUntil(),n._period(),n._end(),t):(n._value={},t)},_initMonth:function(){var t,n=this,i=n._value,o=i.months||[n.options.start.getMonth()+1],r=n._container.find(".k-recur-month");r[0]&&(t={change:function(){i.months=[+this.value()],n.trigger("change")},dataTextField:"text",dataValueField:"value",dataSource:e.map(U.culture().calendar.months.names,function(e,t){return{text:e,value:t+1}})},n._month1=new $(r[0],t),n._month2=new $(r[1],t),o&&(o=o[0],n._month1.value(o),n._month2.value(o)))},_end:function(){var e,t=this,n=t._value,i=t._container,o=t._namespace,r=function(e){t._toggleEnd(e.currentTarget.value),t.trigger("change")};t._buttonNever=i.find(".k-recur-end-never").on(ve+o,r),t._buttonCount=i.find(".k-recur-end-count").on(ve+o,r),t._buttonUntil=i.find(".k-recur-end-until").on(ve+o,r),n.count?e="count":n.until&&(e="until"),t._toggleEnd(e)},_period:function(){var e=this,t=e._value,n="monthly"===t.freq,i=n?e._toggleMonthDay:e._toggleYear,o=".k-recur-"+(n?"month":"year")+"-radio",r=e._container.find(o);(n||"yearly"===t.freq)&&(r.on(ve+e._namespace,function(t){i.call(e,t.currentTarget.value),e.trigger("change")}),e._buttonMonthDay=r.eq(0),e._buttonWeekDay=r.eq(1),i.call(e,t.weekDays?"weekday":"monthday"))},_toggleEnd:function(e){var t,n,i,o,r=this;"count"===e?(r._buttonCount.prop("checked",!0),i=!0,o=!1,t=r._count.value(),n=null):"until"===e?(r._buttonUntil.prop("checked",!0),i=!1,o=!0,t=null,n=r._until.value()):(r._buttonNever.prop("checked",!0),i=o=!1,t=n=null),r._count.enable(i),r._until.enable(o),r._value.count=t,r._value.until=n},_toggleMonthDay:function(e){var t,n=this,i=!1,o=!0,r=!1;"monthday"===e?(n._buttonMonthDay.prop("checked",!0),t=[n._monthDay.value()],i=!0,o=!1,r=!0):(n._buttonWeekDay.prop("checked",!0),t=null),n._weekDay.enable(o),n._weekDayOffset.enable(o),n._monthDay.enable(i),n._value.monthDays=t,n._weekDayRule(r)},_toggleYear:function(e){var t,n=this,i=!1,o=!0;"monthday"===e?(i=!0,o=!1,t=n._month1.value()):t=n._month2.value(),n._month1.enable(i),n._month2.enable(o),n._value.months=[t],n._toggleMonthDay(e)}}),G.plugin(L),F=U.template('<div class="k-edit-label"><label>#:headerTitle#</label></div><div class="k-edit-field k-recur-pattern k-scheduler-toolbar"></div><div class="k-recur-view"></div>'),O=U.template('# if (frequency !== "never") { #<div class="k-edit-label"><label>#:messages.repeatEvery#</label></div><div class="k-edit-field"><input class="k-recur-interval" pattern="\\\\d*"/>#:messages.interval#</div># } ## if (frequency === "weekly") { #<div class="k-edit-label"><label>#:messages.repeatOn#</label></div><div class="k-edit-field">#=weekDayCheckBoxes(firstWeekDay)#</div># } else if (frequency === "monthly") { #<div class="k-edit-label"><label>#:messages.repeatBy#</label></div><div class="k-edit-field k-scheduler-toolbar k-repeat-rule"></div><div class="k-monthday-view" style="display:none"><div class="k-edit-label"><label>#:messages.day#</label></div><div class="k-edit-field"><input class="k-recur-monthday" pattern="\\\\d*"/></div></div><div class="k-weekday-view" style="display:none"><div class="k-edit-label"><label>#:messages.every#</label></div><div class="k-edit-field"><select class="k-recur-weekday-offset"></select></div><div class="k-edit-label"><label>#:messages.day#</label></div><div class="k-edit-field"><select class="k-recur-weekday"></select></div></div># } else if (frequency === "yearly") { #<div class="k-edit-label"><label>#:messages.repeatBy#</label></div><div class="k-edit-field k-scheduler-toolbar k-repeat-rule"></div><div class="k-monthday-view" style="display:none"><div class="k-edit-label"><label>#:messages.day#</label></div><div class="k-edit-field"><input class="k-recur-monthday" pattern="\\\\d*"/></div></div><div class="k-weekday-view" style="display:none"><div class="k-edit-label"><label>#:messages.every#</label></div><div class="k-edit-field"><select class="k-recur-weekday-offset"></select></div><div class="k-edit-label"><label>#:messages.day#</label></div><div class="k-edit-field"><select class="k-recur-weekday"></select></div></div><div class="k-edit-label"><label>#:messages.month#</label></div><div class="k-edit-field"><select class="k-recur-month"></select></div># } #'),N=U.template('# if (endPattern === "count") { #<div class="k-edit-label"><label>#:messages.after#</label></div><div class="k-edit-field"><input class="k-recur-count" pattern="\\\\d*" /></div># } else if (endPattern === "until") { #<div class="k-edit-label"><label>#:messages.on#</label></div><div class="k-edit-field"><input type="date" class="k-recur-until" /></div># } #'),H=U.template('<ul class="k-reset k-header k-scheduler-navigation">#for (var i = 0, length = dataSource.length; i < length; i++) {#<li class="k-state-default #= value === dataSource[i].value ? "k-state-selected" : "" #"><a role="button" href="\\#" class="k-link" data-#=ns#value="#=dataSource[i].value#">#:dataSource[i].text#</a></li>#}#</ul>'),V=B.extend({init:function(e,t){var n=this;B.fn.init.call(n,e,t),t=n.options,n._optionTemplate=U.template('<option value="#:value#">#:text#</option>'),n.value(t.value),n._pane=t.pane,n._initRepeatButton(),n._initRepeatEnd(),n._defaultValue=n._value},options:{name:"MobileRecurrenceEditor",animations:{left:"slide",right:"slide:right"},mobile:!0,messages:{cancel:"Cancel",update:"Save",endTitle:"Repeat ends",repeatTitle:"Repeat pattern",headerTitle:"Repeat event",end:{patterns:{never:"Never",after:"After...",on:"On..."},never:"Never",after:"End repeat after",on:"End repeat on"},daily:{interval:""},hourly:{interval:""},weekly:{interval:""},monthly:{interval:"",repeatBy:"Repeat by: ",dayOfMonth:"Day of the month",dayOfWeek:"Day of the week",repeatEvery:"Repeat every",every:"Every",day:"Day "},yearly:{interval:"",repeatBy:"Repeat by: ",dayOfMonth:"Day of the month",dayOfWeek:"Day of the week",repeatEvery:"Repeat every: ",every:"Every",month:"Month",day:"Day"}}},events:["change"],value:function(e){var n=this,i=n.options.timezone;return e===t?n._value.freq?E(n._value,i):"":(n._value=D(e,i)||{},t)},destroy:function(){this._destroyView(),U.destroy(this._endFields),this._repeatButton.off(ve+this._namespace),B.fn.destroy.call(this)},_initRepeatButton:function(){var t=this,n=t.options.messages.frequencies[this._value.freq||"never"];t._repeatButton=e('<a href="#" class="k-button k-scheduler-recur">'+n+"</a>").on(ve+t._namespace,function(e){e.preventDefault(),t._createView("repeat"),t._pane.navigate("recurrence",t.options.animations.left)}),t.element.append(t._repeatButton)},_initRepeatEnd:function(){var t=this,n=e('<div class="k-edit-label"><label>'+t.options.messages.end.mobileLabel+"</label></div>").insertAfter(t.element.parent(".k-edit-field")),i=e('<div class="k-edit-field"><a href="#" class="k-button k-scheduler-recur-end"></a></div>').on(ve+t._namespace,function(e){e.preventDefault(),t._value.freq&&(t._createView("end"),t._pane.navigate("recurrence",t.options.animations.left))}).insertAfter(n);t._endFields=n.add(i).toggleClass("k-state-disabled",!t._value.freq),t._endButton=i.find(".k-scheduler-recur-end").text(t._endText())},_endText:function(){var e=this._value,t=this.options.messages.end,n=t.never;return e.count?n=U.format("{0} {1}",t.after,e.count):e.until&&(n=U.format("{0} {1:d}",t.on,e.until)),n},_initFrequency:function(){var t=this,n=t.options.messages.frequencies,i=H({dataSource:e.map(this.options.frequencies,function(e){return{text:n[e],value:"never"!==e?e:""}}),value:t._value.freq||"",ns:U.ns});t._view.element.find(".k-recur-pattern").append(i).on(ve+t._namespace,".k-scheduler-navigation li",function(n){var i=e(this);n.preventDefault(),i.addClass("k-state-selected").siblings().removeClass("k-state-selected"),t._value={freq:i.children("a").attr(U.attr("value"))},t._initRepeatView()})},_initEndNavigation:function(){var t,n=this,i=n.options.messages.end.patterns,o=n._value,r="";o.count?r="count":o.until&&(r="until"),t=H({dataSource:[{text:i.never,value:""},{text:i.after,value:"count"},{text:i.on,value:"until"}],value:r,ns:U.ns}),n._view.element.find(".k-recur-pattern").append(t).on(ve+n._namespace,".k-scheduler-navigation li",function(t){var i=e(this),r=null,a=null;t.preventDefault(),i.addClass("k-state-selected").siblings().removeClass("k-state-selected"),n._initEndView(i.children("a").attr(U.attr("value"))),n._count?(r=n._count.value(),a=null):n._until&&(r=null,a=n._until.val?U.parseDate(n._until.val(),"yyyy-MM-dd"):n._until.value()),o.count=r,o.until=a})},_createView:function(t){var n=this,i=n.options,o=i.messages,r=o["repeat"===t?"repeatTitle":"endTitle"],a='<div data-role="view" class="k-popup-edit-form k-scheduler-edit-form k-mobile-list" id="recurrence"><div data-role="header" class="k-header"><a href="#" class="k-button k-scheduler-cancel">'+o.cancel+"</a>"+o.headerTitle+'<a href="#" class="k-button k-scheduler-update">'+o.update+"</a></div>",s=n._pane.view().id;n._view=n._pane.append(a+F({headerTitle:r})),n._view.element.on(ve+n._namespace,"a.k-scheduler-cancel, a.k-scheduler-update",function(t){t.preventDefault(),t.stopPropagation(),e(this).hasClass("k-scheduler-update")?(n.trigger("change"),n._defaultValue=e.extend({},n._value)):n._value=n._defaultValue;var i=n._value.freq;n._endButton.text(n._endText()),n._endFields.toggleClass("k-state-disabled",!i),n._repeatButton.text(o.frequencies[i||"never"]),n._pane.one("viewShow",function(){n._destroyView()}),n._pane.navigate(s,n.options.animations.right)}),n._container=n._view.element.find(".k-recur-view"),"repeat"===t?(n._initFrequency(),n._initRepeatView()):(n._initEndNavigation(),n._initEndView())},_destroyView:function(){this._view&&(this._view.destroy(),this._view.element.remove()),this._view=null},_initRepeatView:function(){var e=this,n=e._value.freq||"never",i={frequency:n,weekDayCheckBoxes:M,
firstWeekDay:e.options.firstWeekDay,messages:e.options.messages[n]},o=O(i),r=e._container,a=e._value;return U.destroy(r),r.html(o),o?("weekly"!==n||a.weekDays||(a.weekDays=[{day:e.options.start.getDay(),offset:0}]),e._initInterval(),e._initMonthDay(),e._initWeekDays(),e._initWeekDay(),e._initMonth(),e._period(),t):(e._value={},t)},_initEndView:function(e){var n,i=this,o=i._value;e===t&&(o.count?e="count":o.until&&(e="until")),n={endPattern:e,messages:i.options.messages.end},U.destroy(i._container),i._container.html(N(n)),i._initCount(),i._initUntil()},_initWeekDay:function(){var t,n=this,i=n.options.messages.weekdays,o=n.options.messages.offsetPositions,r=n._container.find(".k-recur-weekday"),a=function(){n._weekDayRule(),n.trigger("change")};r[0]&&(n._weekDayOffset=n._container.find(".k-recur-weekday-offset").html(n._options([{text:o.first,value:"1"},{text:o.second,value:"2"},{text:o.third,value:"3"},{text:o.fourth,value:"4"},{text:o.last,value:"-1"}])).change(a),t=[{text:i.day,value:"day"},{text:i.weekday,value:"weekday"},{text:i.weekend,value:"weekend"}],t=t.concat(e.map(U.culture().calendar.days.names,function(e,t){return{text:e,value:t}})),n._weekDay=r.html(n._options(t)).change(a).val(n.options.start.getDay()),n._weekDayView())},_initMonth:function(){var t,n=this,i=n._value,o=n.options.start,r=i.months||[o.getMonth()+1],a=n._container.find(".k-recur-month"),s=U.culture().calendar.months.names;a[0]&&(t=e.map(s,function(e,t){return{text:e,value:t+1}}),a.html(n._options(t)).change(function(){i.months=[+this.value]}),n._monthSelect=a,r&&a.val(r[0]))},_period:function(){var t,n,i,o=this,r=o._value,a=o._container,s=o.options.messages[r.freq],l=a.find(".k-repeat-rule"),c=a.find(".k-weekday-view"),u=a.find(".k-monthday-view");l[0]&&(t=r.weekDays?"weekday":"monthday",n=H({value:t,dataSource:[{text:s.dayOfMonth,value:"monthday"},{text:s.dayOfWeek,value:"weekday"}],ns:U.ns}),i=function(e){var t=o._weekDay.val(),n=o._weekDayOffset.val(),i=o._monthDay.value(),a=o._monthSelect?o._monthSelect.val():null;"monthday"===e?(r.weekDays=null,r.monthDays=i?[i]:i,r.months=a?[+a]:a,c.hide(),u.show()):(r.monthDays=null,r.months=a?[+a]:a,r.weekDays=[{offset:+n,day:+t}],c.show(),u.hide())},l.append(n).on(ve+o._namespace,".k-scheduler-navigation li",function(t){var n,o=e(this).addClass("k-state-selected");t.preventDefault(),o.siblings().removeClass("k-state-selected"),n=o.children("a").attr(U.attr("value")),i(n)}),i(t))},_initUntil:function(){var e=this,t=e._container.find(".k-recur-until"),n=e.options.start,i=e._value,o=i.until,r=o&&n>o?o:n;e._until=U.support.input.date?t.attr("min",U.toString(r,"yyyy-MM-dd")).val(U.toString(o||n,"yyyy-MM-dd")).on("change",function(){i.until=U.parseDate(this.value,"yyyy-MM-dd")}):t.kendoDatePicker({min:r,value:o||n,change:function(){i.until=this.value()}}).data("kendoDatePicker")},_options:function(e,t){var n=0,i="",o=e.length,r=this._optionTemplate;for(t&&(i+=r({value:"",text:t}));o>n;n++)i+=r(e[n]);return i}}),G.plugin(V)}(window.kendo.jQuery),window.kendo},"function"==typeof define&&define.amd?define:function(e,t){t()});