UNPKG

@progress/kendo-ui

Version:

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

1 lines 92.7 kB
module.exports=function(i){var n={};function a(e){if(n[e])return n[e].exports;var t=n[e]={exports:{},id:e,loaded:!1};return i[e].call(t.exports,t,t.exports,a),t.loaded=!0,t.exports}return a.m=i,a.c=n,a.p="",a(0)}({0:function(e,t,i){e.exports=i(1418)},3:function(e,t){e.exports=function(){throw Error("define cannot be used indirect")}},1065:function(e,t){e.exports=require("./kendo.dropdownlist")},1067:function(e,t){e.exports=require("./kendo.multiselect")},1221:function(e,t){e.exports=require("./kendo.window")},1273:function(e,t){e.exports=require("./kendo.dialog")},1282:function(e,t){e.exports=require("./kendo.editable")},1285:function(e,t){e.exports=require("./kendo.switch")},1290:function(e,t){e.exports=require("./kendo.pdf")},1295:function(e,t){e.exports=require("./kendo.datetimepicker")},1310:function(e,t){e.exports=require("./kendo.pane")},1418:function(e,t,i){var n;i(3),i=[i(1065),i(1282),i(1067),i(1221),i(1295),i(1419),i(1420),i(1421),i(1422),i(1423),i(1424),i(1425),i(1273),i(1310),i(1290),i(1285)],void 0===(t="function"==typeof(n=function(){var e={id:"scheduler",name:"Scheduler",category:"web",description:"The Scheduler is an event calendar.",depends:["dropdownlist","editable","multiselect","window","datepicker","datetimepicker","scheduler.recurrence","scheduler.view"],features:[{id:"scheduler-dayview",name:"Scheduler Day View",description:"Scheduler Day View",depends:["scheduler.dayview"]},{id:"scheduler-agendaview",name:"Scheduler Agenda View",description:"Scheduler Agenda View",depends:["scheduler.agendaview"]},{id:"scheduler-monthview",name:"Scheduler Month View",description:"Scheduler Month View",depends:["scheduler.monthview"]},{id:"scheduler-timelineview",name:"Scheduler Timeline View",description:"Scheduler Timeline View",depends:["scheduler.timelineview"]},{id:"scheduler-yearview",name:"Scheduler Year View",description:"Scheduler Year View",depends:["scheduler.yearview"]},{id:"scheduler-mobile",name:"Scheduler adaptive rendering",description:"Support for adaptive rendering",depends:["dialog","pane","switch"]},{id:"scheduler-pdf-export",name:"PDF export",description:"Export the scheduler events as PDF",depends:["pdf","drawing"]},{id:"scheduler-timezones",name:"Timezones",description:"Allow selecting timezones different than Etc/UTC",depends:["timezones"]}]},w=window.kendo.jQuery,h=void 0,y=window.kendo,r=y.date,d=r.MS_PER_DAY,z=r.getDate,f=y.date.getMilliseconds,o=y.recurrence,u=w.extend({F10:121},y.keys),t=y.ui,a=t.Widget,i=t.DataBoundWidget,v="string",s=t.Popup,l=t.Calendar,p=y.data.DataSource,m=w.isPlainObject,g=w.extend,n=Object.prototype.toString,T=Array.isArray,k=".kendoScheduler",b="click",D="mousedown",x=y.support.pointers?"pointerdown":"touchstart",S=y.support.pointers?"pointermove":"touchmove",E=y.support.pointers?"pointerup":"touchend",R=y.support.mousemove,_="change",C="progress",V="error",P="cancel",O="remove",F="resetSeries",I="save",M="add",A="edit",H="disabled",B="option",c="k-focus",N="k-state-expanded",W=".k-scheduler-views",L="k-event-inverse",q=/(?:value:start|value:end)(?:,|$)/,U=z(new Date),K=",",Y=/\;/g,$="recurrenceException",Q="Are you sure you want to delete this event?",j="Do you want to delete only this event occurrence or the whole series?",J="Do you want to edit only this event occurrence or the whole series?",G="Are you sure you want to delete this event occurrence?",X="Are you sure you want to reset the whole series?",Z="Are you sure you want to delete the whole series?",ee='<button type="button" class="k-button k-button-md k-rounded-md k-button-solid #=className#" #=attr#><span class="k-button-text">#=text#</span></button>',te=y.template(""+'<select aria-label="#= label #" class="k-picker k-dropdown-list k-dropdown k-views-dropdown" tabindex="-1">'+"#for (var view in views) {#"+'<option value="#= view #">${views[view].title}</option>'+"#}#"+"</select>"),ie=y.template(""+'<div class="k-scheduler-toolbar k-toolbar" role="toolbar">'+"# if (pdf) { #"+'<button tabindex="-1" class="k-button k-button-md k-rounded-md k-button-solid k-button-solid-base k-pdf"><span class="k-button-icon k-icon k-i-file-pdf"></span><span class="k-button-text">${messages.pdf}</span></button>'+"# } #"+'<span class="k-scheduler-navigation k-button-group">'+'<button tabindex="-1" class="k-button k-button-md k-rounded-md k-button-solid k-button-solid-base k-nav-today" title="${messages.today}"><span class="k-button-text">${messages.today}</span></button>'+'<button tabindex="-1" class="k-button k-button-md k-rounded-md k-button-solid k-button-solid-base k-icon-button k-nav-prev" title="${messages.previous}" aria-label="${messages.previous}"><span class="k-button-icon k-icon k-i-arrow-60-left"></span></button>'+'<button tabindex="-1" class="k-button k-button-md k-rounded-md k-button-solid k-button-solid-base k-icon-button k-nav-next" title="${messages.next}" aria-label="${messages.next}"><span class="k-button-icon k-icon k-i-arrow-60-right"></span></button>'+"</span>"+'<a tabindex="-1" role="button" href="\\#" class="k-nav-current" aria-live="polite">'+'<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>"+'<span class="k-spacer k-toolbar-spacer"></span>'+"# if (search) { #"+'<span class="k-scheduler-search k-textbox k-input k-input-md k-rounded-md k-input-solid">'+'<input tabindex="-1" autocomplete="off" placeholder="${messages.search}" title="${messages.search}" class="k-input-inner k-scheduler-search-input k-input-inner" />'+'<span class="k-input-suffix"><span class="k-icon k-i-search"></span></span>'+"</span>"+"# } #"+"# if (viewsCount === 1) { #"+'<a role="button" tabindex="-1" data-#=ns#name="#=view#" href="\\#" class="k-button k-button-md k-rounded-md k-button-solid k-button-solid-base k-icon-button k-scheduler-refresh" aria-label="${messages.refresh}">'+'<span class="k-button-icon k-icon k-i-reload"></span>'+"</a>"+"# } else { #"+'<span class="k-scheduler-views-wrapper">'+'<span class="k-scheduler-views k-button-group">'+"# for (var view in views) { #"+'<button tabindex="-1" class="k-button k-button-md k-rounded-md k-button-solid k-button-solid-base k-view-#= view.toLowerCase() #" data-#=ns#name="#=view#"><span class="k-button-text">${views[view].title}</span></button>'+"# } #"+"</span>"+"</span>"+"# } #"+"</div>"),ne=y.template('<div class="k-scheduler-toolbar k-toolbar" role="toolbar">'+'<span class="k-scheduler-tools k-button-group">'+"# if (pdf) { #"+'<button tabindex="-1" class="k-button k-button-md k-rounded-md k-button-solid k-button-solid-base k-icon-button k-pdf"><span class="k-button-icon k-icon k-i-file-pdf"></span></button>'+"# } #"+'<button tabindex="-1" class="k-button k-button-md k-rounded-md k-button-solid k-button-solid-base k-icon-button k-nav-calendar"><span class="k-button-icon k-icon k-i-calendar"></span></button>'+"# if (editable) { #"+'<button tabindex="-1" class="k-button k-button-md k-rounded-md k-button-solid k-button-solid-base k-icon-button k-create-event"><span class="k-button-icon k-icon k-i-plus"></span></button>'+"# } #"+"</span>"+'<span class="k-spacer k-toolbar-spacer"></span>'+"# if (search) { #"+'<span class="k-scheduler-search k-textbox k-input k-input-md k-rounded-md k-input-solid">'+'<input tabindex="-1" autocomplete="off" placeholder="${messages.search}" title="${messages.search}" class="k-scheduler-search-input k-input-inner" />'+'<span class="k-input-suffix"><span class="k-icon k-i-search"></span></span>'+"</span>"+"# } #"+"#if(viewsCount === 1){#"+'<a role="button" tabindex="-1" data-#=ns#name="#=view#" href="\\#" class="k-button k-button-md k-rounded-md k-button-solid k-button-solid-base k-icon-button k-scheduler-refresh">'+'<span class="k-button-icon k-icon k-i-reload"></span>'+"</a>"+"#} else {#"+'<select tabindex="-1" class="k-picker k-dropdown-list k-dropdown k-scheduler-mobile-views">'+"#for(var view in views){#"+'<option class="k-view-#= view.toLowerCase() #" value="#=view#">${views[view].title}</option>'+"#}#"+"</select>"+"#}#"+"</div>"+'<div class="k-scheduler-toolbar k-toolbar">'+'<span class="k-scheduler-navigation">'+'<button tabindex="-1" class="k-button k-button-md k-rounded-md k-button-solid k-button-solid-base k-icon-button k-nav-prev"><span class="k-button-icon k-icon k-i-arrow-chevron-left"></span></button>'+'<span class="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>'+"</span>"+'<button tabindex="-1" class="k-button k-button-md k-rounded-md k-button-solid k-button-solid-base k-icon-button k-nav-next"><span class="k-button-icon k-icon k-i-arrow-chevron-right"></span></button>'+"</span>"+"</div>"),ae=function(e,t){var i={name:t.field,title:t.title};var n=t.model.isAllDay;var a=y.attr("validate")+"='"+!n+"'";var r=y.attr("validate")+"='"+!!n+"'";pe(i,t);he(i,t);me(i,t);w('<input type="datetime-local" required '+y.attr("type")+'="datetime-local" '+y.attr("bind")+'="value:'+t.field+', invisible:isAllDay" '+a+"/>").attr(i).appendTo(e);w('<input type="date" required '+y.attr("type")+'="date" '+y.attr("bind")+'="value:'+t.field+',visible:isAllDay" '+r+"/>").attr(i).appendTo(e);w("<span "+y.attr("for")+'="'+t.field+'" class="k-invalid-msg"/>').hide().appendTo(e)},re=function(e,t){var i={name:t.field,title:t.title},n=t.model.isAllDay,a=y.attr("validate")+"='"+!n+"' ",r=y.attr("validate")+"='"+!!n+"' ";pe(i,t);he(i,t);me(i,t);w('<input type="text" required '+y.attr("type")+'="date"'+" "+y.attr("role")+'="datetimepicker" '+y.attr("bind")+'="value:'+t.field+',invisible:isAllDay" '+a+"/>").attr(i).appendTo(e);w('<input type="text" required '+y.attr("type")+'="date"'+" "+y.attr("role")+'="datepicker" '+y.attr("bind")+'="value:'+t.field+',visible:isAllDay" '+r+"/>").attr(i).appendTo(e);w("<span "+y.attr("bind")+'="text: '+t.field+'Timezone"></span>').appendTo(e);if(t.field==="end")w("<span "+y.attr("bind")+'="text: startTimezone, invisible: endTimezone"></span>').appendTo(e);w("<span "+y.attr("for")+'="'+t.field+'" class="k-invalid-msg"/>').hide().appendTo(e)},oe=function(e,t){w("<div "+y.attr("bind")+'="value:'+t.field+'" />').attr({name:t.field}).appendTo(e).kendoRecurrenceEditor({start:t.model.start,timezone:t.timezone,messages:t.messages})},se=function(e,t){w("<div "+y.attr("bind")+'="value:'+t.field+'" />').attr({name:t.field}).appendTo(e).kendoMobileRecurrenceEditor({start:t.model.start,timezone:t.timezone,messages:t.messages,pane:t.pane,value:t.model[t.field]})},le=function(e,t){w('<input type="checkbox" data-role="switch"'+y.attr("bind")+'="value:'+t.field+'" />').appendTo(e)},de=function(e,t){var i=ve(t.model,t.messages.noTimezone);w('<span class="k-timezone-label"></span>').text(i).appendTo(e);w('<span class="k-icon k-i-arrow-chevron-right"></span>').appendTo(e);e.closest("li.k-item label").on(b,t.click)},ce=function(e,t){w('<a href="#" class="k-button k-button-md k-rounded-md k-button-solid k-button-solid-base" data-bind="invisible:isAllDay"><span class="k-button-text">'+t.messages.timezoneEditorButton+"</span></a>").on(b,t.click).appendTo(e)},ue=function(e,t){w('<div class="k-mobiletimezoneeditor" '+y.attr("bind")+'="value:'+t.field+'" />').attr({name:t.field}).appendTo(e).kendoMobileTimezoneEditor({optionLabel:t.noTimezone})},fe=function(e,t){var i=t.visible||t.visible===h;w("<div "+y.attr("bind")+'="value:'+t.field+'" />').attr({name:t.field}).toggle(i).appendTo(e).kendoTimezoneEditor({optionLabel:t.noTimezone,title:t.title})};function ve(e,t){t=t||"";if(e.startTimezone){t=e.startTimezone;if(e.endTimezone)t+=" | "+e.endTimezone}return t}function pe(e,t){var i=t.timezone;if(i)e[y.attr("timezone")]=i}function he(e,t){var i=t.model.fields[t.field].validation;if(i){var n=i.validDateValidator;if(n&&m(n)&&n.message)e[y.attr("validDate-msg")]=n.message}}function me(e,t){var i=t.model.fields[t.field].validation;if(i){var n=i.dateCompare;if(n&&m(n)&&n.message)e[y.attr("dateCompare-msg")]=n.message}}function ge(t,i){return function(e){e=t(e);be(e,"apply",i);return e||[]}}function ke(t,i){return function(e){if(e)if(n.call(e)!=="[object Array]"&&!(e instanceof y.data.ObservableArray))e=[e];be(e,"remove",i,true);e=t(e);return e||[]}}function be(e,t,i,n){var a,r,o,s,l;e=e||[];for(r=0,o=e.length;r<o;r++){a=e[r];s=a.start?a.start.getTimezoneOffset():null;l=a.start?a.end.getTimezoneOffset():null;if(n){if(a.startTimezone||a.endTimezone)if(i){a.start=y.timezone.convert(a.start,a.startTimezone||a.endTimezone,i);a.end=y.timezone.convert(a.end,a.endTimezone||a.startTimezone,i);a.start=y.timezone[t](a.start,i);a.end=y.timezone[t](a.end,i)}else{a.start=y.timezone[t](a.start,a.startTimezone||a.endTimezone);a.end=y.timezone[t](a.end,a.endTimezone||a.startTimezone)}else if(i){a.start=y.timezone[t](a.start,i);a.end=y.timezone[t](a.end,i)}}else if(a.startTimezone||a.endTimezone){a.start=y.timezone[t](a.start,a.startTimezone||a.endTimezone);a.end=y.timezone[t](a.end,a.endTimezone||a.startTimezone);if(i){a.start=y.timezone.convert(a.start,a.startTimezone||a.endTimezone,i);a.end=y.timezone.convert(a.end,a.endTimezone||a.startTimezone,i)}}else if(i){a.start=y.timezone[t](a.start,i);a.end=y.timezone[t](a.end,i)}if(n)delete a.uid;if(t==="remove"&&a.start&&s&&s!==a.start.getTimezoneOffset())a.start=new Date(a.start.getTime()+(s-a.start.getTimezoneOffset())*6e4);if(t==="remove"&&a.end&&l&&l!==a.end.getTimezoneOffset())a.end=new Date(a.end.getTime()+(l-a.end.getTimezoneOffset())*6e4)}return e}function _e(e,t){var i=e.length,n=0,a;for(;n<i;n++){a=e[n];if(a.uid===t)return a}}var we=y.Class.extend({init:function(e,t){var i=e.timezone;this.reader=t;if(t.model)this.model=t.model;this.timezone=i;this.data=ge(this.data.bind(this),i);this.serialize=ke(this.serialize.bind(this),i)},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)}});function ye(e,t,i){if(i)e=y.timezone.convert(e,t,i);else e=y.timezone.remove(e,t);return e}function ze(e){if(e.filter("[name=start]").length&&e.filter("[title=Start]").length||e.filter("[name=end]").length&&e.filter("[title=End]").length||e.filter(".k-recur-until").length){var t;var i=y.widgetInstance(e,y.ui);if(i){t=y.parseDate(e.val(),i.options.format);return!!t&&i.value()}else{t=y.parseDate(e.val());return!!t}}return true}function Te(e){if(e.filter("[name=end]").length){var t=e.closest(".k-scheduler-edit-form");var i=t.find("[name=start]:visible");var n=t.find("[name=end]:visible");if(n[0]&&i[0]){var a,r;var o=y.widgetInstance(i,y.ui);var c=y.widgetInstance(n,y.ui);var u=t.data("kendoEditable");var s=u?u.options.model:null;if(o&&c){a=o.value();r=c.value()}else{a=y.parseDate(i.val());r=y.parseDate(n.val())}if(a&&r){if(s){var f=i.attr(y.attr("timezone"));var l=s.startTimezone;var d=s.endTimezone;l=l||d;d=d||l;if(l){a=ye(a,l,f);r=ye(r,d,f)}}return a<=r}}}return true}function De(e){var t,i,n,a,r,o;if(e.filter(".k-recur-until").length){t=y.widgetInstance(e,y.ui);i=t.value();n=e.closest(".k-scheduler-edit-form");a=n.find("[name=start]:visible");if(a[0]){o=y.widgetInstance(a,y.ui);if(o)r=o.value();else r=y.parseDate(a.val());if(r&&i)return r<=i}}return true}var xe=y.data.Model.define({init:function(e){var t=this;y.data.Model.fn.init.call(t,e);t._defaultId=t.defaults[t.idField]},_time:function(e){var t=this[e];var i="_"+e+"Time";if(this[i])return this[i]-y.date.toUtcTime(y.date.getDate(t));return f(t)},_date:function(e){var t="_"+e+"Time";if(this[t])return this[t]-this._time(e);return y.date.getDate(this[e])},clone:function(e,t){var i=this.uid,n=new this.constructor(w.extend({},this.toJSON(),e));if(!t)n.uid=i;return n},duration:function(){var e=this.end;var t=this.start;var i=(e.getTimezoneOffset()-t.getTimezoneOffset())*y.date.MS_PER_MINUTE;return e-t-i},expand:function(e,t,i){return o?o.expand(this,e,t,i):[this]},update:function(e){for(var t in e)this.set(t,e[t]);if(this._startTime)this.set("_startTime",y.date.toUtcTime(this.start));if(this._endTime)this.set("_endTime",y.date.toUtcTime(this.end))},isMultiDay:function(){return this.isAllDay||this.duration()>=y.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(e){e=w.extend(e,{recurrenceException:null,recurrenceRule:null,recurrenceId:this.id||this.recurrenceId});e[this.idField]=this.defaults[this.idField];return this.clone(e,true)},toJSON:function(){var e=y.data.Model.fn.toJSON.call(this);e.uid=this.uid;delete e._startTime;delete e._endTime;return e},shouldSerialize:function(e){return y.data.Model.fn.shouldSerialize.call(this,e)&&e!=="_defaultId"},set:function(e,t){var i=this.isAllDay||false;y.data.Model.fn.set.call(this,e,t);if(e=="isAllDay"&&t!=i){var n=y.date.getDate(this.start);var a=new Date(this.end);var r=y.date.getMilliseconds(a);if(r===0&&t)r=d;this.set("start",n);if(t===true){y.date.setTime(a,-r);if(a<n)a=n}else y.date.setTime(a,d-r);this.set("end",a)}},id:"id",fields:{id:{type:"number"},title:{defaultValue:"",type:"string"},start:{type:"date",validation:{required:true,validDate:{value:ze}}},startTimezone:{type:"string"},end:{type:"date",validation:{required:true,validDate:{value:ze},dateCompare:{value:Te}}},endTimezone:{type:"string"},recurrenceRule:{defaultValue:"",type:"string",validation:{validDate:{value:ze},untilDateCompare:{value:De}}},recurrenceException:{defaultValue:"",type:"string"},isAllDay:{type:"boolean",defaultValue:false},description:{type:"string"}}}),Se=p.extend({init:function(e){p.fn.init.call(this,g(true,{},{schema:{modelBase:xe,model:xe}},e));this.reader=new we(this.options.schema,this.reader)},expand:function(e,t){var i=this.view(),n={},a;if(e&&t){a=t.getTimezoneOffset();t=new Date(t.getTime()+d-1);if(t.getTimezoneOffset()!==a)t=y.timezone.apply(t,a);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()+d-1)},{field:"end",operator:"gte",value:e}]}]};i=new y.data.Query(Ee(i,e,t,this.reader.timezone)).filter(n).toArray()}return i},cancelChanges:function(e){if(e&&e.isOccurrence())this._removeExceptionDate(e);p.fn.cancelChanges.call(this,e)},insert:function(e,t){if(!t)return;if(!(t instanceof xe)){var i=t;t=this._createNewModel();t.accept(i)}if(!this._pushCreated&&t.isRecurrenceHead()||t.recurrenceId){t=t.recurrenceId?t:t.toOccurrence();this._addExceptionDate(t)}return p.fn.insert.call(this,e,t)},pushCreate:function(e){this._pushCreated=true;p.fn.pushCreate.call(this,e);this._pushCreated=false},remove:function(e){if(e.isRecurrenceHead())this._removeExceptions(e);else if(e.isRecurring())this._addExceptionDate(e);return p.fn.remove.call(this,e)},_removeExceptions:function(e){var t=this.data().slice(0),i=t.shift(),n=e.id;while(i){if(i.recurrenceId===n)p.fn.remove.call(this,i);i=t.shift()}e.set($,"")},_removeExceptionDate:function(e){if(e.recurrenceId){var t=this.get(e.recurrenceId);if(t){var i=e.defaults.start;var n=new RegExp("(\\"+K+"?)"+o.toExceptionString(i,this.reader.timezone));var a=(t.recurrenceException||"").replace(Y,K).replace(/\,$/,"");if(n.test(a))t.set($,a.replace(n,""));else{i=e.start;n=new RegExp("(\\"+K+"?)"+o.toExceptionString(i,this.reader.timezone));t.set($,a.replace(n,""))}}}},_addExceptionDate:function(e){var t=e.start;var i=this.reader.timezone;var n=this.get(e.recurrenceId);var a=(n.recurrenceException||"").replace(Y,K).replace(/\,$/,"");if(!o.isException(a,t,i)){var r=o.toExceptionString(t,i);e.defaults.start=t;n.set($,a+(a&&r?K:"")+r)}}});function Ee(e,t,i,n){var a=e.length,r=[],o=0;for(;o<a;o++)r=r.concat(e[o].expand(t,i,n));return r}Se.create=function(e){if(T(e)||e instanceof y.data.ObservableArray)e={data:e};var t=e||{},i=t.data;t.data=i;if(!(t instanceof Se)&&t instanceof y.data.DataSource)throw new Error("Incorrect DataSource type. Only SchedulerDataSource instances are supported");return t instanceof Se?t:new Se(t)},g(true,y.data,{SchedulerDataSource:Se,SchedulerDataReader:we,SchedulerEvent:xe});var Re={update:{text:"Save",className:"k-button-solid-primary k-scheduler-update"},canceledit:{text:"Cancel",className:"k-scheduler-cancel"},destroy:{text:"Delete",imageClass:"k-i-close",className:"k-button-solid-primary k-scheduler-delete",iconClass:"k-icon"}};function Ce(e,t){delete e.name;delete e.prefix;delete e.remove;delete e.edit;delete e.add;delete e.navigate;for(var i in t)e[i]=t[i];return e}function Ve(e){var i=Pe(e.model,e.field);return function(e,t){w('<textarea name="description" class="k-input-inner" title="'+t.title+'"/>').attr(i).appendTo(e).wrap('<span class="k-input k-textarea k-input-solid k-input-md k-rounded-md"></span>')}}function Pe(e,t){var i=(e.fields||e)[t];var n=["url","email","number","date","boolean"];var a=i?i.validation:{};var r=y.attr("type");var o=w.inArray;var s;var l;var d={};for(s in a){l=a[s];if(o(s,n)>=0)d[r]=s;else if(!y.isFunction(l))d[s]=m(l)?l.value||s:l;d[y.attr(s+"-msg")]=l.message}return d}function Oe(i,n,a,r){var e=i.value(),o=Array.isArray(e),s;if(o)s=JSON.parse(JSON.stringify(e));else s=[e.toString()];i.dataSource.data().forEach(function(e){if(e[a]===null||e[a]===h||e[a]==n)e.set(H,false);else{var t=e.get(r);e.set(H,true);if(s.indexOf(t)>=0||s.indexOf(t.toString())>=0)if(o)s.splice(s.indexOf(t),1);else{i.value(null);i.trigger(_)}}});if(o&&s.length<e.length){i.value(s);i.trigger(_)}}function Fe(e,i,n,t){var a=e.closest(".k-edit-form-container").find("[data-"+y.ns+"bind='value:"+t+"']");var r=a.getKendoDropDownList();if(r)r.bind(_,function(e){var t=e.sender.value();Oe(i,t,n.dataParentValueField,n.dataValueField)});else a.on(_,function(e){var t=e.target.value;Oe(i,t,n.dataParentValueField,n.dataValueField)})}function Ie(r,o,s){var l=o.find(B),e=o.val(),d=Array.isArray(e),c;if(d)c=JSON.parse(JSON.stringify(e));else c=[e];r.dataSource.view().forEach(function(e,t){var i=y.getter(r.dataParentValueField)(e);var n=i===null||i===h||i==s;if(n)l[t].removeAttribute(H);else{l[t].setAttribute(H,H);var a=""+e.get(r.dataValueField);if(c.indexOf(a)>=0)if(d)c.splice(c.indexOf(a),1);else{o.val(null);o.trigger(_)}}});if(d&&c.length<e.length){o.val(c);o.trigger(_)}}function Me(i,n,a){var r=Pe(n,i.field);return function(e){var t;if(a)setTimeout(function(){Oe(t,n[a],i.dataParentValueField,i.dataValueField);Fe(e,t,i,a)});t=w(y.format('<select aria-labelledby="'+i.field+'_label" data-{0}bind="value:{1}" title="'+n.title+'">',y.ns,i.field)).appendTo(e).attr(r).kendoDropDownList({dataTextField:i.dataTextField,dataValueField:i.dataValueField,dataSource:i.dataSource.data(),valuePrimitive:i.valuePrimitive,optionLabel:"None",template:y.format('<span #= data.disabled ? "data-disabled": ""#><span class="k-scheduler-mark" style="background-color:#= data.{0}?{0}:"none" #"></span>#={1}#</span>',i.dataColorField,i.dataTextField),select:function(e){if(e.dataItem&&e.dataItem.disabled)e.preventDefault()},dataBound:function(e){var t=e.sender.list.find("li");t.each(function(e,t){var i=w(t);if(i.find("[data-disabled]").length>0)i.addClass("k-state-disabled")})}}).data("kendoDropDownList")}}function Ae(o,s,l){var d=Pe(s,o.field);return function(i){var e="";var t=o.dataSource.view();for(var n=0,a=t.length;n<a;n++)e+=y.format('<option value="{0}">{1}</option>',y.getter(o.dataValueField)(t[n]),y.getter(o.dataTextField)(t[n]));var r=w(y.format('<select aria-labelledby="'+o.field+'_label" data-{0}bind="value:{1}">{2}</select>',y.ns,o.field,e)).appendTo(i).attr(d);if(l)setTimeout(function(){var e=i.closest(".k-stretched-view").find("[data-"+y.ns+"bind='value:"+l+"']");var t=s[l];Ie(o,r,t);e.on(_,function(e){var t=e.target.value;Ie(o,r,t)})})}}function He(i,n,a){var r=Pe(n,i.field);return function(e){var t;if(a)setTimeout(function(){Oe(t,n[a],i.dataParentValueField,i.dataValueField);Fe(e,t,i,a)});t=w(y.format('<select aria-labelledby="'+i.field+'_label" data-{0}bind="value:{1}">',y.ns,i.field)).appendTo(e).attr(r).kendoMultiSelect({dataTextField:i.dataTextField,dataValueField:i.dataValueField,dataSource:i.dataSource.data(),valuePrimitive:i.valuePrimitive,itemTemplate:y.format('<span #= data.disabled ? "data-disabled": "" #><span class="k-scheduler-mark" style="background-color:#= data.{0}?{0}:"none" #"></span>#={1}#</span>',i.dataColorField,i.dataTextField),tagTemplate:y.format('<span class="k-scheduler-mark" style="background-color:#= data.{0}?{0}:"none" #"></span>#={1}#',i.dataColorField,i.dataTextField),select:function(e){if(e.dataItem&&e.dataItem.disabled)e.preventDefault()},dataBound:function(e){var t=e.sender.list.find("li");t.each(function(e,t){var i=w(t);if(i.find("[data-disabled]").length>0)i.addClass("k-state-disabled")})}}).data("kendoMultiSelect")}}function Be(o,s,l){var d=Pe(s,o.field);return function(i){var e="";var t=o.dataSource.view();for(var n=0,a=t.length;n<a;n++)e+=y.format('<option value="{0}">{1}</option>',y.getter(o.dataValueField)(t[n]),y.getter(o.dataTextField)(t[n]));var r=w(y.format('<select aria-labelledby="'+o.field+'_label" data-{0}bind="value:{1}" multiple="multiple">{2}</select>',y.ns,o.field,e)).appendTo(i).attr(d);if(l)setTimeout(function(){var e=i.closest(".k-stretched-view").find("[data-"+y.ns+"bind='value:"+l+"']");var t=s[l];Ie(o,r,t);e.on(_,function(e){var t=e.target.value;Ie(o,r,t)})})}}function Ne(e,t){var i=e.end.getTime()-e.start.getTime();var n=new Date(e.start.getTime());y.date.setTime(n,t);var a=new Date(n.getTime());y.date.setTime(a,i,true);return{start:n,end:a}}var We={mobile:{dateRange:ae,timezonePopUp:de,timezone:ue,recurrence:se,description:Ve,multipleResources:Be,resources:Ae,isAllDay:le},desktop:{dateRange:re,timezonePopUp:ce,timezone:fe,recurrence:oe,description:Ve,multipleResources:He,resources:Me}},Le=y.Observable.extend({init:function(e,t){y.Observable.fn.init.call(this);this.element=e;this.options=g(true,{},this.options,t);this.createButton=this.options.createButton;this.toggleDateValidationHandler=this._toggleDateValidation.bind(this)},_toggleDateValidation:function(e){if(e.field=="isAllDay"){var t=this.container,i=this.editable.options.model.isAllDay,n=y.attr("bind"),a,r,o;t.find("["+n+"*=end],["+n+"*=start]").each(function(){a=w(this);if(q.test(a.attr(n))){r=a.is("["+y.attr("role")+"=datetimepicker],[type*=datetime]");o=i!==r;a.attr(y.attr("validate"),o)}})}},fields:function(e,t){var i=this;var n=i.options.messages;var a=i.options.timezone;var c=function(e){e.preventDefault();i._initTimezoneEditor(t,this)};var r=[{field:"title",title:n.editor.title},{field:"start",title:n.editor.start,editor:e.dateRange,timezone:a},{field:"end",title:n.editor.end,editor:e.dateRange,timezone:a},{field:"isAllDay",title:n.editor.allDayEvent,editor:e.isAllDay}];var u=function(e){return!!e[s.dataParentValueField]};if(y.timezone.windows_zones){r.push({field:"timezone",title:n.editor.timezone,editor:e.timezonePopUp,click:c,messages:n.editor,model:t});r.push({field:"startTimezone",title:n.editor.startTimezone,editor:e.timezone,noTimezone:n.editor.noTimezone});r.push({field:"endTimezone",title:n.editor.endTimezone,editor:e.timezone,noTimezone:n.editor.noTimezone})}if(!t.recurrenceId)r.push({field:"recurrenceRule",title:n.editor.repeat,editor:e.recurrence,timezone:a,messages:n.recurrenceEditor,pane:this.pane});if("description"in t)r.push({field:"description",title:n.editor.description,editor:e.description({model:t,field:"description"})});for(var o=0;o<this.options.resources.length;o++){var s=this.options.resources[o];var f=s.dataSource.view();var v=f.some(u);var l,d;if(v){l=this.options.resources[o-1];if(l)d=l.field}r.push({field:s.field,title:s.title,editor:s.multiple?e.multipleResources(s,t,d):e.resources(s,t,d)})}return r},end:function(){return this.editable.end()},_buildDesktopEditTemplate:function(e,t,i){var n=this.options.messages;var a=g({},y.Template,this.options.templateSettings);var r=a.paramName;var o="";for(var s=0,c=t.length;s<c;s++){var l=t[s];if(l.field==="startTimezone"){o+='<div class="k-popup-edit-form k-scheduler-edit-form k-scheduler-timezones" style="display:none">';o+='<div class="k-edit-form-container">';o+='<div class="k-edit-label"></div>';o+='<div class="k-edit-field"><label class="k-check"><input class="k-timezone-toggle k-checkbox k-checkbox-md k-rounded-md" type="checkbox"/>'+n.editor.separateTimezones+"</label></div>"}o+='<div class="k-edit-label"><label for="'+l.field+'" id="'+l.field+'_label">'+(l.title||l.field||"")+"</label></div>";if(!e.editable||e.editable(l.field)){i.push(l);o+="<div "+y.attr("container-for")+'="'+l.field+'" class="k-edit-field"></div>'}else{var d="#:";if(l.field){l=y.expr(l.field,r);d+=l+"==null?'':"+l}else d+="''";d+="#";d=y.template(d,a);o+='<div class="k-edit-field">'+d(e)+"</div>"}if(l.field==="endTimezone")o+=this._createEndTimezoneButton()}return o},_buildMobileEditTemplate:function(e,t,i){var n=this.options.messages;var a=g({},y.Template,this.options.templateSettings);var r=a.paramName;var o="";o+='<ul class="k-listgroup k-listgroup-flush">';for(var s=0,c=t.length;s<c;s++){var l=t[s];if(l.field==="timezone"||l.field==="recurrenceRule")o+='</ul><ul class="k-listgroup k-listgroup-flush">';if(l.field==="startTimezone"){o+='<div class="k-popup-edit-form k-scheduler-edit-form k-scheduler-timezones" style="display:none">';o+='<ul class="k-listgroup k-listgroup-flush">';o+='<li class="k-item k-listgroup-item">';o+='<label class="k-label k-listgroup-form-row">';o+='<span class="k-item-title k-listgroup-form-row">'+n.editor.separateTimezones+"</span>";o+='<span class="k-listgroup-form-field-wrapper">';o+='<input class="k-timezone-toggle" data-role="switch" type="checkbox" />';o+="</span>";o+="</label>";o+="</li>"}if(!e.editable||e.editable(l.field)){o+='<li class="k-item k-listgroup-item">';if(l.field==="timezone")o+='<label class="k-label k-listgroup-form-row" data-bind="css: { k-state-disabled: isAllDay }">';else o+='<label class="k-label k-listgroup-form-row">';o+='<span class="k-item-title k-listgroup-form-field-label">'+(l.title||l.field||"")+"</span>";i.push(l);o+='<div class="k-listgroup-form-field-wrapper" '+y.attr("container-for")+'="'+l.field+'"></div>';o+="</label></li>"}else{var d="#:";o+='<li class="k-item k-listgroup-item">';o+='<label class="k-label k-no-click k-listgroup-form-row">';o+='<span class="k-item-title k-listgroup-form-field-label">'+(l.title||l.field||"")+"</span>";if(l.field){l=y.expr(l.field,r);d+=l+"==null?'':"+l}else d+="''";d+="#";d=y.template(d,a);o+='<span class="k-no-editor k-listgroup-form-field-wrapper">'+d(e)+"</span>";o+="</label></li>"}if(l.field==="recurrenceRule")o+='</ul><ul class="k-listgroup k-listgroup-flush">';if(l.field==="endTimezone")o+="</ul></div>"}o+="</ul>";return o},_buildEditTemplate:function(e,t,i,n){var a=g({},y.Template,this.options.templateSettings);var r=this.options.editable.template;var o="";if(r){if(typeof r===v)r=y.unescape(r);o+=y.template(r,a)(e)}else if(n)o+='<div data-role="content">'+this._buildMobileEditTemplate(e,t,i)+"</div>";else o+=this._buildDesktopEditTemplate(e,t,i);return 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}}),qe=Le.extend({init:function(){Le.fn.init.apply(this,arguments);this.pane=y.Pane.wrap(this.element,{viewEngine:{viewOptions:{renderOnInit:true,wrap:false,wrapInSections:true,detachOnHide:false,detachOnDestroy:false}}});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(n){var a=this;var r=a.pane;var o=a.options.messages;var e=a.timezoneView;var t=e?e.content.find(".k-scheduler-timezones"):a.container.find(".k-scheduler-timezones");var i=t.find("input.k-timezone-toggle").data("kendoSwitch");var s=t.find("li.k-item:not(.k-zonepicker)").last();var l=function(e){if(e.field==="startTimezone"){var t=n.startTimezone;i.enable(t);if(!t){s.hide();n.set("endTimezone","");i.value(false)}}};a._startTimezone=n.startTimezone||"";a._endTimezone=n.endTimezone||"";if(!e){var d='<div data-role="view" class="k-popup-edit-form k-scheduler-edit-form">'+'<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=e=r.append(d);e.contentElement.append(t.show());e.element.on(b+k,".k-scheduler-cancel, .k-scheduler-update",function(e){e.preventDefault();e.stopPropagation();if(w(this).hasClass("k-scheduler-cancel"))a._revertTimezones(n);var t=a._editPane;var i=ve(n,o.editor.noTimezone);t.content.find(".k-timezone-label").text(i);r.navigate(t,a.options.animations.right)});i.bind(_,function(e){s.toggle(e.checked);n.set("endTimezone","")});n.bind(_,l)}i.value(!!n.endTimezone);i.enable(!!n.startTimezone);if(n.endTimezone)s.show();else s.hide();r.navigate(e,a.options.animations.left)},showDialog:function(e){var t=e.buttons.map(function(e){return{text:e.text,action:e.click}});t.push({text:this.options.messages.cancel,primary:true});w("<div />").appendTo(document.body).kendoDialog({close:function(){this.destroy()},modal:{preventScroll:true},closable:false,title:false,content:e.text,actions:t})},editEvent:function(n){var a=this.pane;var e="";var t=this.options.messages;var i=t.save;var r=t.destroy;var o=t.cancel;var c=t.editor.editorTitle;var u=t.resetSeries;e+='<div data-role="view" class="k-popup-edit-form k-scheduler-edit-form"'+y.attr("uid")+'="'+n.uid+'">'+'<div data-role="header" class="k-header">'+'<a href="\\#" class="k-header-cancel k-scheduler-cancel k-link" title="'+o+'"'+'aria-label="'+o+'"><span class="k-icon k-i-arrow-chevron-left"></span></a>'+c+'<a href="\\#" class="k-header-done k-scheduler-update k-link" title="'+i+'" '+'aria-label="'+i+'"><span class="k-icon k-i-check"></span></a>'+"</div>";var f=this.fields(We.mobile,n);var s=this;var v=[];e+=this._buildEditTemplate(n,f,v,true);e+="</div>";var l=a.append(e);if(!n.isNew()&&this.options.editable&&this.options.editable.destroy!==false&&n.isRecurrenceHead()&&n.recurrenceException){var p='<ul class="k-edit-buttons k-listgroup k-listgroup-flush"><li class="k-item k-listgroup-item"><span class="k-scheduler-resetSeries k-link k-label" aria-label="'+u+'">'+u+"</span></li></ul>";l.contentElement.append(p)}if(!n.isNew()&&this.options.editable&&this.options.editable.destroy!==false){var h='<ul class="k-edit-buttons k-listgroup k-listgroup-flush"><li class="k-item k-listgroup-item"><span class="k-scheduler-delete k-link k-label" aria-label="'+r+'">'+r+"</span></li></ul>";l.contentElement.append(h)}this._editPane=l;var d=this.container=l.element;this.editable=d.kendoEditable({fields:v,model:n,clearContainer:false,target:s.options.target,validateOnBlur:true}).data("kendoEditable");if(!this.trigger("edit",{container:d,model:n})){d.on(b+k,"a.k-scheduler-edit, a.k-scheduler-cancel, a.k-scheduler-update, span.k-scheduler-delete, span.k-scheduler-resetSeries",function(e){e.preventDefault();e.stopPropagation();var t=w(this);if(!t.hasClass("k-scheduler-edit")){var i="cancel";if(t.hasClass("k-scheduler-update"))i="save";else if(t.hasClass("k-scheduler-delete"))i="remove";else if(t.hasClass("k-scheduler-resetSeries"))i=F;s.trigger(i,{container:d,model:n})}else a.navigate(this._editPane,s.options.animations.right)});a.navigate(l,s.options.animations.left);n.bind(_,s.toggleDateValidationHandler)}else this.trigger("cancel",{container:d,model:n});return this.editable},_views:function(){return this.pane.element.find(y.roleSelector("view")).not(this.view.element)},close:function(){if(this.container){this.pane.navigate("",this.options.animations.right);var e=this._views();var t;for(var i=0,n=e.length;i<n;i++){t=e.eq(i).data("kendoView");if(t)t.purge()}e.remove();this.container=null;if(this.editable){this.editable.options.model.unbind(_,this.toggleDateValidationHandler);this.editable.destroy();this.editable=null}this.timezoneView=null}}}),Ue=Le.extend({destroy:function(){this.close();this.unbind()},editEvent:function(t){var i=this;var e=i.options.editable;var n="<div "+y.attr("uid")+'="'+t.uid+'" class="k-popup-edit-form k-scheduler-edit-form"><div class="k-edit-form-container">';var a=i.options.messages;var c=a.save;var u=a.cancel;var f=a.destroy;var v=a.resetSeries;var p=this.fields(We.desktop,t);var r=[];var o;n+=this._buildEditTemplate(t,p,r,false);var s;var h=m(e)?e.window:{};n+='<div class="k-edit-buttons">';n+=this.createButton({name:"update",text:c,attr:s})+this.createButton({name:"canceledit",text:u,attr:s});if(!t.isNew()&&e.destroy!==false&&t.isRecurrenceHead()&&t.recurrenceException)n+=this.createButton({name:"resetSeries",text:v,attr:s});if((!t.isNew()||t.isRecurring())&&e.destroy!==false)n+=this.createButton({name:"delete",text:f,attr:s});n+="</div></div></div>";var l=this.container=w(n).appendTo(i.element).eq(0).kendoWindow(g({minWidth:660,modal:true,resizable:false,draggable:true,title:a.editor.editorTitle,visible:false,close:function(e){if(e.userTriggered)if(i.trigger(P,{container:l,model:t}))e.preventDefault()}},h));i.editable=l.kendoEditable({fields:r,model:t,clearContainer:false,validateOnBlur:true,target:i.options.target}).data("kendoEditable");for(var d in r)if(r[d].field!=="recurrenceRule"){o=r[d].field;l.find("[name='"+o+"']").attr("aria-labelledby",o+"_label")}if(!i.trigger(A,{container:l,model:t})){l.data("kendoWindow").center().open();l.on(b+k,"button.k-scheduler-cancel",function(e){e.preventDefault();e.stopPropagation();i.trigger(P,{container:l,model:t})});l.on(b+k,"button.k-scheduler-update",function(e){e.preventDefault();e.stopPropagation();i.trigger("save",{container:l,model:t})});l.on(b+k,"button.k-scheduler-delete",function(e){e.preventDefault();e.stopPropagation();i.trigger(O,{container:l,model:t})});l.on(b+k,"button.k-scheduler-resetSeries",function(e){e.preventDefault();e.stopPropagation();i.trigger(F,{container:l,model:t})});y.cycleForm(l);t.bind(_,i.toggleDateValidationHandler)}else i.trigger(P,{container:l,model:t});return i.editable},close:function(){var e=this;var t=function(){if(e.editable){e.editable.options.model.unbind(_,e.toggleDateValidationHandler);e.editable.destroy();e.editable=null;e.container=null}if(e.popup){e.popup.destroy();e.popup=null}};if(e.editable){if(e._timezonePopup&&e._timezonePopup.data("kendoWindow")){e._timezonePopup.data("kendoWindow").destroy();e._timezonePopup=null}if(e.container.is(":visible"))e.container.data("kendoWindow").bind("deactivate",t).close();else t()}else t()},_createEndTimezoneButton:function(){var e=this.options.messages;var t="";t+='<div class="k-edit-buttons">';t+=this.createButton({name:"savetimezone",text:e.save})+this.createButton({name:"canceltimezone",text:e.cancel});t+="</div></div></div>";return t},showDialog:function(i){var e=y.format("<div class='k-popup-edit-form'><div class='k-edit-form-container'><p class='k-popup-message'>{0}</p>",i.text);e+='<div class="k-edit-buttons">';for(var t=0;t<i.buttons.length;t++)e+=this.createButton(i.buttons[t]);e+="</div></div></div>";var n=this.element;if(this.popup)this.popup.destroy();var a=this.popup=w(e).appendTo(n).eq(0).on(b,".k-button",function(e){e.preventDefault();a.close();var t=w(e.currentTarget).index();i.buttons[t].click()}).kendoWindow({modal:true,resizable:false,draggable:false,title:i.title,visible:false,close:function(){this.destroy();n.trigger("focus")}}).getKendoWindow();a.center().open()},_initTimezoneEditor:function(i,t){var n=this;var e=n.container.find(".k-scheduler-timezones");var a=e.find("input.k-timezone-toggle");var r=e.find(".k-edit-label").last().add(e.find(".k-edit-field").last());var o=e.find(".k-scheduler-savetimezone");var c=e.find(".k-scheduler-canceltimezone");var s=n._timezonePopup;var l=function(e){if(e.field==="startTimezone"){var t=i.startTimezone;a.prop(H,!t);if(!t){r.hide();i.set("endTimezone","");a.prop("checked",false)}}};var d;n._startTimezone=i.startTimezone;n._endTimezone=i.endTimezone;if(!s){n._timezonePopup=s=e.kendoWindow({modal:true,resizable:false,draggable:true,title:n.options.messages.editor.timezoneEditorTitle,visible:false,close:function(e){i.unbind(_,l);if(e.userTriggered)n._revertTimezones(i);if(t)t.focus()}});a.on(b,function(){r.toggle(a.prop("checked"));i.set("endTimezone","")});o.on(b,function(e){e.preventDefault();d.close()});c.on(b,function(e){e.preventDefault();n._revertTimezones(i);d.close()});i.bind(_,l)}a.prop("checked",i.endTimezone).prop(H,!i.startTimezone);if(i.endTimezone)r.show();else r.hide();d=s.data("kendoWindow");d.center().open()}}),Ke=i.extend({init:function(e,t){var i=this;a.fn.init.call(i,e,t);if(!i.options.views||!i.options.views.length)i.options.views=["day","week"];i.resources=[];i._initModel();i._wrapper();i._views();i._toolbar();i._dataSource();i._resources();i._resizeHandler=function(){i.resize()};i.wrapper.on(D+k+" selectstart"+k,function(e){if(!w(e.target).is(":kendoFocusable"))e.preventDefault()});if(i.options.editable&&i.options.editable.resize!==false)i._resizable();i._movable();i._bindResize();if(i.options.messages&&i.options.messages.recurrence)o.options=i.options.messages.recurrence;i._tabindex();i._navigation();i._selectable();i._touchHandlers();i._ariaId=y.guid();i._createEditor()},_bindResize:function(){w(window).on("resize"+k,this._resizeHandler)},_unbindResize:function(){w(window).off("resize"+k,this._resizeHandler)},dataItems:function(){var e=this;var t=e.items();var i=e._data;var n=w.map(t,function(e){return w(e).attr("data-uid")});var a;var r;var o={};var s=n.length;for(a=0;a<s;a++)o[n[a]]=null;var c=i.length;for(a=0;a<c;a++){var l=i[a];if(o[l.uid]!==h)o[l.uid]=l}var d=[];for(r in o)d.push(o[r]);return d},_isMobile:function(){var e=this.options;return e.mobile===true&&y.support.mobileOS||e.mobile==="phone"||e.mobile==="tablet"},_isTouch:function(e){return/touch/.test(e.type)||e.originalEvent&&/touch/.test(e.originalEvent.pointerType)},_isInverseColor:function(e){return e.hasClass(L)},_groupsByResource:function(e,t,i,n,a){if(!i)i=[];var r=e[0];if(r){var o;var s=r.dataSource.view();var l=0;for(var d=0;d<s.length;d++){var c=y.getter(r.dataValueField)(s[d]);var u=t+l+d;o=this._groupsByResource(e.slice(1),u,i,c,r.field);o[r.field]=c;l=o.groupIndex;if(a&&n)o[a]=n;if(e.length===1){o.groupIndex=t+d;i.push(o)}}return o}else return{}},data:function(){return this._data},select:function(e){var t=this;var i=t.view();var n=t._selection;var a=i.groups;var r;if(e===h){var o;var c=i._selectedSlots;if(!n)return[];if(n&&n.events)o=t._selectedEvents();return{start:n.start,end:n.end,events:o,slots:c,resources:i._resourceBySlot(n)}}if(!e){t._selection=null;t._old=null;i.clearSelection();return}if(Array.isArray(e))e={events:e.splice(0)};if(e.resources){var s;var u=[];var f=[];if(i.groupedResources)t._groupsByResource(i.groupedResources,0,f);for(s in e.resources)u.push({field:s,operator:"eq",value:e.resources[s]});r=new y.data.Query(f).filter(u).toArray()}if(e.events&&e.events.length){t._selectEvents(e.events,r);t._select();return}if(a&&(e.start&&e.end)){var v=z(i._startDate);var p=y.date.addDays(z(i._endDate),1);var l;var d;if(e.start<p&&v<=e.end){if(r&&r.length)l=a[r[0].groupIndex];else l=a[0];if(!l.timeSlotCollectionCount())e.isAllDay=true;d=l.ranges(e.start,e.end,e.isAllDay,false);if(d.length){t._selection={start:y.timezone.toLocalDate(d[0].start.start),end:y.timezone.toLocalDate(d[d.length-1].end.end),groupIndex:d[0].start.groupIndex,index:d[0].start.index,isAllDay:d[0].start.isDaySlot,events:[]};t._select()}}}},_selectEvents:function(e,t){var i=this;var n;var a=i.view();var r=a.groups;var c=e.length;var u=t&&t.length;var f=i._ctrlKey;i._ctrlKey=true;for(n=0;n<c;n++)if(r&&u){var o=r[t[0].groupIndex];var s=[];var v=o.timeSlotCollectionCount();var p=o.daySlotCollectionCount();for(var l=0;l<v;l++)s=s.concat(o.getTimeSlotCollection(l).events());for(var d=0;d<p;d++)s=s.concat(o.getDaySlotCollection(d).events());s=new y.data.Query(s).filter({field:"element[0].getAttribute('data-uid')",operator:"eq",value:e[n]}).toArray();if(s[0])i._createSelection(s[0].element)}else{var h=a.element.find(y.format(".k-event[data-uid={0}], .k-task[data-uid={0}]",e[n]));if(h.length)i._createSelection(h[0])}i._ctrlKey=f},_touchHandlers:function(){var a=this;var r;var o;var s;var l;var d;var c=a.wrapper;var u=a._touchMove.bind(a);c.on(x+k,".k-scheduler-header-all-day td, .k-scheduler-content td, .k-event",function(e){var t=a.wrapper.find(".k-scheduler-content");if(!a._isTouch(e))return;t.stop(true,false);a._touchPosX=r=a._tapPosition(e,"X");a._touchPosY=o=a._tapPosition(e,"Y");a._userTouched=true;a.view()._scrolling=false;d=Date.now();c.on(S+k,".k-scheduler-header-all-day td, .k-scheduler-content td, .k-event",u)});c.on(E+k,".k-scheduler-header-all-day td, .k-scheduler-content td, .k-event",function(e){if(!a._isTouch(e))return;var t=Date.now()-d;var i=a.wrapper.find(".k-scheduler-content");var n=-a._amplitude*(3e3/t);s=a._tapPosition(e,"X");l=a._tapPosition(e,"Y");if(a._dragging)return;if(a.options.selectable&&(Math.abs(s-r)<=10||Math.abs(l-o)<=10))a._mouseDownSelection(e);if(!y.support.kineticScrollNeeded&&t<200&&Math.abs(s-r)>10)i.animate({scrollTop:i[0].scrollTop+n});c.off(S+k,".k-scheduler-header-all-day td, .k-scheduler-content td",u)})},_navigation:function(){var t=this,i=t.wrapper;i.on("focus"+k,function(){var e=t._selection;if((!e||e.events.length>0&&i.find("[data-uid='"+e.events[0]+"']").length===0)&&!t._userTouched&&!t._mouseDown)t._initialFocus();else t._mouseDown=false;t._select()});i.on("focusout"+k,function(e){t._ctrlKey=t._shiftKey=false;if(!w(e.relatedTarget).closest(W).length)t.toolbar.find(W).removeClass(N)});i.on("keydown"+k,t._keydown.bind(t));i.on("keyup"+k,function(e){t._ctrlKey=e.ctrlKey;t._shiftKey=e.shiftKey})},_selectable:function(){var a=this;var r=a.wrapper;if(!a.options.selectable)return;r.on(D+k,".k-scheduler-header-all-day td, .k-scheduler-content td, .k-event, .k-scheduler-body td .k-link",function(e){if(a._isTouch(e))return;a._mouseDownSelection(e)});var o=a._mouseMove.bind(a);r.on(D+k,".k-scheduler-header-all-day td, .k-scheduler-content td",function(e){var t=e.which;var i=e.button;var n=t&&t===3||i&&i==2;if(a._isTouch(e))return;if(!n)r.on(R+k,".k-scheduler-header-all-day td, .k-scheduler-content td",o)});r.on("mouseup"+k+" mousecancel"+k,function(){r.off(R+k,".k-scheduler-header-all-day td, .k-scheduler-content td",o)})},_mouseDownSelection:function(e){var t=e.which;var i=e.button;var n=t&&t===3||i&&i==2;if(!n){if(e.ctrlKey)this._ctrlKey=e.ctrlKey;if(e.shiftKey)this._shiftKey=e.shiftKey;this._mouseDown=true;this._createSelection(e.currentTarget);if(w(e.currentTarget).hasClass("k-event"))this._selection.eventElement=e.currentTarget}if(y._activeElement()!==this.wrapper.get(0))y.focusElement(this.wrapper);else this._select();if(this.toolbar)this.toolbar.find("."+c).removeClass(c)},_selectFirstSlot:function(){var e=this.wrapper.find(".k-scheduler-header-all-day").find("td").first(),t=this.wrapper.find(".k-scheduler-content").find("td").first(),i;if(e.length>0)i=e;else if(t.length>0)i=t;else i=this.wrapper.find(".k-scheduler-body").find(".k-link").first();this._createSelection(i)},_firstEvent:function(){var e=this.wrapper.find(".k-scheduler-header-wrap .k-event, .k-task").first(),t=this.wrapper.find(".k-scheduler-content .k-event").first(),i,n,a;if(e.length>0)if(t.length>0){n=this.occurrenceByUid(e.data("uid"));a=this.occurrenceByUid(t.data("uid"));i=n.start<=a.start?e:t}else i=e;else if(t)i=t;return i},_initialFocus:function(){var e=this._firstEvent(),t;if(this.options.selectable)if(e&&e.length>0){this._createSelection(e);this._selection.eventElement=e[0]}else{t=this.wrapper.find(".k-scheduler-body").find(".k-link:first");if(t.length>0){this._createSelection(t);t.focus()}else this._selectFirstSlot()}else if(this.toolbar&&this.toolbar.find("."+c).length===0)this._focusToolbar();else if(this.toolbar)this.toolbar.find("."+c).removeClass(c)},_select:function(){var e=this;var t=e.view();var i=e.wrapper;var n=t.current();var a=e._selection;var r=e._old?e._old.selection:null;var o=e._old?e._old.eventsLength:null;if(!a)return;if(n){n.removeAttribute("id");i.removeAttr("aria-activedescendant")}t.select(a);e._selection.eventElement=null;n=t.current();if(n){n.setAttribute("id",e._ariaId);i.attr("aria-activedescendant",e._ariaId);if(r!==n||a.events&&o!==a.events.length){var s=w(n).data("uid");if(e._old&&s&&s===w(e._old.selection).data("uid")&&(a.events&&e._old.eventsLength===a.events.length))return;var l=e._selectedEvents();var d=t._selectedSlots;e._old={selection:n,eventsLength:l.length};e.trigger(_,{start:a.start,end:a.end,events:l,slots:d,resources:t._resourceBySlot(a)})}}},_selectedEvents:function(){var e=this._selection.events;var t=e.length;var i=0;var n;var a=[];for(;i<t;i++){n=this.occurrenceByUid(e[i]);if(n)a.push(n)}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;var i=t.wrapper.find(".k-scheduler-content");var n=i[0].scrollHeight>i[0].clientHeight;var a=i[0].scrollWidth>i[0].clientWidth;var r=t._tapPosition(e,"Y");var o=t._tap