{"version":3,"file":"kendo.timeselector.min.js","names":["global","factory","exports","module","require","define","amd","globalThis","self","kendotimeselector","js","this","$","undefined$1","kendo","window","ui","encode","htmlEncode","Widget","html","extend","mediaQuery","FOCUSED","keys","NS","listItemTemplate","ref","value","TimeSelector","init","element","options","that","fn","call","bigScreenMQL","smallScreenMQL","adaptiveMode","onChange","popup","isFunction","fullscreen","mediaQueryList","matches","_wrappers","_buttons","_attchHandlers","_shortCuts","_columns","_popup","name","columns","shortcuts","size","fillMode","rounded","messages","set","cancel","days","hours","minutes","milliseconds","seconds","events","addTranslate","list","itemHeight","listHeight","translate","bottomOffset","lists","_listsContainer","find","length","i","getItemHeight","eq","outerHeight","css","transform","height","off","on","_itemClickHandler","bind","_listScrollHandler","applyValue","values","rest","Math","floor","getTimeParts","each","index","column","columnVal","min","max","_scrollListToPosition","format","selectorFormat","toggle","destroy","_listContainer","_timeSelectorWrapper","_scrollerKeyDownHandler","_applyShortCut","_cancelClickHandler","_setClickHandler","_mouseOverHandler","e","preventDefault","_value","parseInt","currentTarget","attr","change","close","focus","key","keyCode","isRtl","support","wrapper","container","UP","DOWN","altKey","RIGHT","LEFT","_focusList","scrollTop","ENTER","ESC","setTimeout","visible","removeClass","addClass","trigger","_scrollTop","_activeElement","_currentValues","originalEvent","_internalScroll","_scrollingTimeout","clearTimeout","_updateCurrentlySelected","_findSelectedValue","firstOccurence","round","is","item","_renderList","title","elements","step","appendTo","shortcut","_shortcuts","renderButton","getValidCssClass","text","id","Popup","anchor","open","activate","document","body","ActionSheet","adaptive","subtitle","closeButton","getBoundingClientRect","plugin","jQuery"],"sources":["kendo.timeselector.js"],"mappings":"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","sourcesContent":["(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined' ? module.exports = factory(require('kendo.popup.js'), require('kendo.html.button.js'), require('kendo.actionsheet.js')) :\n typeof define === 'function' && define.amd ? define(['kendo.popup', 'kendo.html.button', 'kendo.actionsheet'], factory) :\n (global = typeof globalThis !== 'undefined' ? globalThis : global || self, (global.kendotimeselector = global.kendotimeselector || {}, global.kendotimeselector.js = factory()));\n})(this, (function () {\n var __meta__ = {\n id: \"timeselector\",\n name: \"TimeSelector\",\n category: \"web\",\n description: \"The TimeSelector widget allows the end user to select a time range from a popup\",\n depends: [ \"popup\", \"html.button\", \"actionsheet\" ]\n };\n\n (function($, undefined$1) {\n var kendo = window.kendo,\n ui = kendo.ui,\n encode = kendo.htmlEncode,\n Widget = ui.Widget,\n html = kendo.html,\n extend = $.extend,\n mediaQuery = kendo.mediaQuery,\n CHANGE = \"change\",\n CLICK = \"click\",\n SCROLL = \"scroll\",\n FOCUSED = \"k-focus\",\n keys = kendo.keys,\n NS = \".kendoTimeSelector\",\n html = kendo.html;\n\n var listItemTemplate = function (ref) {\n var value = ref.value;\n\n return (\"
  • \" + (encode(value)) + \"
  • \");\n };\n var listTemplate = function (ref) {\n var title = ref.title;\n var name = ref.name;\n\n return '
    ' +\n \"\" + (encode(title)) + \"\" +\n '
    ' +\n \"
    \" +\n '
      ' +\n '
      ' +\n '
      ' +\n '
      ' +\n '
      ';\n };\n\n var TimeSelector = Widget.extend({\n init: function(element, options) {\n var that = this;\n\n Widget.fn.init.call(that, element, options);\n\n that.bigScreenMQL = mediaQuery(\"large\");\n that.smallScreenMQL = mediaQuery(\"small\");\n if (that.options.adaptiveMode == \"auto\" ) {\n that.smallScreenMQL.onChange(function() {\n if (that.popup && kendo.isFunction(that.popup.fullscreen)) {\n that.popup.fullscreen(that.smallScreenMQL.mediaQueryList.matches);\n }\n });\n }\n\n that._wrappers();\n that._buttons();\n that._attchHandlers();\n that._shortCuts();\n that._columns();\n that._popup();\n },\n options: {\n name: \"TimeSelector\",\n columns: [],\n shortcuts: [],\n adaptiveMode: \"none\",\n size: \"medium\",\n fillMode: \"solid\",\n rounded: \"medium\",\n messages: {\n set: \"Set\",\n cancel: \"Cancel\",\n days: \"Days\",\n hours: \"Hours\",\n minutes: \"Minutes\",\n milliseconds: \"Milliseconds\",\n seconds: \"Seconds\"\n }\n },\n\n events: [CHANGE],\n\n addTranslate: function() {\n var lists = this._listsContainer.find(\".k-time-container.k-content.k-scrollable\");\n var length = lists.length;\n var list;\n var itemHeight;\n var listHeight;\n var topOffset;\n var translate;\n var bottomOffset;\n\n for (var i = 0; i < length; i++) {\n list = lists.eq(i);\n itemHeight = getItemHeight(list.find(\".k-item:visible\").eq(0));\n listHeight = list.outerHeight();\n topOffset = (listHeight - itemHeight) / 2;\n translate = \"translateY(\" + topOffset + \"px)\";\n bottomOffset = listHeight - itemHeight;\n list.find(\"ul\").css({\n transform: translate,\n \"-ms-transform\": translate\n });\n list.find(\".k-scrollable-placeholder\").css({\n height: list.find(\"ul\").height() + bottomOffset\n });\n list.off(NS)\n .on(CLICK + NS, \".k-item\", this._itemClickHandler.bind(this))\n .on(SCROLL + NS, this._listScrollHandler.bind(this));\n }\n },\n\n applyValue: function(value) {\n if (!value) {\n return;\n }\n var that = this;\n var lists = this._listsContainer.find('.k-time-container.k-content.k-scrollable');\n var values = getTimeParts(value);\n\n lists.each(function(index, list) {\n var column = that.options.columns[index];\n var columnVal = values[column.name];\n\n if (columnVal >= column.min && columnVal <= column.max) {\n that._scrollListToPosition($(list), kendo.format(column.selectorFormat, columnVal));\n }\n });\n },\n\n toggle: function() {\n this.popup.toggle();\n },\n\n destroy: function() {\n this._listContainer.off(NS);\n this._timeSelectorWrapper.off(NS);\n\n if (this.popup) {\n this.popup.destroy();\n this.popup = null;\n }\n\n if (this.bigScreenMQL) {\n this.bigScreenMQL.destroy();\n }\n\n if (this.smallScreenMQL) {\n this.smallScreenMQL.destroy();\n }\n },\n\n _attchHandlers: function() {\n var that = this;\n\n that._listContainer.on(\"keydown\" + NS, this._scrollerKeyDownHandler.bind(this));\n that._timeSelectorWrapper.on(\"click\" + NS, \".k-time-fast-selection button\", this._applyShortCut.bind(this));\n that._timeSelectorWrapper.on(\"click\" + NS, \".k-timeduration-footer button.k-time-cancel\", this._cancelClickHandler.bind(this));\n that._timeSelectorWrapper.on(\"click\" + NS, \".k-timeduration-footer button.k-time-accept\", this._setClickHandler.bind(this));\n that._listContainer.on(\"mouseover\" + NS, \".k-time-list-wrapper\", this._mouseOverHandler.bind(this));\n },\n\n _applyShortCut: function(e) {\n e.preventDefault();\n this._value = parseInt($(e.currentTarget).attr(kendo.attr(\"value\")));\n this.options.change(this._value);\n this.popup.close();\n this.options.focus();\n },\n\n _scrollerKeyDownHandler: function(e) {\n var that = this,\n key = e.keyCode,\n list = $(e.currentTarget).find(\".k-time-list-wrapper.k-focus\"),\n lists = that._listContainer.find(\".k-time-list-wrapper\"),\n length = lists.length,\n index = lists.index(list),\n isRtl = kendo.support.isRtl(that.wrapper),\n itemHeight = getItemHeight(list.find(\".k-item:visible\").eq(0)),\n container = list.find(\".k-time-container.k-content.k-scrollable\");\n\n if (!list.length) {\n return;\n }\n\n if ((key == keys.UP || key == keys.DOWN) && e.altKey) {\n e.preventDefault();\n that.toggle();\n setTimeout(function() {\n if (!that.popup.visible()) {\n that.options.focus();\n }\n }, 100);\n return;\n }\n\n if (key == keys.RIGHT && !isRtl || key == keys.LEFT && isRtl) {\n if (index + 1 < length) {\n that._focusList(lists.eq(index + 1));\n }\n\n } else if (key == keys.LEFT && !isRtl || key == keys.RIGHT && isRtl) {\n if (index - 1 >= 0) {\n that._focusList(lists.eq(index - 1));\n }\n } else if (key == keys.UP) {\n container.scrollTop(container.scrollTop() - itemHeight);\n e.preventDefault();\n } else if (key == keys.DOWN) {\n container.scrollTop(container.scrollTop() + itemHeight);\n e.preventDefault();\n } else if (key === keys.ENTER) {\n that._setClickHandler(e);\n } else if (key === keys.ESC) {\n that._cancelClickHandler(e);\n }\n },\n\n _mouseOverHandler: function(e) {\n this._focusList($(e.currentTarget));\n },\n\n _focusList: function(list) {\n this._listContainer.find(\".k-time-list-wrapper\").removeClass(FOCUSED);\n list.addClass(FOCUSED);\n this._listContainer.trigger(\"focus\");\n this._scrollTop = list.find('.k-scrollable').scrollTop();\n },\n\n _setClickHandler: function(e) {\n if ($(kendo._activeElement()).attr(kendo.attr(\"value\"))) {\n return;\n }\n\n e.preventDefault();\n this._value = convertToMsec(this._currentValues);\n this.options.change(this._value);\n this.popup.close();\n this.options.focus();\n },\n\n _cancelClickHandler: function(e) {\n if ($(kendo._activeElement()).attr(kendo.attr(\"value\"))) {\n return;\n }\n e.preventDefault();\n this.popup.close();\n this.options.focus();\n },\n\n _itemClickHandler: function(e) {\n var list = $(e.originalEvent.currentTarget);\n var index = list.find(\".k-item:visible\").index($(e.currentTarget));\n var itemHeight = getItemHeight(list.find(\".k-item:visible\").eq(0));\n\n list.scrollTop(index * itemHeight);\n },\n\n _listScrollHandler: function(e) {\n var that = this;\n var itemHeight = getItemHeight($(e.currentTarget).find(\".k-item:visible\").eq(0));\n\n if (that._internalScroll) {\n return;\n }\n\n if (that._scrollingTimeout) {\n clearTimeout(that._scrollingTimeout);\n }\n\n that._scrollingTimeout = setTimeout(function() {\n if (e.currentTarget.scrollTop % itemHeight > 1) {\n e.currentTarget.scrollTop += itemHeight - e.currentTarget.scrollTop % itemHeight;\n }\n that._scrollTop = e.currentTarget.scrollTop;\n that._updateCurrentlySelected();\n }, 100);\n },\n\n _findSelectedValue: function(list) {\n var firstOccurence = firstItemIndex(list.scrollTop(), getItemHeight(list.find(\".k-item:visible\").eq(0)));\n return list.find(\".k-item:visible\").eq(firstOccurence).attr(\"data-value\");\n },\n\n _updateCurrentlySelected: function() {\n var that = this;\n var lists = this._listsContainer.find('.k-content.k-scrollable');\n\n if (!this._listsContainer.is(\":visible\")) {\n return;\n }\n\n that._currentValues = {};\n\n lists.each(function() {\n var list = $(this);\n that._currentValues[list.attr(\"data-name\")] = parseInt(that._findSelectedValue(list));\n });\n },\n\n _scrollListToPosition: function(list, value) {\n var item = list.find('.k-item[data-value=\"' + value + '\"]');\n var itemHeight = getItemHeight(item);\n\n list.scrollTop(list.find(\".k-item:visible\").index(item) * itemHeight);\n },\n\n _renderList: function(wrapper, options) {\n if (!options) {\n return;\n }\n var that = this;\n var list = $(listTemplate({ name: options.name, title: that.options.messages[options.name] }));\n var elements = \"\";\n\n for (var i = options.min; i <= options.max; i += options.step) {\n elements += listItemTemplate({ value: kendo.format(options.selectorFormat, i) });\n }\n list.find(\"ul\").html(elements);\n list.appendTo(wrapper);\n },\n\n _columns: function() {\n var that = this;\n var column;\n var options = that.options;\n\n if (that._listsContainer) {\n for (var i = 0; i < options.columns.length; i++) {\n column = options.columns[i];\n that._renderList(that._listsContainer, column);\n }\n }\n },\n\n _shortCuts: function() {\n var that = this;\n var options = that.options;\n var shortcut;\n\n if (that._shortcuts) {\n for (var i = 0; i < options.shortcuts.length; i++) {\n shortcut = options.shortcuts[i];\n\n $(html.renderButton(\"', {\n rounded: options.rounded\n }))\n .attr(kendo.attr(\"value\"), shortcut.value)\n .appendTo(that._shortcuts);\n }\n }\n },\n\n _buttons: function() {\n var that = this;\n var options = that.options;\n\n $(\"\").appendTo(that._timeSelectorWrapper);\n },\n\n _wrappers: function() {\n var that = this;\n var options = that.options;\n\n that._timeSelectorWrapper = $(\"
      \");\n\n that._listContainer = $((\"
      \"));\n that._listContainer.appendTo(that._timeSelectorWrapper);\n\n if (options.shortcuts) {\n that._shortcuts = $(\"
      \").appendTo(that._listContainer);\n }\n\n if (options.columns.length) {\n that._listsContainer = $(\"
      \").appendTo(that._listContainer);\n that._listsContainer.attr(\"id\", options.id);\n }\n },\n\n _popup: function() {\n var that = this,\n options = that.options;\n\n if (options.adaptiveMode == \"auto\" && !that.bigScreenMQL.mediaQueryList.matches) {\n that._timeSelectorWrapper.appendTo(document.body);\n that.popup = new ui.ActionSheet(that._timeSelectorWrapper, {\n adaptive: true,\n title: \"Set time\",\n subtitle: \"00/00/00\",\n closeButton: true,\n fullscreen: that.smallScreenMQL.mediaQueryList.matches,\n popup: extend(true, {}, options.popup, {\n anchor: options.anchor,\n open: options.open,\n close: options.close,\n isRtl: kendo.support.isRtl(options.anchor)\n }),\n activate: function() {\n that.addTranslate();\n if (that._value) {\n that.applyValue(that._value);\n } else {\n that._updateCurrentlySelected();\n }\n that._focusList(that._listContainer.find(\".k-time-list-wrapper\").eq(0));\n }\n });\n\n that._timeSelectorWrapper.find(\".k-timeduration-footer\").appendTo(that.popup.element);\n } else {\n that.popup = new ui.Popup(that._timeSelectorWrapper, extend(true, {}, options.popup, {\n anchor: options.anchor,\n open: options.open,\n close: options.close,\n isRtl: kendo.support.isRtl(options.anchor),\n activate: function() {\n that.addTranslate();\n if (that._value) {\n that.applyValue(that._value);\n } else {\n that._updateCurrentlySelected();\n }\n that._focusList(that._listContainer.find(\".k-time-list-wrapper\").eq(0));\n }\n }));\n }\n }\n });\n\n function convertToMsec(value) {\n return ((value.days || 0) * 86400000) + ((value.hours || 0) * 3600000) + ((value.minutes || 0) * 60000) + ((value.seconds || 0) * 1000) + (value.milliseconds || 0);\n }\n\n function getTimeParts(value) {\n var rest;\n var days = Math.floor(value / 86400000);\n rest = value % 86400000;\n var hours = Math.floor(rest / 3600000);\n rest = value % 3600000;\n var minutes = Math.floor(rest / 60000);\n rest = value % 60000;\n var seconds = Math.floor(rest / 1000);\n rest = value % 1000;\n\n return {\n days: days,\n hours: hours,\n minutes: minutes,\n seconds: seconds,\n milliseconds: rest\n };\n }\n\n function firstItemIndex(scrollTop, itemHeight) {\n return Math.max(Math.round(scrollTop / itemHeight), 0);\n }\n\n function getItemHeight(item) {\n return item.length && item[0].getBoundingClientRect().height;\n }\n\n ui.plugin(TimeSelector);\n\n })(window.kendo.jQuery);\n var kendo$1 = kendo;\n\n return kendo$1;\n\n}));\n"]}