@progress/kendo-ui
Version:
This package is part of the [Kendo UI for jQuery](http://www.telerik.com/kendo-ui) suite.
1 lines • 9.75 kB
JavaScript
module.exports=function(n){var a={};function r(e){if(a[e])return a[e].exports;var t=a[e]={exports:{},id:e,loaded:!1};return n[e].call(t.exports,t,t.exports,r),t.loaded=!0,t.exports}return r.m=n,r.c=a,r.p="",r(0)}({0:function(e,t,n){e.exports=n(1196)},3:function(e,t){e.exports=function(){throw Error("define cannot be used indirect")}},1051:function(e,t){e.exports=require("./kendo.core")},1196:function(e,t,n){var a;n(3),n=[n(1051),n(1197),n(1198)],void 0===(t="function"==typeof(a=function(){var e={id:"daterangepicker",name:"DateRangePicker",category:"web",description:"Date range picker.",depends:["core","multiviewcalendar","datepicker"]},i=window.kendo.jQuery,r=void 0,s=window.kendo,_=s.ui,o=s.keys,l=_.Widget,t="month",g="open",m="close",d="change",v="<div />",n="min",a="max",h=s.template,u=i.extend,b="id",w=s.support,D=w.mobileOS,I="k-state-selected",k="aria-expanded",y="aria-disabled",x="aria-activedescendant",A="k-disabled",T="disabled",C="readonly",V="aria-hidden",p=".kendoDateRangePicker",R="click"+p,O="mousedown"+p,H=w.mouseAndTouchPresent?s.applyEventMap("up",p.slice(1)):R,c=s.parseDate,f=function(e){s.DateView.call(this,e)};function F(e){e.preventDefault()}(f.prototype=Object.create(s.DateView.prototype))._calendar=function(){var e=this;var t=e.calendar;var n=e.options;var a;if(!t){a=i(v).attr(b,s.guid()).appendTo(e.popup.element);e.calendar=t=new _.MultiViewCalendar(a);e._setOptions(n);t.navigate(e._value||e._current,n.start);e._range=e._range||n.range||{};a.on(O,F).on(R,"td:has(.k-link)",e._click.bind(e));e.calendar.selectRange(e._range)}},f.prototype._setOptions=function(e){this.calendar.setOptions({focusOnNav:false,change:e.change,culture:e.culture,dates:e.dates,depth:e.depth,footer:e.footer,format:e.format,selectable:e.selectable,max:e.max,min:e.min,month:e.month,weekNumber:e.weekNumber,start:e.start,disableDates:e.disableDates,range:e.range})},f.prototype.range=function(e){this._range=e;if(this.calendar)if(!e.start&&!e.end){this.calendar.selectRange(e);this.calendar.rangeSelectable.clear(true)}else this.calendar.selectRange(e)},f.prototype.move=function(e){var t=this;var n=e.keyCode;var a=t.calendar;var r=e.ctrlKey&&n==o.DOWN||n==o.ENTER;var i=false;if(e.altKey){if(n==o.DOWN){t.open();e.preventDefault();i=true}else if(n==o.UP){t.close();e.preventDefault();i=true}}else if(t.popup.visible()){if(n==o.ESC||r&&a._cell.hasClass(I)){t.close();e.preventDefault();return true}t._current=a._move(e,true);i=true}return i},f.prototype._click=function(e){if(D.ios||D.android&&(D.browser=="firefox"||D.browser=="chrome")){if(this._range&&this._range.end)this.close()}else if(this._range&&this._range.end&&e.currentTarget.className.indexOf("k-range-end")!==-1)this.close()},s.DateRangeView=f;var N=l.extend({init:function(e,t){var n=this;var a;var r;l.fn.init.call(n,e,t);e=n.element;t=n.options;t.disableDates=s.calendar.disabled(t.disableDates);t.min=c(e.attr("min"))||c(t.min);t.max=c(e.attr("max"))||c(t.max);n._initialOptions=u({},t);n._buildHTML();n._range=n.options.range;n._changeTriggered=false;n.dateView=new f(u({},t,{id:e.attr(b),anchor:n.wrapper,views:2,selectable:"range",range:n._range,change:function(){var e=this.selectRange();n.range(e);n.trigger(d);n._changeTriggered=true;n._startDateInput.trigger(d);n._endDateInput.trigger(d);n._changeTriggered=false},close:function(e){if(n.trigger(m))e.preventDefault();else{n._inputs.attr(k,false);a.attr(V,true);setTimeout(function(){if(n._inputs)n._inputs.removeAttr(x)})}},open:function(e){if(n.trigger(g))e.preventDefault();else{n._inputs.attr(k,true);a.attr(V,false);n._updateARIA()}}}));a=n.dateView.div;n._ariaTemplate=h(this.options.ARIATemplate).bind(n);n._reset();n._aria();n._inputs.on(H+p,n._click.bind(n)).on("keydown"+p,n._keydown.bind(n));n._initializeDateInputs();r=e.is("[disabled]");if(r)n.enable(false);else n.readonly(e.is("[readonly]"))},options:{name:"DateRangePicker",labels:true,footer:"",format:"",culture:"",min:new Date(1900,0,1),max:new Date(2099,11,31),start:t,depth:t,animation:{},month:{},startField:"",endField:"",dates:[],disableDates:null,range:null,ARIATemplate:"Current focused #=data.valueType# is #=data.text#",weekNumber:false,messages:{startLabel:"Start",endLabel:"End"},size:"medium",fillMode:"solid",rounded:"medium"},events:[g,m,d],setOptions:function(e){var t=this;l.fn.setOptions.call(t,e);e=t.options;e.min=c(e.min);e.max=c(e.max);t._inputs.off(p);this._initializeDateInputs();t.dateView.setOptions(e);t._range=e.range},_aria:function(){this._inputs.attr({role:"combobox","aria-haspopup":"grid","aria-expanded":false,"aria-controls":this.dateView._dateViewID,autocomplete:"off"})},_click:function(){var e=this;if(!e._preventInputAction&&!e.dateView.popup.visible())e.dateView.open()},_keydown:function(e){var t=this,n=t.dateView,a=false;if(t._preventInputAction){e.stopImmediatePropagation();return}a=n.move(e);t._updateARIA(n._current);if(a&&e.stopImmediatePropagation)e.stopImmediatePropagation()},_updateARIA:function(e){var t=this;var n=t.dateView.calendar;if(t._inputs&&t._inputs.length)t._inputs.removeAttr(x);if(n){if(e&&!n._dateInViews(e))n.navigate(e);if(i.contains(t.element[0],document.activeElement))t._inputs.attr(x,n._updateAria(t._ariaTemplate,e))}},_startChange:function(e){var t=this;var n=e.sender;var a=n.value();var r=t._endDateInput.value();if(t.options.disableDates(a)){e.sender.value(null);a=null}t.range({start:a,end:r});if(!t._changeTriggered)t.trigger(d)},_endChange:function(e){var t=this;var n=e.sender;var a=n.value();var r=t._startDateInput.value();if(t.options.disableDates(a)){e.sender.value(null);a=null}t.range({start:r,end:a});if(!t._changeTriggered)t.trigger(d)},_initializeDateInputs:function(){var e=this;var t=e.options;var n=t.range||{};var a={footer:t.footer,format:t.format,culture:t.culture,min:t.min,max:t.max,start:t.start,startField:t.startField,endField:t.endField,depth:t.depth,animation:t.animation,month:t.month,dates:t.dates,disableDates:t.disableDates,ARIATemplate:t.ARIATemplate,weekNumber:t.weekNumber,size:t.size,fillMode:t.fillMode,rounded:t.rounded};if(e._startDateInput){e._startDateInput.destroy();e._endDateInput.destroy();e.wrapper.empty();e._buildHTML();e._inputs.on(H+p,e._click.bind(e)).on("keydown"+p,e._keydown.bind(e))}e._startDateInput=e._startInput.kendoDateInput(u(true,a,{value:n.start})).getKendoDateInput();e._endDateInput=e._endInput.kendoDateInput(u(true,a,{value:n.end})).getKendoDateInput();e._startChangeHandler=e._startChange.bind(e);e._startDateInput.bind(d,e._startChangeHandler);e._endChangeHandler=e._endChange.bind(e);e._endDateInput.bind(d,e._endChangeHandler)},_buildHTML:function(){var e=this;var t=e.element;var n;if(!e.wrapper)e.wrapper=t.addClass("k-daterangepicker");if(e.options.labels){n=s.guid();i('<span class="k-floating-label-container"><input id="'+n+'"/><label for="'+n+'" class="k-label">'+e.options.messages.startLabel+"</label></span>").appendTo(e.wrapper);n=s.guid();i('<span> </span><span class="k-floating-label-container"><input id="'+n+'"/><label for="'+n+'" class="k-label">'+e.options.messages.endLabel+"</label></span>").appendTo(e.wrapper)}else i("<input/><span> </span><input/>").appendTo(e.wrapper);e._startInput=e.wrapper.find("input").eq(0);e._endInput=e.wrapper.find("input").eq(1);if(e.options.startField!==""){e._startInput.attr(s.attr("bind"),"value: "+e.options.startField);e._startInput.attr("name",e.options.startField)}if(e.options.endField!==""){e._endInput.attr(s.attr("bind"),"value: "+e.options.endField);e._endInput.attr("name",e.options.endField)}e._inputs=e._startInput.add(e._endInput)},_option:function(e,t){var n=this,a=n.options;if(t===r)return a[e];t=c(t,a.parseFormats,a.culture);if(!t)return;a[e]=new Date(+t);n.dateView[e](t)},_reset:function(){var e=this,t=e.element,n=t.attr("form"),a=n?i("#"+n):t.closest("form");if(a[0]){e._resetHandler=function(){e.max(e._initialOptions.max);e.min(e._initialOptions.min)};e._form=a.on("reset",e._resetHandler)}},_editable:function(e){var t=this,n=t._inputs,a=e.readonly,r=e.disable;if(!a&&!r){t.wrapper.removeClass(A);i.each(n,function(e,t){t.removeAttribute(T);t.removeAttribute(C)});n.attr(y,false);t._preventInputAction=false}else{t.wrapper.addClass(r?A:"").removeClass(r?"":A);n.attr(T,r).attr(C,a).attr(y,r);t._preventInputAction=true}},destroy:function(){var e=this;if(e._startDateInput){e._startDateInput.unbind(d,e._startChangeHandler);e._startDateInput.destroy();e._startChangeHandler=null}if(e._endDateInput){e._endDateInput.unbind(d,e._endChangeHandler);e._endDateInput.destroy();e._endChangeHandler=null}if(e._form)e._form.off("reset",e._resetHandler);e._inputs.off(p);e._inputs=null;e.dateView.destroy();e.element.off(p);l.fn.destroy.call(e)},range:function(e){var t=this;if(e===r)return t._range;t._range=e;t.dateView.range({start:null,end:null});if(!e){t._startDateInput.value(null);t._endDateInput.value(null)}t._startDateInput.value(e.start?e.start:null);t._endDateInput.value(e.end?e.end:null);if(e.start&&!e.end)t.dateView.range({start:e.start,end:null});else if(e.start&&e.end&&+e.start<=+e.end)t.dateView.range({start:e.start,end:e.end})},open:function(){this.dateView.open()},close:function(){this.dateView.close()},min:function(e){return this._option(n,e)},max:function(e){return this._option(a,e)},readonly:function(e){this._startDateInput.readonly(e);this._endDateInput.readonly(e);this._editable({readonly:e===r?true:e,disable:false})},enable:function(e){this._startDateInput.enable(e);this._endDateInput.enable(e);if(!e)this.close();this._editable({readonly:false,disable:!(e=e===r?true:e)})}});return s.ui.plugin(N),window.kendo})?a.apply(t,n):a)||(e.exports=t)},1197:function(e,t){e.exports=require("./kendo.multiviewcalendar")},1198:function(e,t){e.exports=require("./kendo.datepicker")}});