UNPKG

kendo-ui-core

Version:
3 lines (2 loc) 32.6 kB
!function(e,t){"object"==typeof exports&&"undefined"!=typeof module?module.exports=t(require("kendo.core.js"),require("kendo.selectable.js"),require("kendo.icons.js")):"function"==typeof define&&define.amd?define(["kendo.core.min","kendo.selectable.min","kendo.icons.min"],t):((e="undefined"!=typeof globalThis?globalThis:e||self).kendocalendar=e.kendocalendar||{},e.kendocalendar.js=t())}(this,(function(){return function(e,t){var n=window.kendo,a=n.support,l=n.ui,r=l.Widget,i=n.keys,s=n.parseDate,o=n.htmlEncode,c=n.date.adjustDST,u=n.date.weekInYear,d=n.ui.Selectable,f=n._extractFormat,g=n.template,v=n.getCulture,_=n.support.transitions,h=_?_.css+"transform-origin":"",m=g((function(e){return'<td class="'+e.cssClass+'" role="gridcell"><a tabindex="-1" class="k-link" href="#" data-'+e.ns+'value="'+e.dateString+'">'+e.value+"</a></td>"})),p=g((function(){return'<td role="gridcell" class="k-calendar-td k-out-of-range"><a class="k-link"></a></td>'})),b=g((function(){return'<td role="gridcell" class="k-calendar-td k-out-of-range">&nbsp;</td>'})),k=g((function(e){return'<td class="k-calendar-td k-alt">'+e.weekNumber+"</td>"})),w=n._outerWidth,D=".kendoCalendar",y="click"+D,C="keydown"+D,x="id",S="slideIn",T="month",F="century",M="change",Y="navigate",A="value",N="k-disabled",V="k-focus",O="k-other-month",R="td:has(.k-link)",E="td:has(.k-link):not(."+N+"):not(.k-out-of-range)",H="k-selected",z="blur"+D,B="focus",P=B+D,I=a.touch?"touchstart":"mouseenter",W=a.touch?"touchstart"+D:"mouseenter"+D,j=a.touch?"touchend"+D+" touchmove"+D:"mouseleave"+D,q=864e5,U="_prevArrow",G="_nextArrow",K="aria-disabled",L="aria-selected",Q="aria-label",J=e.extend,X=Date,Z={month:0,year:1,decade:2,century:3},$=".k-header, .k-calendar-header",ee=r.extend({init:function(t,a){var l,i=this;(a=a||{}).componentType=a.componentType||"classic",r.fn.init.call(i,t,a),t=i.wrapper=i.element,(a=i.options).url=n.unescape(a.url),i.options.disableDates=pe(i.options.disableDates),i._templates(),i._selectable(),i._header(),i._viewWrapper(),i.options.hasFooter?i._footer(i.footer):(i._today=i.element.find(".k-calendar-nav-today"),i._toggle()),t.addClass("k-widget k-calendar "+(a.weekNumber?" k-week-number":"")).on(W+" "+j,R,fe).on(C,"table.k-content",i._move.bind(i)).on(y+" touchend",R,(function(t){var n=t.currentTarget.firstChild,l=ke(n);-1!=n.href.indexOf("#")&&t.preventDefault(),"month"==i._view.name&&i.options.disableDates(l)||"month"==i._view.name&&"single"!=a.selectable||i._click(e(n))})).on("mouseup"+D,"table.k-content, .k-footer",(function(){i._focusView(!1!==i.options.focusOnNav)})).attr(x),i._isMultipleSelection()&&i.options.weekNumber&&t.on(y,"td:not(:has(.k-link))",(function(t){var n=e(t.currentTarget).closest("tr").find(E).first(),a=i.selectable._lastActive=e(t.currentTarget).closest("tr").find(E).last();i.selectable.selectRange(n,a),i.selectable.trigger(M,{event:t}),i._current=i._value=ke(a.find("a")),i._setCurrent(i._current)})),he(a),l=s(a.value,a.format,a.culture),i._selectDates=[],i._index=Z[a.start],i._current=new X(+ie(l,a.min,a.max)),i._addClassProxy=function(){if(i._active=!0,i._cell.hasClass(N)){var e=i._view.toDateString(re());i._cell=i._cellByDate(e)}i._cell.addClass(V)},i._removeClassProxy=function(){i._active=!1,i._cell&&i._cell.removeClass(V)},i.value(l),i._isMultipleSelection()&&a.selectDates.length>0&&i.selectDates(a.selectDates),n.notify(i)},options:{name:"Calendar",value:null,min:new X(1900,0,1),max:new X(2099,11,31),dates:[],disableDates:null,url:"",culture:"",footer:"",format:"",month:{},weekNumber:!1,selectable:"single",selectDates:[],start:T,depth:T,size:"medium",animation:{horizontal:{effects:S,reverse:!0,duration:500,divisor:2},vertical:{effects:"zoomIn",duration:400}},messages:{weekColumnHeader:"",today:"Today",navigateTo:"Navigate to ",parentViews:{month:"year view",year:"decade view",decade:"century view"}},componentType:"classic"},events:[M,Y],componentTypes:{classic:{header:{template:function(e){var t=e.actionAttr,a=e.size,l=e.isRtl;return'<div class="k-header k-hstack">\n <a tabindex="-1" href="#" '+t+'="prev" role="button" class="k-calendar-nav-prev k-button '+a+' k-rounded-md k-button-flat k-button-flat-base k-icon-button" '+Q+'="Previous">'+n.ui.icon({icon:"caret-alt-"+(l?"right":"left"),iconClass:"k-button-icon"})+'</span></a>\n <a tabindex="-1" href="#" '+t+'="nav-up" id="'+n.guid()+'" role="button" class="k-calendar-nav-fast k-button '+a+' k-rounded-md k-button-flat k-button-flat-base k-flex"></a>\n <a tabindex="-1" href="#" '+t+'="next" role="button" class="k-calendar-nav-next k-button '+a+' k-rounded-md k-button-flat k-button-flat-base k-icon-button" '+Q+'="Next">'+n.ui.icon({icon:"caret-alt-"+(l?"left":"right"),iconClass:"k-button-icon"})+"</a>\n </div>"}},hasFooter:!0,linksSelector:".k-button",contentClasses:"k-calendar-table k-content"},modern:{header:{template:function(e){var t=e.actionAttr,a=e.size,l=e.messages,r=e.isRtl;return'<div class="k-calendar-header k-hstack">\n <button '+t+'="nav-up" id="'+n.guid()+'" class="k-calendar-title k-button '+a+' k-button-flat k-button-flat-base k-rounded-md">\n <span class="k-button-text"></span>\n </button>\n <span class="k-spacer"></span>\n <span class="k-calendar-nav">\n <button tabindex="-1" '+t+"="+(r?"next":"prev")+' class="k-calendar-nav-prev k-button '+a+' k-button-flat k-button-flat-base k-rounded-md k-icon-button">\n '+n.ui.icon({icon:"chevron-"+(r?"right":"left"),iconClass:"k-button-icon"})+'\n </button>\n <button tabindex="-1" '+t+'="today" class="k-calendar-nav-today k-button '+a+' k-button-flat k-button-flat-primary k-rounded-md">\n <span class="k-button-text">'+n.htmlEncode(l.today)+'</span>\n </button>\n <button tabindex="-1" '+t+"="+(r?"prev":"next")+' class="k-calendar-nav-next k-button '+a+' k-button-flat k-button-flat-base k-rounded-md k-icon-button">\n '+n.ui.icon({icon:"chevron-"+(r?"left":"right"),iconClass:"k-button-icon"})+"\n </button>\n </span>\n </div>"}},hasFooter:!1,linksSelector:".k-button",contentClasses:"k-calendar-table k-content k-calendar-content"}},setOptions:function(t){var n=this;he(t),t.disableDates=pe(t.disableDates),n._destroySelectable(),t.messages&&(t.messages=e.extend({},!0,n.options.messages,t.messages)),r.fn.setOptions.call(n,t),n._templates(),n._selectable(),n._viewWrapper(),n.options.hasFooter?n._footer(n.footer):(n.element.find(".k-footer").hide(),n._toggle()),n._index=Z[n.options.start],n.navigate(),t.weekNumber&&n.element.addClass("k-week-number")},destroy:function(){var e=this,t=e._today;e.element.off(D),e._title.off(D),e[U].off(D),e[G].off(D),e._destroySelectable(),n.destroy(e._table),t&&n.destroy(t.off(D)),r.fn.destroy.call(e)},current:function(){return this._current},view:function(){return this._view},focus:function(e){e=e||this._table,this._bindTable(e),e.trigger("focus")},min:function(e){return this._option("min",e)},max:function(e){return this._option("max",e)},navigateToPast:function(){this._navigate(U,-1)},navigateToFuture:function(){this._navigate(G,1)},navigateUp:function(){var e=this,t=e._index;e._title.hasClass(N)||e.navigate(e._current,++t)},navigateDown:function(e){var t=this,n=t._index,a=t.options.depth;e&&(n!==Z[a]?t.navigate(e,--n):be(t._value,t._current)&&be(t._value,e)||(t.value(e),t.trigger(M)))},navigate:function(n,a){a=isNaN(a)?Z[a]:a;var l,r,i,s,c=this,u=c.options,d=u.culture,f=u.min,g=u.max,v=c._title,_=c._table,h=c._oldTable,m=c._current,p=n&&+n>+m,b=a!==t&&a!==c._index,k=c.element.children(".k-calendar-view");if(n||(n=m),c._current=n=new X(+ie(n,f,g)),a===t?a=c._index:c._index=a,c._view=r=te.views[a],i=r.compare,s=a===Z[F],v.toggleClass(N,s).attr(K,s),s=i(n,f)<1,c[U].toggleClass(N,s).attr(K,s),s=i(n,g)>-1,c[G].toggleClass(N,s).attr(K,s),_&&h&&h.data("animating")&&(h.kendoStop(!0,!0),_.kendoStop(!0,!0)),c._oldTable=_,!_||c._changeView){v.html('<span class="k-button-text">'+r.title(n,f,g,d)+"</span>"),c.options.messages.parentViews&&c._view.name!==F?v.attr("title",o(c.options.messages.navigateTo+c.options.messages.parentViews[c._view.name])):v.removeAttr("title"),c._table=l=e(r.content(J({min:f,max:g,date:n,url:u.url,dates:u.dates,format:u.format,otherMonth:!0,culture:d,disableDates:u.disableDates,isWeekColumnVisible:u.weekNumber,messages:u.messages,contentClasses:c.options.contentClasses},c[r.name]))),c._aria(),me(l,r.name);var w=_&&_.data("start")===l.data("start");c._animate({from:_,to:l,vertical:b,future:p,replace:w}),k.removeClass("k-calendar-monthview k-calendar-yearview k-calendar-decadeview k-calendar-centuryview"),k.addClass("k-calendar-"+r.name+"view"),c.trigger(Y),c._focus(n)}a===Z[u.depth]&&c._selectDates.length>0&&c._visualizeSelectedDatesInView(),"single"===c.options.selectable&&a===Z[u.depth]&&c._value&&!c.options.disableDates(c._value)&&c._selectCell(c._value),c._setCurrent(n),!_&&c._cell&&c._cell.removeClass(V),c._changeView=!0},selectDates:function(n){var a,l,r=this;if(n===t)return r._selectDates;l=n.map((function(e){return e.getTime()})).filter((function(e,t,n){return n.indexOf(e)===t})).map((function(e){return new Date(e)})),a=e.grep(l,(function(e){if(e)return+r._validateValue(new Date(e.setHours(0,0,0,0)))==+e})),r._selectDates=a.length>0?a:0===l.length?l:r._selectDates,r._visualizeSelectedDatesInView()},value:function(e){var n=this,a=n._view,l=n._view;if(e===t)return n._value;if((e=n._validateValue(e))&&n._isMultipleSelection()){var r=new Date(+e);r.setHours(0,0,0,0),n._selectDates=[r],n.selectable._lastActive=null}a&&null===e&&n._cell?n._cell.removeClass(H):(n._changeView=!e||l&&0!==l.compare(e,n._current),n.navigate(e))},isRtl:function(){return n.support.isRtl(this.wrapper)},_aria:function(){var e=this._table;e.attr("aria-labelledby",this._title.attr("id")),"month"===this._view.name&&"multiple"===this.options.selectable&&e.attr("aria-multiselectable","true")},_validateValue:function(e){var n=this,a=n.options,l=a.min,r=a.max;return null===e&&(n._current=ve(n._current.getFullYear(),n._current.getMonth(),n._current.getDate())),null!==(e=s(e,a.format,a.culture))&&(se(e=new X(+e),l,r)||(e=null)),null!==e&&n.options.disableDates(new Date(+e))?n._value===t&&(n._value=null):n._value=e,n._value},_visualizeSelectedDatesInView:function(){var t=this,a={};e.each(t._selectDates,(function(e,t){a[n.calendar.views[0].toDateString(t)]=t})),t.selectable.clear();var l=t._table.find(R).filter((function(t,l){return a[e(l.firstChild).attr(n.attr(A))]}));l.length>0&&t.selectable._selectElement(l,!0)},_isMultipleSelection:function(){return"multiple"===this.options.selectable},_selectable:function(){var e=this;if(e._isMultipleSelection()){var t=e.options.selectable,n=d.parseOptions(t);e.selectable=new d(e.wrapper,{aria:!0,inputSelectors:"input,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",multiple:n.multiple,filter:"table.k-month:eq(0) "+E,change:e._onSelect.bind(e),relatedTarget:e._onRelatedTarget.bind(e)})}},_onRelatedTarget:function(e){var t=this;t.selectable.options.multiple&&e.is(E)&&(t._current=ke(e.find("a")),t._setCurrent(t._current))},_onSelect:function(t){var n=this,a=t;d.parseOptions(n.options.selectable).multiple?(a.event.ctrlKey||a.event.metaKey?e(a.event.currentTarget).is(E)?n._toggleSelection(e(a.event.currentTarget)):(n._cellsBySelector(E).each((function(t,a){var l=ke(e(a).find("a"));n._deselect(l)})),n._addSelectedCellsToArray()):a.event.shiftKey?n._rangeSelection(n._cell):e(a.event.currentTarget).is(R)?n.value(ke(e(a.event.currentTarget).find("a"))):(n._selectDates=[],n._addSelectedCellsToArray()),n.trigger(M)):e(a.event.currentTarget).is("td")&&!e(a.event.currentTarget).hasClass("k-selected")?e(a.event.currentTarget).addClass("k-selected"):n._click(e(a.event.currentTarget).find("a"))},_destroySelectable:function(){var e=this;e.selectable&&(e.selectable.destroy(),e.selectable=null)},_toggleSelection:function(e){var t=ke(e.find("a"));e.hasClass("k-selected")?this._selectDates.push(t):this._deselect(t)},_rangeSelection:function(e,t){var n,a=this,l=t||ke(a.selectable.value().first().find("a")),r=ke(e.find("a"));a.selectable._lastActive||a._value?l=a.selectable._lastActive?ke(a.selectable._lastActive.find("a")):new Date(+a._value):a.selectable._lastActive=t?a._cellByDate(a._view.toDateString(t),E):a.selectable.value().first(),a._selectDates=[],n=ue(l,r),de(a._selectDates,n,l,a.options.disableDates),a._visualizeSelectedDatesInView()},_cellsBySelector:function(e){return this._table.find(e)},_addSelectedCellsToArray:function(){var t=this;t.selectable.value().each((function(n,a){var l=ke(e(a.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)},_dateInView:function(e){var t=ke(this._cellsBySelector(E).first().find("a"));return+e<=+ke(this._cellsBySelector(E).last().find("a"))&&+e>=+t},_isNavigatable:function(e,t){var n,a=this,l=a.options.disableDates;return"month"==a._view.name?!l(e):(n=a.wrapper.find("."+V).index(),a.wrapper.find(".k-content td").eq(n+t).is(E)||!l(e))},_move:function(n){var a,l,r,s,o=this,c=o.options,u=n.keyCode,d=o._view,f=o._index,g=o.options.min,v=o.options.max,_=new X(+o._current),h=o.isRtl(),m=o.options.disableDates;if(n.target===o._table[0]&&(o._active=!0),u==i.RIGHT&&!h||u==i.LEFT&&h?(a=1,l=!0):u==i.LEFT&&!h||u==i.RIGHT&&h?(a=-1,l=!0):u==i.UP?(a=0===f?-7:-4,l=!0):u==i.DOWN?(a=0===f?7:4,l=!0):u==i.SPACEBAR?(a=0,l=!0):u==i.HOME||u==i.END?(s=d[r=u==i.HOME?"first":"last"](_),(_=new X(s.getFullYear(),s.getMonth(),s.getDate(),_.getHours(),_.getMinutes(),_.getSeconds(),_.getMilliseconds())).setFullYear(s.getFullYear()),l=!0):84===u&&(o._todayClick(n),l=!0),n.ctrlKey||n.metaKey){if(u==i.RIGHT&&!h||u==i.LEFT&&h)o.navigateToFuture(),l=!0;else if(u==i.LEFT&&!h||u==i.RIGHT&&h)o.navigateToPast(),l=!0;else if(u==i.UP)o.navigateUp(),l=!0;else if(u==i.DOWN)o._click(e(o._cell[0].firstChild)),l=!0;else if((u==i.ENTER||u==i.SPACEBAR)&&o._isMultipleSelection()){o._keyboardToggleSelection(n);var p=ke(e(o._cell[0]).find("a"));o._setCurrent(p)}}else n.shiftKey?(a!==t||r)&&(r||d.setDate(_,a),se(_,g,v)||(_=ie(_,c.min,c.max)),m(_)&&(_=o._nextNavigatable(_,a)),g=ve(g.getFullYear(),g.getMonth(),g.getDate()),o._isMultipleSelection()?o._keyboardRangeSelection(n,_):o._focus(_)):(u==i.ENTER||u==i.SPACEBAR?("month"==d.name&&o._isMultipleSelection()?(o.value(ke(e(o._cell.find("a")))),o.selectable._lastActive=e(o._cell[0]),o.trigger(M)):o._click(e(o._cell[0].firstChild)),l=!0):u==i.PAGEUP?(l=!0,o.navigateToPast()):u==i.PAGEDOWN&&(l=!0,o.navigateToFuture()),(a||r)&&(r||d.setDate(_,a),se(_,g=ve(g.getFullYear(),g.getMonth(),g.getDate()),v)||(_=ie(_,c.min,c.max)),o._isNavigatable(_,a)||(_=o._nextNavigatable(_,a)),o._isMultipleSelection()?o._dateInView(_)?(o._current=_,o._setCurrent(_)):o.navigate(_):o._focus(_)));return l&&n.preventDefault(),o._current},_keyboardRangeSelection:function(e,t){var n,a,l=this;if(!l._dateInView(t))return l._selectDates=[],a=ue(n=l.selectable._lastActive?ke(l.selectable._lastActive.find("a")):t,new Date(+t)),de(l._selectDates,a,n,l.options.disableDates),l.navigate(t),l._current=t,l.selectable._lastActive=l.selectable._lastActive||l._cellByDate(l._view.toDateString(t),E),void l.trigger(M);l.selectable.options.filter=l.wrapper.find("table").length>1&&+t>+l._current?"table.k-month:eq(1) "+E:"table.k-month:eq(0) "+E,l._setCurrent(t),l._current=t,l._rangeSelection(l._cellByDate(l._view.toDateString(t),E),t),l.trigger(M),l.selectable.options.filter="table.k-month:eq(0) "+E},_keyboardToggleSelection:function(t){var n=this;t.currentTarget=n._cell[0],n.selectable._lastActive=e(n._cell[0]),e(n._cell[0]).hasClass(H)?n.selectable._unselect(e(n._cell[0])):n.selectable.value(e(n._cell[0])),n.selectable.trigger(M,{event:t})},_nextNavigatable:function(e,t){var n=this,a=!0,l=n._view,r=n.options.min,i=n.options.max,s=n.options.disableDates,o=new Date(e.getTime());for(l.setDate(o,-t);a;){if(l.setDate(e,t),!se(e,r,i)){e=o;break}a=s(e)}return e},_animate:function(e){var t=this,n=e.from,a=e.to,l=t._active,r=t.element.children(".k-calendar-view");n?n.parent().data("animating")?(n.off(D),n.parent().kendoStop(!0,!0).remove(),n.remove(),r.append(a),t._focusView(l)):!n.is(":visible")||!1===t.options.animation||e.replace?(a.insertAfter(n),n.off(D).remove(),t._focusView(l)):t[e.vertical?"_vertical":"_horizontal"](n,a,e.future):(r.append(a),t._bindTable(a))},_horizontal:function(e,t,n){var a=this,l=a._active,r=a.options.animation.horizontal,i=r.effects,s=w(e),o=w(e,!0)-s;i&&-1!=i.indexOf(S)&&(e.add(t).css({width:s}),e.wrap("<div/>"),a._focusView(l,e),e.parent().css({position:"relative",width:2*s+2*o,display:"flex","margin-left":n?0:-s-o}),t[n?"insertAfter":"insertBefore"](e),J(r,{effects:S+":"+(n?"right":"left"),complete:function(){e.off(D).remove(),a._oldTable=null,t.unwrap(),a._focusView(l)}}),e.parent().kendoStop(!0,!0).kendoAnimate(r))},_vertical:function(e,t){var n,a,l=this,r=l.options.animation.vertical,i=r.effects,s=l._active;i&&-1!=i.indexOf("zoom")&&(t.insertBefore(e),e.css({position:"absolute",width:t.width()}),h&&(a=(a=(n=l._cellByDate(l._view.toDateString(l._current))).position()).left+parseInt(n.width()/2,10)+"px "+(a.top+parseInt(n.height()/2,10))+"px",t.css(h,a)),e.kendoStop(!0,!0).kendoAnimate({effects:"fadeOut",duration:600,complete:function(){e.off(D).remove(),l._oldTable=null,l._focusView(s)}}),t.kendoStop(!0,!0).kendoAnimate(r))},_cellByDate:function(t,a){return this._table.find(a||"td:not(."+O+")").filter((function(){return e(this.firstChild).attr(n.attr(A))===t}))},_selectCell:function(e){var t=this,n=t._selectedCell,a=t._view.toDateString(e);n&&n[0]&&(n[0].removeAttribute(L),n.removeClass(H)),n=t._cellByDate(a,"multiple"==t.options.selectable?R:"td:not(."+O+")"),t._selectedCell=n,n.addClass(H).attr(L,!0)},_setCurrent:function(e){var t=this,a=n.guid(),l=t._cell,r=t._view.toDateString(e);l&&l[0]&&(l.removeClass(V),l[0].removeAttribute(Q),l[0].removeAttribute(x)),l=t._cellByDate(r,"multiple"==t.options.selectable?R:"td:not(."+O+")"),t._cell=l,l.attr(x,a).addClass(V),t._table[0]&&(t._table[0].removeAttribute("aria-activedescendant"),t._table.attr("aria-activedescendant",a))},_bindTable:function(e){e.on(P,this._addClassProxy).on(z,this._removeClassProxy)},_click:function(e){var t=this,n=t.options,a=new Date(+t._current),l=ke(e);c(l,0),"month"==t._view.name&&t.options.disableDates(l)&&(l=t._value),t._view.setDate(a,l),t.navigateDown(ie(a,n.min,n.max))},_focus:function(e){var t=this;0!==t._view.compare(e,t._current)?t.navigate(e):(t._current=e,t._setCurrent(e))},_focusView:function(e,t){e&&this.focus(t)},_viewWrapper:function(){var t=this.element,n=t.children(".k-calendar-view");n[0]||(n=e("<div class='k-calendar-view' />").insertAfter(t.find($)))},_footer:function(t){var a=this,l=re(),r=a.element,i=r.find(".k-footer");if(!t)return a._toggle(!1),void i.hide();i[0]||(i=e('<div class="k-footer">\n <button tabindex="-1" class="k-calendar-nav-today k-flex k-button k-button-md k-button-flat k-button-flat-primary k-rounded-md">\n <span class="k-button-text"></span>\n </button>\n </div>').appendTo(r)),a._today=i.show().find(".k-button-flat-primary").attr("title",n.toString(l,"D",a.options.culture)),i.find(".k-button-text").html(t(l)),a._toggle()},_header:function(){var t=this,a=t.element,l=t.options.linksSelector;a.find($)[0]||a.html(n.template(t.options.header.template)(e.extend(!0,{},t.options,{actionAttr:n.attr("action"),size:n.getValidCssClass("k-button-","size",t.options.size),isRtl:t.isRtl()}))),a.find(l).on(y+" touchend"+D,(function(){return!1})),t._title=a.find("["+n.attr("action")+'="nav-up"]').on(y+" touchend"+D,(function(){t._active=!1!==t.options.focusOnNav,t.navigateUp()})),t[U]=a.find("["+n.attr("action")+'="prev"]').on(y+" touchend"+D,(function(){t._active=!1!==t.options.focusOnNav,t.navigateToPast()})),t[G]=a.find("["+n.attr("action")+'="next"]').on(y+" touchend"+D,(function(){t._active=!1!==t.options.focusOnNav,t.navigateToFuture()})),a.find("["+n.attr("action")+'="today"]').on(y+" touchend"+D,t._todayClick.bind(t))},_navigate:function(e,t){var n=this,a=n._index+1,l=new X(+n._current);n._isMultipleSelection()&&(l=ke(n._table.find("td:not(.k-other-month):not(.k-out-of-range)").has(".k-link").first().find("a")),n._current=new Date(+l));(e=n[e]).hasClass(N)||(a>3?l.setFullYear(l.getFullYear()+100*t):te.views[a].setDate(l,t),n.navigate(l))},_option:function(e,n){var a,l=this,r=l.options,i=l._value||l._current;if(n===t)return r[e];(n=s(n,r.format,r.culture))&&(r[e]=new X(+n),((a="min"===e?n>i:i>n)||function(e,t){if(e)return e.getFullYear()===t.getFullYear()&&e.getMonth()===t.getMonth();return!1}(i,n))&&(a&&(l._value=null),l._changeView=!0),l._changeView||(l._changeView=!(!r.month.content&&!r.month.empty)),l.navigate(l._value),l._toggle())},_toggle:function(e){var n=this,a=n.options,l=n.options.disableDates(re()),r=n._today,i=n._todayClass();e===t&&(e=se(re(),a.min,a.max)),r&&(r.off(y),e&&!l?r.addClass(i).removeClass(N).on(y,n._todayClick.bind(n)):r.removeClass(i).addClass(N).on(y,ge))},_todayClass:function(){return"k-calendar-nav-today"},_todayClick:function(e){var t=this,n=Z[t.options.depth],a=t.options.disableDates,l=re();e.preventDefault(),a(l)||(0===t._view.compare(t._current,l)&&t._index==n&&(t._changeView=!1),t._isMultipleSelection()&&(t._selectDates=[l],t.selectable._lastActive=null),t._value=l,t.navigate(l,n),t.trigger(M))},_templates:function(){var e=this,t=e.options,a=t.footer,l=t.month,r=l.content,i=l.weekNumber,s=l.empty,o=function(e){return""+n.toString(e,"D",t.culture)};e.month={content:function(e){return'<td class="'+e.cssClass+'" role="gridcell"><a tabindex="-1" class="k-link '+e.linkClass+'" href="'+e.url+'" '+n.attr(A)+'="'+e.dateString+'" title="'+e.title+'">'+(we(r,e)||e.value)+"</a></td>"},empty:function(e){return'<td role="gridcell">'+(we(s,e)||"&nbsp;")+"</td>"},weekNumber:function(e){return'<td class="k-alt">'+(we(i,e)||e.weekNumber)+"</td>"}},e.year={content:g((function(e){return'<td class="'+e.cssClass+'" role="gridcell"><a tabindex="-1" class="k-link" href="#" data-'+e.ns+'value="'+e.dateString+'" aria-label="'+e.label+'">'+e.value+"</a></td>"}))},a&&!0!==a&&(o=a),e.footer=!1!==a?g(o,{useWithBlock:!1}):null},_updateAria:function(e,t){var a,l=this,r=l._cell,i=l.view().valueType(),s=t||l.current();return a="month"===i?n.toString(s,"MMMM"):"date"===i?n.toString(s,"D"):r.text(),r.attr("aria-label",e({current:s,valueType:i,text:a})),r.attr("id")}});l.plugin(ee);var te={firstDayOfMonth:function(e){return ve(e.getFullYear(),e.getMonth(),1)},firstVisibleDay:function(e,t){var a=(t=t||n.culture().calendar).firstDay,l=new X(e.getFullYear(),e.getMonth(),1,e.getHours(),e.getMinutes(),e.getSeconds(),e.getMilliseconds());for(l.setFullYear(e.getFullYear());l.getDay()!=a;)te.setTime(l,-864e5);return l},setTime:function(e,t){var n=e.getTimezoneOffset(),a=new X(e.getTime()+t),l=a.getTimezoneOffset()-n;e.setTime(a.getTime()+6e4*l)},views:[{name:T,title:function(e,t,n,a){return _e(a).months.names[e.getMonth()]+" "+e.getFullYear()},content:function(e){var t=this,a=0,l=e.min,r=e.max,i=e.date,s=e.dates,d=e.format,f=e.culture,g=e.url,v=e.showHeader,_=e.otherMonth,h=e.isWeekColumnVisible,m=g&&s[0],p=_e(f),b=p.firstDay,k=p.days,w=oe(k.names,b),D=oe(k.namesShort,b),y=te.firstVisibleDay(i,p),C=t.first(i),x=t.last(i),S=t.toDateString,T=re(),F='<table tabindex="0" role="grid" class="'+e.contentClasses+'" cellspacing="0" data-start="'+S(y)+'">';for(v&&(F+='<caption class="k-calendar-caption k-month-header">'+this.title(i,l,r,f)+"</caption>"),F+='<thead class="k-calendar-thead"><tr role="row" class="k-calendar-tr">',h&&(F+='<th scope="col" class="k-calendar-th k-alt">'+o(e.messages.weekColumnHeader)+"</th>");a<7;a++)F+='<th scope="col" class="k-calendar-th" aria-label="'+w[a]+'">'+D[a]+"</th>";return c(T,0),T=+T,ae({cells:42,perRow:7,html:F+='</tr></thead><tbody class="k-calendar-tbody"><tr role="row" class="k-calendar-tr">',start:ve(y.getFullYear(),y.getMonth(),y.getDate()),isWeekColumnVisible:h,weekNumber:e.weekNumber,min:ve(l.getFullYear(),l.getMonth(),l.getDate()),max:ve(r.getFullYear(),r.getMonth(),r.getDate()),otherMonth:_,content:e.content,lastDayOfMonth:x,empty:e.empty,setter:t.setDate,disableDates:e.disableDates,build:function(e,t,a){var l=["k-calendar-td"],r=e.getDay(),i="",o="#";return(e<C||e>x)&&l.push(O),a(e)&&l.push(N),+e===T&&l.push("k-today"),0!==r&&6!==r||l.push("k-weekend"),m&&function(e,t){for(var n=0,a=t.length;n<a;n++)if(e===+t[n])return!0;return!1}(+e,s)&&(o=g.replace("{0}",n.toString(e,d,f)),i=" k-action-link"),{date:e,dates:s,ns:n.ns,title:n.toString(e,"D",f),value:e.getDate(),dateString:S(e),cssClass:l.join(" "),linkClass:i,url:o}},weekNumberBuild:function(e){return{weekNumber:u(e,n.culture().calendar.firstDay),currentDate:e}}})},first:function(e){return te.firstDayOfMonth(e)},last:function(e){var t=ve(e.getFullYear(),e.getMonth()+1,0),n=te.firstDayOfMonth(e),a=Math.abs(t.getTimezoneOffset()-n.getTimezoneOffset());return a&&t.setHours(n.getHours()+a/60),t},compare:function(e,t){var n=e.getMonth(),a=e.getFullYear(),l=t.getMonth(),r=t.getFullYear();return a>r?1:a<r?-1:n==l?0:n>l?1:-1},setDate:function(e,t){var n=e.getHours();t instanceof X?e.setFullYear(t.getFullYear(),t.getMonth(),t.getDate()):te.setTime(e,t*q),c(e,n)},toDateString:function(e){return e.getFullYear()+"/"+e.getMonth()+"/"+e.getDate()},valueType:function(){return"date"}},{name:"year",title:function(e){return e.getFullYear()},content:function(e){var t=_e(e.culture).months,a=t.namesAbbr,l=t.names,r=this.toDateString,i=e.min,s=e.max,o="";return e.showHeader&&(o+='<table tabindex="0" role="grid" class="k-calendar-table k-content k-meta-view" cellspacing="0">',o+='<caption class="k-calendar-caption k-meta-header">',o+=this.title(e.date),o+="</caption>",o+='<tbody class="k-calendar-tbody">',o+='<tr role="row" class="k-calendar-tr">'),ae({min:ve(i.getFullYear(),i.getMonth(),1),max:ve(s.getFullYear(),s.getMonth(),1),start:ve(e.date.getFullYear(),0,1),html:o,setter:this.setDate,content:e.content,build:function(e){return{value:a[e.getMonth()],label:l[e.getMonth()],ns:n.ns,dateString:r(e),cssClass:["k-calendar-td"].join(" ")}}})},first:function(e){return ve(e.getFullYear(),0,e.getDate())},last:function(e){return ve(e.getFullYear(),11,e.getDate())},compare:function(e,t){return le(e,t)},setDate:function(e,t){var n,a=e.getHours();t instanceof X?(n=t.getMonth(),e.setFullYear(t.getFullYear(),n,e.getDate()),n!==e.getMonth()&&e.setDate(0)):(n=e.getMonth()+t,e.setMonth(n),n>11&&(n-=12),n>0&&e.getMonth()!=n&&e.setDate(0)),c(e,a)},toDateString:function(e){return e.getFullYear()+"/"+e.getMonth()+"/1"},valueType:function(){return"month"}},{name:"decade",title:function(e,t,n){return ne(e,t,n,10)},content:function(e){var t=e.date.getFullYear(),a=this.toDateString,l="";return e.showHeader&&(l+='<table tabindex="0" role="grid" class="k-calendar-table k-content k-meta-view" cellspacing="0">',l+='<caption class="k-meta-header">',l+=this.title(e.date,e.min,e.max),l+="</caption>",l+='<tbody class="k-calendar-thead">',l+='<tr role="row" class="k-calendar-tr">'),ae({start:ve(t-t%10-1,0,1),min:ve(e.min.getFullYear(),0,1),max:ve(e.max.getFullYear(),0,1),otherMonth:e.otherMonth,html:l,setter:this.setDate,build:function(e,t){var l=["k-calendar-td"];return 0!==t&&11!==t||l.push(O),{value:e.getFullYear(),ns:n.ns,dateString:a(e),cssClass:l.join(" ")}}})},first:function(e){var t=e.getFullYear();return ve(t-t%10,e.getMonth(),e.getDate())},last:function(e){var t=e.getFullYear();return ve(t-t%10+9,e.getMonth(),e.getDate())},compare:function(e,t){return le(e,t,10)},setDate:function(e,t){ce(e,t,1)},toDateString:function(e){return e.getFullYear()+"/0/1"},valueType:function(){return"year"}},{name:F,title:function(e,t,n){return ne(e,t,n,100)},content:function(e){var t=e.date.getFullYear(),a=e.min.getFullYear(),l=e.max.getFullYear(),r=this.toDateString,i=a,s=l,o="";return(s-=s%10)-(i-=i%10)<10&&(s=i+9),e.showHeader&&(o+='<table tabindex="0" role="grid" class="k-calendar-table k-content k-meta-view" cellspacing="0">',o+='<caption class="k-calendar-caption k-meta-header">',o+=this.title(e.date,e.min,e.max),o+="</caption>",o+='<tbody class="k-calendar-tbody">',o+='<tr role="row" class="k-calendar-tr">'),ae({start:ve(t-t%100-10,0,1),min:ve(i,0,1),max:ve(s,0,1),otherMonth:e.otherMonth,html:o,setter:this.setDate,build:function(e,t){var i=["k-calendar-td"],s=e.getFullYear(),o=s+9;return 0!==t&&11!==t||i.push(O),s<a&&(s=a),o>l&&(o=l),{ns:n.ns,value:s+" - "+o,dateString:r(e),cssClass:i.join(" ")}}})},first:function(e){var t=e.getFullYear();return ve(t-t%100,e.getMonth(),e.getDate())},last:function(e){var t=e.getFullYear();return ve(t-t%100+99,e.getMonth(),e.getDate())},compare:function(e,t){return le(e,t,100)},setDate:function(e,t){ce(e,t,10)},toDateString:function(e){var t=e.getFullYear();return t-t%10+"/0/1"},valueType:function(){return"decade"}}]};function ne(e,t,n,a){var l,r=e.getFullYear(),i=t.getFullYear(),s=n.getFullYear();return l=(r-=r%a)+(a-1),r<i&&(r=i),l>s&&(l=s),r+"-"+l}function ae(e){var t,n=0,a=e.min,l=e.max,r=e.start,i=e.setter,s=e.build,o=e.weekNumberBuild,u=e.cells||12,d=e.isWeekColumnVisible,f=e.perRow||4,g=e.otherMonth,v=e.lastDayOfMonth,_=e.weekNumber||k,h=e.content||m,w=e.empty||p,D=e.otherMonthCellTemplate||b,y=e.html||'<table tabindex="0" role="grid" class="k-calendar-table k-content k-meta-view" cellspacing="0"><tbody class="k-calendar-tbody"><tr role="row" class="k-calendar-tr">';for(d&&(y+=_(o(r)));n<u;n++)n>0&&n%f==0&&(y+='</tr><tr role="row" class="k-calendar-tr">',d&&(y+=_(g||+r<=+v?o(r):{weekNumber:"&nbsp;"}))),r=ve(r.getFullYear(),r.getMonth(),r.getDate()),c(r,0),y+=-1===(t=s(r,n,e.disableDates)).cssClass.indexOf(O)||g?se(r,a,l)?h(t):w(t):D(t),i(r,1);return y+"</tr></tbody></table>"}function le(e,t,n){var a=e.getFullYear(),l=t.getFullYear(),r=l,i=0;return n&&(r=(l-=l%n)-l%n+n-1),a>r?i=1:a<l&&(i=-1),i}function re(){var e=new X;return new X(e.getFullYear(),e.getMonth(),e.getDate())}function ie(e,t,n){var a=re();return e&&(a=new X(+e)),t>a?a=new X(+t):n<a&&(a=new X(+n)),a}function se(e,t,n){return+e>=+t&&+e<=+n}function oe(e,t){return e.slice(t).concat(e.slice(0,t))}function ce(e,t,n){t=t instanceof X?t.getFullYear():e.getFullYear()+n*t,e.setFullYear(t)}function ue(e,t){if(+t<+e){var a=+e;te.views[0].setDate(e,t),te.views[0].setDate(t,new Date(a))}var l=Date.UTC(e.getFullYear(),e.getMonth(),e.getDate()),r=Date.UTC(t.getFullYear(),t.getMonth(),t.getDate());return Math.ceil((+r-+l)/n.date.MS_PER_DAY)}function de(e,t,n,a){for(var l=0;l<=t;l++){var r=new Date(n.getTime());a(r=new Date(r.setDate(r.getDate()+l)))||e.push(r)}}function fe(t){e(this).hasClass("k-disabled")||e(this).toggleClass("k-hover",I.indexOf(t.type)>-1||t.type==B)}function ge(e){e.preventDefault()}function ve(e,t,n){var a=new X(e,t,n);return a.setFullYear(e,t,n),a}function _e(e){return v(e).calendars.standard}function he(e){var n=Z[e.start],a=Z[e.depth],l=v(e.culture);e.format=f(e.format||l.calendars.standard.patterns.d),isNaN(n)&&(n=0,e.start=T),(a===t||a>n)&&(e.depth=T),null===e.dates&&(e.dates=[])}function me(e,t){e.addClass("k-"+t)}function pe(t){return n.isFunction(t)?t:Array.isArray(t)?function(e){var t,n=[],a=["su","mo","tu","we","th","fr","sa"];e[0]instanceof X?(n=function(e){for(var t=[],n=0;n<e.length;n++)t.push(e[n].setHours(0,0,0,0));return t}(e),t=function(e){return!!(e&&n.indexOf(new Date(e).setHours(0,0,0,0))>-1)}):(n=e.map((function(e){e=e.slice(0,2).toLowerCase();var t=a.indexOf(e);if(t>-1)return t})),t=function(e){return!!(e&&n.indexOf(new Date(e).getDay())>-1)});return t}(t):e.noop}function be(e,t){return e instanceof Date&&t instanceof Date&&(e=e.getTime(),t=t.getTime()),e===t}function ke(t){var a=e(t).attr(n.attr(A)).split("/");return a=ve(a[0],a[1],a[2])}function we(e,a){return e?n.isFunction(e)?e(a):g(e)(a):t}te.isEqualDatePart=function(e,t){return!!e&&(e.getFullYear()===t.getFullYear()&&e.getMonth()===t.getMonth()&&e.getDate()===t.getDate())},te.isEqualDate=be,te.restrictValue=ie,te.isInRange=se,te.addClassToViewContainer=me,te.normalize=he,te.viewsEnum=Z,te.disabled=pe,te.toDateObject=ke,te.getToday=re,te.createDate=ve,n.calendar=te}(window.kendo.jQuery),kendo})); //# sourceMappingURL=kendo.calendar.min.js.map