Jonathan Ouellette 580e90f6a2 initial add
2022-09-27 14:10:30 -07:00

11 lines
52 KiB
JavaScript

/*
* Kendo UI Complete v2013.3.1119 (http://kendoui.com)
* Copyright 2013 Telerik AD. All rights reserved.
*
* Kendo UI Complete commercial licenses may be obtained at
* https://www.kendoui.com/purchase/license-agreement/kendo-ui-complete-commercial.aspx
* If you do not own a commercial license, this file shall be governed by the trial license terms.
*/
!function(define){return define(["./kendo.dropdownlist.min","./kendo.editable.min","./kendo.multiselect.min","./kendo.window.min","./kendo.datepicker.min","./kendo.scheduler.recurrence.min","./kendo.scheduler.view.min","./kendo.scheduler.dayview.min","./kendo.scheduler.agendaview.min","./kendo.scheduler.monthview.min","./kendo.mobile.actionsheet.min","./kendo.mobile.pane.min"],function(){!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.dateCompare,i&&L(i)&&i.message&&(e[B.attr("dateCompare-msg")]=i.message))}function o(e,t){return function(i){return i=e(i),s(i,"apply",t),i||[]}}function r(e,t){return function(i){return i&&("[object Array]"===Q.call(i)||i instanceof B.data.ObservableArray||(i=[i])),s(i,"remove",t,!0),i=e(i),i||[]}}function s(e,t,i,n){var a,o,r;for(e=e||[],o=0,r=e.length;r>o;o++)a=e[o],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;n>a;a++)if(i=e[a],i.uid===t)return i}function l(e){var t=new Date(1980,0,1);return t.setHours(e.getHours(),e.getMinutes(),e.getSeconds(),e.getMilliseconds()),t}function c(e){var t,i,n,a,o,r,s,d,l,c,u,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]&&(r=B.widgetInstance(i,B.ui),s=B.widgetInstance(n,B.ui),d=t.data("kendoEditable"),l=d?d.options.model:null,r&&s?(a=r.value(),o=s.value()):(a=B.parseDate(i.val()),o=B.parseDate(n.val())),a&&o))?(l&&(c=i.attr(B.attr("timezone")),u=l.startTimezone,h=l.endTimezone,u=u||h,h=h||u,u&&(c?(a=B.timezone.convert(l.start,u,c),o=B.timezone.convert(l.end,h,c)):(a=B.timezone.remove(l.start,u),o=B.timezone.remove(l.end,h)))),o>=a):!0}function u(e,t,i,n){for(var a=e.length,o=[],r=0;a>r;r++)o=o.concat(e[r].expand(t,i,n));return o}function h(e){return delete e.name,delete e.prefix,delete e.remove,delete e.edit,delete e.add,delete e.navigate,e}function p(t){return function(i){e(B.format('<select data-{0}bind="value:{1}">',B.ns,t.field)).appendTo(i).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 m(t){return function(i){var n,a,o="",r=t.dataSource.view();for(n=0,a=r.length;a>n;n++)o+=B.format('<option value="{0}">{1}</option>',B.getter(t.dataValueField)(r[n]),B.getter(t.dataTextField)(r[n]));e(B.format('<select data-{0}bind="value:{1}">{2}</select>',B.ns,t.field,o)).appendTo(i)}}function v(t){return function(i){e(B.format('<select data-{0}bind="value:{1}">',B.ns,t.field)).appendTo(i).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 f(t){return function(i){var n,a,o="",r=t.dataSource.view();for(n=0,a=r.length;a>n;n++)o+=B.format('<option value="{0}">{1}</option>',B.getter(t.dataValueField)(r[n]),B.getter(t.dataTextField)(r[n]));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)}}function g(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),{start:a,end:i}}var k,_,w,z,b,y,T,D,x,S,E,B=window.kendo,P=B.date,R=B.support.input,H=P.MS_PER_DAY,V=P.getDate,C=B.date.getMilliseconds,M=B.recurrence,I=B.keys,A=B.ui,O=A.Widget,W="string",N=A.Popup,F=A.Calendar,U=B.data.DataSource,L=e.isPlainObject,K=e.extend,q=e.proxy,Q=Object.prototype.toString,j=e.isArray,J=".kendoScheduler",Z="click",Y="change",$="cancel",G="remove",X="save",et="add",tt="edit",it=V(new Date),nt="recurrenceException",at="yyyyMMddTHHmmssZ",ot="Are you sure you want to delete this event?",rt="Do you want to delete only this event occurrence or the whole series?",st="Do you want to edit only this event occurrence or the whole series?",dt='<a class="k-button #=className#" #=attr# href="\\#">#=text#</a>',lt=B.template('<div class="k-floatwrap k-header k-scheduler-toolbar k-secondary"><ul class="k-reset k-header k-toolbar k-scheduler-navigation"><li class="k-state-default k-nav-today"><a role="button" href="\\#" class="k-link">${messages.today}</a></li><li class="k-state-default k-nav-prev"><a role="button" href="\\#" class="k-link"><span class="k-icon k-i-arrow-w"></span></a></li><li class="k-state-default k-nav-next"><a role="button" href="\\#" class="k-link"><span class="k-icon k-i-arrow-e"></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 data-#=ns#bind="text: formattedDate"></span></a></li></ul><ul class="k-reset k-header k-toolbar k-scheduler-views">#for(var view in views){#<li class="k-state-default k-view-#=view#" data-#=ns#name="#=view#"><a role="button" href="\\#" class="k-link">${views[view].title}</a></li>#}#</ul></div>'),ct=B.template('<div class="k-floatwrap k-header k-scheduler-toolbar k-secondary"><ul class="k-reset k-header k-toolbar k-scheduler-navigation"><li class="k-state-default k-nav-today"><a role="button" href="\\#" class="k-link">${messages.today}</a></li></ul><ul class="k-reset k-header k-toolbar k-scheduler-views">#for(var view in views){#<li class="k-state-default k-view-#=view#" data-#=ns#name="#=view#"><a role="button" href="\\#" class="k-link">${views[view].title}</a></li>#}#</ul></div><div class="k-floatwrap k-header k-scheduler-toolbar k-secondary"><ul class="k-reset k-header k-toolbar 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-w"></span></a></li><li class="k-state-default k-nav-current"><span data-#=ns#bind="text: formattedDate"></span></li><li class="k-state-default k-nav-next"><a role="button" href="\\#" class="k-link"><span class="k-icon k-i-arrow-e"></span></a></li></ul></div>'),ut=function(t,i){var o={name:i.field},r=R.date?"":B.attr("role")+'="datepicker" ',s=R.datetimelocal?"":B.attr("role")+'="datetimepicker" ';n(o,i),a(o,i),e('<input type="datetime-local" required '+B.attr("type")+'="date" '+s+B.attr("bind")+'="value:'+i.field+',invisible:isAllDay" />').attr(o).appendTo(t),e('<input type="date" required '+B.attr("type")+'="date" '+r+B.attr("bind")+'="value:'+i.field+',visible:isAllDay" />').attr(o).appendTo(t),e("<span "+B.attr("for")+'="'+i.field+'" class="k-invalid-msg"/>').hide().appendTo(t)},ht=function(t,i){var o={name:i.field};n(o,i),a(o,i),e('<input type="text" required '+B.attr("type")+'="date"'+" "+B.attr("role")+'="datetimepicker" '+B.attr("bind")+'="value:'+i.field+',invisible:isAllDay" />').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" />').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)},pt=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})},mt=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]})},vt=function(t,n){var a=i(n.model,n.messages.noTimezone);e('<a href="#" class="k-button k-timezone-button">'+a+"</a>").click(n.click).appendTo(t)},ft=function(t,i){e('<a href="#" class="k-button">'+i.messages.timezoneEditorButton+"</a>").click(i.click).appendTo(t)},gt=function(t,i){e("<div "+B.attr("bind")+'="value:'+i.field+'" />').attr({name:i.field}).toggle(i.visible).appendTo(t).kendoMobileTimezoneEditor()},kt=function(t,i){e("<div "+B.attr("bind")+'="value:'+i.field+'" />').attr({name:i.field}).toggle(i.visible).appendTo(t).kendoTimezoneEditor()},_t=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=r(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)}}),wt=B.data.Model.define({init:function(e){var t=this;B.data.Model.fn.init.call(t,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 M?M.expand(this,e,t,i):[this]},update:function(e){for(var t in e)this.set(t,e[t]);this.startTime&&this.set("startTime",l(this.start)),this.endTime&&this.set("endTime",l(this.end))},isMultiDay:function(){return this.isAllDay||this.duration()>=B.date.MS_PER_DAY},isException:function(){return this.id&&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,id:this.defaults.id}),t[this.idField]=this.defaults.id,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},set:function(e,t){var i,n,a,o=this.isAllDay||!1;B.data.Model.fn.set.call(this,e,t),"isAllDay"==e&&t!=o&&(i=B.date.getDate(this.start),n=new Date(this.end),a=B.date.getMilliseconds(n),0===a&&t&&(a=H),this.set("start",i),t===!0?(B.date.setTime(n,-a),i>n&&(n=i)):B.date.setTime(n,H-a),this.set("end",n))},id:"id",fields:{id:{type:"number"},title:{defaultValue:"",type:"string"},start:{type:"date",validation:{required:!0}},startTimezone:{type:"string"},end:{type:"date",validation:{required:!0,dateCompare:{value:c,message:"End date should be greater than or equal to the start date"}}},endTimezone:{type:"string"},recurrenceRule:{defaultValue:"",type:"string"},recurrenceException:{defaultValue:"",type:"string"},isAllDay:{type:"boolean",defaultValue:!1},description:{type:"string"}}}),zt=U.extend({init:function(e){U.fn.init.call(this,K(!0,{},{schema:{modelBase:wt,model:wt}},e)),this.reader=new _t(this.options.schema,this.reader)},expand:function(e,t){var i=this.view(),n={};return e&&t&&(t=new Date(t.getTime()+H-1),n={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()+H-1)},{field:"end",operator:"gte",value:e}]}]},i=new B.data.Query(u(i,e,t,this.reader.timezone)).filter(n).toArray()),i},cancelChanges:function(e){e&&e.isOccurrence()&&this._removeExceptionDate(e),U.fn.cancelChanges.call(this,e)},insert:function(e,t){if(t){if(!(t instanceof wt)){var i=t;t=this._createNewModel(),t.accept(i)}return(t.isRecurrenceHead()||t.recurrenceId)&&(t=t.recurrenceId?t:t.toOccurrence(),this._addExceptionDate(t)),U.fn.insert.call(this,e,t)}},remove:function(e){return e.isRecurrenceHead()?this._removeExceptions(e):e.isRecurring()&&this._addExceptionDate(e),U.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&&U.fn.remove.call(this,i),i=t.shift();e.set(nt,"")},_removeExceptionDate:function(e){var t,i,n;e.recurrenceId&&(t=this.get(e.recurrenceId),t&&(i=e.start,i=B.timezone.convert(i,this.reader.timezone||i.getTimezoneOffset(),"Etc/UTC"),n=B.toString(i,at)+";",t.set(nt,t.recurrenceException.replace(n,""))))},_addExceptionDate:function(e){var t=e.start,i=this.reader.timezone,n=this.get(e.recurrenceId),a=n.recurrenceException||"";M.isException(a,t,i)||(t=B.timezone.convert(t,i||t.getTimezoneOffset(),"Etc/UTC"),a+=B.toString(t,at)+";",n.set(nt,a))}});zt.create=function(e){e=e&&e.push?{data:e}:e;var t=e||{},i=t.data;if(t.data=i,!(t instanceof zt)&&t instanceof B.data.DataSource)throw Error("Incorrect DataSource type. Only SchedulerDataSource instances are supported");return t instanceof zt?t:new zt(t)},K(!0,B.data,{SchedulerDataSource:zt,SchedulerDataReader:_t,SchedulerEvent:wt}),k={update:{text:"Save",className:"k-scheduler-update"},canceledit:{text:"Cancel",className:"k-scheduler-cancel"},destroy:{text:"Delete",imageClass:"k-delete",className:"k-scheduler-delete",iconClass:"k-icon"}},_={mobile:{dateRange:ut,timezonePopUp:vt,timezone:gt,recurrence:mt,description:'<textarea name="description" class="k-textbox"/>',multipleResources:f,resources:m},desktop:{dateRange:ht,timezonePopUp:ft,timezone:kt,recurrence:pt,description:'<textarea name="description" class="k-textbox"/>',multipleResources:v,resources:p}},w=B.Observable.extend({init:function(e,t){B.Observable.fn.init.call(this),this.element=e,this.options=K(!0,{},this.options,t),this.createButton=this.options.createButton},fields:function(e,t){var i,n,a=this,o=a.options.messages,r=a.options.timezone,s=function(e){e.preventDefault(),a._initTimezoneEditor(t,this)},d=[{field:"title",title:o.editor.title},{field:"start",title:o.editor.start,editor:e.dateRange,timezone:r},{field:"end",title:o.editor.end,editor:e.dateRange,timezone:r},{field:"isAllDay",title:o.editor.allDayEvent}];B.timezone.windows_zones&&!t.isAllDay&&(d.push({field:"timezone",title:o.editor.timezone,editor:e.timezonePopUp,click:s,messages:o.editor,model:t}),d.push({field:"startTimezone",title:o.editor.startTimezone,editor:e.timezone}),d.push({field:"endTimezone",title:o.editor.endTimezone,editor:e.timezone})),t.recurrenceId||d.push({field:"recurrenceRule",title:o.editor.repeat,editor:e.recurrence,timezone:r,messages:o.recurrenceEditor,pane:this.pane}),"description"in t&&d.push({field:"description",title:o.editor.description,editor:e.description});for(i=0;i<this.options.resources.length;i++)n=this.options.resources[i],d.push({field:n.field,title:n.title,editor:n.multiple?e.multipleResources(n):e.resources(n)});return d},end:function(){return this.editable.end()},_buildEditTemplate:function(e,t,i){var n,a,o,r,s=this.options.messages,d=K({},B.Template,this.options.templateSettings),l=d.paramName,c=this.options.editable.template,u="";if(c)typeof c===W&&(c=window.unescape(c)),u+=B.template(c,d)(e);else for(n=0,a=t.length;a>n;n++)o=t[n],"startTimezone"===o.field&&(u+='<div class="k-popup-edit-form k-scheduler-edit-form k-scheduler-timezones" style="display:none">',u+='<div class="k-edit-form-container">',u+='<div class="k-edit-label"></div>',u+='<div class="k-edit-field"><label class="k-check"><input class="k-timezone-toggle" type="checkbox" />'+s.editor.separateTimezones+"</label></div>"),u+='<div class="k-edit-label"><label for="'+o.field+'">'+(o.title||o.field||"")+"</label></div>",!e.editable||e.editable(o.field)?(i.push(o),u+="<div "+B.attr("container-for")+'="'+o.field+'" class="k-edit-field"></div>'):(r="#:",o.field?(o=B.expr(o.field,l),r+=o+"==null?'':"+o):r+="''",r+="#",r=B.template(r,d),u+='<div class="k-edit-field">'+r(e)+"</div>"),"endTimezone"===o.field&&(u+=this._createEndTimezoneButton());return u},_createEndTimezoneButton:function(){return"</div></div>"},_revertTimezones:function(e){e.set("startTimezone",this._startTimezone),e.set("endTimezone",this._endTimezone),delete this._startTimezone,delete this._endTimezone}}),z=w.extend({init:function(){w.fn.init.apply(this,arguments),this.pane=B.mobile.ui.Pane.wrap(this.element),this.pane.element.parent().css("height",this.options.height),this.view=this.pane.view(),this._actionSheetButtonTemplate=B.template('<li><a #=attr# class="k-button #=className#" href="\\#">#:text#</a></li>'),this._actionSheetPopupOptions=e(document.documentElement).hasClass("km-root")?{modal:!1}:{align:"bottom center",position:"bottom center",effect:"slideIn:up"}},options:{animations:{left:"slide",right:"slide:right"}},destroy:function(){this.close(),this.unbind(),this.pane.destroy()},_initTimezoneEditor:function(t){var n,a=this,o=a.pane,r=a.options.messages,s=a.timezoneView,d=a.container.find(".k-scheduler-timezones"),l=d.find(".k-timezone-toggle"),c=d.find(".k-edit-label:last").add(d.find(".k-edit-field:last")),u=function(e){if("startTimezone"===e.field){var i=t.startTimezone;l.prop("disabled",!i),i||(c.hide(),t.set("endTimezone",""),l.prop("checked",!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-button k-scheduler-cancel">'+r.cancel+"</a>"+r.editor.timezoneTitle+'<a href="#" class="k-button k-scheduler-update">'+r.save+"</a></div></div>",this.timezoneView=s=o.append(n),s.contentElement().append(d.show()),s.element.on(Z+J,".k-scheduler-cancel, .k-scheduler-update",function(n){var s,d;n.preventDefault(),n.stopPropagation(),e(this).hasClass("k-scheduler-cancel")&&a._revertTimezones(t),t.unbind("change",u),s=o.element.find("#edit").data("kendoMobileView"),d=i(t,r.editor.noTimezone),s.contentElement().find(".k-timezone-button").text(d),o.navigate(s,a.options.animations.right)}),l.click(function(){c.toggle(l.prop("checked")),t.set("endTimezone","")}),t.bind("change",u)),l.prop("checked",t.endTimezone).prop("disabled",!t.startTimezone),t.endTimezone?c.show():c.hide(),o.navigate(s,a.options.animations.left)},_createActionSheetButton:function(e){return e.template=this._actionSheetButtonTemplate,this.createButton(e)},showDialog:function(t){var i,n,a="",o='<ul><li class="km-actionsheet-title">'+t.title+"</li>",r=this.element.find(".k-event["+B.attr("uid")+"='"+t.model.uid+"']");for(this.container&&(r=this.container.find(".k-scheduler-delete"),r[0]&&(a="phone")),i=0;i<t.buttons.length;i++)o+=this._createActionSheetButton(t.buttons[i]);o+="</ul>",n=e(o).appendTo(this.pane.view().element).kendoMobileActionSheet({type:a,cancel:this.options.messages.cancel,cancelTemplate:'<li class="km-actionsheet-cancel"><a class="k-button" href="\\#">#:cancel#</a></li>',close:function(){this.destroy()},command:function(i){var a=n.element.find("li:not(.km-actionsheet-cancel) > .k-button").index(e(i.currentTarget));a>-1&&(n.close(),t.buttons[a].click())},popup:this._actionSheetPopupOptions}).data("kendoMobileActionSheet"),n.open(r)},editEvent:function(t){var i,n,a,o,r,s=this.pane,d="",l=this.options.messages,c=l.save,u=l.destroy,h=l.cancel,p=l.editor.editorTitle;return d+='<div data-role="view" class="k-popup-edit-form k-scheduler-edit-form k-mobile-list" id="edit" '+B.attr("uid")+'="'+t.uid+'">'+'<div data-role="header" class="k-header"><a href="#" class="k-button k-scheduler-cancel">'+h+"</a>"+p+'<a href="#" class="k-button k-scheduler-update">'+c+"</a></div>",i=this.fields(_.mobile,t),n=this,a=[],d+=this._buildEditTemplate(t,i,a),t.isNew()||(d+='<div class="k-edit-buttons"><a href="#" class="k-scheduler-delete k-button">'+u+"</a></div>"),d+="</div>",o=s.append(d),r=this.container=o.element,this.editable=r.kendoEditable({fields:a,model:t,clearContainer:!1,validateOnBlur:!0}).data("kendoEditable"),r.find("input[type=checkbox],input[type=radio]").parent(".k-edit-field").addClass("k-check").prev(".k-edit-label").addClass("k-check").click(function(){e(this).next().children("input").click()}),this.trigger("edit",{container:r,model:t})?this.trigger("cancel",{container:r,model:t}):(r.on(Z+J,"a.k-scheduler-edit, a.k-scheduler-cancel, a.k-scheduler-update, a.k-scheduler-delete",function(i){var a,o;i.preventDefault(),i.stopPropagation(),a=e(this),a.hasClass("k-scheduler-edit")?s.navigate("#edit",n.options.animations.right):(o="cancel",a.hasClass("k-scheduler-update")?o="save":a.hasClass("k-scheduler-delete")&&(o="remove"),n.trigger(o,{container:r,model:t}))}),s.navigate(o,n.options.animations.left)),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;n>i;i++)t=e.eq(i).data("kendoMobileView"),t&&t.purge();e.remove(),this.container=null,this.editable&&(this.editable.destroy(),this.editable=null),this.timezoneView=null}}}),b=w.extend({destroy:function(){this.close(),this.unbind()},editEvent:function(e){return this.editable=this._createPopupEditor(e)},close:function(){var e=this,t=function(){e.editable&&(e.editable.destroy(),e.editable=null,e.container=null)};e.editable&&(e._timezonePopup&&e._timezonePopup.data("kendoWindow")&&(e._timezonePopup.data("kendoWindow").destroy(),e._timezonePopup=null),e.container.data("kendoWindow").bind("deactivate",t).close())},_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,o=B.format("<div class='k-popup-edit-form'><div class='k-edit-form-container'><p class='k-popup-message'>{0}</p>",t.text);for(o+='<div class="k-edit-buttons k-state-default">',i=0;i<t.buttons.length;i++)o+=this.createButton(t.buttons[i]);o+="</div></div></div>",n=this.element,a=e(o).appendTo(n).eq(0).on("click",".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()},_createPopupEditor:function(t){var i,n,a,o,r=this,s=r.options.editable,d="<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,c=l.save,u=l.cancel,h=l.destroy,p=this.fields(_.desktop,t),m=[];return d+=this._buildEditTemplate(t,p,m),n=L(s)?s.window:{},d+='<div class="k-edit-buttons k-state-default">',d+=this.createButton({name:"update",text:c,attr:i})+this.createButton({name:"canceledit",text:u,attr:i}),t.isNew()||(d+=this.createButton({name:"delete",text:h,attr:i})),d+="</div></div></div>",a=this.container=e(d).appendTo(r.element).eq(0).kendoWindow(K({modal:!0,resizable:!1,draggable:!0,title:l.editor.editorTitle,visible:!1,close:function(e){e.userTriggered&&r.trigger($,{container:a,model:t})&&e.preventDefault()}},n)),o=a.kendoEditable({fields:m,model:t,clearContainer:!1,validateOnBlur:!0}).data("kendoEditable"),r.trigger(tt,{container:a,model:t})?r.trigger($,{container:a,model:t}):(a.data("kendoWindow").center().open(),a.on(Z+J,"a.k-scheduler-cancel",function(e){e.preventDefault(),e.stopPropagation(),r.trigger($,{container:a,model:t})}),a.on(Z+J,"a.k-scheduler-update",function(e){e.preventDefault(),e.stopPropagation(),r.trigger("save",{container:a,model:t})}),a.on(Z+J,"a.k-scheduler-delete",function(e){e.preventDefault(),e.stopPropagation(),r.trigger(G,{container:a,model:t})})),o},_initTimezoneEditor:function(e,t){var i,n=this,a=n.container.find(".k-scheduler-timezones"),o=a.find(".k-timezone-toggle"),r=a.find(".k-edit-label:last").add(a.find(".k-edit-field:last")),s=a.find(".k-scheduler-savetimezone"),d=a.find(".k-scheduler-canceltimezone"),l=n._timezonePopup,c=function(t){if("startTimezone"===t.field){var i=e.startTimezone;o.prop("disabled",!i),i||(r.hide(),e.set("endTimezone",""),o.prop("checked",!1))}};n._startTimezone=e.startTimezone,n._endTimezone=e.endTimezone,l||(n._timezonePopup=l=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()}}),o.click(function(){r.toggle(o.prop("checked")),e.set("endTimezone","")}),s.click(function(e){e.preventDefault(),i.close()}),d.click(function(t){t.preventDefault(),n._revertTimezones(e),i.close()}),e.bind("change",c)),o.prop("checked",e.endTimezone).prop("disabled",!e.startTimezone),e.endTimezone?r.show():r.hide(),i=l.data("kendoWindow"),i.center().open()}}),y=O.extend({init:function(t,i){var n=this;O.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=q(n.resize,n),n.wrapper.on("mousedown"+J+" selectstart"+J,function(e){e.preventDefault()}),n.options.editable&&n.options.editable.resize!==!1&&n._resizable(),n._movable(),e(window).on("resize"+J,n._resizeHandler),n.options.messages&&n.options.messages.recurrence&&(M.options=n.options.messages.recurrence),n._selectable(),n._ariaId=B.guid(),n._createEditor()},_isMobile:function(){var e=this.options;return e.mobile===!0&&B.support.mobileOS||"phone"===e.mobile||"tablet"===e.mobile},_isMobilePhoneView:function(){var e=this.options;return e.mobile===!0&&B.support.mobileOS&&!B.support.mobileOS.tablet||"phone"===e.mobile},_selectable:function(){var t,i=this,n=i.wrapper,a=B.support.mobileOS?"touchend":"mousedown";i.options.selectable&&(i._tabindex(),n.on(a,".k-scheduler-header-all-day td, .k-scheduler-content td, .k-event",function(e){i._createSelection(e.currentTarget),n.focus()}),t=e.proxy(i._mouseMove,i),n.on("mousedown"+J,".k-scheduler-header-all-day td, .k-scheduler-content td",function(){n.on("mousemove"+J,".k-scheduler-header-all-day td, .k-scheduler-content td",t)}),n.on("mouseup"+J+" mouseleave"+J,function(){n.off("mousemove"+J,".k-scheduler-header-all-day td, .k-scheduler-content td",t)}),n.on("focus"+J,function(){i._selection||i._createSelection(e(".k-scheduler-content").find("td:first")),i._select()}),n.on("focusout"+J,function(){i.view().clearSelection(),i._ctrlKey=i._shiftKey=!1}),n.on("keydown"+J,q(i._keydown,i)),n.on("keyup"+J,function(e){i._ctrlKey=e.ctrlKey,i._shiftKey=e.shiftKey}))},_select:function(){var e,t,i,n,a=this.view(),o=this.wrapper,r=a.current(),s=this._selection;r&&(r.removeAttribute("id"),r.removeAttribute("aria-label"),o.removeAttr("aria-activedescendant")),a.select(s),r=a.current(),r&&(t=s,i=this._selectedEvents(),n=a._selectedSlots,i[0]?(t=i[0]||s,e=B.format(this.options.messages.ariaEventLabel,t.title,t.start,t.start)):e=B.format(this.options.messages.ariaSlotLabel,t.start,t.end),r.setAttribute("id",this._ariaId),r.setAttribute("aria-label",e),o.attr("aria-activedescendant",this._ariaId),this.trigger("change",{start:s.start,end:s.end,events:i,slots:n,resources:a._resourceBySlot(s)}))},_selectedEvents:function(){for(var e,t=this._selection.events,i=t.length,n=0,a=[];i>n;n++)e=this.occurrenceByUid(t[n]),e&&a.push(e);return a},_mouseMove:function(t){var i=this;clearTimeout(i._moveTimer),i._moveTimer=setTimeout(function(){var n,a,o,r=i.view(),s=i._selection;s&&(n=r.selectionByElement(e(t.currentTarget)),n&&s.groupIndex===n.groupIndex&&(a=n.startDate(),o=n.endDate(),a>=s.end?s.backward=!1:o<=s.start&&(s.backward=!0),s.backward?s.start=a:s.end=o,i._select()))},5)},_viewByIndex:function(e){var t,i=this.views;for(t in i){if(!e)return t;e--}},_keydown:function(t){var i=this,n=t.keyCode,a=i.view(),o=a.options.editable,r=i._selection,s=t.shiftKey;i._ctrlKey=t.ctrlKey,i._shiftKey=t.shiftKey,n===I.TAB?a.moveToEvent(r,s)&&(i._select(),t.preventDefault()):o&&n===I.ENTER?r.events.length?o.update!==!1&&i.editEvent(r.events[0]):o.create!==!1&&(r.isAllDay&&(r=e.extend({},r,{end:B.date.addDays(r.end,-1)})),i.addEvent(r)):n===I.DELETE?i.removeEvent(r.events[0]):n>=49&&57>=n?i.view(i._viewByIndex(n-49)):a.move(r,n,s)&&(a.inRange(r)?i._select():i.date(r.start),t.preventDefault()),i._adjustSelectedDate()},_createSelection:function(t){var i,n,a;this._selection&&(this._ctrlKey||this._shiftKey)||(this._selection={events:[],groupIndex:0}),t=e(t),a=this._selection,i=t.attr(B.attr("uid")),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,t){var i,n,a=this._selection;e&&a&&(this._shiftKey&&a.start&&a.end?(i=e.end<a.end,n=this.view(),a.end=e.endDate?e.endDate():e.end,i&&n._timeSlotInterval&&B.date.setTime(a.end,-n._timeSlotInterval())):(a.start=e.startDate?e.startDate():e.start,a.end=e.endDate?e.endDate():e.end),a.isAllDay="isDaySlot"in e?e.isDaySlot:e.isAllDay,a.index=e.index,a.events=this._ctrlKey?a.events.concat(t||[]):t||[])},options:{name:"Scheduler",date:it,editable:!0,autoBind:!0,snap:!0,mobile:!1,timezone:"",min:new Date(1900,0,1),max:new Date(2099,11,31),messages:{today:"Today",save:"Save",cancel:"Cancel",destroy:"Delete",deleteWindowTitle:"Delete event",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"},recurrenceMessages:{deleteWindowTitle:"Delete Recurring Item",deleteWindowOccurrence:"Delete current occurrence",deleteWindowSeries:"Delete the series",editWindowTitle:"Edit Recurring Item",editWindowOccurrence:"Edit current occurrence",editWindowSeries:"Edit the series"},editor:{title:"Title",start:"Start",end:"End",allDayEvent:"All day event",description:"Description",repeat:"Repeat",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:[],direction:"horizontal"},views:[],selectable:!1},events:[G,tt,$,X,"add","dataBinding","dataBound","moveStart","move","moveEnd","resizeStart","resize","resizeEnd","navigate","change"],destroy:function(){var t,i=this;O.fn.destroy.call(i),i.dataSource&&i.dataSource.unbind(Y,i._refreshHandler),i.calendar&&(i.calendar.destroy(),i.popup.destroy()),i.view()&&i.view().destroy(),i._editor&&i._editor.destroy(),t=i.element.add(i.wrapper).add(i.toolbar).add(i.popup),t.off(J),e(window).off("resize"+J,i._resizeHandler),B.destroy(i.wrapper)},setDataSource:function(e){this.options.dataSource=e,this._dataSource(),this.options.autoBind&&e.fetch()},items:function(){return this.wrapper.children(".k-event, .k-task")},_movable:function(){var i,n,a,o,r,s=this,d=s._isMobile(),l=s.options.editable&&s.options.editable.move!==!1,c=s.options.editable&&s.options.editable.resize!==!1;
(l||c&&d)&&(s._moveDraggable=new B.ui.Draggable(s.element,{distance:0,filter:".k-event",holdToDrag:d}),l&&s._moveDraggable.bind("dragstart",function(e){var o=s.view(),l=e.currentTarget;return d&&!l.hasClass("k-event-active")?(s.element.find(".k-event-active").removeClass("k-event-active"),e.preventDefault(),t):(r=s.occurrenceByUid(l.attr(B.attr("uid"))),i=o._slotByPosition(e.x.location,e.y.location),a=i.startOffset(e.x.location,e.y.location,s.options.snap),n=i,(!i||s.trigger("moveStart",{event:r}))&&e.preventDefault(),t)}).bind("drag",function(e){var t,i,d=s.view(),l=d._slotByPosition(e.x.location,e.y.location);l&&(o=l.startOffset(e.x.location,e.y.location,s.options.snap),t=o-a,d._updateMoveHint(r,l.groupIndex,t),i=g(r,t),s.trigger("move",{event:r,slot:{element:l.element,start:l.startDate(),end:l.endDate()},resources:d._resourceBySlot(l),start:i.start,end:i.end})?d._updateMoveHint(r,l.groupIndex,t):n=l)}).bind("dragend",function(t){var d,l,c,u,h,p,m;s.view()._removeMoveHint(),d=o-a,l=g(r,d),c=l.start,u=l.end,h=s.view()._resourceBySlot(n),p=s.view()._resourceBySlot(i),m=s.trigger("moveEnd",{event:r,slot:{element:n.element,start:n.startDate(),end:n.endDate()},start:c,end:u,resources:h}),m||r.start.getTime()==c.getTime()&&r.end.getTime()==u.getTime()&&B.stringify(h)==B.stringify(p)||s._updateEvent(null,r,e.extend({start:c,end:u},h)),t.currentTarget.removeClass("k-event-active"),this.cancelHold()}).bind("dragcancel",function(){s.view()._removeMoveHint(),this.cancelHold()}),d&&(s._moveDraggable.bind("hold",function(e){s.element.find(".k-scheduler-monthview").length&&e.preventDefault(),s.element.find(".k-event-active").removeClass("k-event-active"),e.currentTarget.addClass("k-event-active")}),s._moveDraggable.userEvents.bind("press",function(e){e.preventDefault()})))},_resizable:function(){function t(e){var t,i={"k-resize-e":"east","k-resize-w":"west","k-resize-n":"north","k-resize-s":"south"};for(t in i)if(e.hasClass(t))return i[t]}var i,n,a,o,r=this;r._resizeDraggable=new B.ui.Draggable(r.element,{distance:0,filter:".k-resize-handle",dragstart:function(t){var s=e(t.currentTarget),d=s.closest(".k-event"),l=d.attr(B.attr("uid"));a=r.occurrenceByUid(l),o=r.view()._slotByPosition(t.x.location,t.y.location),r.trigger("resizeStart",{event:a})&&t.preventDefault(),i=B.date.toUtcTime(a.start),n=B.date.toUtcTime(a.end)},drag:function(s){var d,l,c,u,h,p;o&&(d=e(s.currentTarget),l=t(d),c=r.view(),u=c._slotByPosition(s.x.location,s.y.location),u&&o.groupIndex==u.groupIndex&&(o=u,h=i,p=n,"south"==l?!o.isDaySlot&&o.end-B.date.toUtcTime(a.start)>=c._timeSlotInterval()&&(n=a.isAllDay?o.startOffset(s.x.location,s.y.location,r.options.snap):o.endOffset(s.x.location,s.y.location,r.options.snap)):"north"==l?!o.isDaySlot&&B.date.toUtcTime(a.end)-o.start>=c._timeSlotInterval()&&(i=o.startOffset(s.x.location,s.y.location,r.options.snap)):"east"==l?o.isDaySlot&&B.date.toUtcTime(B.date.getDate(o.endDate()))>=B.date.toUtcTime(B.date.getDate(a.start))&&(n=a.isAllDay?o.startOffset(s.x.location,s.y.location,r.options.snap):o.endOffset(s.x.location,s.y.location,r.options.snap)):"west"==l&&o.isDaySlot&&B.date.toUtcTime(B.date.getDate(a.end))>=B.date.toUtcTime(B.date.getDate(o.startDate()))&&(i=o.startOffset(s.x.location,s.y.location,r.options.snap)),r.trigger("resize",{event:a,slot:{element:o.element,start:o.startDate(),end:o.endDate()},start:B.timezone.toLocalDate(i),end:B.timezone.toLocalDate(n),resources:c._resourceBySlot(o)})?(i=h,n=p):c._updateResizeHint(a,o.groupIndex,i,n)))},dragend:function(s){var d,l=e(s.currentTarget),c=new Date(a.start.getTime()),u=new Date(a.end.getTime()),h=t(l);r.view()._removeResizeHint(),"south"==h?u=B.timezone.toLocalDate(n):"north"==h?c=B.timezone.toLocalDate(i):"east"==h?u=B.date.getDate(B.timezone.toLocalDate(n)):"west"==h&&(c=new Date(B.timezone.toLocalDate(i)),c.setHours(0),c.setMinutes(0)),d=r.trigger("resizeEnd",{event:a,slot:{element:o.element,start:o.startDate(),end:o.endDate()},start:c,end:u,resources:r.view()._resourceBySlot(o)}),!d&&u.getTime()>=c.getTime()&&(a.start.getTime()!=c.getTime()||a.end.getTime()!=u.getTime())&&r._updateEvent(h,a,{start:c,end:u})},dragcancel:function(){r.view()._removeResizeHint()}})},_updateEvent:function(e,t,i){var n=this,a=function(e){try{n._preventRefresh=!0,e.update(i)}finally{n._preventRefresh=!1}n.refresh(),n.trigger(X,{event:e})||(n._updateSelection(e),n.dataSource.sync())},o=function(e){return e.recurrenceRule?n.dataSource.getByUid(e.uid):n.dataSource.get(e.recurrenceId)},r=function(){var n,r,s=o(t);("south"==e||"north"==e)&&(i.start&&(n=B.date.getDate(s.start),B.date.setTime(n,C(i.start)),i.start=n),i.end&&(r=B.date.getDate(s.end),B.date.setTime(r,C(i.end)),i.end=r)),a(s)},s=function(){var e=o(t).toOccurrence({start:t.start,end:t.end});a(n.dataSource.add(e))},d=n.options.messages.recurrenceMessages;t.recurrenceRule||t.isOccurrence()?n.showDialog({model:t,title:d.editWindowTitle,text:d.editRecurring?d.editRecurring:st,buttons:[{text:d.editWindowOccurrence,click:s},{text:d.editWindowSeries,click:r}]}):a(n.dataSource.getByUid(t.uid))},_modelForContainer:function(t){return t=e(t).closest("["+B.attr("uid")+"]"),this.dataSource.getByUid(t.attr(B.attr("uid")))},showDialog:function(e){this._editor.showDialog(e)},focus:function(){this.wrapper.focus()},_confirmation:function(e,t){var i,n,a,o=this.options.editable;o===!0||o.confirmation!==!1?(i=this.options.messages,n=typeof o.confirmation===W?o.confirmation:ot,a=[{name:"destroy",text:i.destroy,click:function(){e()}}],this._isMobile()&&B.mobile.ui.Pane||a.push({name:"canceledit",text:i.cancel,click:function(){e(!0)}}),this.showDialog({model:t,text:n,title:i.deleteWindowTitle,buttons:a})):e()},addEvent:function(e){var t,i,n=this._editor.editable,a=this.dataSource;e=e||{},i=this.trigger("add",{event:e}),!i&&(n&&n.end()||!n)&&(this.cancelEvent(),e&&e.toJSON&&(e=e.toJSON()),t=a.add(e),t&&(this.cancelEvent(),this._editEvent(t)))},saveEvent:function(){var e,t,i,n=this._editor;n&&(e=n.editable,t=n.container,i=this._modelForContainer(t),t&&e&&e.end()&&!this.trigger(X,{container:t,event:i})&&(i.dirty||this._convertDates(i,"remove"),i.isRecurrenceHead()&&this.dataSource._removeExceptions(i),this.dataSource.sync()))},cancelEvent:function(){var e,t=this._editor,i=t.container;i&&(e=this._modelForContainer(i),this.dataSource.cancelChanges(e),t.close())},editEvent:function(e){var t="string"==typeof e?this.occurrenceByUid(e):e;t&&(this.cancelEvent(),t.isRecurring()?this._editRecurringDialog(t):this._editEvent(t))},_editEvent:function(e){this._createPopupEditor(e)},_editRecurringDialog:function(e){var t=this,i=function(){e.isException()?t._editEvent(e):t.addEvent(e)},n=function(){e.recurrenceId&&(e=t.dataSource.get(e.recurrenceId)),t._editEvent(e)},a=t.options.messages.recurrenceMessages;t.showDialog({model:e,title:a.editWindowTitle,text:a.editRecurring?a.editRecurring:st,buttons:[{text:a.editWindowOccurrence,click:i},{text:a.editWindowSeries,click:n}]})},_createButton:function(e){var t=e.template||dt,i=typeof e===W?e:e.name||e.text,n={className:"k-scheduler-"+(i||"").replace(/\s/g,""),text:i,attr:""};if(!(i||L(e)&&e.template))throw Error("Custom commands should have name specified");return L(e)?(e.className&&(e.className+=" "+n.className),"edit"===i&&L(e.text)&&(e=K(!0,{},e),e.text=e.text.edit),n=K(!0,n,k[i],e)):n=K(!0,n,k[i]),B.template(t)(n)},_convertDates:function(e,t){var i=this.dataSource.reader.timezone,n=e.startTimezone,a=e.endTimezone,o=e.start,r=e.start;t=t||"apply",n=n||a,a=a||n,n&&(i?"apply"===t?(o=B.timezone.convert(e.start,i,n),r=B.timezone.convert(e.end,i,a)):(o=B.timezone.convert(e.start,n,i),r=B.timezone.convert(e.end,a,i)):(o=B.timezone[t](e.start,n),r=B.timezone[t](e.end,a)),e._set("start",o),e._set("end",r))},_createEditor:function(){var e,i=this;e=i._editor=this._isMobile()&&B.mobile.ui.Pane?new z(this.wrapper,K({},this.options,{timezone:i.dataSource.reader.timezone,resources:i.resources,createButton:q(this._createButton,this)})):new b(this.wrapper,K({},this.options,{createButton:q(this._createButton,this),timezone:i.dataSource.reader.timezone,resources:i.resources})),e.bind("cancel",function(e){return i.trigger("cancel",{container:e.container,event:e.model})?(e.preventDefault(),t):(i.cancelEvent(),i.focus(),t)}),e.bind("edit",function(e){i.trigger(tt,{container:e.container,event:e.model})&&e.preventDefault()}),e.bind("save",function(){i.saveEvent()}),e.bind("remove",function(e){i.removeEvent(e.model)})},_createPopupEditor:function(e){var t=this._editor;e.isNew()||this._convertDates(e),this.editable=t.editEvent(e)},removeEvent:function(e){var t=this,i="string"==typeof e?t.occurrenceByUid(e):e;i&&(i.isRecurring()?t._deleteRecurringDialog(i):t._confirmation(function(e){e||t._removeEvent(i)},i))},occurrenceByUid:function(e){var t=this.dataSource.getByUid(e);return t||(t=d(this._data,e)),t},occurrencesInRange:function(e,t){return new B.data.Query(this._data).filter({logic:"or",filters:[{logic:"and",filters:[{field:"start",operator:"gte",value:e},{field:"end",operator:"gte",value:e},{field:"start",operator:"lt",value:t}]},{logic:"and",filters:[{field:"start",operator:"lte",value:e},{field:"end",operator:"gt",value:e}]}]}).toArray()},_removeEvent:function(e){this.trigger(G,{event:e})||this.dataSource.remove(e)&&this.dataSource.sync()},_deleteRecurringDialog:function(e){var t=this,i=e,n=function(){var e=i.recurrenceId?i:i.toOccurrence();t._removeEvent(e)},a=function(){i.recurrenceId&&(i=t.dataSource.get(i.recurrenceId)),t._removeEvent(i)},o=t.options.messages.recurrenceMessages;t.showDialog({model:e,title:o.deleteWindowTitle,text:o.deleteRecurring?o.deleteRecurring:rt,buttons:[{text:o.deleteWindowOccurrence,click:n},{text:o.deleteWindowSeries,click:a}]})},_unbindView:function(e){e.destroy()},_bindView:function(e){var t=this;t.options.editable&&(t._viewRemoveHandler&&e.unbind(G,t._viewRemoveHandler),t._viewRemoveHandler=function(e){t.removeEvent(e.uid)},e.bind(G,t._viewRemoveHandler),t._viewAddHandler&&e.unbind(et,t._viewAddHandler),t._viewAddHandler=function(e){t.addEvent(e.eventInfo)},e.bind(et,this._viewAddHandler),t._viewEditHandler&&e.unbind(tt,t._viewEditHandler),t._viewEditHandler=function(e){t.editEvent(e.uid)},e.bind(tt,this._viewEditHandler)),t._viewNavigateHandler&&e.unbind("navigate",t._viewNavigateHandler),t._viewNavigateHandler=function(e){var i,n;e.view&&(i="isWorkDay"in e,n=i?"changeWorkDay":"changeView",t.trigger("navigate",{view:e.view,isWorkDay:e.isWorkDay,action:n,date:e.date})||(i&&(t._workDayMode=e.isWorkDay),t._selectView(e.view),t.date(e.date)))},e.bind("navigate",t._viewNavigateHandler),t._viewActivateHandler&&e.unbind("activate",t._viewActivateHandler),t._viewActivateHandler=function(){var e=this;t._selection&&(e.constrainSelection(t._selection),t._select(),t._adjustSelectedDate())},e.bind("activate",t._viewActivateHandler)},_selectView:function(e){var t=this;e&&t.views[e]&&(t._selectedView&&t._unbindView(t._selectedView),t._selectedView=t._renderView(e),t._selectedViewName=e,t.toolbar.find(".k-scheduler-views li").removeClass("k-state-selected").end().find(".k-view-"+e).addClass("k-state-selected"))},view:function(e){var i=this;return e?(i._selectView(e),i.rebind(),t):i._selectedView},_renderView:function(e){var t=this._initializeView(e);return this._bindView(t),this._model.set("formattedDate",t.dateForTitle()),t},resize:function(e){var t=this.getSize(),i=this._size;(e||!i||t.width!==i.width||t.height!==i.height)&&(this.refresh({action:"resize"}),this._size=t)},_adjustSelectedDate:function(){var e=this._model.selectedDate,t=this._selection,i=t.start;i&&!B.date.isInDateRange(e,V(i),V(t.end))&&e.setFullYear(i.getFullYear(),i.getMonth(),i.getDate())},_initializeView:function(e){var t,i,n=this.views[e];if(n){if(t=L(n),i=n.type,typeof i===W&&(i=B.getter(n.type)(window)),!i)throw Error("There is no such view");n=new i(this.wrapper,h(K(!0,{},this.options,t?n:{},{resources:this.resources,date:this.date(),showWorkHours:this._workDayMode})))}return n},_views:function(){var e,t,i,n,a,o,r,s,d,l=this.options.views;for(this.views={},r=0,s=l.length;s>r;r++)d=!1,e=l[r],n=L(e),n?(o=a=e.type?e.type:e,typeof o!==W&&(a=e.title,d=!0)):o=a=e,t=T[a],t&&!d&&(e.type=t.type,t.title=this.options.messages.views[a],"day"===t.type?t.messages={allDay:this.options.messages.allDay}:"agenda"===t.type&&(t.messages={event:this.options.messages.event,date:this.options.messages.date,time:this.options.messages.time})),e=K({title:a},t,n?e:{}),a&&(this.views[a]=e,(!i||e.selected)&&(i=a));i&&(this._selectedViewName=i)},rebind:function(){this.dataSource.fetch()},_dataSource:function(){var e=this,t=e.options,i=t.dataSource;i=j(i)?{data:i}:i,!t.timezone||i instanceof zt||(i=K(!0,i,{schema:{timezone:t.timezone}})),e.dataSource&&e._refreshHandler?e.dataSource.unbind(Y,e._refreshHandler).unbind("progress",e._progressHandler).unbind("error",e._errorHandler):(e._refreshHandler=q(e.refresh,e),e._progressHandler=q(e._requestStart,e),e._errorHandler=q(e._error,e)),e.dataSource=B.data.SchedulerDataSource.create(i).bind(Y,e._refreshHandler).bind("progress",e._progressHandler).bind("error",e._errorHandler)},_error:function(){this._progress(!1)},_requestStart:function(){this._progress(!0)},_progress:function(e){var t=this.element.find(".k-scheduler-content");B.ui.progress(t,e)},_resources:function(){var t,i,n,a,o,r=this,s=r.options.resources;for(t=0;t<s.length;t++){if(i=s[t],n=i.field,a=i.dataSource,!n||!a)throw Error('The "field" and "dataSource" options of the scheduler resource are mandatory.');r.resources.push({field:n,name:i.name||n,title:i.title||n,dataTextField:i.dataTextField||"text",dataValueField:i.dataValueField||"value",dataColorField:i.dataColorField||"color",valuePrimitive:null!=i.valuePrimitive?i.valuePrimitive:!0,multiple:i.multiple||!1,dataSource:B.data.DataSource.create(a)})}o=e.map(r.resources,function(e){return e.dataSource.fetch()}),e.when.apply(null,o).then(function(){r.options.autoBind?r.view(r._selectedViewName):r._selectView(r._selectedViewName)})},_initModel:function(){var e=this;e._model=B.observable({selectedDate:this.options.date,formattedDate:""}),e._model.bind("change",function(t){"selectedDate"===t.field&&e.view(e._selectedViewName)})},_wrapper:function(){var e=this.options.height;this.wrapper=this.element.addClass("k-widget k-scheduler k-floatwrap").attr("role","grid").attr("aria-multiselectable",!0),this._isMobile()&&this.wrapper.addClass("k-scheduler-mobile"),this._isMobilePhoneView()&&this.wrapper.addClass("k-scheduler-phone"),e&&this.wrapper.css("height",e)},date:function(e){return null!=e&&V(e)>=V(this.options.min)&&V(e)<=V(this.options.max)&&this._model.set("selectedDate",e),V(this._model.get("selectedDate"))},_toolbar:function(){var i=this,n=i.options,a=this._isMobilePhoneView()?ct:lt,o=e(a({messages:n.messages,ns:B.ns,views:i.views}));i.wrapper.append(o),i.toolbar=o,B.bind(i.toolbar,i._model),o.on(Z+J,".k-scheduler-navigation li",function(n){var a=e(this),o=new Date(i.date()),r="";if(n.preventDefault(),a.hasClass("k-nav-today"))r="today",o=new Date;else if(a.hasClass("k-nav-next"))r="next",o=i.view().nextDate();else if(a.hasClass("k-nav-prev"))r="previous",o=i.view().previousDate();else if(a.hasClass("k-nav-current")&&!i._isMobilePhoneView())return i._showCalendar(),t;i.trigger("navigate",{view:i._selectedViewName,action:r,date:o})||i.date(o)}),o.on(Z+J,".k-scheduler-views li",function(t){t.preventDefault();var n=e(this).attr(B.attr("name"));i.trigger("navigate",{view:n,action:"changeView",date:i.date()})||i.view(n)}),o.find("li").hover(function(){e(this).addClass("k-state-hover")},function(){e(this).removeClass("k-state-hover")})},_showCalendar:function(){var t=this,i=t.toolbar.find(".k-nav-current"),n=e('<div class="k-calendar-container"><div class="k-scheduler-calendar"/></div>');t.popup||(t.popup=new N(n,{anchor:i,activate:function(){t.calendar||(t.calendar=new F(this.element.find(".k-scheduler-calendar"),{change:function(){var e=this.value();t.trigger("navigate",{view:t._selectedViewName,action:"changeDate",date:e})||(t.date(e),t.popup.close())},min:t.options.min,max:t.options.max})),t.calendar.value(t.date())},copyAnchorStyles:!1})),t.popup.open()},refresh:function(e){var t=this.view();this._progress(!1),e=e||{},t&&(e&&"itemchange"===e.action&&(this._editor.editable||this._preventRefresh)||this.trigger("dataBinding",{action:e.action||"rebind",index:e.index,items:e.items})||(e&&"resize"===e.action||!this._editor||this._editor.close(),this._data=this.dataSource.expand(t.startDate(),t.endDate()),t.render(this._data),this.trigger("dataBound")))},slotByPosition:function(e,t){var i,n=this.view();return n._slotByPosition?(i=n._slotByPosition(e,t),i?{startDate:i.startDate(),endDate:i.endDate(),element:i.element,isDaySlot:i.isDaySlot}:null):null},slotByElement:function(t){var i=e(t).offset();return this.slotByPosition(i.left,i.top)}}),T={day:{type:"kendo.ui.DayView"},week:{type:"kendo.ui.WeekView"},workWeek:{type:"kendo.ui.WorkWeekView"},agenda:{type:"kendo.ui.AgendaView"},month:{type:"kendo.ui.MonthView"}},A.plugin(y),D=O.extend({init:function(e,t){var i=this,n=B.timezone.windows_zones;if(!n||!B.timezone.zones_titles)throw Error("kendo.timezones.min.js is not included.");O.fn.init.call(i,e,t),i.wrapper=i.element,i._zonesQuery=new B.data.Query(n),i._zoneTitleId=B.guid(),i._zoneTitlePicker(),i._zonePicker(),i.value(i.options.value)},options:{name:"TimezoneEditor",value:"",optionLabel:"No timezone"},events:["change"],_zoneTitlePicker:function(){var t=this,i=e('<input id="'+t._zoneTitleId+'"/>').appendTo(t.wrapper);t._zoneTitle=new B.ui.DropDownList(i,{dataSource:B.timezone.zones_titles,dataValueField:"other_zone",dataTextField:"name",optionLabel:t.options.optionLabel,cascade:function(){this.value()||t._zone.wrapper.hide()}})},_zonePicker:function(){var t=this,i=e("<input />").appendTo(this.wrapper);t._zone=new B.ui.DropDownList(i,{dataValueField:"zone",dataTextField:"territory",dataSource:t._zonesQuery.data,cascadeFrom:t._zoneTitleId,cascade:function(){t._value=this.value(),t.trigger("change")},dataBound:function(){t._value=this.value(),this.wrapper.toggle(this.dataSource.view().length>1)}}),t._zone.wrapper.hide()},destroy:function(){O.fn.destroy.call(this),this._moveDraggable&&this._moveDraggable.destroy(),this._resizeDraggable&&this._resizeDraggable.destroy(),B.destroy(this.wrapper)},value:function(e){var i,n=this;return e===t?n._value:(i=n._zonesQuery.filter({field:"zone",operator:"eq",value:e}).data[0],i?(n._zoneTitle.value(i.other_zone),n._zone.value(i.zone)):n._zoneTitle.value(""),t)}}),A.plugin(D),x=B.template('<option value="#=other_zone#">#=name#</option>'),S=B.template('<option value="#=zone#">#=territory#</option>'),E=O.extend({init:function(e,t){var i=this,n=B.timezone.windows_zones;if(!n||!B.timezone.zones_titles)throw Error("kendo.timezones.min.js is not included.");O.fn.init.call(i,e,t),i.wrapper=i.element,i._zonesQuery=new B.data.Query(n),i._zoneTitlePicker(),i._zonePicker(),i.value(i.options.value)},options:{name:"MobileTimezoneEditor",optionLabel:"No timezone",value:""},events:["change"],_bindZones:function(e){var t=e?this._filter(e):[];this._zone.html(this._options(t,S))},_filter:function(e){return this._zonesQuery.filter({field:"other_zone",operator:"eq",value:e}).data},_options:function(e,t,i){var n=0,a="",o=e.length;for(i&&(a+=t({other_zone:"",name:this.options.optionLabel}));o>n;n++)a+=t(e[n]);return a},_zoneTitlePicker:function(){var t=this,i=t._options(B.timezone.zones_titles,x,t.options.optionLabel);t._zoneTitle=e("<select>"+i+"</select>").appendTo(t.wrapper).change(function(){var e=this.value,i=t._zone;t._bindZones(e),e&&i[0].children.length>1?i.show():i.hide(),t._value=i[0].value,t.trigger("change")})},_zonePicker:function(){var t=this;t._zone=e('<select style="display:none"></select>').appendTo(this.wrapper).change(function(){t._value=this.value,t.trigger("change")}),t._bindZones(t._zoneTitle.val()),t._value=t._zone[0].value},destroy:function(){O.fn.destroy.call(this),B.destroy(this.wrapper)},value:function(e){var i,n=this,a=n._zone,o="",r="";return e===t?n._value:(i=n._zonesQuery.filter({field:"zone",operator:"eq",value:e}).data[0],i&&(r=i.zone,o=i.other_zone),n._zoneTitle.val(o),n._bindZones(o),a.val(r),r=a[0].value,r&&a[0].children.length>1?a.show():a.hide(),n._value=r,t)}}),A.plugin(E)}(window.kendo.jQuery)})}("function"==typeof define&&define.amd?define:function(e,t){return t()});
//@ sourceMappingURL=kendo.scheduler.min.js.map