@progress/kendo-ui
Version:
This package is part of the [Kendo UI for jQuery](http://www.telerik.com/kendo-ui) suite.
2 lines • 89.3 kB
JavaScript
/* @license */
(function(e,t){typeof exports==`object`&&typeof module<`u`?t(exports,require(`kendo.dropdownlist.min.js`),require(`kendo.editable.min.js`),require(`kendo.multiselect.min.js`),require(`kendo.window.min.js`),require(`kendo.datetimepicker.min.js`),require(`kendo.scheduler.recurrence.min.js`),require(`kendo.scheduler.view.min.js`),require(`kendo.scheduler.dayview.min.js`),require(`kendo.scheduler.agendaview.min.js`),require(`kendo.scheduler.monthview.min.js`),require(`kendo.scheduler.timelineview.min.js`),require(`kendo.scheduler.yearview.min.js`),require(`kendo.dialog.min.js`),require(`kendo.pane.min.js`),require(`kendo.pdf.min.js`),require(`kendo.switch.min.js`),require(`kendo.toolbar.min.js`),require(`kendo.html.button.min.js`),require(`kendo.icons.min.js`)):typeof define==`function`&&define.amd?define([`exports`,`kendo.dropdownlist.min`,`kendo.editable.min`,`kendo.multiselect.min`,`kendo.window.min`,`kendo.datetimepicker.min`,`kendo.scheduler.recurrence.min`,`kendo.scheduler.view.min`,`kendo.scheduler.dayview.min`,`kendo.scheduler.agendaview.min`,`kendo.scheduler.monthview.min`,`kendo.scheduler.timelineview.min`,`kendo.scheduler.yearview.min`,`kendo.dialog.min`,`kendo.pane.min`,`kendo.pdf.min`,`kendo.switch.min`,`kendo.toolbar.min`,`kendo.html.button.min`,`kendo.icons.min`],t):(e=typeof globalThis<`u`?globalThis:e||self,t((e.kendo=e.kendo||{},e.kendo._globals=e.kendo._globals||{},e.kendo._globals.Scheduler={}),e.kendo._globals.Dropdownlist,e.kendo._globals.Editable,e.kendo._globals.Multiselect,e.kendo._globals.Window,e.kendo._globals.Datetimepicker,e.kendo._globals.SchedulerRecurrence,e.kendo._globals.SchedulerView,e.kendo._globals.SchedulerDayview,e.kendo._globals.SchedulerAgendaview,e.kendo._globals.SchedulerMonthview,e.kendo._globals.SchedulerTimelineview,e.kendo._globals.SchedulerYearview,e.kendo._globals.Dialog,e.kendo._globals.Pane,e.kendo._globals.Pdf,e.kendo._globals.Switch,e.kendo._globals.Toolbar,e.kendo._globals.HtmlButton,e.kendo._globals.Icons))})(this,function(e,t,n,r,i,a,o,s,c,l,u,d,f,p,m,h,g,_,v,y){Object.defineProperties(e,{__esModule:{value:!0},[Symbol.toStringTag]:{value:`Module`}});let b={id:`scheduler`,name:`Scheduler`,category:`web`,description:`The Scheduler is an event calendar.`,depends:[`dropdownlist`,`editable`,`multiselect`,`window`,`datepicker`,`datetimepicker`,`toolbar`,`scheduler.recurrence`,`scheduler.view`,`html.button`,`icons`],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`]}]};(function(e,t){var n=window.kendo,r=n.date,i=r.MS_PER_DAY,a=r.getDate,o=n.date.getMilliseconds,s=n.recurrence,c=n.htmlEncode,l=n.keys,u=n.ui,d=u.Widget,f=u.DataBoundWidget,p=`string`,m=u.Popup,h=u.Calendar,g=n.data.DataSource,_=e.isPlainObject,v=e.extend,y=Object.prototype.toString,b=Array.isArray,x=`.kendoScheduler`,S=`click`,C=`mousedown`,w=n.support.pointers?`pointerdown`:`touchstart`,T=n.support.pointers?`pointermove`:`touchmove`,ee=n.support.pointers?`pointerup`:`touchend`,te=n.support.mousemove,E=`change`,D=`progress`,O=`error`,k=`cancel`,A=`remove`,ne=`resetSeries`,j=`save`,re=`add`,M=`edit`,N=`disabled`,ie=`option`,P=`k-focus`,ae=`k-event-inverse`,oe=/(?:value:start|value:end)(?:,|$)/,se=`(min-width: 1024px)`,F=a(new Date),I=`,`,ce=/\;/g,L=`recurrenceException`,le=`Are you sure you want to delete this event?`,ue=`Do you want to delete only this event occurrence or the whole series?`,R=`Do you want to edit only this event occurrence or the whole series?`,de=`Are you sure you want to delete this event occurrence?`,fe=`Are you sure you want to reset the whole series?`,pe=`Are you sure you want to delete the whole series?`,me=`k-event-ongoing`,he=({className:e,attr:t,text:r,icon:i,fillMode:a,themeColor:o})=>n.html.renderButton(`<button type="button" class="${e}" ${t}>${r}</button>`,{icon:i,fillMode:a,themeColor:o}),z=n.template(({label:e,views:t,type:n})=>`<select aria-label="${e}" class="k-picker k-dropdown-list k-dropdown ${n}">`+Object.keys(t).map(e=>`<option value="${e}">${t[e].title}</option>`).join(``)+`</select>`),ge={pdf:{name:`pdf`,type:`button`,icon:`file-pdf`,attributes:{class:`k-pdf`}},pdfMobile:{name:`pdf`,type:`button`,icon:`file-pdf`,showText:`overflow`,attributes:{class:`k-pdf`}},today:{name:`today`,type:`button`,attributes:{"ref-nav-today":``}},previous:{name:`previous`,type:`button`,icon:`caret-alt-left`,showText:`overflow`,attributes:{"ref-nav-prev":``},groupClass:`k-scheduler-navigation`},next:{name:`next`,type:`button`,icon:`caret-alt-right`,showText:`overflow`,attributes:{"ref-nav-next":``},groupClass:`k-scheduler-navigation`},current:{name:`current`,type:`button`,icon:`calendar`,fillMode:`flat`,text:`placeholder`,attributes:{"aria-live":`polite`,class:`k-nav-current`}},search:{template:`<span class="k-scheduler-search k-textbox k-input"><input tabindex="-1" autocomplete="off" class="k-input-inner k-scheduler-search-input k-input-inner" /><span class="k-input-suffix">${n.ui.icon(`search`)}</span></span>`},refresh:{name:`refresh`,type:`button`,icon:`arrow-rotate-cw`,showText:`overflow`,attributes:{class:`k-scheduler-refresh`}},create:{name:`create`,type:`button`,icon:`plus`,attributes:{class:`k-create-event`}},calendar:{name:`calendar`,type:`button`,icon:`calendar`,attributes:{class:`k-nav-calendar`}},previousMobile:{name:`previous`,type:`button`,icon:`chevron-left`,showText:`overflow`,attributes:{"ref-nav-prev":``},groupClass:`k-scheduler-navigation`},nextMobile:{name:`next`,type:`button`,icon:`chevron-right`,showText:`overflow`,attributes:{"ref-nav-next":``},groupClass:`k-scheduler-navigation`},currentMobile:{template:`<span class="k-scheduler-navigation"><span class="k-nav-current"><span class="k-m-date-format"></span><span class="k-y-date-format"></span></span></span>`},view:{name:`view`,type:`button`,togglable:!0,group:`views`}},_e=[[`today`,`previous`,`next`],`current`,{type:`spacer`}],ve=[[`calendar`],{type:`spacer`}],ye=[`previousMobile`,{type:`spacer`},`currentMobile`,{type:`spacer`},`nextMobile`],be=function(t,r){var i={name:r.field,title:r.title},a=r.model.isAllDay,o=n.attr(`validate`)+`='`+!a+`'`,s=n.attr(`validate`)+`='`+!!a+`'`;V(i,r),H(i,r),U(i,r),e(`<input type="datetime-local" required `+n.attr(`type`)+`="datetime-local" `+n.attr(`bind`)+`="value:`+r.field+`, invisible:isAllDay" `+o+`/>`).attr(i).appendTo(t),e(`<input type="date" required `+n.attr(`type`)+`="date" `+n.attr(`bind`)+`="value:`+r.field+`,visible:isAllDay" `+s+`/>`).attr(i).appendTo(t),e(`<span `+n.attr(`for`)+`="`+r.field+`" class="k-invalid-msg"/>`).hide().appendTo(t)},xe=function(t,r){var i={name:r.field,title:r.title},a=r.model.isAllDay,o=n.attr(`validate`)+`='`+!a+`' `,s=n.attr(`validate`)+`='`+!!a+`' `;V(i,r),H(i,r),U(i,r),e(`<input type="text" required `+n.attr(`type`)+`="date" `+n.attr(`role`)+`="datetimepicker" `+n.attr(`bind`)+`="value:`+r.field+`,invisible:isAllDay" `+o+`/>`).attr(i).appendTo(t),e(`<input type="text" required `+n.attr(`type`)+`="date" `+n.attr(`role`)+`="datepicker" `+n.attr(`bind`)+`="value:`+r.field+`,visible:isAllDay" `+s+`/>`).attr(i).appendTo(t),e(`<span `+n.attr(`bind`)+`="text: `+r.field+`Timezone"></span>`).appendTo(t),r.field===`end`&&e(`<span `+n.attr(`bind`)+`="text: startTimezone, invisible: endTimezone"></span>`).appendTo(t),e(`<span `+n.attr(`for`)+`="`+r.field+`" class="k-invalid-msg"/>`).hide().appendTo(t)},Se=function(t,r){e(`<div `+n.attr(`bind`)+`="value:`+r.field+`" />`).attr({name:r.field}).appendTo(t).kendoRecurrenceEditor({start:r.model.start,timezone:r.timezone,messages:r.messages})},Ce=function(t,r){e(`<div `+n.attr(`bind`)+`="value:`+r.field+`" />`).attr({name:r.field}).appendTo(t).kendoMobileRecurrenceEditor({start:r.model.start,timezone:r.timezone,messages:r.messages,pane:r.pane,value:r.model[r.field]})},we=function(t,r){e(`<input type="checkbox" data-role="switch"`+n.attr(`bind`)+`="value:`+r.field+`" />`).appendTo(t)},Te=function(t,r){e(`<input type="checkbox" data-role="checkbox"`+n.attr(`bind`)+`="value:`+r.field+`" data-label="`+r.title+`" />`).attr({id:r.field,name:r.field,title:r.title?r.title:r.field}).appendTo(t)},Ee=function(t,r){var i=B(r.model,r.messages.noTimezone);e(`<span class="k-timezone-label"></span>`).text(i).appendTo(t),e(n.ui.icon(`arrow-chevron-right`)).appendTo(t),t.closest(`li.k-item label`).on(S,r.click)},De=function(t,n){e(`<a href="#" class="k-button" data-bind="invisible:isAllDay"><span class="k-button-text">`+n.messages.timezoneEditorButton+`</span></a>`).on(S,n.click).appendTo(t)},Oe=function(t,r){e(`<div class="k-mobiletimezoneeditor" `+n.attr(`bind`)+`="value:`+r.field+`" />`).attr({name:r.field}).appendTo(t).kendoMobileTimezoneEditor({optionLabel:r.noTimezone})},ke=function(r,i){var a=i.visible||i.visible===t;e(`<div `+n.attr(`bind`)+`="value:`+i.field+`" />`).attr({name:i.field}).toggle(a).appendTo(r).kendoTimezoneEditor({optionLabel:i.noTimezone,title:i.title})};function B(e,t){return t||=``,e.startTimezone&&(t=e.startTimezone,e.endTimezone&&(t+=` | `+e.endTimezone)),t}function V(e,t){var r=t.timezone;r&&(e[n.attr(`timezone`)]=r)}function H(e,t){var r=t.model.fields[t.field].validation;if(r){var i=r.validDateValidator;i&&_(i)&&i.message&&(e[n.attr(`validDate-msg`)]=i.message)}}function U(e,t){var r=t.model.fields[t.field].validation;if(r){var i=r.dateCompare;i&&_(i)&&i.message&&(e[n.attr(`dateCompare-msg`)]=i.message)}}function Ae(e,t){return function(n){return n=e(n),Me(n,`apply`,t),n||[]}}function je(e,t){return function(r){return r&&y.call(r)!==`[object Array]`&&!(r instanceof n.data.ObservableArray)&&(r=[r]),Me(r,`remove`,t,!0),r=e(r),r||[]}}function Me(e,t,r,i){var a,o,s,c,l;for(e||=[],o=0,s=e.length;o<s;o++)a=e[o],c=a.start?a.start.getTimezoneOffset():null,l=a.start?a.end.getTimezoneOffset():null,i?a.startTimezone||a.endTimezone?r?(a.start=n.timezone.convert(a.start,a.startTimezone||a.endTimezone,r),a.end=n.timezone.convert(a.end,a.endTimezone||a.startTimezone,r),a.start=n.timezone[t](a.start,r),a.end=n.timezone[t](a.end,r)):(a.start=n.timezone[t](a.start,a.startTimezone||a.endTimezone),a.end=n.timezone[t](a.end,a.endTimezone||a.startTimezone)):r&&(a.start=n.timezone[t](a.start,r),a.end=n.timezone[t](a.end,r)):a.startTimezone||a.endTimezone?(a.start=n.timezone[t](a.start,a.startTimezone||a.endTimezone),a.end=n.timezone[t](a.end,a.endTimezone||a.startTimezone),r&&(a.start=n.timezone.convert(a.start,a.startTimezone||a.endTimezone,r),a.end=n.timezone.convert(a.end,a.endTimezone||a.startTimezone,r))):r&&(a.start=n.timezone[t](a.start,r),a.end=n.timezone[t](a.end,r)),i&&delete a.uid,t===`remove`&&a.start&&c&&c!==a.start.getTimezoneOffset()&&(a.start=new Date(a.start.getTime()+(c-a.start.getTimezoneOffset())*6e4)),t===`remove`&&a.end&&l&&l!==a.end.getTimezoneOffset()&&(a.end=new Date(a.end.getTime()+(l-a.end.getTimezoneOffset())*6e4));return e}function Ne(e,t){for(var n=e.length,r=0,i;r<n;r++)if(i=e[r],i.uid===t)return i}var Pe=n.Class.extend({init:function(e,t){var n=e.timezone;this.reader=t,t.model&&(this.model=t.model),this.timezone=n,this.data=Ae(this.data.bind(this),n),this.serialize=je(this.serialize.bind(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)}});function Fe(e,t,r){return e=r?n.timezone.convert(e,t,r):n.timezone.remove(e,t),e}function W(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,r=n.widgetInstance(e,n.ui);return r?(t=n.parseDate(e.val(),r.options.format),!!t&&r.value()):(t=n.parseDate(e.val()),!!t)}return!0}function Ie(e){if(e.filter(`[name=end]`).length){var t=e.closest(`.k-scheduler-edit-form`),r=t.find(`[name=start]:visible`),i=t.find(`[name=end]:visible`);if(i[0]&&r[0]){var a,o,s=n.widgetInstance(r,n.ui),c=n.widgetInstance(i,n.ui),l=t.data(`kendoEditable`),u=l?l.options.model:null;if(s&&c?(a=s.value(),o=c.value()):(a=n.parseDate(r.val()),o=n.parseDate(i.val())),a&&o){if(u){var d=r.attr(n.attr(`timezone`)),f=u.startTimezone,p=u.endTimezone;f||=p,p||=f,f&&(a=Fe(a,f,d),o=Fe(o,p,d))}return a<=o}}}return!0}function Le(e){var t,r,i,a,o,s;return e.filter(`.k-recur-until`).length&&(t=n.widgetInstance(e,n.ui),r=t.value(),i=e.closest(`.k-scheduler-edit-form`),a=i.find(`[name=start]:visible`),a[0]&&(s=n.widgetInstance(a,n.ui),o=s?s.value():n.parseDate(a.val()),o&&r))?o<=r:!0}var G=n.data.Model.define({init:function(e){var t=this;n.data.Model.fn.init.call(t,e),t._defaultId=t.defaults[t.idField]},_time:function(e){var t=this[e],r=`_`+e+`Time`;return this[r]?this[r]-n.date.toUtcTime(n.date.getDate(t)):o(t)},_date:function(e){var t=`_`+e+`Time`;return this[t]?this[t]-this._time(e):n.date.getDate(this[e])},clone:function(t,n){var r=this.uid,i=new this.constructor(e.extend({},this.toJSON(),t));return n||(i.uid=r),i},duration:function(){var e=this.end,t=this.start,r=(e.getTimezoneOffset()-t.getTimezoneOffset())*n.date.MS_PER_MINUTE;return e-t-r},expand:function(e,t,n){return s?s.expand(this,e,t,n):[this]},update:function(e){for(var t in e)this.set(t,e[t]);this._startTime&&this.set(`_startTime`,n.date.toUtcTime(this.start)),this._endTime&&this.set(`_endTime`,n.date.toUtcTime(this.end))},isMultiDay:function(){return this.isAllDay||this.duration()>=n.date.MS_PER_DAY},isException:function(){return!this.isNew()&&this.recurrenceId},isOccurrence:function(){return this.isNew()&&this.recurrenceId},isRecurring:function(){return!!(this.recurrenceRule||this.recurrenceId)},isRecurrenceHead:function(){return!!(this.id&&this.recurrenceRule)},toOccurrence:function(t){return t=e.extend(t,{recurrenceException:null,recurrenceRule:null,recurrenceId:this.id||this.recurrenceId}),t[this.idField]=this.defaults[this.idField],this.clone(t,!0)},toJSON:function(){var e=n.data.Model.fn.toJSON.call(this);return e.uid=this.uid,delete e._startTime,delete e._endTime,e},shouldSerialize:function(e){return n.data.Model.fn.shouldSerialize.call(this,e)&&e!==`_defaultId`},set:function(e,t){var r=this.isAllDay||!1;if(n.data.Model.fn.set.call(this,e,t),e==`isAllDay`&&t!=r){var a=n.date.getDate(this.start),o=new Date(this.end),s=n.date.getMilliseconds(o);s===0&&t&&(s=i),this.set(`start`,a),t===!0?(n.date.setTime(o,-s),o<a&&(o=a)):n.date.setTime(o,i-s),this.set(`end`,o)}},id:`id`,fields:{id:{type:`number`},title:{defaultValue:``,type:`string`},start:{type:`date`,validation:{required:!0,validDate:{value:W}}},startTimezone:{type:`string`},end:{type:`date`,validation:{required:!0,validDate:{value:W},dateCompare:{value:Ie}}},endTimezone:{type:`string`},recurrenceRule:{defaultValue:``,type:`string`,validation:{validDate:{value:W},untilDateCompare:{value:Le}}},recurrenceException:{defaultValue:``,type:`string`},isAllDay:{type:`boolean`,defaultValue:!1},description:{type:`string`}}}),K=g.extend({init:function(e){g.fn.init.call(this,v(!0,{},{schema:{modelBase:G,model:G}},e)),this.reader=new Pe(this.options.schema,this.reader)},expand:function(e,t){var r=this.view(),a={},o;return e&&t&&(o=t.getTimezoneOffset(),t=new Date(t.getTime()+i-1),t.getTimezoneOffset()!==o&&(t=n.timezone.apply(t,o)),a={logic:`or`,filters:[{logic:`and`,filters:[{field:`start`,operator:`gte`,value:e},{field:`end`,operator:`gte`,value:e},{field:`start`,operator:`lte`,value:t}]},{logic:`and`,filters:[{field:`start`,operator:`lte`,value:new Date(e.getTime()+i-1)},{field:`end`,operator:`gte`,value:e}]}]},r=new n.data.Query(Re(r,e,t,this.reader.timezone)).filter(a).toArray()),r},cancelChanges:function(e){e&&e.isOccurrence()&&this._removeExceptionDate(e),g.fn.cancelChanges.call(this,e)},insert:function(e,t){if(t){if(!(t instanceof G)){var n=t;t=this._createNewModel(),t.accept(n)}return(!this._pushCreated&&t.isRecurrenceHead()||t.recurrenceId)&&(t=t.recurrenceId?t:t.toOccurrence(),this._addExceptionDate(t)),g.fn.insert.call(this,e,t)}},pushCreate:function(e){this._pushCreated=!0,g.fn.pushCreate.call(this,e),this._pushCreated=!1},remove:function(e){return e.isRecurrenceHead()?this._removeExceptions(e):e.isRecurring()&&this._addExceptionDate(e),g.fn.remove.call(this,e)},_removeExceptions:function(e){for(var t=this.data().slice(0),n=t.shift(),r=e.id;n;)n.recurrenceId===r&&g.fn.remove.call(this,n),n=t.shift();e.set(L,``)},_removeExceptionDate:function(e){if(e.recurrenceId){var t=this.get(e.recurrenceId);if(t){var n=e.defaults.start,r=RegExp(`(\\`+I+`?)`+s.toExceptionString(n,this.reader.timezone)),i=(t.recurrenceException||``).replace(ce,I).replace(/\,$/,``);r.test(i)?t.set(L,i.replace(r,``)):(n=e.start,r=RegExp(`(\\`+I+`?)`+s.toExceptionString(n,this.reader.timezone)),t.set(L,i.replace(r,``)))}}},_addExceptionDate:function(e){var t=e.start,n=this.reader.timezone,r=this.get(e.recurrenceId),i=(r.recurrenceException||``).replace(ce,I).replace(/\,$/,``);if(!s.isException(i,t,n)){var a=s.toExceptionString(t,n);e.defaults.start=t,r.set(L,i+(i&&a?I:``)+a)}}});function Re(e,t,n,r){for(var i=e.length,a=[],o=0;o<i;o++)a=a.concat(e[o].expand(t,n,r));return a}K.create=function(e){(b(e)||e instanceof n.data.ObservableArray)&&(e={data:e});var t=e||{};if(t.data=t.data,!(t instanceof K)&&t instanceof n.data.DataSource)throw Error(`Incorrect DataSource type. Only SchedulerDataSource instances are supported`);return t instanceof K?t:new K(t)},v(!0,n.data,{SchedulerDataSource:K,SchedulerDataReader:Pe,SchedulerEvent:G});var ze={update:{text:`Save`,className:`k-button-primary k-scheduler-update`},canceledit:{text:`Cancel`,className:`k-scheduler-cancel`},destroy:{text:`Delete`,icon:`trash`,imageClass:`k-i-trash`,className:`k-button-primary k-scheduler-delete`,iconClass:`k-icon`}};function Be(e,t){for(var n in delete e.name,delete e.prefix,delete e.remove,delete e.edit,delete e.add,delete e.navigate,t)e[n]=t[n];return e}function Ve(t){var n=q(t.model,t.field);return function(t,r){e(`<textarea name="description" class="k-input-inner" title="`+r.title+`"/>`).attr(n).appendTo(t).wrap(`<span class="k-input k-textarea"></span>`)}}function q(t,r){var i=(t.fields||t)[r],a=[`url`,`email`,`number`,`date`,`boolean`],o=i?i.validation:{},s=n.attr(`type`),c=e.inArray,l,u,d={};for(l in o)u=o[l],c(l,a)>=0?d[s]=l:n.isFunction(u)||(d[l]=_(u)?u.value||l:u),d[n.attr(l+`-msg`)]=u.message;return d}function J(e,n,r,i){var a=e.value(),o=Array.isArray(a),s=o?JSON.parse(JSON.stringify(a)):[a.toString()];e.dataSource.data().forEach(function(a){if(a[r]===null||a[r]===t||a[r]==n)a.set(N,!1);else{var c=a.get(i);a.set(N,!0),(s.indexOf(c)>=0||s.indexOf(c.toString())>=0)&&(o?s.splice(s.indexOf(c),1):(e.value(null),e.trigger(E)))}}),o&&s.length<a.length&&(e.value(s),e.trigger(E))}function Y(e,t,r,i){var a=e.closest(`.k-edit-form-container`).find(`[data-`+n.ns+`bind='value:`+i+`']`),o=a.getKendoDropDownList();o?o.bind(E,function(e){J(t,e.sender.value(),r.dataParentValueField,r.dataValueField)}):a.on(E,function(e){var n=e.target.value;J(t,n,r.dataParentValueField,r.dataValueField)})}function X(e,r,i){var a=r.find(ie),o=r.val(),s=Array.isArray(o),c=s?JSON.parse(JSON.stringify(o)):[o];e.dataSource.view().forEach(function(o,l){var u=n.getter(e.dataParentValueField)(o);if(u===null||u===t||u==i)a[l].removeAttribute(N);else{a[l].setAttribute(N,N);var d=``+o.get(e.dataValueField);c.indexOf(d)>=0&&(s?c.splice(c.indexOf(d),1):(r.val(null),r.trigger(E)))}}),s&&c.length<o.length&&(r.val(c),r.trigger(E))}function He(t,r,i){var a=q(r,t.field);return function(o){var s;i&&setTimeout(function(){J(s,r[i],t.dataParentValueField,t.dataValueField),Y(o,s,t,i)}),s=e(n.format(`<select aria-labelledby="`+t.field+`_label" data-{0}bind="value:{1}" title="`+r.title+`">`,n.ns,t.field)).appendTo(o).attr(a).kendoDropDownList({dataTextField:t.dataTextField,dataValueField:t.dataValueField,dataSource:t.dataSource.data(),valuePrimitive:t.valuePrimitive,optionLabel:`None`,template:e=>`<span ${e.disabled?`data-disabled`:``}><span class="k-scheduler-mark" ${n.attr(`style-background-color`)}="${e[t.dataColorField]||`none`}"></span>${e[t.dataTextField]}</span>`,select:function(e){e.dataItem&&e.dataItem.disabled&&e.preventDefault()},dataBound:function(e){let t=e.sender.list.find(`li`);for(let e=0;e<t.length;e++){var n=t.eq(e);n.find(`[data-disabled]`).length>0&&n.addClass(`k-disabled`)}}}).data(`kendoDropDownList`)}}function Ue(t,r,i){var a=q(r,t.field);return function(o){for(var s=``,c=t.dataSource.view(),l=0,u=c.length;l<u;l++)s+=n.format(`<option value="{0}">{1}</option>`,n.getter(t.dataValueField)(c[l]),n.getter(t.dataTextField)(c[l]));var d=e(n.format(`<select aria-labelledby="`+t.field+`_label" data-{0}bind="value:{1}">{2}</select>`,n.ns,t.field,s)).appendTo(o).attr(a);i&&setTimeout(function(){var e=o.closest(`.k-stretched-view`).find(`[data-`+n.ns+`bind='value:`+i+`']`),a=r[i];X(t,d,a),e.on(E,function(e){var n=e.target.value;X(t,d,n)})})}}function We(t,r,i){var a=q(r,t.field);return function(o){var s;i&&setTimeout(function(){J(s,r[i],t.dataParentValueField,t.dataValueField),Y(o,s,t,i)}),s=e(n.format(`<select aria-labelledby="`+t.field+`_label" data-{0}bind="value:{1}">`,n.ns,t.field)).appendTo(o).attr(a).kendoMultiSelect({dataTextField:t.dataTextField,dataValueField:t.dataValueField,dataSource:t.dataSource.data(),valuePrimitive:t.valuePrimitive,itemTemplate:e=>`<span ${e.disabled?`data-disabled`:``}><span class="k-scheduler-mark" ${n.attr(`style-background-color`)}="${e[t.dataColorField]||`none`}"></span>${e[t.dataTextField]}</span>`,tagTemplate:e=>`<span class="k-scheduler-mark" ${n.attr(`style-background-color`)}="${e[t.dataColorField]||`none`}"></span>${e[t.dataTextField]}`,select:function(e){e.dataItem&&e.dataItem.disabled&&e.preventDefault()},dataBound:function(e){let t=e.sender.list.find(`li`);for(let e=0;e<t.length;e++){let n=t.eq(e);n.find(`[data-disabled]`).length>0&&n.addClass(`k-disabled`)}}}).data(`kendoMultiSelect`)}}function Ge(t,r,i){var a=q(r,t.field);return function(o){for(var s=``,c=t.dataSource.view(),l=0,u=c.length;l<u;l++)s+=n.format(`<option value="{0}">{1}</option>`,n.getter(t.dataValueField)(c[l]),n.getter(t.dataTextField)(c[l]));var d=e(n.format(`<select aria-labelledby="`+t.field+`_label" data-{0}bind="value:{1}" multiple="multiple">{2}</select>`,n.ns,t.field,s)).appendTo(o).attr(a);i&&setTimeout(function(){var e=o.closest(`.k-stretched-view`).find(`[data-`+n.ns+`bind='value:`+i+`']`),a=r[i];X(t,d,a),e.on(E,function(e){var n=e.target.value;X(t,d,n)})})}}function Z(e,t){var r=e.end.getTime()-e.start.getTime(),i=new Date(e.start.getTime());n.date.setTime(i,t);var a=new Date(i.getTime());return n.date.setTime(a,r,!0),{start:i,end:a}}var Ke={mobile:{dateRange:be,timezonePopUp:Ee,timezone:Oe,recurrence:Ce,description:Ve,multipleResources:Ge,resources:Ue,isAllDay:we},desktop:{dateRange:xe,timezonePopUp:De,timezone:ke,recurrence:Se,description:Ve,multipleResources:We,resources:He,isAllDay:Te}},Q=n.Observable.extend({init:function(e,t){n.Observable.fn.init.call(this),this.element=e,this.options=v(!0,{},this.options,t),this.createButton=this.options.createButton,this.toggleDateValidationHandler=this._toggleDateValidation.bind(this)},_toggleDateValidation:function(t){if(t.field==`isAllDay`){var r=this.container,i=this.editable.options.model.isAllDay,a=n.attr(`bind`),o,s,c;r.find(`[`+a+`*=end],[`+a+`*=start]`).each(function(){o=e(this),oe.test(o.attr(a))&&(s=o.is(`[`+n.attr(`role`)+`=datetimepicker],[type*=datetime]`),c=i!==s,o.attr(n.attr(`validate`),c.toString()))})}},fields:function(e,t){var r=this,i=r.options.messages,a=r.options.timezone,o=function(e){e.preventDefault(),r._initTimezoneEditor(t,this)},s=[{field:`title`,title:i.editor.title},{field:`start`,title:i.editor.start,editor:e.dateRange,timezone:a},{field:`end`,title:i.editor.end,editor:e.dateRange,timezone:a},{field:`isAllDay`,title:i.editor.allDayEvent,editor:e.isAllDay}],c=function(e){return!!e[u.dataParentValueField]};n.timezone.windows_zones&&(s.push({field:`timezone`,title:i.editor.timezone,editor:e.timezonePopUp,click:o,messages:i.editor,model:t}),s.push({field:`startTimezone`,title:i.editor.startTimezone,editor:e.timezone,noTimezone:i.editor.noTimezone}),s.push({field:`endTimezone`,title:i.editor.endTimezone,editor:e.timezone,noTimezone:i.editor.noTimezone})),t.recurrenceId||s.push({field:`recurrenceRule`,title:i.editor.repeat,editor:e.recurrence,timezone:a,messages:i.recurrenceEditor,pane:this.pane}),`description`in t&&s.push({field:`description`,title:i.editor.description,editor:e.description({model:t,field:`description`})});for(var l=0;l<this.options.resources.length;l++){var u=this.options.resources[l],d=u.dataSource.view().some(c),f,p;d&&(f=this.options.resources[l-1],f&&(p=f.field)),s.push({field:u.field,title:u.title,editor:u.multiple?e.multipleResources(u,t,p):e.resources(u,t,p)})}return s},end:function(){return this.editable.end()},_buildDesktopEditTemplate:function(t,r,i){var a=this.options.messages;let o=`<div class="k-popup-edit-form k-scheduler-edit-form k-scheduler-timezones" ${n.attr(`style-display`)}="none"><div class="k-form"><div class="k-form-field"><div class="k-form-field-wrap">`+n.html.renderCheckBox(e(`<input class="k-timezone-toggle"/>`),{label:a.editor.separateTimezones})+`</div></div>`,s=e=>!t.editable||t.editable(e)?`<div ${n.attr(`container-for`)}="${e}" class="k-form-field-wrap"></div>`:`<div class="k-form-field-wrap">${e&&n.getter(e)(t)||``}</div>`;return`<div class="k-form">`+r.map(e=>{let n=e.field,r=e.title,a=t.fields[n];return(!t.editable||t.editable(n))&&i.push(e),(n===`startTimezone`?o:``)+(a&&a.type===`boolean`?`<div class="k-form-field">${s(n)}</div>`:`<div class="k-form-field"><label class="k-label k-form-label" for="${n}" id="${n}_label">${r||n||``}</label>${s(n)}</div>`)+(n===`endTimezone`?this._createEndTimezoneButton():``)}).join(``)+`</div>`},_buildMobileEditTemplate:function(e,t,r){var i=this.options.messages;let a=`<div class="k-popup-edit-form k-scheduler-edit-form k-scheduler-timezones" ${n.attr(`style-display`)}="none"><ul class="k-listgroup k-listgroup-flush"><li class="k-item k-listgroup-item"><label class="k-label k-listgroup-form-row"><span class="k-item-title k-listgroup-form-row">`+c(i.editor.separateTimezones)+`</span><span class="k-listgroup-form-field-wrapper"><input class="k-timezone-toggle" data-role="switch" type="checkbox" /></span></label></li>`,o=t=>{let r=t.field,i=t.title,a=!e.editable||e.editable(r),o;return o=a?`${r===`timezone`?`<label class="k-label k-listgroup-form-row" data-bind="css: { k-disabled: isAllDay }">`:`<label class="k-label k-listgroup-form-row">`}<span class="k-item-title k-listgroup-form-field-label">${i||r||``}</span><div class="k-listgroup-form-field-wrapper" ${n.attr(`container-for`)}="${r}"></div>`:`<li class="k-item k-listgroup-item"><label class="k-label k-no-click k-listgroup-form-row"><span class="k-item-title k-listgroup-form-field-label">${i||r||``}</span><span class="k-no-editor k-listgroup-form-field-wrapper">${r&&n.getter(r)(e)||``}</span>`,`<li class="k-item k-listgroup-item">`+o+`</label></li>`};return`<ul class="k-listgroup k-listgroup-flush">`+t.map(t=>{let n=t.field;return(!e.editable||e.editable(n))&&r.push(t),(n===`timezone`||n===`recurrenceRule`?`</ul><ul class="k-listgroup k-listgroup-flush">`:``)+(n===`startTimezone`?a:``)+o(t)+(n===`recurrenceRule`?`</ul><ul class="k-listgroup k-listgroup-flush">`:``)+(n===`endTimezone`?`</ul></div>`:``)}).join(``)+`</ul>`},_buildEditTemplate:function(e,t,r,i){var a=v({},n.Template,this.options.templateSettings),o=this.options.editable.template,s=``;return o?(typeof o===p&&(o=n.unescape(o)),s+=n.template(o,a)(e)):i?s+=`<div data-role="content">`+this._buildMobileEditTemplate(e,t,r)+`</div>`:s+=this._buildDesktopEditTemplate(e,t,r),s},_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=Q.extend({init:function(){Q.fn.init.apply(this,arguments),this.pane=n.Pane.wrap(this.element,{viewEngine:{viewOptions:{renderOnInit:!0,wrap:!1,wrapInSections:!0,detachOnHide:!1,detachOnDestroy:!1}}}),this.pane.element.parent().css(`height`,this.options.height),this.view=this.pane.view()},options:{animations:{left:`slide`,right:`slide:right`}},destroy:function(){this.close(),this.unbind(),this.pane.destroy()},_initTimezoneEditor:function(t){var r=this,i=r.pane,a=r.options.messages,o=r.timezoneView,s=o?o.content.find(`.k-scheduler-timezones`):r.container.find(`.k-scheduler-timezones`),l=s.find(`input.k-timezone-toggle`).data(`kendoSwitch`),u=s.find(`li.k-item:not(.k-zonepicker)`).last(),d=function(e){if(e.field===`startTimezone`){var n=t.startTimezone;l.enable(n),n||(u.hide(),t.set(`endTimezone`,``),l.value(!1))}};if(r._startTimezone=t.startTimezone||``,r._endTimezone=t.endTimezone||``,!o){var f=`<div data-role="view" class="k-popup-edit-form k-scheduler-edit-form"><div data-role="header" class="k-appbar k-appbar-primary">`+n.html.renderButton(`<button class="k-header-cancel k-scheduler-cancel" title="${a.cancel}" aria-label="${a.cancel}"></button>`,{fillMode:`flat`,icon:`chevron-left`})+`<span class="k-spacer"></span><span>${c(a.editor.timezoneTitle)}</span><span class="k-spacer"></span>`+c(a.editor.timezoneTitle)+n.html.renderButton(`<button class="k-header-done k-scheduler-update" title="${a.save}" aria-label="${a.save}"></button>`,{fillMode:`flat`,icon:`check`})+`</div><div data-role="content"></div>`;this.timezoneView=o=i.append(f),o.contentElement.append(s.show()),o.element.on(S+x,`.k-scheduler-cancel, .k-scheduler-update`,function(n){n.preventDefault(),n.stopPropagation(),e(this).hasClass(`k-scheduler-cancel`)&&r._revertTimezones(t);var o=r._editPane,s=B(t,a.editor.noTimezone);o.content.find(`.k-timezone-label`).text(s),i.navigate(o,r.options.animations.right)}),l.bind(E,function(e){u.toggle(e.checked),t.set(`endTimezone`,``)}),t.bind(E,d)}l.value(!!t.endTimezone),l.enable(!!t.startTimezone),t.endTimezone?u.show():u.hide(),i.navigate(o,r.options.animations.left)},showDialog:function(t){var n=t.buttons.map(function(e){return{text:e.text,action:e.click}});n.push({text:this.options.messages.cancel,primary:!0}),e(`<div />`).appendTo(document.body).kendoDialog({close:function(){this.destroy()},modal:{preventScroll:!0},closable:!1,title:!1,content:t.text,actions:n})},editEvent:function(t){var r=this.pane,i=``,a=this.options.messages,o=a.save,s=a.destroy,l=a.cancel,u=a.editor.editorTitle,d=a.resetSeries;i+=`<div data-role="view" class="k-popup-edit-form k-scheduler-edit-form"`+n.attr(`uid`)+`="`+t.uid+`"><div data-role="header" class="k-appbar k-appbar-primary">`+n.html.renderButton(`<button class="k-header-cancel k-scheduler-cancel" title="${l}" aria-label="${l}"></button>`,{fillMode:`flat`,icon:`chevron-left`})+`<span class="k-spacer"></span><span>${c(u)}</span><span class="k-spacer"></span>`+n.html.renderButton(`<button class="k-header-done k-scheduler-update" title="${o}" aria-label="${o}"></button>`,{fillMode:`flat`,icon:`check`})+`</div>`;var f=this.fields(Ke.mobile,t),p=this,m=[];i+=this._buildEditTemplate(t,f,m,!0),i+=`</div>`;var h=r.append(i);if(!t.isNew()&&this.options.editable&&this.options.editable.destroy!==!1&&t.isRecurrenceHead()&&t.recurrenceException){var g=`<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="`+d+`">`+d+`</span></li></ul>`;h.contentElement.append(g)}if(!t.isNew()&&this.options.editable&&this.options.editable.destroy!==!1){var _=`<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="`+s+`">`+s+`</span></li></ul>`;h.contentElement.append(_)}this._editPane=h;var v=this.container=h.element;return this.editable=v.kendoEditable({fields:m,model:t,clearContainer:!1,target:p.options.target,validateOnBlur:!0}).data(`kendoEditable`),this.trigger(`edit`,{container:v,model:t})?this.trigger(`cancel`,{container:v,model:t}):(v.on(S+x,`a.k-scheduler-edit, .k-scheduler-cancel, .k-scheduler-update, span.k-scheduler-delete, span.k-scheduler-resetSeries`,function(n){n.preventDefault(),n.stopPropagation();var i=e(this);if(i.hasClass(`k-scheduler-edit`))r.navigate(this._editPane,p.options.animations.right);else{var a=`cancel`;i.hasClass(`k-scheduler-update`)?a=`save`:i.hasClass(`k-scheduler-delete`)?a=`remove`:i.hasClass(`k-scheduler-resetSeries`)&&(a=ne),p.trigger(a,{container:v,model:t})}}),r.navigate(h,p.options.animations.left),t.bind(E,p.toggleDateValidationHandler)),this.editable},_views:function(){return this.pane.element.find(n.roleSelector(`view`)).not(this.view.element)},close:function(){if(this.container){this.pane.navigate(``,this.options.animations.right);for(var e=this._views(),t,n=0,r=e.length;n<r;n++)t=e.eq(n).data(`kendoView`),t&&t.purge();e.remove(),this.container=null,this.editable&&=(this.editable.options.model.unbind(E,this.toggleDateValidationHandler),this.editable.destroy(),null),this.timezoneView=null}}}),Je=Q.extend({destroy:function(){this.close(),this.unbind()},editEvent:function(t){var r=this,i=r.options.editable,a=`<div `+n.attr(`uid`)+`="`+t.uid+`" class="k-popup-edit-form k-scheduler-edit-form"><div class="k-edit-form-container">`,o,s=r.options.messages,c=s.save,l=`save`,u=s.cancel,d=`cancel-outline`,f=s.destroy,p=`trash`,m=s.resetSeries,h=this.fields(Ke.desktop,t),g=[],y;a+=this._buildEditTemplate(t,h,g,!1);var b,C=_(i)?i.window:{};a+=`<div class="k-edit-buttons">`,a+=this.createButton({name:`update`,text:c,attr:b,icon:l})+this.createButton({name:`canceledit`,text:u,attr:b,icon:d}),!t.isNew()&&i.destroy!==!1&&t.isRecurrenceHead()&&t.recurrenceException&&(a+=this.createButton({name:`resetSeries`,text:m,attr:b})),(!t.isNew()||t.isRecurring())&&i.destroy!==!1&&(a+=`<span class="k-spacer"></span>`+this.createButton({name:`delete`,text:f,attr:b,icon:p,fillMode:`flat`,themeColor:`primary`})),a+=`</div></div></div>`,o=e(a),n.applyStylesFromKendoAttributes(o,[`display`]);var w=this.container=o.appendTo(r.element).eq(0).kendoWindow(v({modal:!0,resizable:!1,draggable:!0,title:s.editor.editorTitle,visible:!1,close:function(e){e.userTriggered&&r.trigger(k,{container:w,model:t})&&e.preventDefault()}},C));for(var T in r.editable=w.kendoEditable({fields:g,model:t,clearContainer:!1,validateOnBlur:!0,target:r.options.target}).data(`kendoEditable`),g)g[T].field!==`recurrenceRule`&&(y=g[T].field,w.find(`[name='`+y+`']`).attr(`aria-labelledby`,y+`_label`)),g[T].field===`isAllDay`&&w.find(`label[for='`+y+`']`).attr(`id`,y+`_label`);return r.trigger(M,{container:w,model:t})?r.trigger(k,{container:w,model:t}):(i.window&&i.window.position?w.data(`kendoWindow`).open():w.data(`kendoWindow`).center().open(),w.on(S+x,`button.k-scheduler-cancel`,function(e){e.preventDefault(),e.stopPropagation(),r.trigger(k,{container:w,model:t})}),w.on(S+x,`button.k-scheduler-update`,function(e){e.preventDefault(),e.stopPropagation(),r.trigger(`save`,{container:w,model:t})}),w.on(S+x,`button.k-scheduler-delete`,function(e){e.preventDefault(),e.stopPropagation(),r.trigger(A,{container:w,model:t})}),w.on(S+x,`button.k-scheduler-resetSeries`,function(e){e.preventDefault(),e.stopPropagation(),r.trigger(ne,{container:w,model:t})}),n.cycleForm(w),t.bind(E,r.toggleDateValidationHandler)),r.editable},close:function(){var e=this,t=function(){e.editable&&(e.editable.options.model.unbind(E,e.toggleDateValidationHandler),e.editable.destroy(),e.editable=null,e.container=null),e.popup&&=(e.popup.destroy(),null)};e.editable?(e._timezonePopup&&e._timezonePopup.data(`kendoWindow`)&&(e._timezonePopup.data(`kendoWindow`).destroy(),e._timezonePopup=null),e.container.is(`:visible`)?e.container.data(`kendoWindow`).bind(`deactivate`,t).close():t()):t()},_createEndTimezoneButton:function(){var e=this.options.messages,t=``;return t+=`<div class="k-edit-buttons">`,t+=this.createButton({name:`savetimezone`,icon:`save`,themeColor:`primary`,text:e.save})+this.createButton({name:`canceltimezone`,icon:`cancel-outline`,text:e.cancel}),t+=`</div></div></div>`,t},showDialog:function(t){var r=n.format(`<div class='k-popup-edit-form'><div class='k-edit-form-container'><p class='k-popup-message'>{0}</p>`,t.text);r+=`<div class="k-edit-buttons">`;for(var i=0;i<t.buttons.length;i++)r+=this.createButton(t.buttons[i]);r+=`</div></div></div>`;var a=this.element;this.popup&&this.popup.destroy();var o=this.popup=e(r).appendTo(a).eq(0).on(S,`.k-button`,function(n){n.preventDefault(),o.close();var r=e(n.currentTarget).index();t.buttons[r].click()}).kendoWindow({modal:!0,resizable:!1,draggable:!1,title:t.title,visible:!1,close:function(){this.destroy(),a.trigger(`focus`)}}).getKendoWindow();o.center().open()},_initTimezoneEditor:function(e,t){var n=this,r=n.container.find(`.k-scheduler-timezones`),i=r.find(`input.k-timezone-toggle`),a=r.find(`.k-form-field`).last(),o=r.find(`.k-scheduler-savetimezone`),s=r.find(`.k-scheduler-canceltimezone`),c=n._timezonePopup,l=function(t){if(t.field===`startTimezone`){var n=e.startTimezone;i.prop(N,!n),n||(a.hide(),e.set(`endTimezone`,``),i.prop(`checked`,!1))}},u;n._startTimezone=e.startTimezone,n._endTimezone=e.endTimezone,c||(n._timezonePopup=c=r.kendoWindow({modal:!0,resizable:!1,draggable:!0,title:n.options.messages.editor.timezoneEditorTitle,visible:!1,close:function(r){e.unbind(E,l),r.userTriggered&&n._revertTimezones(e),t&&t.focus()}}),i.on(S,function(){a.toggle(i.prop(`checked`)),e.set(`endTimezone`,``)}),o.on(S,function(e){e.preventDefault(),u.close()}),s.on(S,function(t){t.preventDefault(),n._revertTimezones(e),u.close()}),e.bind(E,l)),i.prop(`checked`,e.endTimezone).prop(N,!e.startTimezone),e.endTimezone?a.show():a.hide(),u=c.data(`kendoWindow`),u.center().open()}}),$=f.extend({init:function(t,r){var i=this;d.fn.init.call(i,t,r),(!i.options.views||!i.options.views.length)&&(i.options.views=[`day`,`week`]),i.resources=[],i._initModel(),i._wrapper(),i.options.selectable&&i._tabindex(),i._views(),i._toolbar(),i._dataSource(),i._resources(),i._resizeHandler=function(){i.resize()},i.wrapper.on(C+x+` selectstart`+x,function(t){var n=e(t.target);!n.is(`:kendoFocusable`)&&n.closest(`.k-button`).length===0&&t.preventDefault()}),i.options.editable&&i.options.editable.resize!==!1&&i._resizable(),i._movable(),i._bindResize(),i.options.messages&&i.options.messages.recurrence&&(s.options=i.options.messages.recurrence),i._navigation(),i._selectable(),i._touchHandlers(),i._ariaId=n.guid(),i._createEditor(),i.mediaQueryList=n.mediaQuery(se),i.mediaQueryList.onChange(i._onMediaChange.bind(i)),i.toolbar.find(`.k-scheduler-views`).children().removeClass(`k-button-rectangle`),i._showWatermarkOverlay&&i._showWatermarkOverlay(i.element[0])},_onMediaChange:function(e){var t=this,n=t._selectedView,r=t.toolbar,i=r.getKendoToolBar();e.matches?(i.hide(r.find(`.k-views-dropdown`)),i.show(r.find(`.k-views-dropdown`).parent().next(`.k-button-group`))):(i.show(r.find(`.k-views-dropdown`)),i.hide(r.find(`.k-views-dropdown`).parent().next(`.k-button-group`))),t._model.set(`formattedDate`,e.matches?n.dateForTitle():n.shortDateForTitle())},_bindResize:function(){e(window).on(`resize`+x,this._resizeHandler)},_unbindResize:function(){e(window).off(`resize`+x,this._resizeHandler)},dataItems:function(){var n=this,r=n.items(),i=n._data,a=e.map(r,function(t){return e(t).attr(`data-uid`)}),o,s,c={},l=a.length;for(o=0;o<l;o++)c[a[o]]=null;var u=i.length;for(o=0;o<u;o++){var d=i[o];c[d.uid]!==t&&(c[d.uid]=d)}var f=[];for(s in c)f.push(c[s]);return f},_isMobile:function(){var e=this.options;return e.mobile===!0&&n.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(ae)},_groupsByResource:function(e,t,r,i,a){r||=[];var o=e[0];if(o){for(var s,c=o.dataSource.view(),l=0,u=0;u<c.length;u++){var d=n.getter(o.dataValueField)(c[u]),f=t+l+u;s=this._groupsByResource(e.slice(1),f,r,d,o.field),s[o.field]=d,l=s.groupIndex,a&&i&&(s[a]=i),e.length===1&&(s.groupIndex=t+u,r.push(s))}return s}else return{}},data:function(){return this._data},select:function(e){var r=this,i=r.view(),o=r._selection,s=i.groups,c;if(e===t){var l,u=i._selectedSlots;return o?(o&&o.events&&(l=r._selectedEvents()),{start:o.start,end:o.end,events:l,slots:u,resources:i._resourceBySlot(o)}):[]}if(!e){r._selection=null,r._old=null,i.clearSelection();return}if(Array.isArray(e)&&(e={events:e.splice(0)}),e.resources){var d,f=[],p=[];for(d in i.groupedResources&&r._groupsByResource(i.groupedResources,0,p),e.resources)f.push({field:d,operator:`eq`,value:e.resources[d]});c=new n.data.Query(p).filter(f).toArray()}if(e.events&&e.events.length){r._selectEvents(e.events,c),r._select();return}if(s&&e.start&&e.end){var m=a(i._startDate),h=n.date.addDays(a(i._endDate),1),g,_;e.start<h&&m<=e.end&&(g=c&&c.length?s[c[0].groupIndex]:s[0],g.timeSlotCollectionCount()||(e.isAllDay=!0),_=g.ranges(e.start,e.end,e.isAllDay,!1),_.length&&(r._selection={start:n.timezone.toLocalDate(_[0].start.start),end:n.timezone.toLocalDate(_[_.length-1].end.end),groupIndex:_[0].start.groupIndex,index:_[0].start.index,isAllDay:_[0].start.isDaySlot,events:[]},r._select()))}},_selectEvents:function(e,t){var r=this,i,a=r.view(),o=a.groups,s=e.length,c=t&&t.length,l=r._ctrlKey;for(r._ctrlKey=!0,i=0;i<s;i++)if(o&&c){for(var u=o[t[0].groupIndex],d=[],f=u.timeSlotCollectionCount(),p=u.daySlotCollectionCount(),m=0;m<f;m++)d=d.concat(u.getTimeSlotCollection(m).events());for(var h=0;h<p;h++)d=d.concat(u.getDaySlotCollection(h).events());d=new n.data.Query(d).filter({field:e=>e.element[0].getAttribute(`data-uid`),operator:`eq`,value:e[i]}).toArray(),d[0]&&r._createSelection(d[0].element)}else{var g=a.element.find(n.format(`.k-event[data-uid={0}], .k-task[data-uid={0}]`,e[i]));g.length&&r._createSelection(g[0])}r._ctrlKey=l},_touchHandlers:function(){var e=this,t,r,i,a,o,s=e.wrapper,c=e._touchMove.bind(e);s.on(w+x,`.k-scheduler-header-all-day td, .k-scheduler-content td, .k-event`,function(n){var i=e.wrapper.find(`.k-scheduler-content`);e._isTouch(n)&&(i.stop(!0,!1),e._touchPosX=t=e._tapPosition(n,`X`),e._touchPosY=r=e._tapPosition(n,`Y`),e._userTouched=!0,e.view()._scrolling=!1,o=Date.now(),s.on(T+x,`.k-scheduler-header-all-day td, .k-scheduler-content td, .k-event`,c))}),s.on(`contextmenu`+x,`.k-scheduler-header-all-day td, .k-scheduler-content td, .k-event`,function(t){e._preventFocus=!0}),s.on(ee+x,`.k-scheduler-header-all-day td, .k-scheduler-content td, .k-event`,function(l){if(e._isTouch(l)){var u=Date.now()-o,d=e.wrapper.find(`.k-scheduler-content`),f=-e._amplitude*(3e3/u);i=e._tapPosition(l,`X`),a=e._tapPosition(l,`Y`),!e._dragging&&(e.options.selectable&&(Math.abs(i-t)<=10||Math.abs(a-r)<=10)&&e._mouseDownSelection(l),!n.support.kineticScrollNeeded&&u<200&&Math.abs(i-t)>10&&d.animate({scrollTop:d[0].scrollTop+f}),s.off(T+x,`.k-scheduler-header-all-day td, .k-scheduler-content td`,c))}})},_navigation:function(){var e=this,t=e.wrapper;t.on(`focus`+x,function(){var n=e._selection;setTimeout(function(){e._preventFocus?e._preventFocus=!1:((!n||n.events.length>0&&t.find(`[data-uid='`+n.events[0]+`']`).length===0)&&!e._userTouched&&!e._mouseDown?e._initialFocus():e._mouseDown=!1,e._select())},300)}),t.on(`focusout`+x,function(){e._ctrlKey=e._shiftKey=!1}),t.on(`keydown`+x,e._keydown.bind(e)),t.on(`keyup`+x,function(t){e._ctrlKey=t.ctrlKey,e._shiftKey=t.shiftKey})},_selectable:function(){var e=this,t=e.wrapper;if(e.options.selectable){t.on(C+x,`.k-scheduler-header-all-day td, .k-scheduler-content td, .k-event, .k-scheduler-body td .k-link`,function(t){e._isTouch(t)||e._mouseDownSelection(t)});var n=e._mouseMove.bind(e);t.on(C+x,`.k-scheduler-header-all-day td, .k-scheduler-content td`,function(r){var i=r.which,a=r.button,o=i&&i===3||a&&a==2;e._isTouch(r)||o||t.on(te+x,`.k-scheduler-header-all-day td, .k-scheduler-content td`,n)}),t.on(`mouseup`+x+` mousecancel`+x,function(){t.off(te+x,`.k-scheduler-header-all-day td, .k-scheduler-content td`,n)})}},_mouseDownSelection:function(t){var r=t.which,i=t.button;r&&r===3||i&&i==2||(t.ctrlKey&&(this._ctrlKey=t.ctrlKey),t.shiftKey&&(this._shiftKey=t.shiftKey),this._mouseDown=!0,this._createSelection(t.currentTarget),e(t.currentTarget).hasClass(`k-event`)&&(this._selection.eventElement=t.currentTarget)),this.view().name!==`year`&&n._activeElement()!==this.wrapper.get(0)?n.focusElement(this.wrapper):this._select(),this.toolbar&&this.toolbar.find(`.`+P).removeClass(P)},_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(),n=e.length>0?e:t.length>0?t:this.wrapper.find(`.k-scheduler-body`).find(`.k-link`).first();this._createSelection(n)},_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(),n,r,i;return e.length>0?t.length>0?(r=this.occurrenceByUid(e.data(`uid`)),i=this.occurrenceByUid(t.data(`uid`)),n=r.start<=i.start?e:t):n=e:t&&(n=t),n},_initialFocus:function(){var e=this._firstEvent();this.options.selectable?e&&e.length>0?(this._createSelection(e),this._selection.eventElement=e[0]):this._selectFirstSlot():this.toolbar&&this.toolbar.find(`.`+P).length===0?this._focusToolbar():this.toolbar&&this.toolbar.find(`.`+P).removeClass(P)},_select:function(){let t=this,n=t.view(),r=t.wrapper,i=t._selection,a=t._old?t._old.selection:null,o=t._old?t._old.eventsLength:null,s=n.current();if(i&&(s&&(s.removeAttribute(`id`),r.removeAttr(`aria-activedescendant`)),n.select(i),t._selection.eventElement=null,s=n.current(),s)){s.setAttribute(`id`,t._ariaId),r.attr(`aria-activedescendant`,t._ariaId);let d=t._old?t._old.selectionStart.getTime():null,f=t._old?t._old.selectionEnd.getTime():null,p=i.start.getTime()!==d||i.end.getTime()!==f;if(a!==s||i.events&&o!==i.events.length||p){var c=e(s).data(`uid`);if(t._old&&c&&c===e(t._old.selection).data(`uid`)&&i.events&&t._old.eventsLength===i.events.length)return;var l=t._selectedEvents(),u=n._selectedSlots;t._old={selection:s,eventsLength:l.length,selectionStart:i.start,selectionEnd:i.end},t.trigger(E,{start:i.start,end:i.end,events:l,slots:u,resources:n._resourceBySlot(i)})}}},_selectedEvents:function(){for(var e=this._selection.events,t=e.length,n=0,r,i=[];n<t;n++)r=this.occurrenceByUid(e[n]),r&&i.push(r);return i},_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,r=t.wrapper.find(`.k-scheduler-content`),i=r[0].scrollHeight>r[0].clientHeight,a=r[0].scrollWidth>r[0].clientWidth,o=t._tapPosition(e,`Y`),s=t._tapPosition(e,`X`),c=r[0].scrollTop-Math.round(o-t._touchPosY),l=r[0].scrollLeft-Math.round(s-t._touchPosX),u=i&&Math.abs(o-t._touchPosY)>10,d=a&&Math.abs(o-t._touchPosY)>10;t._dragging||n.support.kineticScrollNeeded||!t._isTouch(e)||(u||d)&&(t._amplitude=Math.round(o-t._touchPosY),t._touchPosY=o,t._touchPosX=s,r.animate({scrollTop:c,scrollLeft:l},0),t.view()._scrolling=!0)},_mouseMove:function(t){var n=this;clearTimeout(n._moveTimer),!n._isTouch(t)&&(n._moveTimer=setTimeout(function(){var r=n.view(),i=n._selection;if(i){var a=r.selectionByElement(e(t.currentTarget));if(a&&i.groupIndex===a.groupIndex){var o=a.startDate(),s=a.endDate();o>=i.end?i.backward=!1:s<=i.start&&(i.backward=!0),i.backward?i.start=o:i.end=s,n._select()}}},5))},_viewByIndex:function(e){for(var t in this.views){if(!e)return t;e--}},_keydownToolbar:function(e){var t=e.keyCode;if(e.altKey&&t===l.DOWN&&this.toolbar.find(`.k-nav-current`).hasClass(P)){this._showCalendar(),e.preventDefault();return}else if(t===l.DOWN){this._selectedViewName===`year`?this.view().calendar.focus():document.activeElement!==this.element[0]&&this.element.focus(),e.preventDefault();return}},_keydownView:function(e){var t=e.keyCode,r=t===16||t===18||t===17||t===91||t===92,i=this._selection,a=this.view(),o=a.options.editable,s=[l.LEFT,l.RIGHT,l.UP,l.DOWN],c=n.support.isRtl(this.element),u,d,f;r||i&&(t===l.ENTER?i.events.length&&o&&o.update!==!1&&this.editEvent(i.events[0]):(t===l.DELETE||t===l.BACKSPACE)&&o!==!1&&o.destroy!==!1?this.removeEvent(i.events[0]):s.indexOf(t)>-1?(u=t===l.UP||t===l.LEFT&&!c||t===l.RIGHT&&c,a.moveToEvent(i,u)&&(this._select(),document.activeElement!==this.element[0]&&this.element.trigger(`focus`),e.preventDefault())):(t===l.HOME||t===l.END)&&(e.preventDefault(),d=this.view().content.eq(0),f=t===l.HOME?d.find(`.k-scheduler-table td`).first():d.find(`.k-scheduler-table td`).last(),this.view()._scrollTo(f[0],d[0])))},_keydownShortcut:function(e){var t=new Date,i=this.options.timezone,a=this.view().options.editable;if(e===66&&this.view().toggleFullDay)this.view().toggleFullDay();else if(e===67&&a&&a.create!==!1)this.addEvent(v({},{start:this.date(),end:this.date()}));else i