UNPKG

@progress/kendo-ui

Version:

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

3 lines 31.7 kB
/* @license */ (function(e,t){typeof exports==`object`&&typeof module<`u`?t(exports,require("kendo.scheduler.view.min.js"),require("kendo.icons.min.js"),require("kendo.popover.min.js")):typeof define==`function`&&define.amd?define([`exports`,`kendo.scheduler.view.min`,`kendo.icons.min`,`kendo.popover.min`],t):(e=typeof globalThis<`u`?globalThis:e||self,t((e.kendo=e.kendo||{},e.kendo._globals=e.kendo._globals||{},e.kendo._globals.SchedulerMonthview={}),e.kendo._globals.SchedulerView,e.kendo._globals.Icons,e.kendo._globals.Popover))})(this,function(e,t,n,r){Object.defineProperties(e,{__esModule:{value:!0},[Symbol.toStringTag]:{value:`Module`}});let i={id:`scheduler.monthview`,name:`Scheduler Month View`,category:`web`,description:`The Scheduler Month View`,depends:[`scheduler.view`,`icons`,`popover`],hidden:!0};(function(e){var t=window.kendo,n=t.ui,r=n.SchedulerView,i=`.kendoMonthView`,a=e.extend,o=t.htmlEncode,s=t.date.getDate,c=t.date.MS_PER_DAY,l=6,u=7,d=`k-event-inverse`,f=t.template(({date:e})=>`<span class="k-link k-nav-day">${o(t.toString(e,`dd`))}</span>`),p=e=>`<div role="button" data-${e.ns}uid="${e.uid}" aria-label="${o(e.ariaLabel)}" title="${o(e.title)}" `+(e.resources[0]?`${t.attr(`style-background-color`)}="${e.resources[0].color}" ${t.attr(`style-border-color`)}="${e.resources[0].color}" class="k-event">`:`class="k-event">`)+(e.tail||e.middle?`<span class="k-event-continuation">${t.ui.icon(`chevron-left`)}</span>`:``)+`${t.template(e.template)(e)}`+(e.isException()?`<span class="k-event-recurrence-icon">${t.ui.icon(`arrows-no-repeat`)}</span>`:e.isRecurring()?`<span class="k-event-recurrence-icon">${t.ui.icon(`arrow-rotate-cw`)}</span>`:``)+(e.head||e.middle?`<span class="k-event-continuation">${t.ui.icon(`chevron-right`)}</span>`:``)+(e.resizable&&!e.tail&&!e.middle?`<span class="k-resize-handle k-resize-w"></span>`:``)+(e.resizable&&!e.head&&!e.middle?`<span class="k-resize-handle k-resize-e"></span>`:``)+`</div>`,m=t.template(({title:e})=>`<div class="k-event-template k-event-title k-text-ellipsis">${o(e)}</div>`),h=function({title:e,start:n,isAllDay:r}){return`<div class="k-popover-event k-event" role="listitem"><div class="k-event-title">`+t.htmlEncode(e)+`</div>`+(r?``:`<span class="k-event-time">`+t.htmlEncode(t.toString(n,`t`))+`</span>`)+`</div>`},g=2,_=t.template(({eventCount:e,tabindex:t})=>`<div role="button" aria-label="${e} more events"${t} class="k-more-events k-button k-button-xs k-button-flat k-button-primary">${e} more</div>`),v=t.Class.extend({init:function(e){this._view=e},_verticalRowCountForLevel:function(e){return this._view._rowCountForLevel(e)},_horizontalGroupCountForLevel:function(e){return this._view._columnCountForLevel(e)},_getCalendarRowsLength:function(e,t){return t/e},_createRows:function(e,t,n,r){for(var i=this._view,a=u,o=i._isVerticallyGrouped(),s=``,c=0;c<n;c++)s+=i._createRow(e,t,a,o?r:c);return s},_adjustStartDate:function(e){return t.date.addDays(e,u)},_getContent:function(e,t,n){return e({date:t,resources:n})},_getTimeSlotByPosition:function(e,t,n){return this._view.groups[n].daySlotByPosition(e,t)},_nextSlotStartDate:function(e){return t.date.nextDay(e)},_createRowsLayout:function(e,t,n){return this._view._createRowsLayout(e,t,n)},_createVerticalColumnsLayout:function(e,t,n,r){return r},_createColumnsLayout:function(e,t,n){return this._view._createColumnsLayout(e,t,n)},_verticalGroupCount:function(e){return this._view._rowCountForLevel(e)},_horizontalGroupCount:function(e){var t=this._view;return t._columnCountForLevel(e)/t._columnOffsetForResource(e)},_positionMobileEvent:function(e,t,n,r,i,a,o){var s=this._view;r>1&&(o===0?a=n.end.endDate():o==r-1?i=n.start.startDate():(i=n.start.startDate(),a=n.end.endDate()));var c=e.clone({start:new Date(i),end:new Date(a),head:n.head,tail:n.tail});s._positionMobileEvent(n,s._createEventElement(c),t)},_positionEvent:function(e,t,n,r,i,a,o){var s=this._view;r>1&&(o===0?a=n.end.endDate():o==r-1?i=n.start.startDate():(i=n.start.startDate(),a=n.end.endDate()));var c=e.clone({start:i,end:a,head:n.head,tail:n.tail});s._positionEvent(n,s._createEventElement(c),t)},_addDaySlotCollections:function(e,n,r){for(var i=this._view,a=u,o=l,s=0;s<e;s++){var c=0,d=0;i._isVerticallyGrouped()&&(d=s);for(var f=d*o;f<(d+1)*o;f++){var p=i.groups[s].addDaySlotCollection(t.date.addDays(r,c),t.date.addDays(r,c+a)),m=n[f].children,h=0;i._isVerticallyGrouped()||(h=s);for(var g=h*a;g<(h+1)*a;g++){var _=m[g];i.addDaySlot(p,_,r,c),c++}}}},_changePeriodGroupIndex:function(e){var t=this._view;return e?t.groups.length-1:0},_createResizeHint:function(e){var t=this._view,n=e.startSlot().offsetLeft,i=e.start.offsetTop,a=e.innerWidth(),o=e.start.clientHeight-2,s=r.fn._createResizeHint.call(t,n,i,a,o);t._appendResizeHint(s)},_createMoveHint:function(e,t){var n=this._view,r=e.startSlot(),i=e.endSlot(),a=n._createEventElement(t.clone({head:e.head,tail:e.tail}));a.css({left:r.offsetLeft+2,top:r.offsetTop+r.firstChildHeight,height:n.options.eventHeight===`auto`?25:n.options.eventHeight,width:e.innerWidth()-(r.index===i.index?2:3)}),a.addClass(`k-event-drag-hint`),t.inverseColor&&a.addClass(d),n._appendMoveHint(a)}}),y=t.Class.extend({init:function(e){this._view=e},_verticalRowCountForLevel:function(){return 1},_horizontalGroupCountForLevel:function(e){return this._view._columnCountForLevel(e+1)/u},_createRows:function(e,n,r){var i=this._view,a=u,o=i._isVerticallyGrouped(),s=``,c=0;if(o){for(var d=new Date(e),f=i._groupCount();c<l;c++)s+=i._createRow(d,n,f,c),d=t.date.addDays(d,a);e=t.date.nextDay(e)}else{for(;c<a;c++)s+=i._createRow(e,n,r,c),e=t.date.nextDay(e);e=t.date.addDays(e,a)}return s},_adjustStartDate:function(e,n){return this._view._isVerticallyGrouped()?n?t.date.addDays(e,u*(l-1)+1):t.date.nextDay(e):t.date.addDays(e,u)},_getContent:function(e,t,n,r){return r===0?e({date:t,resources:n}):``},_getTimeSlotByPosition:function(e,t,n){return this._view.groups[n].daySlotByPosition(e,t,!0)},_nextSlotStartDate:function(e){return e},_getCalendarRowsLength:function(){return this._view._isVerticallyGrouped()?u:l},_createRowsLayout:function(e,t,n,r){return this._view._createDateLayout(r,null,!1)},_createVerticalColumnsLayout:function(e,n,r){for(var i=this._view,a=e[0],o=[],s=a.dataSource.view(),c=0;c<s.length*l;c++){var u=t.getter(a.dataValueField)(s[c%s.length]),d={text:r({text:t.htmlEncode(t.getter(a.dataTextField)(s[c%s.length])),color:t.getter(a.dataColorField)(s[c%s.length]),field:a.field,title:a.title,name:a.name,value:u}),className:`k-slot-cell`,value:u};d.columns=i._createColumnsLayout(e.slice(1),null,r,null,null,u),o.push(d)}return o},_createColumnsLayout:function(e,t,n,r){return this._view._createColumnsLayout(e,t,n,r,!0)},_verticalGroupCount:function(e){return this._view._columnCountForLevel(e)/l},_horizontalGroupCount:function(e){return this._view._columnCountForLevel(e)/u},_positionMobileEvent:function(e,t,n,r,i,a){for(var o=this._view,s=n.start.index,c=n.end.index,l=n.start.index;l<=n.end.index;l++){var u=n.collection._slots[l],d=t.daySlotRanges(u.start,u.start,!0)[0],f=e.clone({start:l===s?i:u.startDate(),end:l===c?a:u.endDate(),head:l!==c||n.head,tail:l!==s||n.tail});o._positionMobileEvent(d,o._createEventElement(f),t)}},_positionEvent:function(e,t,n,r,i,a){for(var o=this._view,s=n.start.index,c=n.end.index,l=n.start.index;l<=n.end.index;l++){var u=n.collection._slots[l],d=t.daySlotRanges(u.start,u.start,!0)[0],f=e.clone({start:l===s?i:u.startDate(),end:l===c?a:u.endDate(),head:l!==c||n.head,tail:l!==s||n.tail});o._positionEvent(d,o._createEventElement(f),t)}},_addDaySlotCollections:function(e,n,r){for(var i=this._view,a=u,o=l,s=i._isVerticallyGrouped(),c=0;c<a;c++)for(var d=0;d<o;d++){var f=0,p=n[s?c:d].children,m=0;i._isVerticallyGrouped()||(m=c);for(var h=m*e;h<(m+1)*e;h++){var g=d*a+c,_=p[s?h+d*e:h],v=s?h:f,y=i.groups[v],b=c===0?y.addDaySlotCollection(t.date.addDays(r,g),t.date.addDays(r,g+a)):y._daySlotCollections[d];i.addDaySlot(b,_,r,g),f++}}},_changePeriodGroupIndex:function(e,t,n){var r=this._view;return t&&r._isVerticallyGrouped()?e?r.groups.length-1:0:n},_createResizeHint:function(e){var t=this._view,n,i,a,o,s;if(t._isVerticallyGrouped())n=e.startSlot().offsetLeft,i=e.start.offsetTop,a=e.startSlot().offsetWidth,o=e.endSlot().offsetTop+e.startSlot().offsetHeight-e.startSlot().offsetTop-2,s=r.fn._createResizeHint.call(t,n,i,a,o),t._appendResizeHint(s);else for(var c=e.startSlot().index;c<=e.endSlot().index;c++){var l=e.collection._slots[c];n=l.offsetLeft,i=l.offsetTop,a=l.offsetWidth,o=l.offsetHeight-2,s=r.fn._createResizeHint.call(t,n,i,a,o),t._appendResizeHint(s)}},_createMoveHint:function(e,t){for(var n=this._view,r=e.startSlot(),i=e.endSlot(),a=r.index;a<=i.index;a++){var o=e.collection._slots[a],s=n._createEventElement(t.clone({head:e.head,tail:e.tail}));s.css({left:o.offsetLeft,top:o.offsetTop+o.firstChildHeight,height:n.options.eventHeight===`auto`?25:n.options.eventHeight,width:o.offsetWidth-2}),s.addClass(`k-event-drag-hint`),t.inverseColor&&s.addClass(d),n._appendMoveHint(s)}}});t.ui.scheduler.MonthGroupedView=v,t.ui.scheduler.MonthGroupedByDateView=y,n.MonthView=r.extend({init:function(e,t){var n=this;t.eventsPerDay===0&&(t.eventsPerDay=1),t.eventHeight===0&&(t.eventHeight=1),t.moreButtonHeight===0&&(t.moreButtonHeight=1),typeof t.eventHeight==`string`&&t.eventHeight!==`auto`&&(t.eventHeight=25),t.eventHeight===`auto`&&(t.adaptiveSlotHeight=!0),r.fn.init.call(n,e,t),n._groupedView=n._getGroupedView();var i=this._isGroupedByDate(),a=this.options.adaptiveSlotHeight,o=this.options.eventHeight;if(i===!0&&a===!0)throw Error(`Incompatible options: adaptive slot height and date grouping!`);if(i===!0&&o===`auto`)throw Error(`Incompatible options: auto event height and date grouping!`);n.title=n.options.title,n._templates(),n._editable(),n._renderLayout(n.options.date),n._groups(),r.fn.endInit.call(n)},name:`month`,_getGroupedView:function(){return this._isGroupedByDate()?new t.ui.scheduler.MonthGroupedByDateView(this):new t.ui.scheduler.MonthGroupedView(this)},_updateDirection:function(e,t,n,r,i){if(n){var a=t[0].start,o=t[t.length-1].end,s=a.index===o.index,c=a.collectionIndex===o.collectionIndex;(i?s&&c||c:s&&c)&&(e.backward=r)}},_changeDate:function(e,t,n){var r=this.groups[e.groupIndex],i,a;if(n){if(i=r._getCollections(r.daySlotCollectionCount()),a=t.collectionIndex-1,a>=0)return i[a]._slots[i[a]._slots.length-1]}else{i=r._getCollections(r.daySlotCollectionCount()),a=t.collectionIndex+1;var o=0;if(i[a]&&i[a]._slots[o])return i[a]._slots[o]}},_getNextHorizontalRange:function(e,t,n){var r=this._isVerticallyGrouped();return n.startSlot=e[t](n.startSlot,r),n.endSlot=e[t](n.endSlot,r),n},_getNextVerticalRange:function(e,t,n,r){var i=this._isVerticallyGrouped()&&this._isGroupedByDate();return n.startSlot=e[t](n.startSlot,r,i),n.endSlot=e[t](n.endSlot,r,i),n},_changeViewPeriod:function(e,n,r){var i=r?7:1,a,o;return n&&(i*=-1),a=t.date.addDays(e.start,i),o=t.date.addDays(e.end,i),this._isInRange(a,o)?!1:(e.start=a,e.end=o,(!r||r&&this._isVerticallyGrouped())&&(e.groupIndex=this._groupedView._changePeriodGroupIndex(n,r,e.groupIndex)),e.events=[],!0)},_continuousSlot:function(e,t,n){var r=e.backward?0:t.length-1;return this.groups[e.groupIndex].continuousSlot(t[r].start,n)},_changeGroupContinuously:function(e,t,n,r){if(!n){var i=e.groupIndex,a=this.groups.length-1,o=this._isVerticallyGrouped(),s=this.groups[i];!t&&o?(t=s[r?`lastSlot`:`firstSlot`](),i+=r?-1:1):t&&!o&&(i=r?a:0),(i<0||i>a)&&(i=r?a:0,t=null),e.groupIndex=i}return t},_normalizeHorizontalSelection:function(e,t,n){return n?t[0].start:t[t.length-1].end},_normalizeVerticalSelection:function(e,t){return e.backward?t[0].start:t[t.length-1].end},_templates:function(){var e=this.options,n=a({},t.Template,e.templateSettings);this.eventTemplate=t.template(p),this.dayTemplate=t.template(e.dayTemplate,n),this.groupHeaderTemplate=t.template(e.groupHeaderTemplate,n)},dateForTitle:function(){return t.format(this.options.selectedDateFormat,this._firstDayOfMonth,this._lastDayOfMonth)},shortDateForTitle:function(){return t.format(this.options.selectedShortDateFormat,this._firstDayOfMonth,this._lastDayOfMonth)},mobileDateForTitle:function(){return t.format(this.options.selectedMobileDateFormat,this._firstDayOfMonth,this._lastDayOfMonth)},mobileYearForTitle:function(){return t.toString(this._firstDayOfMonth,`yyyy`)},nextDate:function(){return t.date.nextDay(this._lastDayOfMonth)},previousDate:function(){return t.date.previousDay(this._firstDayOfMonth)},startDate:function(){return this._startDate},endDate:function(){return this._endDate},_renderLayout:function(n){var r=this;this._firstDayOfMonth=t.date.firstDayOfMonth(n),this._lastDayOfMonth=t.date.lastDayOfMonth(n),this._startDate=x(n,this.calendarInfo()),this.createLayout(this._layout()),this._content(),this._initSlotHeight(),this._initTimesHeight(),this.refreshLayout(),this._isVirtualized()&&this._tryRenderContent(),this.content.on(`click`+i,`.k-nav-day`,function(t){var n=e(t.currentTarget).offset(),i=r._slotByPosition(n.left,n.top);t.preventDefault(),r.trigger(`navigate`,{view:`day`,date:i.startDate()})}),this.options.moreEventsPopover?this._initMoreEventsPopover():this.content.on(`click`+i,`.k-more-events`,function(n){var i=parseInt(e(n.currentTarget).attr(`data-slot-date`),10),a=t.timezone.toLocalDate(i);n.preventDefault(),r.trigger(`navigate`,{view:`day`,date:a})}),this._footer()},_editable:function(){this.options.editable&&(this._isMobile()?this._touchEditable():this._mouseEditable())},_mouseEditable:function(){var n=this;n.element.on(`click`+i,`.k-scheduler-monthview .k-event [ref-scheduler-delete]`,function(r){n.trigger(`remove`,{uid:e(this).closest(`.k-event`).attr(t.attr(`uid`))}),r.preventDefault()}),n.options.editable.create!==!1&&n.element.on(`dblclick`+i,`.k-scheduler-monthview .k-scheduler-content > table td`,function(t){var r=e(t.currentTarget).offset(),i=n._slotByPosition(r.left,r.top);if(i){var o=n._resourceBySlot(i);n.trigger(`add`,{eventInfo:a({isAllDay:!0,start:i.startDate(),end:i.startDate()},o)})}t.preventDefault()}),n.options.editable.update!==!1&&n.element.on(`dblclick`+i,`.k-scheduler-monthview .k-event`,function(r){n.trigger(`edit`,{uid:e(this).closest(`.k-event`).attr(t.attr(`uid`))}),r.preventDefault()})},_touchEditable:function(){var n=this,r=0;t.support.mobileOS.android&&(r=5),n.options.editable.create!==!1&&(n._addUserEvents=new t.UserEvents(n.element,{threshold:r,useClickAsTap:!t.support.browser.edge,filter:`.k-scheduler-monthview .k-scheduler-content td`,tap:function(t){if(!n._scrolling){var r=e(t.target).offset(),i=n._slotByPosition(r.left,r.top);if(i){var o=n._resourceBySlot(i);n.trigger(`add`,{eventInfo:a({isAllDay:!0,start:i.startDate(),end:i.startDate()},o)})}t.preventDefault()}}}))},selectionByElement:function(t){var n=e(t).offset();return this._slotByPosition(n.left,n.top)},moveToEvent:function(n,i){var a=e(this.current()),o=n.moreEventsElement,s=this._navigationKey;if(this.options.moreEventsPopover&&(s===t.keys.UP||s===t.keys.DOWN)){if(o&&i){var c=this.selectionByElement(o),l=this.content.find(`.k-event`).filter((e,t)=>{var n=this.selectionByElement(t);return n&&n.start===c.start&&n.groupIndex===c.groupIndex}).last();if(l.length){var u=this._getAllEvents().filter(function(e){return e.element[0]===l[0]})[0];return n.moreEventsElement=null,n.events=[u.uid],n.start=u.start.startDate(),n.end=u.end.endDate(),n.isAllDay=u.start.isDaySlot,n.groupIndex=u.start.groupIndex,n.eventElement=l[0],!0}}else if(!i&&a.hasClass(`k-event`)){var d=this.selectionByElement(a),f=this.content.find(`.k-more-events`).filter((e,t)=>{var n=this.selectionByElement(t);return n&&n.start===d.start&&n.groupIndex===d.groupIndex}).first(),p=this.content.find(`.k-event`).filter((e,t)=>{var n=this.selectionByElement(t);return n&&n.start===d.start&&n.groupIndex===d.groupIndex}).last();if(f.length&&a[0]===p[0]){var m=this.selectionByElement(f);return n.events=[],n.start=m.startDate(),n.end=m.endDate(),n.isAllDay=m.isDaySlot,n.groupIndex=m.groupIndex,n.moreEventsElement=f[0],!0}}}return n.moreEventsElement=null,r.fn.moveToEvent.call(this,n,i)},select:function(t){var n=t.moreEventsElement;if(n&&e.contains(this.content[0],n)){this.clearSelection(),e(n).addClass(`k-selected`),this.current(n),this._selectedSlots=[];return}r.fn.select.call(this,t)},activateMoreEvents:function(){var t=e(this.current());return!this.options.moreEventsPopover||!t.hasClass(`k-more-events`)||!t.hasClass(`k-selected`)?!1:(t.trigger(`click`),!0)},_columnCountForLevel:function(e){var t=this.columnLevels[e];return t?t.length:0},_rowCountForLevel:function(e){var t=this.rowLevels[e];return t?t.length:0},_content:function(){var e=`<tbody>`,t=1,n=this._groupedView,r=this.groupedResources;r.length&&this._isVerticallyGrouped()&&(t=n._verticalRowCountForLevel(r.length-1));for(var i=0;i<t;i++)e+=this._createCalendar(i),this._cachedGroupIndex=i;e+=`</tbody>`,this.content.find(`table`).html(e)},_virtualContent:function(){var e=this,t=``;t+=this._createCalendar(++this._cachedGroupIndex),e.content.find(`table tbody`).append(t),e._initSlotHeight()},_calcSlotHeight:function(e){var t=this.options,n=t.eventHeight,r=t.eventSpacing,i=t.moreButtonHeight,a=this.content.find(`table tr td`)[0],o;if(!(n===`auto`||!a))return o=a.firstChild,Math.round(a.offsetHeight-a.clientHeight+o.offsetTop+o.offsetHeight+g+e*n+(e-1)*r+(g+i)+g)},_initSlotHeight:function(){var e=this.options,t=e.eventsPerDay,n=e.eventHeight,r=this._isMobile(),i=this.content.find(`table`),a;r||typeof n==`number`&&(a=this._calcSlotHeight(t),i.find(`tr`).height(a))},_sortEventMeta:function(e){e.eventMeta.sort(function(e,t){return e.order-t.order})},_adjustSlotHeight:function(e){var t=this,n=this.options,r=n.eventHeight,i=n.eventSpacing,a=n.moreButtonHeight;this._canAdjustSlotHeight===!0&&e._daySlotCollections.forEach(function(e){var n=e._events,o=0,s=e._slots,c=s[0],l=c.element.offsetTop,u=0;s.forEach(function(e){e.eventMeta?e.actualEventCount=e.eventMeta.length:(e.eventMeta=[],e.actualEventCount=0)}),s.forEach(function(e,n){var r=e.eventMeta.slice();for(let e=0;e<r.length;e++){let t=r[e];t.startIndex===n&&t.startIndex!==t.endIndex&&s.slice(n,t.endIndex+1).forEach(function(e){var n=e.eventMeta;n.indexOf(t)>-1||(n[n.length]=t,e.actualEventCount=n.length,e.dirty=!0)})}e.dirty===!0&&(t._sortEventMeta(e),delete e.dirty)}),r===`auto`&&s.forEach(function(e,t){let n=e.firstChildTop+e.firstChildHeight+g;for(let t=0;t<e.eventMeta.length;t++){let r=e.eventMeta[t];r.top=Math.max(r.top,l+n),n=r.top-l+i+r.height}}),s.forEach(function(e,t){var s=e.firstChildTop+e.firstChildHeight+g;for(let r=0;r<e.eventMeta.length;r++){let a=e.eventMeta[r];a.top=Math.max(a.top,l+s),s=a.top-l+i+a.height,a.startIndex===t&&(n[o].element[0].style.top=a.top+`px`,o++)}e.eventMeta.length>0?(s-=i,s+=g):s+=r===`auto`?25:r,e.more&&(e.more[0].style.top=l+s+`px`,s+=g+a),u=Math.max(u,s+1)}),c.element.parentNode.style.height=u+`px`,s.forEach(function(e){e.offsetTop=l,e.offsetHeight=u,e.clientHeight=u-1})})},_initTimesHeight:function(){var e=this,t=e.times,n=e._isSchedulerHeightSet(),r=e.content[0];t&&!n&&t.height(r.clientHeight)},_createCalendar:function(e){var n=this.startDate(),r=u*l,i=u,a=[n],o=``,s=1,c=this._isVerticallyGrouped(),d=this._groupedView,f=this.groupedResources;f.length&&(c||(s=d._horizontalGroupCountForLevel(f.length-1))),this._slotIndices={};for(var p=d._getCalendarRowsLength(i,r),m=0;m<p;m++){o+=`<tr>`,a.push(n);var h=m*i;o+=d._createRows(n,h,s,e),n=d._adjustStartDate(n,m===p-1),o+=`</tr>`}return this._weekStartDates=a,this._endDate=t.date.previousDay(n),o},_createRow:function(e,n,r,i){for(var a=this,o=a._firstDayOfMonth,c=a._lastDayOfMonth,l=a.dayTemplate,u=``,d=``,f=this._groupedView,p=function(){return a._resourceBySlot({groupIndex:i})},m=0;m<r;m++)u=``,t.date.isToday(e)&&(u+=`k-today`),t.date.isInDateRange(e,o,c)||(u+=` k-other-month`),d+=`<td `,u!==``&&(d+=`class="`+u+`"`),d+=`>`,d+=f._getContent(l,e,p,m),d+=`</td>`,a._slotIndices[s(e).getTime()]=n+m,e=f._nextSlotStartDate(e);return d},_layout:function(){var t=this.calendarInfo(),n=b(this._isMobile()?t.days.namesShort.map(function(e){return e[0]}):t.days.names,t.firstDay),r=e.map(n,function(e){return{text:e}}),i=this.groupedResources,a,o=this._groupedView;if(i.length)if(this._isVerticallyGrouped()){for(var s=[],c=0;c<6;c++)s.push({text:`<div>&nbsp;</div>`,className:`k-hidden k-slot-cell`});a=o._createRowsLayout(i,s,this.groupHeaderTemplate,r),r=o._createVerticalColumnsLayout(i,s,this.groupHeaderTemplate,r)}else r=o._createColumnsLayout(i,r,this.groupHeaderTemplate,r);return{columns:r,rows:a}},_createEventElement:function(n){var r=this.options,i=r.editable,a=this._isMobile();n.showDelete=i&&i.destroy!==!1&&!a,n.resizable=i&&i.resize!==!1&&!a,n.ns=t.ns,n.resources=this.eventResources(n),n.inverseColor=!1,n.messages=r.messages||{destroy:`Delete`};var o=e(this.eventTemplate(e.extend({},n,{ariaLabel:this._formatEventAriaLabel(n.title,n.start,n.end,n.isAllDay),template:this.options.eventTemplate})));return t.applyStylesFromKendoAttributes(o,[`background-color`,`border-color`]),o},_isInDateSlot:function(e){if(!this.groups||this.groups.length===0)return!1;var n=this.groups[0],r=n.firstSlot().start,i=n.lastSlot().end-1,a=t.date.toUtcTime(e.start),o=t.date.toUtcTime(e.end);return(S(a,r,i)||S(o,r,i)||S(r,a,o)||S(i,a,o))&&(!S(o,r,r)||S(o,a,a)||e.isAllDay)},_slotIndex:function(e){return this._slotIndices[s(e).getTime()]},_positionMobileEvent:function(n,i,a){var o=n.start,s=this.table.find(`.k-scheduler-content .k-scheduler-table`)[0],c=this.table.find(`.k-scheduler-content`)[0],l;n.start.offsetLeft>n.end.offsetLeft&&(o=n.end);var u=n.start.index,d=u,f=3,p=r.collidingEvents(n.events(),u,d);p.push({element:i,start:u,end:d});var m=r.createRows(p),h=n.collection.at(u),g=h.container;g||(l=this._isRtl&&c.clientWidth<c.scrollWidth?o.offsetLeft-(s.clientWidth-c.clientWidth)+`px`:o.offsetLeft+`px`,g=e(`<div class="k-events-container"></div>`).css({top:o.offsetTop+o.firstChildTop+o.firstChildHeight+`px`,left:l,width:o.offsetWidth+`px`}),h.container=g,this.content[0].appendChild(g[0])),m.length<=f&&(n.addEvent({element:i,start:u,end:d,groupIndex:o.groupIndex}),a._continuousEvents.push({element:i,uid:i.attr(t.attr(`uid`)),start:n.start,end:n.end}),g[0].appendChild(i[0]))},_positionEvent:function(n,i,a){var o=this.options.eventHeight,s=this.options.eventSpacing,c=this.options.moreButtonHeight,l=n.start;n.start.offsetLeft>n.end.offsetLeft&&(l=n.end);var u=n.start.index,d=n.end.index,f=l.eventCount,p=r.collidingEvents(n.events(),u,d),m=u===d?2:3;p.push({element:i,start:u,end:d});for(var h=r.createRows(p),v=0,y=Math.min(h.length,f);v<y;v++)for(var b=h[v].events,x=o===`auto`?``:l.offsetTop+l.firstChildTop+l.firstChildHeight+g+v*(o+s)+`px`,S=0,C=b.length;S<C;S++)b[S].element[0].style.top=x,b[S].element.attr(t.attr(`order`),v);if(h.length>f)for(var w=u;w<=d;w++){var T=n.collection.at(w);if(!T.more){var E=o===`auto`?``:Math.min(T.offsetTop+T.firstChildTop+T.firstChildHeight+g+f*o+(f-1)*s+g,T.offsetTop+T.clientHeight-c-g);T.more=e(_({eventCount:f,tabindex:this.options.moreEventsPopover?` tabindex="0"`:``})).attr(`data-slot-date`,T.start).css({width:T.clientWidth-2,left:T.offsetLeft+2,top:E,height:c+`px`}),this.content[0].appendChild(T.more[0])}}else{n.addEvent({element:i,start:u,end:d,groupIndex:l.groupIndex}),i[0].style.width=n.innerWidth()-m+`px`,i[0].style.left=l.offsetLeft+2+`px`,i[0].style.height=o===`auto`?``:o+`px`,o===`auto`&&!this._isMobile()&&(i[0].style.containerType=`normal`,i.find(`.k-event-title`).removeClass(`k-text-ellipsis`),i.find(`.k-event-recurrence-icon`).prependTo(i).css({display:`block`,marginBlock:`auto`})),a._continuousEvents.push({element:i,uid:i.attr(t.attr(`uid`)),start:n.start,end:n.end,order:parseInt(i.attr(t.attr(`order`)),10)}),i.appendTo(this.content),this._inverseEventColor(i);var D=n.start.collectionIndex,O=n.start.index,k=a._daySlotCollections[D]._slots[O];k.eventMeta||=[],k.eventMeta.push({height:o===`auto`?i.outerHeight():o,top:0,startIndex:O,endIndex:n.end.index,uid:i.attr(t.attr(`uid`)),order:parseInt(i.attr(t.attr(`order`)),10)})}},_slotByPosition:function(e,t){var n=this.content.offset();e-=n.left,t-=n.top,t+=this.content[0].scrollTop,e+=this.content[0].scrollLeft,e=Math.ceil(e),t=Math.ceil(t);for(var r=0;r<this.groups.length;r++){var i=this._groupedView._getTimeSlotByPosition(e,t,r);if(i)return i}return null},_appendResizeHint:function(e){e.appendTo(this.content),this._resizeHint=this._resizeHint.add(e)},_updateResizeHint:function(e,n,r,i){this._removeResizeHint();for(var a=this.groups[n].ranges(r,i,!0,e.isAllDay),o=0;o<a.length;o++)this._groupedView._createResizeHint(a[o]);this._resizeHint.find(`.k-label-top,.k-label-bottom`).text(``),this._resizeHint.first().addClass(`k-first`).find(`.k-label-top`).text(t.toString(t.timezone.toLocalDate(r),`M/dd`)),this._resizeHint.last().addClass(`k-last`).find(`.k-label-bottom`).text(t.toString(t.timezone.toLocalDate(i),`M/dd`))},_updateMoveHint:function(e,n,r){var i=t.date.toUtcTime(e.start)+r,a=i+e.duration(),o=this.groups[n].ranges(i,a,!0,e.isAllDay);this._removeMoveHint(e.uid);for(var s=0;s<o.length;s++)this._groupedView._createMoveHint(o[s],e)},_appendMoveHint:function(e){e.appendTo(this.content),this._moveHint=this._moveHint.add(e)},_groups:function(){var e=this._groupCount(),t=this.content[0].getElementsByTagName(`tr`),n=this.startDate();this.groups=[];for(var r=0;r<e;r++)this._addResourceView(r);this._groupedView._addDaySlotCollections(e,t,n)},addDaySlot:function(e,n,r,i){var a=t.date.addDays(r,i),o=t.date.MS_PER_DAY,s=this.options.eventsPerDay;r.getHours()!==a.getHours()&&(o+=(r.getHours()-a.getHours())*t.date.MS_PER_HOUR),a=t.date.toUtcTime(a),o+=a,e.addDaySlot(n,a,o,s)},render:function(e){this.content.children(`.k-event,.k-more-events,.k-events-container`).remove(),this._cachedEvents=e,this._groups(),e=new t.data.Query(e).sort([{field:`start`,dir:`asc`},{field:`end`,dir:`desc`}]).toArray().filter(function(e){return this._isInDateSlot(e)}.bind(this));var n=this.groupedResources,r=this._isMobile(),i=this._isGroupedByDate(),a=this.options.adaptiveSlotHeight;this._canAdjustSlotHeight=r!==!0&&i!==!0&&n.length===0&&a===!0,n.length?this._renderGroups(e,n,0,1):this._renderEvents(e,0),this.refreshLayout(),this._ongoingEvents(e),this.trigger(`activate`)},_renderEvents:function(e,n){var r=this.groups[n],i=this._groupedView._view._isMobile();r&&(r._continuousEvents||=[],i?e.forEach(function(e){for(var n=r.slotRanges(e,!0),i=n[0],a=i.start.start,o=i.end.end,s=new Date(i.start.start),c=n[n.length-1].end.end,l=new Date(s),u=new Date(o);s.getTime()<=c&&e.end>=t.timezone.toLocalDate(s)&&e.start<=t.timezone.toLocalDate(c);){var d=r.daySlotRanges(l.getTime(),u.getTime(),!0)[0];u.setDate(u.getDate()+1),l.setDate(l.getDate()+1),d&&(d.head=null,d.middle=null,d.tail=null,this._groupedView._positionMobileEvent(e,r,d,1,a,o,0)),s=t.date.addDays(s,1)}}.bind(this)):(e.forEach(function(e){for(var t,n=e.start,i=e.end,a=r.slotRanges(e,!0),o=a.length,s=0;s<o;s++)t=a[s],this._groupedView._positionEvent(e,r,t,o,n,i,s)}.bind(this)),this._canAdjustSlotHeight===!0&&this._adjustSlotHeight(r)))},_renderGroups:function(e,n,i,a,o){var s=n[0];if(s){var c=s.dataSource.view();c=c.filter(function(e){var n=t.getter(s.dataParentValueField)(e);return n==null||n===o});for(var l=0;l<c.length;l++){var u=this._resourceValue(s,c[l]),d=new t.data.Query(e).filter({field:s.field,operator:r.groupEqFilter(u)}).toArray();n.length>1?i=this._renderGroups(d,n.slice(1),i++,a+1,u):this._renderEvents(d,i++)}}return i},_groupCount:function(){var e=this.groupedResources,t=this._groupedView;return e.length?this._isVerticallyGrouped()?t._verticalGroupCount(e.length-1):t._horizontalGroupCount(e.length):1},_columnOffsetForResource:function(e){return this._columnCountForLevel(e)/this._columnCountForLevel(e-1)},_initMoreEventsPopover:function(){var n=this;n._morePopover&&=(n._morePopover.destroy(),null),n.content.off(`keydown`+i,`.k-more-events`).on(`keydown`+i,`.k-more-events`,function(n){(n.keyCode===t.keys.ENTER||n.keyCode===t.keys.SPACEBAR)&&(e(n.currentTarget).trigger(`click`),n.preventDefault(),n.stopPropagation())}),n._morePopover=n.content.kendoPopover({filter:`.k-more-events`,showOn:`click`,toggleOnClick:!1,position:`right`,width:220,callout:!0,template:function({target:t}){var r=parseInt(e(t).attr(`data-slot-date`),10),i=n._getEventsForDate(r);return n._buildMoreEventsPopoverContent(r,i)},show:function(){var r=this,a=r.popup.wrapper,o=r.target();a.css(`visibility`,`hidden`),r.wrapper.addClass(`k-scheduler-popover`).attr(`role`,`dialog`),r.popup.position(),r._offset(r.options.position,r.options.offset,28),r._positionCallout(),a.css(`visibility`,``),r.wrapper.off(`click`+i,`.k-popover-header`).on(`click`+i,`.k-popover-header`,function(r){var i=parseInt(e(r.currentTarget).attr(`data-slot-date`),10),a=t.timezone.toLocalDate(i);r.preventDefault(),n.trigger(`navigate`,{view:`day`,date:a})}),r.wrapper.off(`keydown`+i,`.k-day`).on(`keydown`+i,`.k-day`,function(n){n.keyCode===t.keys.ENTER||n.keyCode===t.keys.SPACEBAR?(e(n.currentTarget).closest(`.k-popover-header`).trigger(`click`),n.preventDefault()):n.keyCode===t.keys.ESC&&(r.popup.one(`deactivate`,function(){o.trigger(`focus`)}),r.popup.close(!0),n.preventDefault())}),r.wrapper.find(`.k-day`).trigger(`focus`)}}).data(`kendoPopover`),n._morePopover.element.removeAttr(`data-role`)},_getEventsForDate:function(e){var n=this._cachedEvents||[],r=e+c-1;return n.filter(function(n){var i=t.date.toUtcTime(n.start),a=t.date.toUtcTime(n.end);return(S(i,e,r)||S(a,e,r)||S(e,i,a)||S(r,i,a))&&(!S(a,e,e)||S(a,i,i)||n.isAllDay)}).sort(function(e,t){return e.isAllDay===t.isAllDay?e.start.getTime()-t.start.getTime():e.isAllDay?-1:1})},_buildMoreEventsPopoverContent:function(e,n){var r=this.options.messages.moreEventsPopover,i=r.noEvents,a=r.eventsLabel,o=t.timezone.toLocalDate(e),s=`<div class="k-month">`+t.htmlEncode(t.toString(o,`MMM`))+`</div><div class="k-link k-day" tabindex="0">`+t.htmlEncode(t.toString(o,`dd`))+`</div>`,c=n.length?`<div class="k-popover-events" role="list" aria-label="`+t.htmlEncode(a)+`">`+n.map(function(e){return h({title:e.title,start:e.start,isAllDay:e.isAllDay})}).join(``)+`</div>`:`<span class="k-no-data">`+t.htmlEncode(i)+`</span>`;return`<div class="k-popover-header" data-slot-date="`+e+`">`+s+`</div><div class="k-popover-body">`+c+`</div>`},destroy:function(){this._morePopover&&=(this._morePopover.destroy(),null),this.table&&this.table.removeClass(`k-scheduler-monthview`),this.content&&this.content.off(i),this.element&&this.element.off(i),r.fn.destroy.call(this),this._isMobile()&&this.options.editable&&this.options.editable.create!==!1&&this._addUserEvents.destroy()},events:[`remove`,`add`,`edit`,`navigate`],options:{title:`Month`,name:`month`,eventHeight:25,moreButtonHeight:13,editable:!0,selectedDateFormat:`{0:MMMM yyyy}`,selectedShortDateFormat:`{0:MMM yyyy}`,selectedMobileDateFormat:`{0:MMMM}`,groupHeaderTemplate:({text:e})=>e,dayTemplate:f,eventTemplate:m,moreEventsPopover:!0,messages:{moreEventsPopover:{eventsLabel:`Events`,noEvents:`No events on this date.`}},eventsPerDay:2,adaptiveSlotHeight:!1,eventSpacing:3,ongoingEvents:{cssClass:null,enabled:!0,updateInterval:6e4}}});function b(e,t){return e.slice(t).concat(e.slice(0,t))}function x(e,n){for(var r=n.firstDay,i=new Date(e.getFullYear(),e.getMonth(),0,e.getHours(),e.getMinutes(),e.getSeconds(),e.getMilliseconds());i.getDay()!=r;)t.date.setTime(i,-1*c);return i}function S(e,t,n){var r=t,i=n,a=e;return a>=r&&a<=i}})(window.kendo.jQuery);var a=kendo;e.__meta__=i,e.default=a}); //# sourceMappingURL=kendo.scheduler.monthview.min.js.map