UNPKG

@progress/kendo-ui

Version:

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

3 lines (2 loc) 26.4 kB
!function(e,t){"object"==typeof exports&&"undefined"!=typeof module?t(exports,require("kendo.core.js"),require("kendo.selectable.js"),require("kendo.calendar.js"),require("kendo.icons.js")):"function"==typeof define&&define.amd?define(["exports","kendo.core.min","kendo.selectable","kendo.calendar","kendo.icons"],t):t(((e="undefined"!=typeof globalThis?globalThis:e||self).kendo=e.kendo||{},e.kendo._globals=e.kendo._globals||{},e.kendo._globals.Multiviewcalendar={}))}(this,(function(e){!function(e,t){let a=window.kendo,n=a.calendar,l=a.support,s=n.isInRange,i=n.toDateObject,r=n.createDate,o=n.isEqualDate,c=n.getToday,u=a.keys,d=a.ui,_=d.Widget,f=d.Selectable,g=d.RangeSelectable,v=a.template,h=l.mobileOS,p=".kendoMultiViewCalendar",b="click",m="id",w="month",k=".",D=" ",C="century",S="change",y="navigate",V="value",x="k-focus",A="k-selected",F="k-hover",M="k-disabled",T="k-calendar-nav-today",R="k-empty",Y="k-calendar-view",B="td:has(.k-link):not(."+R+"):not(.k-alt)",N="td:has(.k-link):not(."+M+"):not(."+R+"):not(.k-alt)",W="blur",E="focus",O=l.touch?"touchstart":"mouseenter",$=l.touch?"touchend"+p+" touchmove"+p:"mouseleave"+p,z="_prevArrow",I="_nextArrow",P="start",H="end",j="table",q="tbody",U="thead",G="td:not(.k-alt)",K="th",L="role",Q="none",J="aria-disabled",X="aria-label",Z="aria-activedescendant",ee=Date,te={month:0,year:1,decade:2,century:3};var ae=_.extend({init:function(t,l){var s,i,r=this;_.fn.init.call(r,t,l),t=r.wrapper=r.element,l=r.options,r.options.disableDates=n.disabled(r.options.disableDates),i=a.getCulture(l.culture),l.format=a._extractFormat(l.format||i.calendars.standard.patterns.d),r._templates(),r._header(),r._wrapper(),(s=t.addClass(`k-calendar k-calendar-range ${a.getValidCssClass("k-calendar-","size",r.options.size||"medium")}`+(l.weekNumber?" k-week-number":"")).on("keydown"+p,k+Y,r._move.bind(r)).on(E+p,k+Y,r._focus.bind(r)).on(W+p,k+Y,r._blur.bind(r)).on(b+p,N,(function(t){var a=t.currentTarget.firstChild;-1!=e(a).data("href").indexOf("#")&&t.preventDefault(),r._click(e(a))})).attr(m))||(s=a.guid()),r._cellID=s+"_cell_selected",r._calendarWidth=r.element.width(),r._range=l.range,r._range&&r._range.start&&!r._range.end&&(r._range.target=H),r._initViews({viewName:l.start,value:l.value}),r._selectable(),r._footer(r.footer),r._selectDates=[],r.value(l.value),r._addSelectedCellsToArray(),r._isMultipleSelection()&&(r._selectDates=l.selectDates.length?l.selectDates:r._selectDates,r._restoreSelection()),r._isRangeSelection()&&r.selectRange(r._range),a.notify(r)},options:{name:"MultiViewCalendar",value:null,min:new ee(1900,0,1),max:new ee(2099,11,31),dates:[],allowReverse:!1,disableDates:null,showOtherMonthDays:!1,centuryCellsFormat:"long",culture:"",footer:"",format:"",month:{},range:{start:null,end:null,target:P},weekNumber:!1,views:2,showViewHeader:!1,selectable:"single",selectDates:[],start:w,depth:w,messages:{weekColumnHeader:""},size:"medium",orientation:"horizontal"},events:[S,y],setOptions:function(e){var t=this;n.normalize(e),e.disableDates=n.disabled(e.disableDates),_.fn.setOptions.call(t,e),t._selectable(),t._templates(),t._footer(t.footer);for(var a=0;a<t._views.length;a++)t._views[a].off(p).remove();t._initViews({viewName:e.start,value:e.value}),t._range=e.range||{start:null,end:null},t._restoreSelection(),t._isRangeSelection()&&t.selectRange(t._range)},destroy:function(){var e=this;if(e._cell=null,e._currentView=null,e._current=null,e._views)for(var t=0;t<e._views.length;t++)e._views[t].off(p).remove();e.element.off(p),e.header&&(e.header.off(p),e._title=null,e.header=null),e.selectable&&(e.selectable.destroy(),e.selectable=null),e.rangeSelectable&&(e.rangeSelectable.destroy(),e.rangeSelectable=null),e._today&&a.destroy(e._today.off(p)),e._views=null,_.fn.destroy.call(e)},current:function(){return this._current},focus:function(){this.tablesWrapper.trigger("focus")},min:function(e){return this._option("min",e)},max:function(e){return this._option("max",e)},view:function(){return this._currentView},navigateToPast:function(){this._navigate(z,-1)},navigateToFuture:function(){this._navigate(I,1)},navigateUp:function(){var e=this,t=e._index;e._title.hasClass(M)||e.navigate(e._current,++t)},navigateDown:function(e){var t=this,a=t._index,n=t.options.depth;e&&(a!==te[n]?t.navigate(e,--a):o(t._value,t._current)&&o(t._value,e)||(t.value(e),t.trigger(S)))},navigate:function(e,a){a=isNaN(a)?n.views[n.viewsEnum[a]]:n.views[a];var l=this,s=l.options,i=s.min,r=s.max;l._current=e||(e=new ee(+n.restrictValue(e,i,r))),a===t&&(a=l._currentView),l._currentView=a;for(var o=0;o<l._views.length;o++)l._views[o].off(p).remove();l._initViews({viewName:a.name,value:e}),l._restoreSelection()},_aria:function(){var e=this.tablesWrapper.find(j),t=e.first().find(U).add(e.find(q)),a=this._currentView.name;e.removeAttr("tabindex"),e.attr({role:Q}),t.attr({role:"rowgroup"}),a===w&&this._ariaMonth()},_ariaMonth:function(){var t=this.tablesWrapper.find(j),a=t.first().find(U).add(t.find(q)).find("tr"),n=t.not(":eq(0)").find(U+D+"tr"),l=n.find(K),s=t.first().find(U+D+K),i=t.find(q+D+"td.k-alt"),r=t.find(k+R);s.attr({role:"columnheader"}),i.attr({role:"rowheader"}),r.removeAttr(L),n.removeAttr(L),l.removeAttr(X).removeAttr(L),a.each((function(t,n){var l,s=e(n),i=s.find(k+R).length,r=[];1===t?s.children().filter(k+R).attr({"aria-hidden":"false",role:"gridcell"}):7===i?(s.removeAttr(L),s.find(K).removeAttr(L)):i>0&&i<7&&s.children().not(K).first().hasClass(R)&&(s.find(K).removeAttr(L),(l=a.eq(t-1)).attr(L)&&l.attr(L)!==Q||(l=a.eq(t-2)),s.children().not(K).each((function(a,n){var l,s=e(n);s.hasClass(R)||(l="owned_"+t+"_"+a,s.attr(m,l),r.push(l))})),s.removeAttr(L),l.attr("aria-owns",r.join(" ")))}))},_updateHeader:function(){let t,n,l,i,r=this,o=r._currentView,c=r._title,u=r._firstViewValue,d=r.options,_=r._visibleRange(),f=d.culture,g=d.min,v=d.max;"decade"===o.name||o.name===C?(t=le(u,o.name,d.views-1),s(t,g,v)||(t=v),c.html('<span class="k-button-text">'+o.first(u).getFullYear()+" - "+o.last(t).getFullYear()+"</span>")):c.html('<span class="k-button-text">'+o.title(u,g,v,f)+" - "+o.title(le(u,o.name,d.views-1),g,v,f)+"</span>"),n=o.name===C,c.toggleClass(M,n).attr(J,n),l=o.compare(_.start,r.options.min)<1,i=o.compare(_.end,r.options.max)>-1,l&&i?r._navContainer&&(r._navContainer.remove(),r._navContainer=null):(r._navContainer||(r._navContainer=e(`<span class="k-calendar-nav"><span tabindex="-1" data-href="#" role="button" class="k-button ${a.getValidCssClass("k-button-","size",r.options.size||"medium")} k-rounded-md k-button-flat k-button-flat-base k-icon-button k-calendar-nav-prev" `+X+`="Previous">${a.ui.icon({icon:"chevron-left",iconClass:"k-button-icon"})}</span>`+`<span tabindex="-1" data-href="#" role="button" class="k-button ${a.getValidCssClass("k-button-","size",r.options.size||"medium")} k-rounded-md k-button-flat k-button-flat-base k-icon-button k-calendar-nav-next" `+X+`="Next">${a.ui.icon({icon:"chevron-right",iconClass:"k-button-icon"})}</span></span>`).appendTo(r.header),r[z]=r._navContainer.find(".k-calendar-nav-prev"),r[I]=r._navContainer.find(".k-calendar-nav-next")),r[z].toggleClass(M,l).attr(J,l),r[z].hasClass(M)&&r[z].removeClass(F),r[I].toggleClass(M,i).attr(J,i),r[I].hasClass(M)&&r[I].removeClass(F))},_move:function(n){var l,o,c,d,_,f,g=this,v=g.options,h=n.keyCode,p=g._index,b=v.min,m=v.max,D=g.element.find(k+x),C=D.closest(j),V=new ee(+(g._current||i(D.find("span")))),F=a.support.isRtl(g.wrapper),T=!1;if(h==u.RIGHT&&!F||h==u.LEFT&&F?(l=1,o=!0):h==u.LEFT&&!F||h==u.RIGHT&&F?(l=-1,o=!0):h==u.UP?(l=0===p?-7:-4,o=!0):h==u.DOWN?(l=0===p?7:4,o=!0):h==u.SPACEBAR?(l=0,o=!0):h==u.HOME?(o=!0,(c=C.find(N).eq(0)).hasClass(x)?(C=C.prev()).length?g._focusCell(C.find(N).eq(0)):(T=g[z]&&!g[z].hasClass(M),g._navigate(z,-1),g._focusCell(g.element.find(j).first().find(N).first())):g._focusCell(c)):h==u.END?(o=!0,(c=C.find(N).last()).hasClass(x)?(C=C.next()).length?g._focusCell(C.find(N).last()):(T=g[I]&&!g[I].hasClass(M),g._navigate(I,1),g._focusCell(g.element.find(j).last().find(N).last())):g._focusCell(c)):84===h&&(g._todayClick(n),o=!0),n.ctrlKey||n.metaKey)h==u.RIGHT&&!F||h==u.LEFT&&F?(T=g[I]&&!g[I].hasClass(M),g._navigate(I,1),o=!0):h==u.LEFT&&!F||h==u.RIGHT&&F?(T=g[z]&&!g[z].hasClass(M),g._navigate(z,-1),o=!0):h==u.UP?(T=!g._title.hasClass(M),g.navigateUp(),g._focusCell(g._cellByDate(g._current)),o=!0):h==u.DOWN?(g._currentView.name===w?g.value(V):(g.navigateDown(V),g._focusCell(g._cellByDate(g._current)),T=!0),o=!0):h!=u.ENTER&&h!=u.SPACEBAR||g._isMultipleSelection()&&g._toggleSelection(n);else if(n.shiftKey&&!g._isSingleSelection()){if(l!==t){if(g._currentView.setDate(V,l),g._currentView.name!==w)return;v.disableDates(V)&&(V=g._nextNavigatable(V,l)),b=r(b.getFullYear(),b.getMonth(),b.getDate()),s(V,b,m)&&(g._dateInViews(V)||(l>0?(T=g[I]&&!g[I].hasClass(M),g._navigate(I,1)):(T=g[z]&&!g[z].hasClass(M),g._navigate(z,-1))),c=g._cellByDate(V),g._current=V,g.selectable&&(g._selectRange(i((g.selectable._lastActive||D).find("span")),V),g.selectable._lastActive||(g.selectable._lastActive=D),g.trigger(S),g._focusCell(c)),g.rangeSelectable&&(d=i((g.rangeSelectable._lastActive||D).find("span")),g._dateInViews(d)?(g.rangeSelectable._end&&g.rangeSelectable._end.is(k+x)?g.rangeSelectable._lastActive=g.rangeSelectable._start:g.rangeSelectable._lastActive=g._cellByDate(d),g.rangeSelectable.range(g.rangeSelectable._lastActive,c)):+d>+V?(g.rangeSelectable._end=g.rangeSelectable._lastActive,g.rangeSelectable.selectFrom(c)):g.rangeSelectable.selectTo(c),g.rangeSelectable.change(),g._focusCell(c)))}}else h==u.ENTER||h==u.SPACEBAR?(g._currentView.name===w?(f=!D.hasClass(A)||g.element.find(k+A).length>1,g.value(V),g.selectable&&(g.selectable._lastActive=g._cellByDate(V),f&&g.selectable.trigger(S,{event:n})),g.rangeSelectable&&g.rangeSelectable.change()):g._click(e(g._cell[0].firstChild)),o=!0):h!=u.PAGEUP&&h!=u.PAGEDOWN||(o=!0,_=C.find(N).index(D),(C=h==u.PAGEUP?C.prev():C.next()).length||(h==u.PAGEUP?(T=g[z]&&!g[z].hasClass(M),g.navigateToPast(),C=g.element.find(j).first()):(T=g[I]&&!g[I].hasClass(M),g.navigateToFuture(),C=g.element.find(j).last())),(c=C.find(N).eq(_)).length?g._focusCell(c):g._focusCell(C.find(N).last())),l&&(g._currentView.setDate(V,l),b=r(b.getFullYear(),b.getMonth(),b.getDate()),s(V,b,m)&&(g.selectable&&v.disableDates(V)&&(V=g._nextNavigatable(V,l)),g._dateInViews(V)||(l>0?(T=g[I]&&!g[I].hasClass(M),g._navigate(I,1)):(T=g[z]&&!g[z].hasClass(M),g._navigate(I,-1))),c=g._cellByDate(V),g._current=V,g._focusCell(c)));return T&&g.trigger(y),o&&n.preventDefault(),g._current},_visualizeSelectedDatesInView:function(){var t,n=this,l={};e.each(n._selectDates,(function(e,t){l[a.calendar.views[0].toDateString(t)]=t})),n.selectable.clear(),(t=n.element.find(j).find(B).filter((function(t,n){return l[e(n.firstChild).attr(a.attr(V))]}))).length>0&&n.selectable._selectElement(t,!0)},_nextNavigatable:function(e,t){var a=this,n=!0,l=a._currentView,i=a.options.min,r=a.options.max,o=a.options.disableDates,c=new Date(e.getTime());for(l.setDate(c,-t);n;){if(l.setDate(e,t),!s(e,i,r)){e=c;break}n=o(e)}return e},_toggleSelection:function(t){var a=this;a.selectable._lastActive=e(a._cell[0]),e(a._cell[0]).hasClass(A)?a.selectable._unselect(e(a._cell[0])):a.selectable.value(e(a._cell[0])),a.selectable.trigger(S,{event:t})},_option:function(e,n){var l=this,s=l.options,i=l._value||l._current;if(n===t)return s[e];(n=a.parseDate(n,s.format,s.culture))&&(s[e]=new ee(+n),("min"===e?n>i:i>n)&&(l._value=null),l.navigate(l._value),l._toggle())},_cellByDate:function(t){return t instanceof Date&&(t=this._currentView.toDateString(t)),this.element.find(j).find("td:not(.k-other-month)").filter((function(){return e(this.firstChild).attr(a.attr(V))===t}))},_selectable:function(){let e=this,a=e.options.selectable,n=f.parseOptions(a);e.selectable&&(e.selectable.destroy(),e.selectable=null),e.rangeSelectable&&(e.rangeSelectable.destroy(),e.rangeSelectable=null),n.range?e.rangeSelectable=new g(e.wrapper,{widget:e,filter:".k-calendar-monthview table "+N,cellSelector:B,cellSelectorValid:N,change:e._rangeSelection.bind(e),reverse:e.options.allowReverse,resetOnStart:a.resetOnStart===t||a.resetOnStart,ns:p,inputSelectors:"input,a,span,textarea,.k-multiselect-wrap,select,button,.k-button>span,.k-button>img,span.k-icon.k-i-caret-alt-down,span.k-icon.k-i-caret-alt-up,span.k-svg-icon.k-svg-i-caret-alt-down,span.k-svg-icon.k-svg-i-caret-alt-up"}):e.selectable=new f(e.wrapper,{aria:!0,dragToSelect:!1,multiple:n.multiple,filter:"table.k-calendar-table "+N,selectableClass:"k-calendar",change:e._selection.bind(e),relatedTarget:e._onRelatedTarget.bind(e),unselect:e._unselecting.bind(e)})},_onRelatedTarget:function(e){this.selectable.options.multiple&&e.is(N)&&e.length>1&&this._focusCell(e.first(),!0)},_getFirstViewDate:function(e){var t,a,n,l=this,s=l.options,i=[],r=new Date(+l._current);for(n=0;n<s.views;n++){if(t=e.first(r),+(a=e.last(r))>+s.max){+t<=+s.max&&i.push({start:t,end:new Date(+s.max)});break}i.push({start:t,end:a}),r=new Date(+le(a,e.name,1))}for(r=new Date(+l._current),n=0;n<s.views;n++){if(t=e.first(r),a=e.last(r),+t<+s.min){+a>=+s.min&&i.push({start:new Date(+s.min),end:a});break}i.push({start:t,end:a}),r=new Date(+le(t,e.name,-1))}for(t=i[0].start,n=0;n<s.views+1&&i[n];n++)+t>+i[n].start&&(t=i[n].start);return new Date(+t)},_canRenderNextView:function(e){var t=e.getFullYear(),a=e.getMonth(),n=e.getDate(),l=this.options.max,s=l.getFullYear(),i=l.getMonth();return t<s||(t===s&&a<i||(t===s&&a===i&&n<l.getDate()||t===s&&a===i&&n===l.getDate()))},_initViews:function(t){var a,l=this,s=l.options,i=n.viewsEnum[t.viewName],r=n.views[i];l._current=new ee(+n.restrictValue(t.value,s.min,s.max)),l._views=[],l._index=i,(a=l._getFirstViewDate(r)).setDate(1),l._firstViewValue=new Date(+a);for(var o=0;o<s.views&&((a=o?le(a,r.name,1):a).setDate(1),l._canRenderNextView(a));o++)l._table=e(r.content(e.extend({min:s.min,max:s.max,date:a,url:s.url,dates:s.dates,format:s.format,culture:s.culture,disableDates:s.disableDates,showHeader:s.showViewHeader,isWeekColumnVisible:s.weekNumber,showOtherMonthDays:s.showOtherMonthDays,centuryCellsFormat:s.centuryCellsFormat,messages:s.messages,contentClasses:"k-calendar-table"},l[r.name]))),l._table.appendTo(l.tablesWrapper),l._views.push(l._table);l._currentView=r,l.tablesWrapper.attr("class","k-calendar-view k-calendar-"+r.name+`view ${"vertical"!=l.options.orientation?"k-hstack":"k-vstack"} k-align-items-start k-justify-content-center`),l._updateHeader(),l._aria()},_rangeSelection:function(e){let t,a,n=this,l=e.sender.range(),s=e.sender._useEnd,r=e.sender._useStart,o=n.selectRange()||{},c=o.target;l.start&&l.start.length&&(t=i(l.start.find("span"))),l.end&&l.end.length&&(a=i(l.end.find("span"))),c=c===H?P:H,n._range={start:r?o.start:t,end:s?o.end:a,target:c},n._preventChange||n.trigger(S)},_selection:function(t){let a,n=this,l=t.sender.value(),s=t.event,r=e(s&&s.currentTarget),o=r.is(G);n._isSingleSelection()&&n._validateValue(l[0]?i(l.first().find("span")):t.sender._lastActive?i(t.sender._lastActive.find("span")):n.value()),n._isMultipleSelection()&&(o&&(a=i(r.find("span"))),s&&s.ctrlKey?o?r.hasClass(A)?n._selectDates.push(a):n._deselect(a):(n.element.find("table "+N).each((function(t,a){var l=i(e(a).find("span"));n._deselect(l)})),n._addSelectedCellsToArray()):s&&s.shiftKey?n._selectRange(i(t.sender._lastActive?t.sender._lastActive.find("span"):l.first().find("span")),a):o?(n._selectDates=[],n._selectDates.push(a)):(n._selectDates=[],n._addSelectedCellsToArray())),n._preventChange||n.trigger(S)},_addSelectedCellsToArray:function(){var t=this;t.selectable&&t.selectable.value().each((function(a,n){var l=i(e(n.firstChild));t.options.disableDates(l)||t._selectDates.push(l)}))},_deselect:function(e){var t=this._selectDates.map(Number).indexOf(+e);-1!=t&&this._selectDates.splice(t,1)},_unselecting:function(e){var t=e.element;this._isSingleSelection()&&!h&&t.hasClass(x)&&e.preventDefault()},_visibleRange:function(){var e=this.element.find(k+Y+D+j);return{start:i(e.first().find(B).first().find("span")),end:i(e.last().find(B).last().find("span"))}},_dateInViews:function(e){var t=this.element.find(k+Y+D+j),a=i(t.first().find(B).first().find("span")),n=i(t.last().find(B).last().find("span"));if(e)return+(e=new Date(e.toDateString()))<=+n&&+e>=+a},_fillRange:function(e,t){var l,s=this;s._selectDates=[],l=function(e,t){if(+t<+e){var l=+e;n.views[0].setDate(e,t),n.views[0].setDate(t,new Date(l))}var s=Date.UTC(e.getFullYear(),e.getMonth(),e.getDate()),i=Date.UTC(t.getFullYear(),t.getMonth(),t.getDate());return Math.ceil((+i-+s)/a.date.MS_PER_DAY)}(e,t),function(e,t,a,n){for(var l=0;l<=t;l++){var s=new Date(a.getTime());n(s=new Date(s.setDate(s.getDate()+l)))||e.push(s)}}(s._selectDates,l,e,s.options.disableDates)},_selectRange:function(e,t){var a;+t<+e&&(a=t,t=e,e=a),this._fillRange(e,t),this._visualizeSelectedDatesInView()},_header:function(){var t,n=this,l=n.element,s=l.find(".k-calendar-header");s.length||(s=e(`<div class="k-calendar-header"><span id="calendar-title" tabindex="-1" data-href="#" role="button" class="k-calendar-title k-button ${a.getValidCssClass("k-button-","size",n.options.size||"medium")} k-rounded-md k-button-flat k-button-flat-primary" aria-live="polite"></span><span class="k-spacer"></span><span class="k-calendar-nav"><span tabindex="-1" data-href="#" role="button" class="k-button ${a.getValidCssClass("k-button-","size",n.options.size||"medium")} k-rounded-md k-button-flat k-button-flat-base k-icon-button k-calendar-nav-prev" `+X+`="Previous">${a.ui.icon({icon:"chevron-left",iconClass:"k-button-icon"})}</span>`+`<span tabindex="-1" data-href="#" role="button" class="k-button ${a.getValidCssClass("k-button-","size",n.options.size||"medium")} k-rounded-md k-button-flat k-button-flat-base k-icon-button k-calendar-nav-next" `+X+`="Next">${a.ui.icon({icon:"chevron-right",iconClass:"k-button-icon"})}</span></span></div>`).prependTo(l)),n.header=s,s.on(O+p+" "+$+" "+E+p+" "+W+p,".k-button",ne).on(b,(function(){return!1})).on(b+p,".k-button.k-calendar-title",n._calendarTitleClick.bind(n)).on(b+p,".k-button.k-calendar-nav-prev",n._prevViewClick.bind(n)).on(b+p,".k-button.k-calendar-nav-next",n._nextViewClick.bind(n)),t=s.find(".k-button"),n._title=t.filter(".k-calendar-title"),n._navContainer=s.find(".k-calendar-nav"),n[z]=t.filter(".k-calendar-nav-prev"),n[I]=t.filter(".k-calendar-nav-next")},_calendarTitleClick:function(){this.navigateUp(),this.focus(),this.trigger(y)},_prevViewClick:function(e){e.preventDefault(),this.navigateToPast(),this.focus(),this.trigger(y)},_nextViewClick:function(e){e.preventDefault(),this.navigateToFuture(),this.focus(),this.trigger(y)},_wrapper:function(){this.tablesWrapper=e('<div tabindex="0" role="grid" class="k-calendar-view" aria-labelledby="calendar-title" />').insertAfter(this.element[0].firstChild)},_templates:function(){var e=this.options.month,t=e.content,n=e.weekNumber,l=e.empty;this.month={content:v((e=>`<td class="${e.cssClass}" role="gridcell"><span tabindex="-1" class="k-link${e.linkClass}" data-href="${e.url}" ${a.attr(V)}="${e.dateString}" title="${e.title}">${t?a.template(t,{useWithBlock:!!t})(e):e.value}</span></td>`),{useWithBlock:!!t}),empty:v((e=>`<td role="gridcell"${l?">":' class="k-calendar-td k-empty">'}${l?a.template(l,{useWithBlock:!!l})(e):"</span>"}</td>`),{useWithBlock:!!l}),weekNumber:v((e=>`<td class="k-calendar-td k-alt">${n?a.template(n,{useWithBlock:!!n})(e):e.weekNumber}</td>`),{useWithBlock:!!n})}},_footer:function(){var t=this,n=t.options,l=!1!==n.footer?a.template(t.options.footer||(e=>a.toString(e,"D",n.culture)),{useWithBlock:!1}):null,s=c(),i=t.element,r=i.find(".k-calendar-footer");if(!l)return t._toggle(!1),void r.hide();r[0]||(r=e(`<div class="k-calendar-footer">\n <button tabindex="-1" class="k-calendar-nav-today k-button ${a.getValidCssClass("k-button-","size",t.options.size||"medium")} k-button-flat k-button-flat-primary k-rounded-md">\n <span class="k-button-text"></span>\n </button>\n </div>`).appendTo(i)),t._today=r.show().find(".k-button-flat-primary").attr("title",a.toString(s,"D",t.options.culture)),r.find(".k-button-text").html(l(s)),t._toggle()},_navigate:function(e,t){var a,l=this,s=l._index+1,i=new ee(+l._current),r=new ee(+l._current);e=l[e],a=l._cellByDate(i).closest(j).index(),t>0?a=1-a:a+=1,e&&e.hasClass(M)||(s>3?i.setFullYear(i.getFullYear()+t*a*100):n.views[s].setDate(i,t*a),l.navigate(i),l._dateInViews(r)?(l._focusCell(l._cellByDate(r)),l._current=r):(s>3?r.setFullYear(r.getFullYear()+100*t):n.views[s].setDate(r,t),l._focusCell(l._cellByDate(r)),l._current=r))},_toggle:function(e){var a=this,n=a.options,l="range"!==n.selectable&&a.options.disableDates(c()),i=a._today;e===t&&(e=s(c(),n.min,n.max)),i&&(i.off(b+p),e&&!l?i.addClass(T).removeClass(M).on(b+p,(function(e){a._todayClick(e),a.focus()})):i.removeClass(T).addClass(M).on(b+p,(function(e){e.preventDefault()})))},_click:function(e){var t=this,l=t.options,s=new Date(+t._current),r=i(e);a.date.adjustDST(r,0),t._currentView.setDate(s,r),t._current=r,t._currentView.name!==l.depth?(t.navigateDown(n.restrictValue(s,l.min,l.max)),t._focusCell(t._cellByDate(t._current)),t.trigger(y)):t._focusCell(e.closest(G)),t.focus()},_blur:function(){this._cell&&this._cell.removeClass(x)},_focus:function(){var t=this._cell;t&&e.contains(this.tablesWrapper[0],t[0])||(t=this._current&&this._dateInViews(this._current)?this._cellByDate(this._current):this.tablesWrapper.find(N).first()),this._focusCell(t)},_focusCell:function(e){var t=this,a=t._cellID;t._cell&&t._cell.length&&(t._cell[0].removeAttribute(X),t._cell.removeClass(x),t.tablesWrapper.removeAttr(Z),t._cell.attr(m)===a&&t._cell[0].removeAttribute(m)),t._cell=e,e.attr(m)?t.tablesWrapper.attr(Z,e.attr(m)):a&&(e.attr(m,a),t.tablesWrapper.attr(Z,a)),e.addClass(x),e.length&&t._currentView.name==w&&(t._current=i(e.find("span")))},_todayClick:function(e){var t=this,a=t.options.disableDates,n=c(),l=!1;e.preventDefault(),a(n)||(t._value=n,t._isMultipleSelection()&&(t._selectDates=[n]),t._isRangeSelection()&&(t.rangeSelectable.clear(!0),t._range={start:n,end:null}),t._currentView.name==w&&t._dateInViews(n)||(l=!0),t.navigate(n,t.options.depth),t._isSingleSelection()&&(t.selectable._lastActive=null),l&&t.trigger(y),t.trigger(S))},_validateValue:function(e){var n=this,l=n.options,i=l.min,r=l.max;return null!==(e=a.parseDate(e,l.format,l.culture))&&(e=new ee(+e),s(e,i,r)||(e=null)),null!==e&&n.options.disableDates(new Date(+e))?n._value===t&&(n._value=null):n._value=e,n._value},_updateAria:function(e,t){var n,l=this,s=l._cellByDate(t||l.current()),i=l.view().valueType(),r=t||l.current();return l._focusCell(s),n=i===w?a.toString(r,"MMMM"):"date"===i?a.toString(r,"D"):s.text(),s.attr(X,e({current:r,valueType:i,text:n})),s.attr(m)},clearSelection:function(){var e=this;e.selectable&&e.element.find(k+A).removeClass(A).removeAttr("aria-selected"),e.rangeSelectable&&e.rangeSelectable.clear(!0)},_restoreSelection:function(){var e,t=this;if(t._currentView.name===t.options.depth){if(t._preventChange=!0,t._isRangeSelection()){if(!(e=t.selectRange())||!e.start)return void(t._preventChange=!1);t.selectRange(e)}t._isSingleSelection()&&t.value()&&t.selectable.value(t._cellByDate(t.value())),t._isMultipleSelection()&&t._visualizeSelectedDatesInView(),t._preventChange=!1}},_isMultipleSelection:function(){let e=this.options.selectable;return f.parseOptions(e).multiple},_isRangeSelection:function(){let e=this.options.selectable;return f.parseOptions(e).range},_isSingleSelection:function(){let e=this.options.selectable;return f.parseOptions(e).single},value:function(e){var a,n=this;if(e===t)return n._value;e=n._validateValue(e),n.clearSelection(),e&&!n._dateInViews(e)&&n.navigate(e),null!==e&&n._currentView.name===w&&(a=n._cellByDate(e),n.selectable&&n.selectable.value(a),n.rangeSelectable&&(n.rangeSelectable.start(a),n.rangeSelectable._lastActive=a))},selectDates:function(a){var n,l,s=this;if(a===t)return s._selectDates;l=a.map((function(e){return e.getTime()})).filter((function(e,t,a){return a.indexOf(e)===t})).map((function(e){return new Date(e)})),n=e.grep(l,(function(e){if(e)return+s._validateValue(new Date(e.setHours(0,0,0,0)))==+e})),s._selectDates=n.length>0?n:0===l.length?l:s._selectDates,s._visualizeSelectedDatesInView()},selectRange:function(e){let a,n,l,s=this;if(e===t)return s._range;s._range=e,l=s._visibleRange(),a=s._dateInViews(e.start),n=e.end&&s._dateInViews(e.end),a||(n?e.start?s.rangeSelectable.selectTo(s._cellByDate(e.end)):(s.rangeSelectable.clear(!0),s.rangeSelectable.end(s._cellByDate(e.end))):e.start&&s.rangeSelectable.start(s._cellByDate(e.start))),a&&n&&s.rangeSelectable.range(s._cellByDate(e.start),s._cellByDate(e.end),!1,s.options.allowReverse),e.end&&a&&!n&&s.rangeSelectable.selectFrom(s._cellByDate(e.start)),!e.end&&a&&(s.rangeSelectable.clear(!0),s.rangeSelectable.start(s._cellByDate(e.start))),+l.start>+e.start&&+l.end<+e.end&&s.rangeSelectable.mid(s.element.find(N))}});function ne(t){e(this).hasClass("k-disabled")||e(this).toggleClass(F,O.indexOf(t.type)>-1||t.type==E)}function le(e,t,a){var l;return t===w?((l=new ee(e.getFullYear(),e.getMonth()+a,e.getDate())).setFullYear(e.getFullYear()),(Math.abs(l.getMonth()-e.getMonth())>a||a>10)&&(l.setMonth(e.getMonth()+a),l=n.views[0].last(l)),l):"year"===t?((l=new ee(1,e.getMonth(),e.getDate())).setFullYear(e.getFullYear()+a),Math.abs(l.getFullYear()-e.getFullYear())>a&&((l=new ee(1,e.getMonth(),1)).setFullYear(e.getFullYear()+a),l=n.views[1].last(l)),l):"decade"===t?((l=new ee(1,e.getMonth(),e.getDate())).setFullYear(e.getFullYear()+10*a),Math.abs(l.getFullYear()-e.getFullYear())>10*a&&((l=new ee(1,e.getMonth(),1)).setFullYear(e.getFullYear()+10*a),l=n.views[2].last(l)),l):"century"===t?((l=new ee(1,e.getMonth(),e.getDate())).setFullYear(e.getFullYear()+100*a),Math.abs(l.getFullYear()-e.getFullYear())>100*a&&((l=new ee(1,e.getMonth(),1)).setFullYear(e.getFullYear()+100*a),l=n.views[3].last(l)),l):void 0}a.ui.plugin(ae)}(window.kendo.jQuery);var t=kendo;e.__meta__={id:"multiviewcalendar",name:"MultiViewCalendar",category:"web",description:"Multi-view calendar.",depends:["core","selectable","calendar"]},e.default=t,Object.defineProperty(e,"__esModule",{value:!0})})); //# sourceMappingURL=kendo.multiviewcalendar.min.js.map