UNPKG

@progress/kendo-ui

Version:

This package is part of the [Kendo UI for jQuery](http://www.telerik.com/kendo-ui) suite.

2 lines 78.6 kB
module.exports=function(e){function t(n){if(i[n])return i[n].exports;var a=i[n]={exports:{},id:n,loaded:!1};return e[n].call(a.exports,a,a.exports,t),a.loaded=!0,a.exports}var i={};return t.m=e,t.c=i,t.p="",t(0)}({0:function(e,t,i){e.exports=i(1291)},3:function(e,t){e.exports=function(){throw Error("define cannot be used indirect")}},1010:function(e,t){e.exports=require("./kendo.dropdownlist")},1012:function(e,t){e.exports=require("./kendo.multiselect")},1143:function(e,t){e.exports=require("./kendo.window")},1193:function(e,t){e.exports=require("./kendo.pdf")},1197:function(e,t){e.exports=require("./kendo.datetimepicker")},1198:function(e,t){e.exports=require("./kendo.editable")},1208:function(e,t){e.exports=require("./kendo.pane")},1291:function(e,t,i){var n,a,r;!function(o,define){a=[i(1010),i(1198),i(1012),i(1143),i(1197),i(1293),i(1294),i(1292),i(1295),i(1296),i(1297),i(1298),i(1208),i(1193),i(1299)],n=o,r="function"==typeof n?n.apply(t,a):n,!(void 0!==r&&(e.exports=r))}(function(){return function(e,t){function i(e,t){return t=t||"",e.startTimezone&&(t=e.startTimezone,e.endTimezone&&(t+=" | "+e.endTimezone)),t}function n(e,t){var i=t.timezone;i&&(e[B.attr("timezone")]=i)}function a(e,t){var i,n=t.model.fields[t.field].validation;n&&(i=n.validDateValidator,i&&$(i)&&i.message&&(e[B.attr("validDate-msg")]=i.message))}function r(e,t){var i,n=t.model.fields[t.field].validation;n&&(i=n.dateCompare,i&&$(i)&&i.message&&(e[B.attr("dateCompare-msg")]=i.message))}function o(e,t){return function(i){return i=e(i),l(i,"apply",t),i||[]}}function s(e,t){return function(i){return i&&("[object Array]"===J.call(i)||i instanceof B.data.ObservableArray||(i=[i])),l(i,"remove",t,!0),i=e(i),i||[]}}function l(e,t,i,n){var a,r,o;for(e=e||[],r=0,o=e.length;r<o;r++)a=e[r],n?a.startTimezone||a.endTimezone?i?(a.start=B.timezone.convert(a.start,a.startTimezone||a.endTimezone,i),a.end=B.timezone.convert(a.end,a.endTimezone||a.startTimezone,i),a.start=B.timezone[t](a.start,i),a.end=B.timezone[t](a.end,i)):(a.start=B.timezone[t](a.start,a.startTimezone||a.endTimezone),a.end=B.timezone[t](a.end,a.endTimezone||a.startTimezone)):i&&(a.start=B.timezone[t](a.start,i),a.end=B.timezone[t](a.end,i)):a.startTimezone||a.endTimezone?(a.start=B.timezone[t](a.start,a.startTimezone||a.endTimezone),a.end=B.timezone[t](a.end,a.endTimezone||a.startTimezone),i&&(a.start=B.timezone.convert(a.start,a.startTimezone||a.endTimezone,i),a.end=B.timezone.convert(a.end,a.endTimezone||a.startTimezone,i))):i&&(a.start=B.timezone[t](a.start,i),a.end=B.timezone[t](a.end,i)),n&&delete a.uid;return e}function d(e,t){for(var i,n=e.length,a=0;a<n;a++)if(i=e[a],i.uid===t)return i}function c(e,t,i){return e=i?B.timezone.convert(e,t,i):B.timezone.remove(e,t)}function u(e){var t,i;return!(e.filter("[name=start]").length&&e.filter("[title=Start]").length||e.filter("[name=end]").length&&e.filter("[title=End]").length)||(i=B.widgetInstance(e,B.ui),i?(t=B.parseDate(e.val(),i.options.format),!!t&&i.value()):(t=B.parseDate(e.val()),!!t))}function p(e){var t,i,n,a,r,o,s,l,d,u,p,h;return!(e.filter("[name=end]").length&&(t=e.closest(".k-scheduler-edit-form"),i=t.find("[name=start]:visible"),n=t.find("[name=end]:visible"),n[0]&&i[0]&&(o=B.widgetInstance(i,B.ui),s=B.widgetInstance(n,B.ui),l=t.data("kendoEditable"),d=l?l.options.model:null,o&&s?(a=o.value(),r=s.value()):(a=B.parseDate(i.val()),r=B.parseDate(n.val())),a&&r)))||(d&&(u=i.attr(B.attr("timezone")),p=d.startTimezone,h=d.endTimezone,p=p||h,h=h||p,p&&(a=c(a,p,u),r=c(r,h,u))),a<=r)}function h(e,t,i,n){for(var a=e.length,r=[],o=0;o<a;o++)r=r.concat(e[o].expand(t,i,n));return r}function f(e){return delete e.name,delete e.prefix,delete e.remove,delete e.edit,delete e.add,delete e.navigate,e}function v(t,i){var n,a,r=(t.fields||t)[i],o=["url","email","number","date","boolean"],s=r?r.validation:{},l=B.attr("type"),d=e.inArray,c={};for(n in s)a=s[n],d(n,o)>=0?c[l]=n:B.isFunction(a)||(c[n]=$(a)?a.value||n:a),c[B.attr(n+"-msg")]=a.message;return c}function m(t,i){var n=v(i,t.field);return function(a){e(B.format('<select data-{0}bind="value:{1}" title="'+i.title+'">',B.ns,t.field)).appendTo(a).attr(n).kendoDropDownList({dataTextField:t.dataTextField,dataValueField:t.dataValueField,dataSource:t.dataSource,valuePrimitive:t.valuePrimitive,optionLabel:"None",template:B.format('<span class="k-scheduler-mark" style="background-color:#= data.{0}?{0}:"none" #"></span>#={1}#',t.dataColorField,t.dataTextField)})}}function g(t,i){var n=v(i,t.field);return function(i){var a,r,o="",s=t.dataSource.view();for(a=0,r=s.length;a<r;a++)o+=B.format('<option value="{0}">{1}</option>',B.getter(t.dataValueField)(s[a]),B.getter(t.dataTextField)(s[a]));e(B.format('<select data-{0}bind="value:{1}">{2}</select>',B.ns,t.field,o,t.valuePrimitive)).appendTo(i).attr(n)}}function _(t){var i=v(t.model,t.field);return function(t,n){e('<textarea name="description" class="k-textbox" title="'+n.title+'"/>').attr(i).appendTo(t)}}function k(t,i){var n=v(i,t.field);return function(i){e(B.format('<select data-{0}bind="value:{1}">',B.ns,t.field)).appendTo(i).attr(n).kendoMultiSelect({dataTextField:t.dataTextField,dataValueField:t.dataValueField,dataSource:t.dataSource,valuePrimitive:t.valuePrimitive,itemTemplate:B.format('<span class="k-scheduler-mark" style="background-color:#= data.{0}?{0}:"none" #"></span>#={1}#',t.dataColorField,t.dataTextField),tagTemplate:B.format('<span class="k-scheduler-mark" style="background-color:#= data.{0}?{0}:"none" #"></span>#={1}#',t.dataColorField,t.dataTextField)})}}function w(t,i){var n=v(i,t.field);return function(i){var a,r,o="",s=t.dataSource.view();for(a=0,r=s.length;a<r;a++)o+=B.format('<option value="{0}">{1}</option>',B.getter(t.dataValueField)(s[a]),B.getter(t.dataTextField)(s[a]));e(B.format('<select data-{0}bind="value:{1}" multiple="multiple" data-{0}value-primitive="{3}">{2}</select>',B.ns,t.field,o,t.valuePrimitive)).appendTo(i).attr(n)}}function b(e,t){var i,n=e.end.getTime()-e.start.getTime(),a=new Date(e.start.getTime());return B.date.setTime(a,t),i=new Date(a.getTime()),B.date.setTime(i,n,!0),{start:a,end:i}}var y,z,T,D,x,S,E,C,R,P,V,M,B=window.kendo,H=B.date,I=H.MS_PER_DAY,A=H.getDate,O=B.date.getMilliseconds,W=B.recurrence,F=e.extend({F10:121},B.keys),N=B.ui,L=N.Widget,q=N.DataBoundWidget,U="string",K=N.Popup,Y=N.Calendar,Q=B.data.DataSource,$=e.isPlainObject,j=e.extend,X=e.proxy,J=Object.prototype.toString,Z=e.isArray,G=".kendoScheduler",ee="click",te="mousedown",ie=B.support.pointers?"pointerdown":"touchstart",ne=B.support.pointers?"pointermove":"touchmove",ae=B.support.pointers?"pointerup":"touchend",re=B.support.mousemove,oe="change",se="progress",le="error",de="cancel",ce="remove",ue="resetSeries",pe="save",he="add",fe="edit",ve="k-state-focused",me="k-state-expanded",ge=".k-scheduler-views",_e="k-event-inverse",ke=/(?:value:start|value:end)(?:,|$)/,we=A(new Date),be=",",ye=/\;/g,ze="recurrenceException",Te="Are you sure you want to delete this event?",De="Do you want to delete only this event occurrence or the whole series?",xe="Do you want to edit only this event occurrence or the whole series?",Se="Are you sure you want to delete this event occurrence?",Ee="Are you sure you want to reset the whole series?",Ce="Are you sure you want to delete the whole series?",Re='<a class="k-button #=className#" #=attr# href="\\#">#=text#</a>',Pe=B.template('<li class="k-current-view" data-#=ns#name="#=view#"><a role="button" href="\\#" class="k-link">${views[view].title}</a></li>'),Ve=B.template('<div class="k-floatwrap k-header k-scheduler-toolbar"># if (pdf) { #<ul class="k-reset k-scheduler-tools"><li><a role="button" href="\\#" class="k-button k-pdf"><span class="k-icon k-i-file-pdf"></span>${messages.pdf}</a></li></ul># } #<ul class="k-reset k-scheduler-navigation"><li class="k-state-default k-header k-nav-today"><a role="button" href="\\#" class="k-link" title="${messages.today}">${messages.today}</a></li><li class="k-state-default k-header k-nav-prev"><a role="button" href="\\#" class="k-link" title="${messages.previous}" aria-label="${messages.previous}"><span class="k-icon k-i-arrow-60-left" style="pointer-events: none"></span></a></li><li class="k-state-default k-header k-nav-next"><a role="button" href="\\#" class="k-link" title="${messages.next}" aria-label="${messages.next}"><span class="k-icon k-i-arrow-60-right" style="pointer-events: none"></span></a></li><li class="k-state-default k-nav-current"><a role="button" href="\\#" class="k-link"><span class="k-icon k-i-calendar"></span><span class="k-sm-date-format" data-#=ns#bind="text: formattedShortDate"></span><span class="k-lg-date-format" data-#=ns#bind="text: formattedDate"></span></a></li></ul>#if(viewsCount === 1){#<a role="button" data-#=ns#name="#=view#" href="\\#" class="k-link k-scheduler-refresh"><span class="k-icon k-i-reload"></span></a>#}else{#<ul class="k-reset k-header k-scheduler-views">#for(var view in views){#<li class="k-state-default k-view-#= view.toLowerCase() #" data-#=ns#name="#=view#"><a role="button" href="\\#" class="k-link">${views[view].title}</a></li>#}#</ul>#}#</div>'),Me=B.template('<div class="k-header k-scheduler-toolbar"><ul class="k-reset k-scheduler-tools"># if (pdf) { #<li><a role="button" href="\\#" class="k-button k-pdf"><span class="k-icon k-i-file-pdf"></span></a></li># } #<li><a role="button" href="\\#" class="k-button k-nav-calendar"><span class="k-icon k-i-calendar"></span></a></li># if (editable) { #<li><a role="button" href="\\#" class="k-button k-create-event"><span class="k-icon k-i-plus"></span></a></li># } #</ul>#if(viewsCount === 1){#<a role="button" data-#=ns#name="#=view#" href="\\#" class="k-link k-scheduler-refresh"><span class="k-icon k-i-reload"></span></a>#}else{#<select class="k-scheduler-mobile-views">#for(var view in views){#<option class="k-state-default k-view-#= view.toLowerCase() #" value="#=view#">${views[view].title}</option>#}#</select>#}#</div><div class="k-header k-scheduler-toolbar"><ul class="k-reset k-header k-scheduler-navigation"><li class="k-state-default k-nav-prev"><a role="button" href="\\#" class="k-link"><span class="k-icon k-i-arrow-chevron-left"></span></a></li><li class="k-state-default k-nav-current"><span class="k-m-date-format" data-#=ns#bind="text: formattedMobileDate"></span><span class="k-y-date-format" data-#=ns#bind="text: formattedYear"></span></li><li class="k-state-default k-nav-next"><a role="button" href="\\#" class="k-link"><span class="k-icon k-i-arrow-chevron-right"></span></a></li></ul></div>'),Be=function(t,i){var o={name:i.field,title:i.title},s=i.model.isAllDay,l=B.attr("validate")+"='"+!s+"'",d=B.attr("validate")+"='"+s+"'";n(o,i),a(o,i),r(o,i),e('<input type="datetime-local" required '+B.attr("type")+'="datetime-local" '+B.attr("bind")+'="value:'+i.field+', invisible:isAllDay" '+l+"/>").attr(o).appendTo(t),e('<input type="date" required '+B.attr("type")+'="date" '+B.attr("bind")+'="value:'+i.field+',visible:isAllDay" '+d+"/>").attr(o).appendTo(t),e("<span "+B.attr("for")+'="'+i.field+'" class="k-invalid-msg"/>').hide().appendTo(t)},He=function(t,i){var o={name:i.field,title:i.title},s=i.model.isAllDay,l=B.attr("validate")+"='"+!s+"' ",d=B.attr("validate")+"='"+s+"' ";n(o,i),a(o,i),r(o,i),e('<input type="text" required '+B.attr("type")+'="date" '+B.attr("role")+'="datetimepicker" '+B.attr("bind")+'="value:'+i.field+',invisible:isAllDay" '+l+"/>").attr(o).appendTo(t),e('<input type="text" required '+B.attr("type")+'="date" '+B.attr("role")+'="datepicker" '+B.attr("bind")+'="value:'+i.field+',visible:isAllDay" '+d+"/>").attr(o).appendTo(t),e("<span "+B.attr("bind")+'="text: '+i.field+'Timezone"></span>').appendTo(t),"end"===i.field&&e("<span "+B.attr("bind")+'="text: startTimezone, invisible: endTimezone"></span>').appendTo(t),e("<span "+B.attr("for")+'="'+i.field+'" class="k-invalid-msg"/>').hide().appendTo(t)},Ie=function(t,i){e("<div "+B.attr("bind")+'="value:'+i.field+'" />').attr({name:i.field}).appendTo(t).kendoRecurrenceEditor({start:i.model.start,timezone:i.timezone,messages:i.messages})},Ae=function(t,i){e("<div "+B.attr("bind")+'="value:'+i.field+'" />').attr({name:i.field}).appendTo(t).kendoMobileRecurrenceEditor({start:i.model.start,timezone:i.timezone,messages:i.messages,pane:i.pane,value:i.model[i.field]})},Oe=function(t,i){e('<input type="checkbox" data-role="switch"'+B.attr("bind")+'="value:'+i.field+'" />').appendTo(t)},We=function(t,n){var a=i(n.model,n.messages.noTimezone);e('<span class="k-timezone-label"></span>').text(a).appendTo(t),e('<span class="k-icon k-i-arrow-chevron-right"></span>').appendTo(t),t.closest("li.k-item label").click(n.click)},Fe=function(t,i){e('<a href="#" class="k-button" data-bind="invisible:isAllDay">'+i.messages.timezoneEditorButton+"</a>").click(i.click).appendTo(t)},Ne=function(t,i){e('<div class="k-mobiletimezoneeditor" '+B.attr("bind")+'="value:'+i.field+'" />').attr({name:i.field}).appendTo(t).kendoMobileTimezoneEditor({optionLabel:i.noTimezone})},Le=function(i,n){var a=n.visible||n.visible===t;e("<div "+B.attr("bind")+'="value:'+n.field+'" />').attr({name:n.field}).toggle(a).appendTo(i).kendoTimezoneEditor({optionLabel:n.noTimezone,title:n.title})},qe=B.Class.extend({init:function(t,i){var n=t.timezone;this.reader=i,i.model&&(this.model=i.model),this.timezone=n,this.data=o(e.proxy(this.data,this),n),this.serialize=s(e.proxy(this.serialize,this),n)},errors:function(e){return this.reader.errors(e)},parse:function(e){return this.reader.parse(e)},data:function(e){return this.reader.data(e)},total:function(e){return this.reader.total(e)},groups:function(e){return this.reader.groups(e)},aggregates:function(e){return this.reader.aggregates(e)},serialize:function(e){return this.reader.serialize(e)}}),Ue=B.data.Model.define({init:function(e){var t=this;B.data.Model.fn.init.call(t,e),t._defaultId=t.defaults[t.idField]},_time:function(e){var t=this[e],i="_"+e+"Time";return this[i]?this[i]-B.date.toUtcTime(B.date.getDate(t)):O(t)},_date:function(e){var t="_"+e+"Time";return this[t]?this[t]-this._time(e):B.date.getDate(this[e])},clone:function(t,i){var n=this.uid,a=new this.constructor(e.extend({},this.toJSON(),t));return i||(a.uid=n),a},duration:function(){var e=this.end,t=this.start,i=(e.getTimezoneOffset()-t.getTimezoneOffset())*B.date.MS_PER_MINUTE;return e-t-i},expand:function(e,t,i){return W?W.expand(this,e,t,i):[this]},update:function(e){for(var t in e)this.set(t,e[t]);this._startTime&&this.set("_startTime",B.date.toUtcTime(this.start)),this._endTime&&this.set("_endTime",B.date.toUtcTime(this.end))},isMultiDay:function(){return this.isAllDay||this.duration()>=B.date.MS_PER_DAY},isException:function(){return!this.isNew()&&this.recurrenceId},isOccurrence:function(){return this.isNew()&&this.recurrenceId},isRecurring:function(){return!(!this.recurrenceRule&&!this.recurrenceId)},isRecurrenceHead:function(){return!(!this.id||!this.recurrenceRule)},toOccurrence:function(t){return t=e.extend(t,{recurrenceException:null,recurrenceRule:null,recurrenceId:this.id||this.recurrenceId}),t[this.idField]=this.defaults[this.idField],this.clone(t,!0)},toJSON:function(){var e=B.data.Model.fn.toJSON.call(this);return e.uid=this.uid,delete e._startTime,delete e._endTime,e},shouldSerialize:function(e){return B.data.Model.fn.shouldSerialize.call(this,e)&&"_defaultId"!==e},set:function(e,t){var i,n,a,r=this.isAllDay||!1;B.data.Model.fn.set.call(this,e,t),"isAllDay"==e&&t!=r&&(i=B.date.getDate(this.start),n=new Date(this.end),a=B.date.getMilliseconds(n),0===a&&t&&(a=I),this.set("start",i),t===!0?(B.date.setTime(n,-a),n<i&&(n=i)):B.date.setTime(n,I-a),this.set("end",n))},id:"id",fields:{id:{type:"number"},title:{defaultValue:"",type:"string"},start:{type:"date",validation:{required:!0,validDate:{value:u}}},startTimezone:{type:"string"},end:{type:"date",validation:{required:!0,validDate:{value:u},dateCompare:{value:p}}},endTimezone:{type:"string"},recurrenceRule:{defaultValue:"",type:"string"},recurrenceException:{defaultValue:"",type:"string"},isAllDay:{type:"boolean",defaultValue:!1},description:{type:"string"}}}),Ke=Q.extend({init:function(e){Q.fn.init.call(this,j(!0,{},{schema:{modelBase:Ue,model:Ue}},e)),this.reader=new qe(this.options.schema,this.reader)},expand:function(e,t){var i,n=this.view(),a={};return e&&t&&(i=t.getTimezoneOffset(),t=new Date(t.getTime()+I-1),t.getTimezoneOffset()!==i&&(t=B.timezone.apply(t,i)),a={logic:"or",filters:[{logic:"and",filters:[{field:"start",operator:"gte",value:e},{field:"end",operator:"gte",value:e},{field:"start",operator:"lte",value:t}]},{logic:"and",filters:[{field:"start",operator:"lte",value:new Date(e.getTime()+I-1)},{field:"end",operator:"gte",value:e}]}]},n=new B.data.Query(h(n,e,t,this.reader.timezone)).filter(a).toArray()),n},cancelChanges:function(e){e&&e.isOccurrence()&&this._removeExceptionDate(e),Q.fn.cancelChanges.call(this,e)},insert:function(e,t){if(t){if(!(t instanceof Ue)){var i=t;t=this._createNewModel(),t.accept(i)}return(!this._pushCreated&&t.isRecurrenceHead()||t.recurrenceId)&&(t=t.recurrenceId?t:t.toOccurrence(),this._addExceptionDate(t)),Q.fn.insert.call(this,e,t)}},pushCreate:function(e){this._pushCreated=!0,Q.fn.pushCreate.call(this,e),this._pushCreated=!1},remove:function(e){return e.isRecurrenceHead()?this._removeExceptions(e):e.isRecurring()&&this._addExceptionDate(e),Q.fn.remove.call(this,e)},_removeExceptions:function(e){for(var t=this.data().slice(0),i=t.shift(),n=e.id;i;)i.recurrenceId===n&&Q.fn.remove.call(this,i),i=t.shift();e.set(ze,"")},_removeExceptionDate:function(e){var t,i,n,a;e.recurrenceId&&(t=this.get(e.recurrenceId),t&&(i=e.defaults.start,n=RegExp("(\\"+be+"?)"+W.toExceptionString(i,this.reader.timezone)),a=(t.recurrenceException||"").replace(ye,be).replace(/\,$/,""),n.test(a)?t.set(ze,a.replace(n,"")):(i=e.start,n=RegExp("(\\"+be+"?)"+W.toExceptionString(i,this.reader.timezone)),t.set(ze,a.replace(n,"")))))},_addExceptionDate:function(e){var t,i=e.start,n=this.reader.timezone,a=this.get(e.recurrenceId),r=(a.recurrenceException||"").replace(ye,be).replace(/\,$/,"");W.isException(r,i,n)||(t=W.toExceptionString(i,n),e.defaults.start=i,a.set(ze,r+(r&&t?be:"")+t))}});Ke.create=function(e){(Z(e)||e instanceof B.data.ObservableArray)&&(e={data:e});var t=e||{},i=t.data;if(t.data=i,!(t instanceof Ke)&&t instanceof B.data.DataSource)throw Error("Incorrect DataSource type. Only SchedulerDataSource instances are supported");return t instanceof Ke?t:new Ke(t)},j(!0,B.data,{SchedulerDataSource:Ke,SchedulerDataReader:qe,SchedulerEvent:Ue}),y={update:{text:"Save",className:"k-primary k-scheduler-update"},canceledit:{text:"Cancel",className:"k-scheduler-cancel"},destroy:{text:"Delete",imageClass:"k-i-close",className:"k-primary k-scheduler-delete",iconClass:"k-icon"}},z={mobile:{dateRange:Be,timezonePopUp:We,timezone:Ne,recurrence:Ae,description:_,multipleResources:w,resources:g,isAllDay:Oe},desktop:{dateRange:He,timezonePopUp:Fe,timezone:Le,recurrence:Ie,description:_,multipleResources:k,resources:m}},T=B.Observable.extend({init:function(e,t){B.Observable.fn.init.call(this),this.element=e,this.options=j(!0,{},this.options,t),this.createButton=this.options.createButton,this.toggleDateValidationHandler=X(this._toggleDateValidation,this)},_toggleDateValidation:function(t){if("isAllDay"==t.field){var i,n,a,r=this.container,o=this.editable.options.model.isAllDay,s=B.attr("bind");r.find("["+s+"*=end],["+s+"*=start]").each(function(){i=e(this),ke.test(i.attr(s))&&(n=i.is("["+B.attr("role")+"=datetimepicker],[type*=datetime]"),a=o!==n,i.attr(B.attr("validate"),a))})}},fields:function(e,t){var i,n,a=this,r=a.options.messages,o=a.options.timezone,s=function(e){e.preventDefault(),a._initTimezoneEditor(t,this)},l=[{field:"title",title:r.editor.title},{field:"start",title:r.editor.start,editor:e.dateRange,timezone:o},{field:"end",title:r.editor.end,editor:e.dateRange,timezone:o},{field:"isAllDay",title:r.editor.allDayEvent,editor:e.isAllDay}];B.timezone.windows_zones&&(l.push({field:"timezone",title:r.editor.timezone,editor:e.timezonePopUp,click:s,messages:r.editor,model:t}),l.push({field:"startTimezone",title:r.editor.startTimezone,editor:e.timezone,noTimezone:r.editor.noTimezone}),l.push({field:"endTimezone",title:r.editor.endTimezone,editor:e.timezone,noTimezone:r.editor.noTimezone})),t.recurrenceId||l.push({field:"recurrenceRule",title:r.editor.repeat,editor:e.recurrence,timezone:o,messages:r.recurrenceEditor,pane:this.pane}),"description"in t&&l.push({field:"description",title:r.editor.description,editor:e.description({model:t,field:"description"})});for(i=0;i<this.options.resources.length;i++)n=this.options.resources[i],l.push({field:n.field,title:n.title,editor:n.multiple?e.multipleResources(n,t):e.resources(n,t)});return l},end:function(){return this.editable.end()},_buildDesktopEditTemplate:function(e,t,i){var n,a,r,o,s=this.options.messages,l=j({},B.Template,this.options.templateSettings),d=l.paramName,c="";for(n=0,a=t.length;n<a;n++)r=t[n],"startTimezone"===r.field&&(c+='<div class="k-popup-edit-form k-scheduler-edit-form k-scheduler-timezones" style="display:none">',c+='<div class="k-edit-form-container">',c+='<div class="k-edit-label"></div>',c+='<div class="k-edit-field"><label class="k-check"><input class="k-timezone-toggle" type="checkbox" />'+s.editor.separateTimezones+"</label></div>"),c+='<div class="k-edit-label"><label for="'+r.field+'">'+(r.title||r.field||"")+"</label></div>",!e.editable||e.editable(r.field)?(i.push(r),c+="<div "+B.attr("container-for")+'="'+r.field+'" class="k-edit-field"></div>'):(o="#:",r.field?(r=B.expr(r.field,d),o+=r+"==null?'':"+r):o+="''",o+="#",o=B.template(o,l),c+='<div class="k-edit-field">'+o(e)+"</div>"),"endTimezone"===r.field&&(c+=this._createEndTimezoneButton());return c},_buildMobileEditTemplate:function(e,t,i){var n,a,r,o,s=this.options.messages,l=j({},B.Template,this.options.templateSettings),d=l.paramName,c="";for(c+="<ul>",n=0,a=t.length;n<a;n++)r=t[n],"timezone"!==r.field&&"recurrenceRule"!==r.field||(c+="</ul><ul>"),"startTimezone"===r.field&&(c+='<div class="k-popup-edit-form k-scheduler-edit-form k-scheduler-timezones" style="display:none">',c+='<ul><li class="k-item"><label class="k-label">',c+='<span class="k-item-title">'+s.editor.separateTimezones+"</span>",c+='<input class="k-timezone-toggle" data-role="switch" type="checkbox">',c+="</label></li>"),!e.editable||e.editable(r.field)?(c+='<li class="k-item">',c+="timezone"===r.field?'<label class="k-label" data-bind="css: { k-state-disabled: isAllDay }">':'<label class="k-label">',c+='<span class="k-item-title">'+(r.title||r.field||"")+"</span>",i.push(r),c+="<div "+B.attr("container-for")+'="'+r.field+'"></div>'):(o="#:",c+='<li class="k-item">',c+='<label class="k-label k-no-click">',c+='<span class="k-item-title">'+(r.title||r.field||"")+"</span>",r.field?(r=B.expr(r.field,d),o+=r+"==null?'':"+r):o+="''",o+="#",o=B.template(o,l),c+='<span class="k-no-editor">'+o(e)+"</span>"),c+="</label></li>","recurrenceRule"===r.field&&(c+="</ul><ul>"),"endTimezone"===r.field&&(c+=this._createEndTimezoneButton());return c+="</ul>"},_buildEditTemplate:function(e,t,i,n){var a=j({},B.Template,this.options.templateSettings),r=this.options.editable.template,o="";return r?(typeof r===U&&(r=window.unescape(r)),o+=B.template(r,a)(e)):o+=n?'<div data-role="content">'+this._buildMobileEditTemplate(e,t,i)+"</div>":this._buildDesktopEditTemplate(e,t,i),o},_createEndTimezoneButton:function(){return"</ul></div>"},_revertTimezones:function(e){e.set("startTimezone",this._startTimezone),e.set("endTimezone",this._endTimezone),delete this._startTimezone,delete this._endTimezone}}),D=T.extend({init:function(){T.fn.init.apply(this,arguments),this.pane=B.Pane.wrap(this.element,{viewEngine:{viewOptions:{renderOnInit:!0,wrap:!1,wrapInSections:!0,detachOnHide:!1,detachOnDestroy:!1}}}),this.pane.element.parent().css("height",this.options.height),this.view=this.pane.view()},options:{animations:{left:"slide",right:"slide:right"}},destroy:function(){this.close(),this.unbind(),this.pane.destroy()},_initTimezoneEditor:function(t){var n,a=this,r=a.pane,o=a.options.messages,s=a.timezoneView,l=s?s.content.find(".k-scheduler-timezones"):a.container.find(".k-scheduler-timezones"),d=l.find("input.k-timezone-toggle").data("kendoSwitch"),c=l.find("li.k-item:not(.k-zonepicker):last"),u=function(e){if("startTimezone"===e.field){var i=t.startTimezone;d.enable(i),i||(c.hide(),t.set("endTimezone",""),d.value(!1))}};a._startTimezone=t.startTimezone||"",a._endTimezone=t.endTimezone||"",s||(n='<div data-role="view" class="k-popup-edit-form k-scheduler-edit-form k-mobile-list"><div data-role="header" class="k-header"><a href="\\#" class="k-header-cancel k-scheduler-cancel k-link" title="'+o.cancel+'"aria-label="'+o.cancel+'"><span class="k-icon k-i-arrow-chevron-left"></span></a>'+o.editor.timezoneTitle+'<a href="\\#" class="k-header-done k-scheduler-update k-link" title="'+o.save+'" aria-label="'+o.save+'"><span class="k-icon k-i-check"></span></a></div><div data-role="content"></div>',this.timezoneView=s=r.append(n),s.contentElement.append(l.show()),s.element.on(ee+G,".k-scheduler-cancel, .k-scheduler-update",function(n){var s,l;n.preventDefault(),n.stopPropagation(),e(this).hasClass("k-scheduler-cancel")&&a._revertTimezones(t),t.unbind("change",u),s=a._editPane,l=i(t,o.editor.noTimezone),s.content.find(".k-timezone-label").text(l),r.navigate(s,a.options.animations.right)}),d.bind("change",function(e){c.toggle(e.checked),t.set("endTimezone","")}),t.bind("change",u)),d.value(!!t.endTimezone),d.enable(!!t.startTimezone),t.endTimezone?c.show():c.hide(),r.navigate(s,a.options.animations.left)},showDialog:function(t){var i=t.buttons.map(function(e){return{text:e.text,action:e.click}});i.push({text:this.options.messages.cancel,primary:!0}),e("<div />").appendTo(document.body).kendoDialog({close:function(){this.destroy()},modal:{preventScroll:!0},closable:!1,title:!1,content:t.text,actions:i})},editEvent:function(t){var i,n,a,r,o,s,l,d=this.pane,c="",u=this.options.messages,p=u.save,h=u.destroy,f=u.cancel,v=u.editor.editorTitle,m=u.resetSeries;return c+='<div data-role="view" class="k-popup-edit-form k-scheduler-edit-form k-mobile-list"'+B.attr("uid")+'="'+t.uid+'"><div data-role="header" class="k-header"><a href="\\#" class="k-header-cancel k-scheduler-cancel k-link" title="'+f+'"aria-label="'+f+'"><span class="k-icon k-i-arrow-chevron-left"></span></a>'+v+'<a href="\\#" class="k-header-done k-scheduler-update k-link" title="'+p+'" aria-label="'+p+'"><span class="k-icon k-i-check"></span></a></div>',i=this.fields(z.mobile,t),n=this,a=[],c+=this._buildEditTemplate(t,i,a,!0),c+="</div>",r=d.append(c),!t.isNew()&&this.options.editable&&this.options.editable.destroy!==!1&&t.isRecurrenceHead()&&t.recurrenceException&&(o='<ul class="k-edit-buttons"><li class="k-item"><span href="#" class="k-scheduler-resetSeries k-label" aria-label="'+m+'">'+m+"</span></li></ul>",r.contentElement.append(o)),!t.isNew()&&this.options.editable&&this.options.editable.destroy!==!1&&(s='<ul class="k-edit-buttons"><li class="k-item"><span href="#" class="k-scheduler-delete k-label" aria-label="'+h+'">'+h+"</span></li></ul>",r.contentElement.append(s)),this._editPane=r,l=this.container=r.element,this.editable=l.kendoEditable({fields:a,model:t,clearContainer:!1,target:n.options.target,validateOnBlur:!0}).data("kendoEditable"),this.trigger("edit",{container:l,model:t})?this.trigger("cancel",{container:l,model:t}):(l.on(ee+G,"a.k-scheduler-edit, a.k-scheduler-cancel, a.k-scheduler-update, span.k-scheduler-delete, span.k-scheduler-resetSeries",function(i){var a,r;i.preventDefault(),i.stopPropagation(),a=e(this),a.hasClass("k-scheduler-edit")?d.navigate(this._editPane,n.options.animations.right):(r="cancel",a.hasClass("k-scheduler-update")?r="save":a.hasClass("k-scheduler-delete")?r="remove":a.hasClass("k-scheduler-resetSeries")&&(r=ue),n.trigger(r,{container:l,model:t}))}),d.navigate(r,n.options.animations.left),t.bind("change",n.toggleDateValidationHandler)),this.editable},_views:function(){return this.pane.element.find(B.roleSelector("view")).not(this.view.element)},close:function(){var e,t,i,n;if(this.container){for(this.pane.navigate("",this.options.animations.right),e=this._views(),i=0,n=e.length;i<n;i++)t=e.eq(i).data("kendoView"),t&&t.purge();e.remove(),this.container=null,this.editable&&(this.editable.options.model.unbind("change",this.toggleDateValidationHandler),this.editable.destroy(),this.editable=null),this.timezoneView=null}}}),x=T.extend({destroy:function(){this.close(),this.unbind()},editEvent:function(t){var i,n,a,r=this,o=r.options.editable,s="<div "+B.attr("uid")+'="'+t.uid+'" class="k-popup-edit-form k-scheduler-edit-form"><div class="k-edit-form-container">',l=r.options.messages,d=l.save,c=l.cancel,u=l.destroy,p=l.resetSeries,h=this.fields(z.desktop,t),f=[];return s+=this._buildEditTemplate(t,h,f,!1),n=$(o)?o.window:{},s+='<div class="k-edit-buttons k-state-default">',s+=this.createButton({name:"update",text:d,attr:i})+this.createButton({name:"canceledit",text:c,attr:i}),!t.isNew()&&o.destroy!==!1&&t.isRecurrenceHead()&&t.recurrenceException&&(s+=this.createButton({name:"resetSeries",text:p,attr:i})),t.isNew()||o.destroy===!1||(s+=this.createButton({name:"delete",text:u,attr:i})),s+="</div></div></div>",a=this.container=e(s).appendTo(r.element).eq(0).kendoWindow(j({modal:!0,resizable:!1,draggable:!0,title:l.editor.editorTitle,visible:!1,close:function(e){e.userTriggered&&r.trigger(de,{container:a,model:t})&&e.preventDefault()}},n)),r.editable=a.kendoEditable({fields:f,model:t,clearContainer:!1,validateOnBlur:!0,target:r.options.target}).data("kendoEditable"),r.trigger(fe,{container:a,model:t})?r.trigger(de,{container:a,model:t}):(a.data("kendoWindow").center().open(),a.on(ee+G,"a.k-scheduler-cancel",function(e){e.preventDefault(),e.stopPropagation(),r.trigger(de,{container:a,model:t})}),a.on(ee+G,"a.k-scheduler-update",function(e){e.preventDefault(),e.stopPropagation(),r.trigger("save",{container:a,model:t})}),a.on(ee+G,"a.k-scheduler-delete",function(e){e.preventDefault(),e.stopPropagation(),r.trigger(ce,{container:a,model:t})}),a.on(ee+G,"a.k-scheduler-resetSeries",function(e){e.preventDefault(),e.stopPropagation(),r.trigger(ue,{container:a,model:t})}),B.cycleForm(a),t.bind("change",r.toggleDateValidationHandler)),r.editable},close:function(){var e=this,t=function(){e.editable&&(e.editable.options.model.unbind("change",e.toggleDateValidationHandler),e.editable.destroy(),e.editable=null,e.container=null),e.popup&&(e.popup.destroy(),e.popup=null)};e.editable?(e._timezonePopup&&e._timezonePopup.data("kendoWindow")&&(e._timezonePopup.data("kendoWindow").destroy(),e._timezonePopup=null),e.container.is(":visible")?e.container.data("kendoWindow").bind("deactivate",t).close():t()):t()},_createEndTimezoneButton:function(){var e=this.options.messages,t="";return t+='<div class="k-edit-buttons k-state-default">',t+=this.createButton({name:"savetimezone",text:e.save})+this.createButton({name:"canceltimezone",text:e.cancel}),t+="</div></div></div>"},showDialog:function(t){var i,n,a,r=B.format("<div class='k-popup-edit-form'><div class='k-edit-form-container'><p class='k-popup-message'>{0}</p>",t.text);for(r+='<div class="k-edit-buttons k-state-default">',i=0;i<t.buttons.length;i++)r+=this.createButton(t.buttons[i]);r+="</div></div></div>",n=this.element,this.popup&&this.popup.destroy(),a=this.popup=e(r).appendTo(n).eq(0).on(ee,".k-button",function(i){i.preventDefault(),a.close();var n=e(i.currentTarget).index();t.buttons[n].click()}).kendoWindow({modal:!0,resizable:!1,draggable:!1,title:t.title,visible:!1,close:function(){this.destroy(),n.focus()}}).getKendoWindow(),a.center().open()},_initTimezoneEditor:function(e,t){var i,n=this,a=n.container.find(".k-scheduler-timezones"),r=a.find("input.k-timezone-toggle"),o=a.find(".k-edit-label:last").add(a.find(".k-edit-field:last")),s=a.find(".k-scheduler-savetimezone"),l=a.find(".k-scheduler-canceltimezone"),d=n._timezonePopup,c=function(t){ if("startTimezone"===t.field){var i=e.startTimezone;r.prop("disabled",!i),i||(o.hide(),e.set("endTimezone",""),r.prop("checked",!1))}};n._startTimezone=e.startTimezone,n._endTimezone=e.endTimezone,d||(n._timezonePopup=d=a.kendoWindow({modal:!0,resizable:!1,draggable:!0,title:n.options.messages.editor.timezoneEditorTitle,visible:!1,close:function(i){e.unbind("change",c),i.userTriggered&&n._revertTimezones(e),t&&t.focus()}}),r.click(function(){o.toggle(r.prop("checked")),e.set("endTimezone","")}),s.click(function(e){e.preventDefault(),i.close()}),l.click(function(t){t.preventDefault(),n._revertTimezones(e),i.close()}),e.bind("change",c)),r.prop("checked",e.endTimezone).prop("disabled",!e.startTimezone),e.endTimezone?o.show():o.hide(),i=d.data("kendoWindow"),i.center().open()}}),S=q.extend({init:function(t,i){var n=this;L.fn.init.call(n,t,i),n.options.views&&n.options.views.length||(n.options.views=["day","week"]),n.resources=[],n._initModel(),n._wrapper(),n._views(),n._toolbar(),n._dataSource(),n._resources(),n._resizeHandler=function(){n.resize()},n.wrapper.on(te+G+" selectstart"+G,function(t){e(t.target).is(":kendoFocusable")||t.preventDefault()}),n.options.editable&&n.options.editable.resize!==!1&&n._resizable(),n._movable(),n._bindResize(),n.options.messages&&n.options.messages.recurrence&&(W.options=n.options.messages.recurrence),n._selectable(),n._touchHandlers(),n._ariaId=B.guid(),n._createEditor()},_bindResize:function(){e(window).on("resize"+G,this._resizeHandler)},_unbindResize:function(){e(window).off("resize"+G,this._resizeHandler)},dataItems:function(){var i,n,a,r,o,s=this,l=s.items(),d=s._data,c=e.map(l,function(t){return e(t).attr("data-uid")}),u={},p=c.length;for(i=0;i<p;i++)u[c[i]]=null;for(a=d.length,i=0;i<a;i++)r=d[i],u[r.uid]!==t&&(u[r.uid]=r);o=[];for(n in u)o.push(u[n]);return o},_isMobile:function(){var e=this.options;return e.mobile===!0&&B.support.mobileOS||"phone"===e.mobile||"tablet"===e.mobile},_isTouch:function(e){return/touch/.test(e.type)||e.originalEvent&&/touch/.test(e.originalEvent.pointerType)},_isInverseColor:function(e){return e.hasClass(_e)},_groupsByResource:function(e,t,i,n,a){var r,o,s,l,d,c,u;if(i||(i=[]),r=e[0]){for(s=r.dataSource.view(),l=0,d=0;d<s.length;d++)c=B.getter(r.dataValueField)(s[d]),u=t+l+d,o=this._groupsByResource(e.slice(1),u,i,c,r.field),o[r.field]=c,l=o.groupIndex,a&&n&&(o[a]=n),1===e.length&&(o.groupIndex=t+d,i.push(o));return o}return{}},data:function(){return this._data},select:function(i){var n,a,r,o,s,l,d,c,u,p,h=this,f=h.view(),v=h._selection,m=f.groups;if(i===t)return r=f._selectedSlots,v?(v&&v.events&&(a=h._selectedEvents()),{start:v.start,end:v.end,events:a,slots:r,resources:f._resourceBySlot(v)}):[];if(!i)return h._selection=null,h._old=null,f.clearSelection(),t;if(e.isArray(i)&&(i={events:i.splice(0)}),i.resources){s=[],l=[],f.groupedResources&&h._groupsByResource(f.groupedResources,0,l);for(o in i.resources)s.push({field:o,operator:"eq",value:i.resources[o]});n=new B.data.Query(l).filter(s).toArray()}return i.events&&i.events.length?(h._selectEvents(i.events,n),h._select(),t):(m&&i.start&&i.end&&(d=A(f._startDate),c=B.date.addDays(A(f._endDate),1),i.start<c&&d<=i.end&&(u=n&&n.length?m[n[0].groupIndex]:m[0],u.timeSlotCollectionCount()||(i.isAllDay=!0),p=u.ranges(i.start,i.end,i.isAllDay,!1),p.length&&(h._selection={start:B.timezone.toLocalDate(p[0].start.start),end:B.timezone.toLocalDate(p[p.length-1].end.end),groupIndex:p[0].start.groupIndex,index:p[0].start.index,isAllDay:p[0].start.isDaySlot,events:[]},h._select()))),t)},_selectEvents:function(e,t){var i,n,a,r,o,s,l,d,c=this,u=c.view(),p=u.groups,h=e.length,f=t&&t.length;for(i=0;i<h;i++)if(p&&f){for(n=p[t[0].groupIndex],a=[],r=n.timeSlotCollectionCount(),o=n.daySlotCollectionCount(),s=0;s<r;s++)a=a.concat(n.getTimeSlotCollection(s).events());for(l=0;l<o;l++)a=a.concat(n.getDaySlotCollection(l).events());a=new B.data.Query(a).filter({field:"element[0].getAttribute('data-uid')",operator:"eq",value:e[i]}).toArray(),a[0]&&c._createSelection(a[0].element)}else d=u.element.find(B.format(".k-event[data-uid={0}], .k-task[data-uid={0}]",e[i])),d.length&&c._createSelection(d[0])},_touchHandlers:function(){var t,i,n,a,r,o=this,s=o.wrapper,l=e.proxy(o._touchMove,o);s.on(ie+G,".k-scheduler-header-all-day td, .k-scheduler-content td, .k-event",function(e){var n=o.wrapper.find(".k-scheduler-content");o._isTouch(e)&&(n.stop(!0,!1),o._touchPosX=t=o._tapPosition(e,"X"),o._touchPosY=i=o._tapPosition(e,"Y"),o._userTouched=!0,o.view()._scrolling=!1,r=Date.now(),s.on(ne+G,".k-scheduler-header-all-day td, .k-scheduler-content td, .k-event",l))}),s.on(ae+G,".k-scheduler-header-all-day td, .k-scheduler-content td, .k-event",function(e){var d,c,u;o._isTouch(e)&&(d=Date.now()-r,c=o.wrapper.find(".k-scheduler-content"),u=-o._amplitude*(3e3/d),n=o._tapPosition(e,"X"),a=o._tapPosition(e,"Y"),o._dragging||(o.options.selectable&&(Math.abs(n-t)<=10||Math.abs(a-i)<=10)&&o._mouseDownSelection(e),!B.support.kineticScrollNeeded&&d<200&&Math.abs(n-t)>10&&c.animate({scrollTop:c[0].scrollTop+u}),s.off(ne+G,".k-scheduler-header-all-day td, .k-scheduler-content td",l)))})},_selectable:function(){var t,i=this,n=i.wrapper;i.options.selectable&&(i._tabindex(),n.on(te+G,".k-scheduler-header-all-day td, .k-scheduler-content td, .k-event",function(e){i._isTouch(e)||i._mouseDownSelection(e)}),t=e.proxy(i._mouseMove,i),n.on(te+G,".k-scheduler-header-all-day td, .k-scheduler-content td",function(e){var a=e.which,r=e.button,o=a&&3===a||r&&2==r;i._isTouch(e)||o||n.on(re+G,".k-scheduler-header-all-day td, .k-scheduler-content td",t)}),n.on("mouseup"+G+" mousecancel"+G,function(){n.off(re+G,".k-scheduler-header-all-day td, .k-scheduler-content td",t)}),n.on("focus"+G,function(){i._selection||i._userTouched||i._selectFirstSlot(),i._select()}),n.on("focusout"+G,function(t){i._ctrlKey=i._shiftKey=!1,i.toolbar.find("ul > li").removeClass(ve),e(t.relatedTarget).closest(ge).length||i.toolbar.find(ge).removeClass(me)}),n.on("keydown"+G,X(i._keydown,i)),n.on("keyup"+G,function(e){i._ctrlKey=e.ctrlKey,i._shiftKey=e.shiftKey}))},_mouseDownSelection:function(e){var t=e.which,i=e.button,n=t&&3===t||i&&2==i;n||(e.ctrlKey&&(this._ctrlKey=e.ctrlKey),e.shiftKey&&(this._shiftKey=e.shiftKey),this._createSelection(e.currentTarget)),B._activeElement()!==this.wrapper.get(0)?B.focusElement(this.wrapper):this._select(),this.toolbar.find("ul > li").removeClass(ve)},_selectFirstSlot:function(){this._createSelection(this.wrapper.find(".k-scheduler-content").find("td:first"))},_select:function(){var t,i,n,a,r,o=this,s=o.view(),l=o.wrapper,d=s.current(),c=o._selection,u=o._old?o._old.selection:null,p=o._old?o._old.eventsLength:null;if(c&&(d&&(d.removeAttribute("id"),d.removeAttribute("aria-label"),l.removeAttr("aria-activedescendant")),s.select(c),d=s.current(),d&&(u!==d||c.events&&p!==c.events.length))){if(t=e(d).data("uid"),o._old&&t&&t===e(o._old.selection).data("uid")&&c.events&&o._old.eventsLength===c.events.length)return;n=c,a=o._selectedEvents(),r=s._selectedSlots,a[0]?(n=a[0]||c,i=B.format(o.options.messages.ariaEventLabel,n.title,n.start,n.start)):i=B.format(o.options.messages.ariaSlotLabel,n.start,n.end),d.setAttribute("id",o._ariaId),d.setAttribute("aria-label",i),l.attr("aria-activedescendant",o._ariaId),o._old={selection:d,eventsLength:a.length},o.trigger("change",{start:c.start,end:c.end,events:a,slots:r,resources:s._resourceBySlot(c)})}},_selectedEvents:function(){for(var e,t=this._selection.events,i=t.length,n=0,a=[];n<i;n++)e=this.occurrenceByUid(t[n]),e&&a.push(e);return a},_tapPosition:function(e,t){return/touch/.test(e.type)?(e.originalEvent||e).changedTouches[0]["page"+t]:e["page"+t]},_touchMove:function(e){var t=this,i=t.wrapper.find(".k-scheduler-content"),n=i[0].scrollHeight>i[0].clientHeight,a=i[0].scrollWidth>i[0].clientWidth,r=t._tapPosition(e,"Y"),o=t._tapPosition(e,"X"),s=i[0].scrollTop-Math.round(r-t._touchPosY),l=i[0].scrollLeft-Math.round(o-t._touchPosX),d=n&&Math.abs(r-t._touchPosY)>10,c=a&&Math.abs(r-t._touchPosY)>10;t._dragging||B.support.kineticScrollNeeded||!t._isTouch(e)||(d||c)&&(t._amplitude=Math.round(r-t._touchPosY),t._touchPosY=r,t._touchPosX=o,i.animate({scrollTop:s,scrollLeft:l},0),t.view()._scrolling=!0)},_mouseMove:function(t){var i=this;clearTimeout(i._moveTimer),i._isTouch(t)||(i._moveTimer=setTimeout(function(){var n,a,r,o=i.view(),s=i._selection;s&&(n=o.selectionByElement(e(t.currentTarget)),n&&s.groupIndex===n.groupIndex&&(a=n.startDate(),r=n.endDate(),a>=s.end?s.backward=!1:r<=s.start&&(s.backward=!0),s.backward?s.start=a:s.end=r,i._select()))},5))},_viewByIndex:function(e){var t,i=this.views;for(t in i){if(!e)return t;e--}},_keydown:function(i){var n,a,r,o,s,l,d=this,c=i.keyCode,u=d.view(),p=u.options.editable,h=d._selection,f=e.extend(h),v=16===c||18===c||17===c||91===c||92===c,m=".k-scheduler-tools > li,.k-scheduler-navigation > li,.k-scheduler-views > li.k-state-selected:visible, .k-scheduler-views > li.k-current-view:visible",g=d.toolbar.find(m),_=d.toolbar.find(ge),k=e(i.target).closest(ge).length||d.toolbar.find(".k-scheduler-views .k-state-focused").length,w=_.children().index(d.toolbar.find("."+ve)),b=B.support.isRtl(d.element),y=b?-1:1;if(w==-1&&(w=_.children().index(d.toolbar.find(".k-state-selected"))),d._ctrlKey=i.ctrlKey,d._shiftKey=i.shiftKey,c===F.F10)return d.toolbar.find("ul > li:first").focus().addClass(ve),i.preventDefault(),t;if(c===F.TAB){if(d.toolbar.find("."+ve).length)return a=g.index(d.toolbar.find("."+ve)),a===-1&&d._focusedView&&(a=g.index(d.toolbar.find(".k-scheduler-views > .k-state-selected"))),r=i.shiftKey?g[a-1]:g[a+1],d.toolbar.find("."+ve).removeClass(ve),r?(e(r).addClass(ve).focus(),d._focusedView=null,i.preventDefault(),t):(d.element.focus(),i.preventDefault(),t)}else if(c===F.ENTER||c===F.SPACEBAR){if(k&&d._focusedView&&!d._focusedView.hasClass("k-state-selected"))return o=d._focusedView.data().name,d.trigger("navigate",{view:o,action:"changeView",date:d.date()})||(d.view(o),_.removeClass(me),d.toolbar.find(".k-current-view:visible").length&&(e(document.activeElement).blur(),d.toolbar.find(".k-current-view:visible").addClass(ve).find(".k-link").focus())),i.preventDefault(),t;if(d.toolbar.find("."+ve+":visible").length)return d.toolbar.find("."+ve+":visible").click(),i.preventDefault(),t}else if(i.altKey&&c===F.DOWN){if(d.toolbar.find("."+ve+":visible").length)return d.toolbar.find("."+ve+":visible").click(),i.preventDefault(),t}else{if(c===F.RIGHT&&k)return e(d.toolbar.find("."+ve)).removeClass(ve),d._focusedView=e(b?w-1===0?_.children(":not(.k-current-view):last"):_.children()[w+1*y]:w+1===_.children().length?_.children(":not(.k-current-view):first"):_.children()[w+1*y]),d._focusedView.focus().addClass(ve),i.preventDefault(),t;if(c===F.LEFT&&k)return e(d.toolbar.find("."+ve)).removeClass(ve),d._focusedView=e(b?w+1===_.children().length?_.children(":not(.k-current-view):first"):_.children()[w-1*y]:w-1===0?_.children(":not(.k-current-view):last"):_.children()[w-1*y]),d._focusedView.focus().addClass(ve),i.preventDefault(),t;if(c===F.DOWN&&d.toolbar.find(ge).hasClass(me))return d.toolbar.find("."+ve).removeClass(ve),n=d._focusedView?_.find(d._focusedView).index():_.children(".k-scheduler-views > .k-state-selected").index(),d._focusedView=e(n+1===_.children().length?_.children(":not(.k-current-view):first"):_.children()[n+1*y]),d._focusedView.focus().addClass(ve),i.preventDefault(),t;if(c===F.UP&&d.toolbar.find(ge).hasClass(me))return d.toolbar.find("."+ve).removeClass(ve),n=d._focusedView?_.find(d._focusedView).index():_.children(".k-scheduler-views > .k-state-selected").index(),d._focusedView=e(n-1===0?_.children(":not(.k-current-view):last"):_.children()[n-1*y]),d._focusedView.focus().addClass(ve),i.preventDefault(),t;if(i.altKey&&c===F.DOWN&&d.toolbar.find(".k-nav-current").hasClass(ve))return d._showCalendar(),i.preventDefault(),t;if(c===F.ESC&&d.popup&&d.popup.visible())return d.popup.close(),i.preventDefault(),t;if(c===F.ESC&&d.toolbar.find(ge).hasClass(me))return d.toolbar.find(ge).removeClass(me),d.toolbar.find(ge).children().removeClass(ve),d._focusedView=null,d.toolbar.find(".k-current-view").focus().addClass(ve),i.preventDefault(),t}if(!v){if(!h)return d._selectFirstSlot(),d._select(),d.element.focus(),t;c===F.TAB?u.moveToEvent(h,i.shiftKey)&&(d._select(),d.element.focus(),i.preventDefault()):c===F.ENTER||c===F.SPACEBAR?h.events.length&&p?p.update!==!1&&d.editEvent(h.events[0]):p&&p.create!==!1&&(h.isAllDay&&(h=e.extend({},h,{end:B.date.addDays(h.end,-1)})),i.preventDefault(),d.addEvent(j({},h,u._resourceBySlot(h)))):c===F.DELETE&&p!==!1&&p.destroy!==!1?d.removeEvent(h.events[0]):c>=49&&c<=57?(s=d._viewByIndex(c-49),s&&!d.trigger("navigate",{view:s,action:"changeView",date:d.date()})&&d.view(s)):u.move(h,c,i.shiftKey)&&(u.inRange(h)?d._select():(l=d.date().getTime()>h.start.getTime()?"previous":"next",d.trigger("navigate",{view:d._selectedViewName,action:l,date:h.start})?(h.start=f.start,h.end=f.end):d.date(h.start)),d.toolbar.find("ul > li").removeClass(ve),i.preventDefault()),d._adjustSelectedDate()}},_createSelection:function(t){var i,n,a=this._selection;t=e(t),t.is(".k-event")&&(i=t.attr(B.attr("uid")),a&&a.events.indexOf(i)!==-1&&!this._ctrlKey)||(a&&(this._ctrlKey||this._shiftKey)||(a=this._selection={events:[],groupIndex:0}),n=this.view().selectionByElement(t),n&&(a.groupIndex=n.groupIndex||0),i&&(n=d(this._data,i)),n&&n.uid&&(i=[n.uid]),this._updateSelection(n,i),this._adjustSelectedDate())},_updateSelection:function(e,i,n){var a,r,o,s=this._selection;e&&s&&(a=this.view(),e.uid&&(e=a._updateEventForSelection(e)),this._shiftKey&&s.start&&s.end?(r=e.end<s.end,s.end=e.endDate?e.endDate():e.end,r&&a._timeSlotInterval&&B.date.setTime(s.end,-a._timeSlotInterval())):(s.start=e.startDate?e.startDate():e.start,s.end=e.endDate?e.endDate():e.end),s.isAllDay="isDaySlot"in e?e.isDaySlot:e.isAllDay,null!==n&&n!==t&&(s.groupIndex=n),s.index=e.index,this._ctrlKey?(o=i&&i.length?s.events.indexOf(i[0]):-1,o>-1?s.events.splice(o,1):s.events=s.events.concat(i||[])):s.events=i||[])},options:{name:"Scheduler",date:we,editable:!0,autoBind:!0,snap:!0,mobile:!1,timezone:"",allDaySlot:!0,min:new Date(1900,0,1),max:new Date(2099,11,31),toolbar:null,workWeekStart:1,workWeekEnd:5,showWorkHours:!1,startTime:we,endTime:we,currentTimeMarker:{updateInterval:1e4,useLocalTimezone:!0},footer:{},messages:{today:"Today",pdf:"Export to PDF",save:"Save",cancel:"Cancel",destroy:"Delete",resetSeries:"Reset Series",deleteWindowTitle:"Delete event",next:"Next",previous:"Previous",ariaSlotLabel:"Selected from {0:t} to {1:t}",ariaEventLabel:"{0} on {1:D} at {2:t}",views:{day:"Day",week:"Week",workWeek:"Work Week",agenda:"Agenda",month:"Month",timeline:"Timeline",timelineWeek:"Timeline Week",timelineWorkWeek:"Timeline Work Week",timelineMonth:"Timeline Month"},recurrenceMessages:{deleteWindowTitle:"Delete Recurring Item",resetSeriesWindowTitle:"Reset Series",deleteWindowOccurrence:"Delete current occurrence",deleteWindowSeries:"Delete the series",editWindowTitle:"Edit Recurring Item",editWindowOccurrence:"Edit current occurrence",editWindowSeries:"Edit the series"},editable:{confirmation:Te},editor:{title:"Title",start:"Start",end:"End",allDayEvent:"All day event",description:"Description",repeat:"Repeat",timezone:"Timezone",startTimezone:"Start timezone",endTimezone:"End timezone",separateTimezones:"Use separate start and end time zones",timezoneEditorTitle:"Timezones",timezoneEditorButton:"Time zone",timezoneTitle:"Time zones",noTimezone:"No timezone",editorTitle:"Event"}},height:null,width:null,resources:[],group:{resources:[],orientation:"horizontal"},views:[],selectable:!1},events:[ce,fe,de,pe,"add","dataBinding","dataBound","moveStart","move","moveEnd","resizeStart","resize","resizeEnd","navigate","change"],destroy:function(){var t,i,n,a=this;if(L.fn.destroy.call(a),a.dataSource&&(a.dataSource.unbind(oe,a._refreshHandler),a.dataSource.unbind(se,a._progressHandler),a.dataSource.unbind(le,a._errorHandler)),a._resourceRefreshHandler)for(i=0;i<a.resources.length;i++)n=a.resources[i].dataSource,n.unbind(oe,a._resourceRefreshHandler),n.unbind(se,a._resourceProgressHandler),n.unbind(le,a._resourceErrorHandler);a.calendar&&(a.calendar.destroy(),a.popup.destroy()),a.view()&&a.view().destroy(),a._editor&&a._editor.destroy(),this._moveDraggable&&this._moveDraggable.destroy(),this._resizeDraggable&&this._resizeDraggable.destroy(),t=a.element.add(a.wrapper).add(a.toolbar).add(a.popup),t.off(G),clearTimeout(a._moveTimer),a._model=null,a.toolbar=null,a.element=null,e(window).off("resize"+G,a._resizeHandler),B.destroy(a.wrapper)},setDataSource:function(e){this.options.dataSource=e,this._dataSource(),this.options.autoBind&&e.fetch?e.fetch():Z(e)&&this.view(this._selectedView)},items:function(){var e=this.wrapper.find(".k-scheduler-content"),t=this.view();return t&&"agenda"===t.options.name?e.find(".k-task"):e.find(".k-event").add(this.wrapper.find(".k-scheduler-header-wrap").find(".k-scheduler-header-all-day").siblings())},_movable:function(){var i,n,a,r,o,s,l,d,c,u,p=this,h=0,f=[],v=[],m=p._isMobile(),g=p.options.editable&&p.options.editable.move!==!1,_=p.options.editable&&p.options.editable.resize!==!1;(g||_&&m)&&(p._dragging=!1,m&&B.support.mobileOS.android&&(h=5),p._moveDraggable=new B.ui.Draggable(p.element,{distance:h,filter:".k-event",ignore:".k-resize-handle",holdToDrag:m,autoScroll:!0}),g&&p._moveDraggable.bind("dragstart",function(e){var o,h,v,m,g=p.view(),_=e.currentTarget,k=p._isTouch(e);if(p._dragging=!0,!g.options.editable||g.options.editable.move===!1)return p._dragging=!1,e.preventDefault(),t;if(k&&!_.hasClass("k-event-active"))return p._dragging=!1,p.element.find(".k-event-active").removeClass("k-event-active"),e.preventDefault(),t;if(s=p.occurrenceByUid(_.attr(B.attr("uid"))),l=s.clone(),u=s.clone(),l.update(g._eventOptionsForMove(l)),l.inverseColor=p._isInverseColor(_),f=[],p._selection)f