UNPKG

kendo-ui-core

Version:

Kendo UI is everything you need to build sites and apps with HTML5 & JavaScript. Kendo UI Core is the free and open-source version of Kendo UI that provides access to the web's best UI widgets and key framework features, essential for developing great exp

2 lines 17.3 kB
Object.defineProperty(exports,Symbol.toStringTag,{value:`Module`}),require(`./dist-AH6B3-_t.js`),require(`./core-R4j5Vh3b.js`),require(`./kendo.html.button.js`),require(`./kendo.label.js`),require(`./kendo.datepicker.js`),require(`./kendo.timepicker.js`),(function(e,t){var n=window.kendo,r=n.TimeView,i=n.html,a=n.parseDate,o=n.support,s=n._activeElement,c=n._extractFormat,l=n.calendar,u=l.isInRange,d=l.restrictValue,f=l.isEqualDatePart,p=r.getMilliseconds,m=n.ui,h=m.Widget,g=`open`,_=`close`,v=`change`,y=`.kendoDateTimePicker`,b=`click`+y,x=o.mouseAndTouchPresent?n.applyEventMap(`up`,y.slice(1)):b,S=`disabled`,C=`readonly`,w=`k-focus`,T=`k-hover`,E=`k-disabled`,D=`mouseenter`+y+` mouseleave`+y,O=`mousedown`+y,k=`month`,A=`<span/>`,j=`aria-activedescendant`,M=`aria-expanded`,N=`aria-hidden`,P=`aria-disabled`,F=`aria-readonly`,I=Date,L=new I(1800,0,1),R=new I(2099,11,31),z={view:`date`},B={view:`time`},V=e.extend,H=({buttonSize:e,messages:t})=>`<div class="k-date-tab k-datetime-wrap"><div class="k-datetime-buttongroup"><div class="k-button-group k-button-group-stretched">`+n.html.renderButton(`<button class="k-selected k-group-start">${t.date}</button>`,{size:e})+n.html.renderButton(`<button class="k-group-end">${t.time}</button>`,{size:e})+`</div></div><div class="k-datetime-selector"><div class="k-datetime-calendar-wrap"></div><div class="k-datetime-time-wrap"></div></div><div class="k-datetime-footer k-actions">`+n.html.renderButton(`<button class="k-time-accept" title="Set" aria-label="Set">${t.set}</button>`,{size:e,themeColor:`primary`})+n.html.renderButton(`<button class="k-time-cancel" title="Cancel" aria-label="Cancel">${t.cancel}</button>`,{size:e})+`</div></div>`,U=`k-selected`,W=h.extend({init:function(t,r){var i=this,o,s;r||={},r.componentType=r.componentType||`classic`,h.fn.init.call(i,t,r),t=i.element,r=i.options,r.disableDates=n.calendar.disabled(r.disableDates),r.min=a(t.attr(`min`))||a(r.min),r.max=a(t.attr(`max`))||a(r.max),(+r.max!=+R||+r.min!=+L||+r.startTime!=+L||r.endTime!=+R)&&(this._specifiedRange=!0),q(r),i._initialOptions=V({},r),i._wrapper(),r.singlePopup&&i._popup(),i._views(),i._icons(),i._reset(),i._template();try{t[0].setAttribute(`type`,`text`)}catch{t[0].type=`text`}t.addClass(`k-input-inner`).attr({role:`combobox`,"aria-expanded":!1,"aria-haspopup":`grid`,"aria-controls":i.dateView._dateViewID+` `+i.timeView._timeViewID,autocomplete:`off`}),i._midnight=i._calculateMidnight(r.min,r.max),o=t.is(`[disabled]`)||e(i.element).parents(`fieldset`).is(`:disabled`),o?i.enable(!1):i.readonly(t.is(`[readonly]`)),s=a(r.value||i.element.val(),r.parseFormats,r.culture),i._createDateInput(r),i._old=i._update(s||i.element.val()),i._oldText=t.val(),i._applyCssClasses(),r.label&&i._label(),n.notify(i)},options:{name:`DateTimePicker`,value:null,format:``,timeFormat:``,culture:``,parseFormats:[],dates:[],disableDates:null,startTime:null,endTime:null,min:new I(L),max:new I(R),interval:30,height:200,footer:``,start:k,depth:k,animation:{},month:{},ARIATemplate:({valueType:e,text:t})=>`Current focused ${e} is ${t}`,dateButtonText:`Open the date view`,timeButtonText:`Open the time view`,dateInput:!1,weekNumber:!1,messages:{set:`Set`,cancel:`Cancel`,hour:`hour`,minute:`minute`,second:`second`,millisecond:`millisecond`,now:`Now`,date:`Date`,time:`Time`,today:`Today`,weekColumnHeader:``},componentType:`classic`,size:`medium`,fillMode:`solid`,rounded:`medium`,label:null},events:[g,_,v],componentTypes:{classic:{singlePopup:!1,timeView:{list:`list`}},modern:{singlePopup:!0,timeView:{list:`scroll`}}},setOptions:function(e){var t=this,r=t._value,i,o,s;h.fn.setOptions.call(t,e),e=t.options,e.min=i=a(e.min),e.max=o=a(e.max),q(e),t._midnight=t._calculateMidnight(e.min,e.max),s=e.value||t._value||t.dateView._current,i&&!f(i,s)&&(i=new I(L)),o&&!f(o,s)&&(o=new I(R)),t._dateIcon.off(y),t._dateIcon.remove(),t._timeIcon.off(y),t._timeIcon.remove(),t.dateView.setOptions(e),t.timeView.setOptions(V({},e,{format:e.timeFormat,min:i,max:o})),t._icons(),t._editable(e),t._createDateInput(e),t._dateInput||t.element.val(n.toString(r,e.format,e.culture)),r&&t._updateARIA(r),e.label&&t._inputLabel?t.label.setOptions(e.label):e.label===!1?(t.label._unwrapFloating(),t._inputLabel.remove(),delete t._inputLabel):e.label&&t._label()},_editable:function(e){var t=this,r=t.element.off(y),i=t._dateIcon.off(y),a=t._timeIcon.off(y),o=t.wrapper.off(y),s=e.readonly,c=e.disable;!s&&!c?(o.removeClass(E).on(D,t._toggleHover),r&&r.length&&(r[0].removeAttribute(S),r[0].removeAttribute(C,!1),r[0].removeAttribute(P,!1),r[0].removeAttribute(F,!1)),r.on(`keydown`+y,t._keydown.bind(t)).on(`focus`+y,function(){t.wrapper.addClass(w)}).on(`focusout`+y,function(){t.wrapper.removeClass(w),r.val()!==t._oldText&&(t._change(r.val()),r.val()||t.dateView.current(n.calendar.getToday())),!t.options.singlePopup&&(t.close(`date`),t.close(`time`))}),i.on(O,K).on(x,function(e){t.toggle(`date`),t._focusElement(e.type)}),a.on(O,K).on(x,function(e){t.toggle(`time`),t._focusElement(e.type)})):(o.addClass(c?E:``).removeClass(c?``:E),r.attr(S,c).attr(C,s).attr(P,c).attr(F,s))},_label:function(){var t=this,r=t.options,i=e.isPlainObject(r.label)?r.label:{content:r.label};t._dateInput&&(i.floatCheck=()=>(t._dateInput._toggleDateMask(!0),!t.value()&&!t._dateInput._hasDateInput()&&document.activeElement!==t.element[0]?(t._dateInput._toggleDateMask(!1),!0):!1)),t.label=new n.ui.Label(null,e.extend({},i,{widget:t})),t._inputLabel=t.label.element},_focusElement:function(e){var t=this.element;(!o.touch||o.mouseAndTouchPresent&&!(e||``).match(/touch/i))&&t[0]!==s()&&t.trigger(`focus`)},readonly:function(e){this._editable({readonly:e===t?!0:e,disable:!1}),this.label&&this.label.floatingLabel&&this.label.floatingLabel.readonly(e===t?!0:e)},enable:function(e){this._editable({readonly:!1,disable:!(e=e===t?!0:e)}),this.label&&this.label.floatingLabel&&this.label.floatingLabel.enable(e=e===t?!0:e)},destroy:function(){var e=this;h.fn.destroy.call(e),e.dateView.destroy(),e.timeView.destroy(),e.label&&e.label.destroy(),e.options.singlePopup&&(e.popup.element.off(y),e.popup.destroy()),e.element.off(y),e._dateIcon.off(y),e._timeIcon.off(y),e.wrapper.off(y),e._form&&e._form.off(`reset`,e._resetHandler)},close:function(e){var t=this;t.options.singlePopup?t.popup.close():(e!==`time`&&(e=`date`),t[e+`View`].close()),setTimeout(function(){t.element.removeAttr(`aria-activedescendant`)})},open:function(e){var t=this,n;t.options.singlePopup?(t.dateView._calendar(),t.timeView.ul.find(`li`).length<1&&t.timeView.bind(),n=t.popup._hovered,t.popup._hovered=!0,t.popup.open(),e===`time`?t._switchToTimeView():t._switchToDateView(),this._dateIcon.toggle(e!==`time`),this._timeIcon.toggle(e===`time`),setTimeout(function(){t.popup._hovered=n},1)):(e!==`time`&&(e=`date`),this[e+`View`].open())},min:function(e){return this._option(`min`,e)},max:function(e){return this._option(`max`,e)},toggle:function(e){if(this.options.singlePopup)this.popup.visible()?this.close():this.open(e);else{var t=`timeView`;e===`time`?t=`dateView`:e=`date`,this[e+`View`].toggle(),this[t].close()}},value:function(e){var n=this;if(e===t)return n._value;n._old=n._update(e),n._old===null&&(n._dateInput?n._dateInput.value(n._old):n.element.val(``)),n._oldText=n.element.val(),n.label&&n.label.floatingLabel&&n.label.floatingLabel.refresh()},_change:function(e){var t=this,n=t.element.val(),r;e=t._update(e),r=+t._old!=+e;var i=r&&!t._typing,a=n!==t.element.val();(i||a)&&t.element.trigger(v),r&&(t._old=e,t._oldText=t.element.val(),t.trigger(v)),t._typing=!1},_option:function(e,n){var r=this,i=r.options,o=r.timeView,s=o.options,c=r._value||r._old,l,u;if(n===t)return i[e];if(n=a(n,i.parseFormats,i.culture),s.maxSet=!1,n){if(i.min.getTime()===i.max.getTime()&&(s.dates=[]),i[e]=new I(n.getTime()),r.dateView[e](n),r._midnight=r._calculateMidnight(i.min,i.max),c&&(l=f(i.min,c),u=f(i.max,c)),l||u){if(s[e]=n,l&&!u&&(s.max=G(i.interval)),u)if(r._midnight){o.dataBind([R]);return}else l||(s.min=L,s.maxSet=!0)}else s.max=R,s.min=L;o.bind()}},_toggleHover:function(t){e(t.currentTarget).toggleClass(T,t.type===`mouseenter`)},_update:function(t){var r=this,i=r.options,o=i.min,s=i.max,c=i.startTime,l=i.endTime,p=i.dates,m=r.timeView,h=r._value,g=a(t,i.parseFormats,i.culture),_=g===null&&h===null||g instanceof Date&&h instanceof Date,y,b,x,S,C;return i.disableDates&&i.disableDates(g)&&(g=null,!r._old&&!r.element.val()&&(t=null)),+g==+h&&_?(C=n.toString(g,i.format,i.culture),C!==t&&(r.element.val(g===null?t:C),t instanceof String&&r.element.trigger(v)),g):(g!==null&&f(g,o)?g=d(g,o,s):u(g,o,s)||(g=null),r._value=g,m.value(g),r.dateView.value(g),g&&(x=r._old,b=m.options,b.maxSet=!1,p[0]&&(p=e.grep(p,function(e){return f(g,e)}),p[0]&&(m.dataBind(p),S=!0)),S||(f(g,o)&&(b.min=c||o,b.max=l||G(i.interval),y=!0),f(g,s)&&(r._midnight?(m.dataBind([R]),S=!0):(b.max=l||s,b.maxSet=!0,y||(b.min=L),y=!0))),!S&&(!x&&y||x&&!f(x,g))&&(y||(b.max=l||R,b.min=c||L),m.bind())),r._dateInput?g&&r._dateInput.value(g):r.element.val(n.toString(g||t,i.format,i.culture)),r._updateARIA(g),g)},_keydown:function(e){var t=this,r=t.dateView,i=t.timeView,a=t.element.val(),o=t.options.singlePopup?t.popup.visible():r.popup.visible(),s=t._dateInput&&e.stopImmediatePropagation;e.altKey&&e.keyCode===n.keys.DOWN?t.toggle(o?`time`:`date`):o?(r.move(e),t._updateARIA(r._current),e.keyCode===n.keys.ENTER&&t.toggle(`time`)):!t.options.singlePopup&&i.popup.visible()?i.move(e):e.keyCode===n.keys.ENTER&&a!==t._oldText?t._change(a):(t._typing=!0,s=!1),s&&e.stopImmediatePropagation()},_timeOption:function(e){var t=this,n=t.options,r=n[e],i=e==`startTime`?n.min:n.max,a=e==`startTime`?new I(L):new I(R),o;return r&&(a=new I(r)),r&&i&&(o=new Date(i.getFullYear(),i.getMonth(),i.getDate(),r.getHours(),r.getMinutes(),r.getSeconds()),e==`startTime`?t.options.min=o:t.options.max=o),n.componentType===`modern`&&(a=i),a},_views:function(){var e=this,t=e.element,i=e.options,o=t.attr(`id`),s,c,l,u,d,f,p,m,h;i.singlePopup&&(i.dateDiv=e.popup.element.find(`.k-datetime-calendar-wrap`),p=e.popup.element.find(`.k-datetime-time-wrap`),i.omitPopup=m=!0,h=i.timeView),e.dateView=s=new n.DateView(V({},i,{id:o,anchor:e.wrapper,change:function(){var t=e._applyDateValue();i.singlePopup?(e.timeView._currentlySelected||(e.timeView._currentlySelected=new Date),e.timeView._currentlySelected.setFullYear(t.getFullYear()),e.timeView._currentlySelected.setMonth(t.getMonth()),e.timeView._currentlySelected.setDate(t.getDate()),e._switchToTimeView(),e._toggleIcons()):(e._change(t),e.close(`date`))},close:function(n){e.trigger(_,z)?n.preventDefault():(t.attr(M,!1),l.attr(N,!0))},open:function(n){e.trigger(g,z)?n.preventDefault():(t.val()!==e._oldText&&(f=a(t.val(),i.parseFormats,i.culture),e.dateView[f?`current`:`value`](f)),l.attr(N,!1),t.attr(M,!0),e._updateARIA(f))}})),l=s.div,d=i.min.getTime(),e.timeView=c=new r({id:o,value:i.value,size:i.size,anchor:e.wrapper,animation:i.animation,format:i.timeFormat,culture:i.culture,height:i.componentType===`modern`?null:i.height,interval:i.interval,startTime:i.startTime,endTime:i.endTime,min:e._timeOption(`startTime`),max:e._timeOption(`endTime`),dates:d===i.max.getTime()?[new Date(d)]:[],parseFormats:i.parseFormats,validateDate:!(i.startTime||i.endTime),change:function(r,a){r=e._applyTimeValue(r),a?(e._timeSelected=!0,e._change(r)):(t.val(n.toString(r,i.format,i.culture)),s.value(r),e._updateARIA(r))},close:function(n){e.trigger(_,B)?n.preventDefault():(u.attr(N,!0),t.attr(M,!1))},open:function(n){e.options.componentType===`modern`?e.timeView._updateTitle():c._adjustListWidth(),e.trigger(g,B)?n.preventDefault():(t.val()!==e._oldText&&(f=a(t.val(),i.parseFormats,i.culture),e.timeView.value(f)),u.attr(N,!1),t.attr(M,!0),c.options.active(c.current()))},active:function(e){t&&t.length&&t[0].removeAttribute(j),e&&t.attr(j,c._optionID)},popup:i.popup,useValueToRender:!0,specifiedRange:e._specifiedRange,omitPopup:m,timeDiv:p,timeView:h,messages:e.options.messages}),u=c.ul},_applyDateValue:function(){var e=this,t=e.options,r=e.dateView.calendar.value(),i=+r,a=+t.min,o=+t.max,s,c;return(i===a||i===o)&&(s=i===a?a:o,s=new I(e._value||s),s.setFullYear(r.getFullYear(),r.getMonth(),r.getDate()),u(s,a,o)&&(r=s)),e._value&&(c=n.date.setHours(new Date(r),e._value),u(c,a,o)&&(r=c)),r},_applyTimeValue:function(e){var t=this.timeView,n=this.options;return e=t._parse(e),e<n.min?(e=new I(+n.min),t.options.min=e):e>n.max&&(e=new I(+n.max),t.options.max=e),e},_icons:function(){var t=this,n=t.element,r=t.options;t.wrapper.find(`button.k-input-button`)[0]||(t._dateIcon=e(i.renderButton(`<button unselectable="on" tabindex="-1" class="k-input-button" aria-label="`+r.dateButtonText+`"></button>`,{icon:`calendar`,size:r.size,fillMode:r.fillMode,shape:`none`})).insertAfter(n),t._timeIcon=e(i.renderButton(`<button unselectable="on" tabindex="-1" class="k-input-button" aria-label="`+r.timeButtonText+`"></button>`,{icon:`clock`,size:r.size,fillMode:r.fillMode,shape:`none`})).insertAfter(n)),r.singlePopup&&t._timeIcon.hide()},_wrapper:function(){var e=this,t=e.element,n=t.parents(`.k-datetimepicker`);n[0]||(n=t.wrap(A).parent()),n[0].style.cssText=t[0].style.cssText,t.css({height:t[0].style.height}),e.wrapper=n.addClass(`k-datetimepicker k-input`).addClass(t[0].className).removeClass(`input-validation-error`)},_reset:function(){var t=this,r=t.element,i=r.attr(`form`),a=i?e(`#`+i):r.closest(`form`),o=t.options,s=o.disableDates,c=o.parseFormats.length?o.parseFormats:null,l=t._initialOptions.value,u=r[0].defaultValue;l&&s&&s(l)&&(l=null),(!u||!n.parseDate(u,c,o.culture))&&l&&r.attr(`value`,n.toString(l,o.format,o.culture)),a[0]&&(t._resetHandler=function(){t.value(l||r[0].defaultValue),t.max(t._initialOptions.max),t.min(t._initialOptions.min)},t._form=a.on(`reset`,t._resetHandler))},_template:function(){this._ariaTemplate=n.template(this.options.ARIATemplate).bind(this)},_createDateInput:function(e){this._dateInput&&=(this._dateInput.destroy(),null),e.dateInput&&(this._dateInput=new m.DateInput(this.element,{culture:e.culture,format:e.format,size:e.size,fillMode:e.fillMode,rounded:e.rounded,min:e.min,max:e.max,interval:e.interval,messages:e.messages.dateInput}))},_calculateMidnight:function(e,t){return p(e)+p(t)===0},_updateARIA:function(e){var t=this,n=t.dateView.calendar;t.element&&t.element.length&&t.element[0].removeAttribute(j),n&&t.element.attr(j,n._updateAria(t._ariaTemplate,e))},_popup:function(){var t=this,r=t.options,i=e(`<div></div>`).attr(N,`true`).addClass(`k-datetime-container k-group k-reset`).appendTo(document.body);i.append(n.template(H)(V({},t.options,{buttonSize:t.options.size}))),t.popup=new m.Popup(i,V(r.popup,r,{name:`Popup`,isRtl:n.support.isRtl(t.wrapper),anchor:t.wrapper,activate:function(){t.options.timeView&&t.options.timeView.list===`scroll`&&(t.timeView.addTranslate(),t.timeView.applyValue(t._value),t.timeView._updateRanges())},open:function(e){t.trigger(g,{view:this.element.find(`.k-date-tab`).length?`date`:`time`,sender:t})?e.preventDefault():(this.element.attr(N,!1),t.element.attr(M,!0)),t.timeView._updateTitle()},close:function(e){t.trigger(_,{view:this.element.find(`.k-date-tab`).length?`date`:`time`,sender:t})?e.preventDefault():(t.element.attr(M,!1),this.element.attr(N,!0))}})),i.on(b+y,`.k-datetime-buttongroup .k-button`,t._groupChangeClick.bind(t)),i.on(b+y,`.k-datetime-footer button.k-time-cancel`,t._cancelClickHandler.bind(t)),i.on(b+y,`.k-datetime-footer button.k-time-accept`,t._setClickHandler.bind(t))},_groupChangeClick:function(t){K(t),e(t.currentTarget).index()?this._switchToTimeView():this._switchToDateView(),this._toggleIcons()},_switchToDateView:function(){this.popup.element.find(`.k-group-start, .k-group-end`).removeClass(U).eq(0).addClass(U),this.popup.element.find(`.k-datetime-wrap`).removeClass(`k-time-tab`).addClass(`k-date-tab`)},_switchToTimeView:function(){this.timeView.addTranslate(),this.timeView.applyValue(this._value),this.timeView._updateRanges(),this.popup.element.find(`.k-group-start, .k-group-end`).removeClass(U).eq(1).addClass(U),this.popup.element.find(`.k-datetime-wrap`).removeClass(`k-date-tab`).addClass(`k-time-tab`)},_toggleIcons:function(){this._dateIcon.toggle(),this._timeIcon.toggle()},_cancelClickHandler:function(e){K(e),this._value&&(this.value(this._value),this.dateView.value(this._value)),this.popup.close()},_setClickHandler:function(e){K(e);var t=this._applyDateValue(),n;t||=new Date,n=this.timeView._currentlySelected||t,this.timeView._updateCurrentlySelected(),t.setHours(n.getHours()),t.setMinutes(n.getMinutes()),t.setSeconds(n.getSeconds()),t=this._applyTimeValue(t),this._change(t),this.popup.close()}});function G(e){var t=new Date(2100,0,1);return t.setMinutes(-e),t}function K(e){e.preventDefault()}function q(t){var r=n.getCulture(t.culture).calendars.standard.patterns,i=!t.parseFormats.length,a;t.format=c(t.format||r.g),t.timeFormat=a=c(t.timeFormat||r.t),n.DateView.normalize(t),i&&t.parseFormats.unshift(`yyyy-MM-ddTHH:mm:ss`),e.inArray(a,t.parseFormats)===-1&&t.parseFormats.push(a)}n.cssProperties.registerPrefix(`DateTimePicker`,`k-input-`),n.cssProperties.registerValues(`DateTimePicker`,[{prop:`rounded`,values:n.cssProperties.roundedValues.concat([[`full`,`full`]])}]),m.plugin(W)})(window.kendo.jQuery); //# sourceMappingURL=kendo.datetimepicker.js.map