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