{"version":3,"sources":["kendo.numerictextbox.js"],"names":["f","define","$","undefined","buttonHtml","direction","text","className","CLASS_ICON","truncate","value","precision","parts","parseFloat","split","POINT","substring","join","kendo","window","caret","keys","ui","Widget","activeElement","_activeElement","extractFormat","_extractFormat","parse","placeholderSupported","support","placeholder","getCulture","CHANGE","DISABLED","READONLY","INPUT","SPIN","ns","TOUCHEND","MOUSELEAVE","HOVEREVENTS","DEFAULT","FOCUSED","HOVER","FOCUS","SELECTED","STATEDISABLED","STATE_INVALID","ARIA_DISABLED","INTEGER_REGEXP","NULL","proxy","extend","NumericTextBox","init","element","options","min","max","step","disabled","that","this","isStep","fn","call","on","_focusout","attr","_initialOptions","_parse","_reset","_wrapper","_arrows","_validation","_input","mobileOS","_text","browser","edge","one","_toggleText","focus","_click","factor","format","val","is","parents","enable","readonly","notify","name","decimals","restrictDecimals","round","culture","spinners","upArrowText","downArrowText","events","_editable","disable","add","wrapper","_inputWrapper","off","_upArrowEventHandler","unbind","_downArrowEventHandler","addClass","removeClass","_toggleHover","removeAttr","bind","e","preventDefault","_spin","_upArrow","_downArrow","_keydown","_keypress","_keyup","_paste","destroy","_form","_resetHandler","_option","adjusted","_value","_adjust","_update","_old","_focusin","arrows","_release","clearTimeout","_spinning","siblings","insertAfter","wrapAll","parent","toggle","eq","UserEvents","release","_validationIcon","hide","_blur","_change","_focusing","setTimeout","result","groupRegExp","extractRegExp","input","target","idx","_format","group","caretPosition","RegExp","exec","replace","length","indexOf","_typing","trigger","_culture","_removeInvalidState","numberFormat","toLowerCase","currency","percent","CLASSNAME","show","accessKey","find","insertBefore","setAttribute","type","_initialTitle","title","tabIndex","style","cssText","prop","role","aria-valuemin","aria-valuemax","key","keyCode","_key","DOWN","_step","UP","ENTER","selection","selectionStart","selectionEnd","character","isNumPadDecimal","isValid","which","metaKey","ctrlKey","BACKSPACE","String","fromCharCode","NUMPAD_DOT","_numericRegex","test","charAt","_addInvalidState","separator","fractionRule","_separator","_floatRegExp","option","timeout","currentTarget","toggleClass","_round","rounder","isNotNull","_placeholder","toString","DOMElement","wrap","width","css","firstChild","formId","form","closest","plugin","jQuery","amd","a1","a2","a3"],"mappings":"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","file":"kendo.numerictextbox.min.js","sourcesContent":["/*!\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n\n*/\n(function (f, define) {\n define('kendo.numerictextbox', [\n 'kendo.core',\n 'kendo.userevents'\n ], f);\n}(function () {\n var __meta__ = {\n id: 'numerictextbox',\n name: 'NumericTextBox',\n category: 'web',\n description: 'The NumericTextBox widget can format and display numeric, percentage or currency textbox.',\n depends: [\n 'core',\n 'userevents'\n ]\n };\n (function ($, undefined) {\n var kendo = window.kendo, caret = kendo.caret, keys = kendo.keys, ui = kendo.ui, Widget = ui.Widget, activeElement = kendo._activeElement, extractFormat = kendo._extractFormat, parse = kendo.parseFloat, placeholderSupported = kendo.support.placeholder, getCulture = kendo.getCulture, CHANGE = 'change', DISABLED = 'disabled', READONLY = 'readonly', INPUT = 'k-input', SPIN = 'spin', ns = '.kendoNumericTextBox', TOUCHEND = 'touchend', MOUSELEAVE = 'mouseleave' + ns, HOVEREVENTS = 'mouseenter' + ns + ' ' + MOUSELEAVE, DEFAULT = 'k-state-default', FOCUSED = 'k-state-focused', HOVER = 'k-state-hover', FOCUS = 'focus', POINT = '.', CLASS_ICON = 'k-icon', SELECTED = 'k-state-selected', STATEDISABLED = 'k-state-disabled', STATE_INVALID = 'k-state-invalid', ARIA_DISABLED = 'aria-disabled', INTEGER_REGEXP = /^(-)?(\\d*)$/, NULL = null, proxy = $.proxy, extend = $.extend;\n var NumericTextBox = Widget.extend({\n init: function (element, options) {\n var that = this, isStep = options && options.step !== undefined, min, max, step, value, disabled;\n Widget.fn.init.call(that, element, options);\n options = that.options;\n element = that.element.on('focusout' + ns, proxy(that._focusout, that)).attr('role', 'spinbutton');\n options.placeholder = options.placeholder || element.attr('placeholder');\n that._initialOptions = extend({}, options);\n min = that.min(element.attr('min'));\n max = that.max(element.attr('max'));\n step = that._parse(element.attr('step'));\n if (options.min === NULL && min !== NULL) {\n options.min = min;\n }\n if (options.max === NULL && max !== NULL) {\n options.max = max;\n }\n if (!isStep && step !== NULL) {\n options.step = step;\n }\n that._reset();\n that._wrapper();\n that._arrows();\n that._validation();\n that._input();\n if (!kendo.support.mobileOS) {\n that._text.on(FOCUS + ns, proxy(that._click, that));\n } else {\n that._text.on(TOUCHEND + ns + ' ' + FOCUS + ns, function () {\n if (kendo.support.browser.edge) {\n that._text.one(FOCUS + ns, function () {\n that._toggleText(false);\n element.focus();\n });\n } else {\n that._toggleText(false);\n element.focus();\n }\n });\n }\n element.attr('aria-valuemin', options.min !== NULL ? options.min * options.factor : options.min).attr('aria-valuemax', options.max !== NULL ? options.max * options.factor : options.max);\n options.format = extractFormat(options.format);\n value = options.value;\n that.value(value !== NULL ? value : element.val());\n disabled = element.is('[disabled]') || $(that.element).parents('fieldset').is(':disabled');\n if (disabled) {\n that.enable(false);\n } else {\n that.readonly(element.is('[readonly]'));\n }\n kendo.notify(that);\n },\n options: {\n name: 'NumericTextBox',\n decimals: NULL,\n restrictDecimals: false,\n min: NULL,\n max: NULL,\n value: NULL,\n step: 1,\n round: true,\n culture: '',\n format: 'n',\n spinners: true,\n placeholder: '',\n factor: 1,\n upArrowText: 'Increase value',\n downArrowText: 'Decrease value'\n },\n events: [\n CHANGE,\n SPIN\n ],\n _editable: function (options) {\n var that = this, element = that.element, disable = options.disable, readonly = options.readonly, text = that._text.add(element), wrapper = that._inputWrapper.off(HOVEREVENTS);\n that._toggleText(true);\n that._upArrowEventHandler.unbind('press');\n that._downArrowEventHandler.unbind('press');\n element.off('keydown' + ns).off('keypress' + ns).off('keyup' + ns).off('paste' + ns);\n if (!readonly && !disable) {\n wrapper.addClass(DEFAULT).removeClass(STATEDISABLED).on(HOVEREVENTS, that._toggleHover);\n text.removeAttr(DISABLED).removeAttr(READONLY).attr(ARIA_DISABLED, false);\n that._upArrowEventHandler.bind('press', function (e) {\n e.preventDefault();\n that._spin(1);\n that._upArrow.addClass(SELECTED);\n });\n that._downArrowEventHandler.bind('press', function (e) {\n e.preventDefault();\n that._spin(-1);\n that._downArrow.addClass(SELECTED);\n });\n that.element.on('keydown' + ns, proxy(that._keydown, that)).on('keypress' + ns, proxy(that._keypress, that)).on('keyup' + ns, proxy(that._keyup, that)).on('paste' + ns, proxy(that._paste, that));\n } else {\n wrapper.addClass(disable ? STATEDISABLED : DEFAULT).removeClass(disable ? DEFAULT : STATEDISABLED);\n text.attr(DISABLED, disable).attr(READONLY, readonly).attr(ARIA_DISABLED, disable);\n }\n },\n readonly: function (readonly) {\n this._editable({\n readonly: readonly === undefined ? true : readonly,\n disable: false\n });\n },\n enable: function (enable) {\n this._editable({\n readonly: false,\n disable: !(enable = enable === undefined ? true : enable)\n });\n },\n destroy: function () {\n var that = this;\n that.element.add(that._text).add(that._upArrow).add(that._downArrow).add(that._inputWrapper).off(ns);\n that._upArrowEventHandler.destroy();\n that._downArrowEventHandler.destroy();\n if (that._form) {\n that._form.off('reset', that._resetHandler);\n }\n Widget.fn.destroy.call(that);\n },\n min: function (value) {\n return this._option('min', value);\n },\n max: function (value) {\n return this._option('max', value);\n },\n step: function (value) {\n return this._option('step', value);\n },\n value: function (value) {\n var that = this, adjusted;\n if (value === undefined) {\n return that._value;\n }\n value = that._parse(value);\n adjusted = that._adjust(value);\n if (value !== adjusted) {\n return;\n }\n that._update(value);\n that._old = that._value;\n },\n focus: function () {\n this._focusin();\n },\n _adjust: function (value) {\n var that = this, options = that.options, min = options.min, max = options.max;\n if (value === NULL) {\n return value;\n }\n if (min !== NULL && value < min) {\n value = min;\n } else if (max !== NULL && value > max) {\n value = max;\n }\n return value;\n },\n _arrows: function () {\n var that = this, arrows, _release = function () {\n clearTimeout(that._spinning);\n arrows.removeClass(SELECTED);\n }, options = that.options, spinners = options.spinners, element = that.element;\n arrows = element.siblings('.' + CLASS_ICON);\n if (!arrows[0]) {\n arrows = $(buttonHtml('increase', options.upArrowText) + buttonHtml('decrease', options.downArrowText)).insertAfter(element);\n arrows.wrapAll('');\n }\n if (!spinners) {\n arrows.parent().toggle(spinners);\n that._inputWrapper.addClass('k-expand-padding');\n }\n that._upArrow = arrows.eq(0);\n that._upArrowEventHandler = new kendo.UserEvents(that._upArrow, { release: _release });\n that._downArrow = arrows.eq(1);\n that._downArrowEventHandler = new kendo.UserEvents(that._downArrow, { release: _release });\n },\n _validation: function () {\n var that = this;\n var element = that.element;\n that._validationIcon = $('').hide().insertAfter(element);\n },\n _blur: function () {\n var that = this;\n that._toggleText(true);\n that._change(that.element.val());\n },\n _click: function (e) {\n var that = this;\n clearTimeout(that._focusing);\n that._focusing = setTimeout(function () {\n var input = e.target, idx = caret(input)[0], value = input.value.substring(0, idx), format = that._format(that.options.format), group = format[','], result, groupRegExp, extractRegExp, caretPosition = 0;\n if (group) {\n groupRegExp = new RegExp('\\\\' + group, 'g');\n extractRegExp = new RegExp('([\\\\d\\\\' + group + ']+)(\\\\' + format[POINT] + ')?(\\\\d+)?');\n }\n if (extractRegExp) {\n result = extractRegExp.exec(value);\n }\n if (result) {\n caretPosition = result[0].replace(groupRegExp, '').length;\n if (value.indexOf('(') != -1 && that._value < 0) {\n caretPosition++;\n }\n }\n that._focusin();\n caret(that.element[0], caretPosition);\n });\n },\n _change: function (value) {\n var that = this, factor = that.options.factor;\n if (factor && factor !== 1) {\n value = parseFloat(value);\n if (value !== null) {\n value = value / factor;\n }\n }\n that._update(value);\n value = that._value;\n if (that._old != value) {\n that._old = value;\n if (!that._typing) {\n that.element.trigger(CHANGE);\n }\n that.trigger(CHANGE);\n }\n that._typing = false;\n },\n _culture: function (culture) {\n return culture || getCulture(this.options.culture);\n },\n _focusin: function () {\n var that = this;\n that._inputWrapper.addClass(FOCUSED);\n that._toggleText(false);\n that.element[0].focus();\n },\n _focusout: function () {\n var that = this;\n clearTimeout(that._focusing);\n that._inputWrapper.removeClass(FOCUSED).removeClass(HOVER);\n that._blur();\n that._removeInvalidState();\n },\n _format: function (format, culture) {\n var numberFormat = this._culture(culture).numberFormat;\n format = format.toLowerCase();\n if (format.indexOf('c') > -1) {\n numberFormat = numberFormat.currency;\n } else if (format.indexOf('p') > -1) {\n numberFormat = numberFormat.percent;\n }\n return numberFormat;\n },\n _input: function () {\n var that = this, options = that.options, CLASSNAME = 'k-formatted-value', element = that.element.addClass(INPUT).show()[0], accessKey = element.accessKey, wrapper = that.wrapper, text;\n text = wrapper.find(POINT + CLASSNAME);\n if (!text[0]) {\n text = $('').insertBefore(element).addClass(CLASSNAME);\n }\n try {\n element.setAttribute('type', 'text');\n } catch (e) {\n element.type = 'text';\n }\n that._initialTitle = element.title;\n text[0].title = element.title;\n text[0].tabIndex = element.tabIndex;\n text[0].style.cssText = element.style.cssText;\n text.prop('placeholder', options.placeholder);\n if (accessKey) {\n text.attr('accesskey', accessKey);\n element.accessKey = '';\n }\n that._text = text.addClass(element.className).attr({\n 'role': 'spinbutton',\n 'aria-valuemin': options.min !== NULL ? options.min * options.factor : options.min,\n 'aria-valuemax': options.max !== NULL ? options.max * options.factor : options.max\n });\n },\n _keydown: function (e) {\n var that = this, key = e.keyCode;\n that._key = key;\n if (key == keys.DOWN) {\n that._step(-1);\n } else if (key == keys.UP) {\n that._step(1);\n } else if (key == keys.ENTER) {\n that._change(that.element.val());\n } else {\n that._typing = true;\n }\n },\n _keypress: function (e) {\n if (e.which === 0 || e.metaKey || e.ctrlKey || e.keyCode === keys.BACKSPACE || e.keyCode === keys.ENTER) {\n return;\n }\n var that = this;\n var min = that.options.min;\n var element = that.element;\n var selection = caret(element);\n var selectionStart = selection[0];\n var selectionEnd = selection[1];\n var character = String.fromCharCode(e.which);\n var numberFormat = that._format(that.options.format);\n var isNumPadDecimal = that._key === keys.NUMPAD_DOT;\n var value = element.val();\n var isValid;\n if (isNumPadDecimal) {\n character = numberFormat[POINT];\n }\n value = value.substring(0, selectionStart) + character + value.substring(selectionEnd);\n isValid = that._numericRegex(numberFormat).test(value);\n if (isValid && isNumPadDecimal) {\n element.val(value);\n caret(element, selectionStart + character.length);\n e.preventDefault();\n } else if (min !== null && min >= 0 && value.charAt(0) === '-' || !isValid) {\n that._addInvalidState();\n e.preventDefault();\n }\n that._key = 0;\n },\n _keyup: function () {\n this._removeInvalidState();\n },\n _addInvalidState: function () {\n var that = this;\n that._inputWrapper.addClass(STATE_INVALID);\n that._validationIcon.show();\n },\n _removeInvalidState: function () {\n var that = this;\n that._inputWrapper.removeClass(STATE_INVALID);\n that._validationIcon.hide();\n },\n _numericRegex: function (numberFormat) {\n var that = this;\n var separator = numberFormat[POINT];\n var precision = that.options.decimals;\n var fractionRule = '*';\n if (separator === POINT) {\n separator = '\\\\' + separator;\n }\n if (precision === NULL) {\n precision = numberFormat.decimals;\n }\n if (precision === 0) {\n return INTEGER_REGEXP;\n }\n if (that.options.restrictDecimals) {\n fractionRule = '{0,' + precision + '}';\n }\n if (that._separator !== separator) {\n that._separator = separator;\n that._floatRegExp = new RegExp('^(-)?(((\\\\d+(' + separator + '\\\\d' + fractionRule + ')?)|(' + separator + '\\\\d' + fractionRule + ')))?$');\n }\n return that._floatRegExp;\n },\n _paste: function (e) {\n var that = this;\n var element = e.target;\n var value = element.value;\n var numberFormat = that._format(that.options.format);\n setTimeout(function () {\n var result = that._parse(element.value);\n var isValid = that._numericRegex(numberFormat).test(element.value);\n if (result === NULL || that._adjust(result) !== result || !isValid) {\n that._update(value);\n }\n });\n },\n _option: function (option, value) {\n var that = this, element = that.element, options = that.options;\n if (value === undefined) {\n return options[option];\n }\n value = that._parse(value);\n if (!value && option === 'step') {\n return;\n }\n options[option] = value;\n element.add(that._text).attr('aria-value' + option, value);\n element.attr(option, value);\n },\n _spin: function (step, timeout) {\n var that = this;\n timeout = timeout || 500;\n clearTimeout(that._spinning);\n that._spinning = setTimeout(function () {\n that._spin(step, 50);\n }, timeout);\n that._step(step);\n },\n _step: function (step) {\n var that = this, element = that.element, value = that._parse(element.val()) || 0;\n if (activeElement() != element[0]) {\n that._focusin();\n }\n if (that.options.factor && value) {\n value = value / that.options.factor;\n }\n value += that.options.step * step;\n that._update(that._adjust(value));\n that._typing = false;\n that.trigger(SPIN);\n },\n _toggleHover: function (e) {\n $(e.currentTarget).toggleClass(HOVER, e.type === 'mouseenter');\n },\n _toggleText: function (toggle) {\n var that = this;\n that._text.toggle(toggle);\n that.element.toggle(!toggle);\n },\n _parse: function (value, culture) {\n return parse(value, this._culture(culture), this.options.format);\n },\n _round: function (value, precision) {\n var rounder = this.options.round ? kendo._round : truncate;\n return rounder(value, precision);\n },\n _update: function (value) {\n var that = this, options = that.options, factor = options.factor, format = options.format, decimals = options.decimals, culture = that._culture(), numberFormat = that._format(format, culture), isNotNull;\n if (decimals === NULL) {\n decimals = numberFormat.decimals;\n }\n value = that._parse(value, culture);\n isNotNull = value !== NULL;\n if (isNotNull) {\n value = parseFloat(that._round(value, decimals), 10);\n }\n that._value = value = that._adjust(value);\n that._placeholder(kendo.toString(value, format, culture));\n if (isNotNull) {\n if (factor) {\n value = parseFloat(that._round(value * factor, decimals), 10);\n }\n value = value.toString();\n if (value.indexOf('e') !== -1) {\n value = that._round(+value, decimals);\n }\n value = value.replace(POINT, numberFormat[POINT]);\n } else {\n value = null;\n }\n that.element.val(value);\n that.element.add(that._text).attr('aria-valuenow', value);\n },\n _placeholder: function (value) {\n var input = this._text;\n input.val(value);\n if (!placeholderSupported && !value) {\n input.val(this.options.placeholder);\n }\n input.attr('title', this._initialTitle || input.val());\n },\n _wrapper: function () {\n var that = this, element = that.element, DOMElement = element[0], wrapper;\n wrapper = element.parents('.k-numerictextbox');\n if (!wrapper.is('span.k-numerictextbox')) {\n wrapper = element.hide().wrap('').parent();\n wrapper = wrapper.wrap('').parent();\n }\n wrapper[0].style.cssText = DOMElement.style.cssText;\n DOMElement.style.width = '';\n that.wrapper = wrapper.addClass('k-widget k-numerictextbox').addClass(DOMElement.className).css('display', '');\n that._inputWrapper = $(wrapper[0].firstChild);\n },\n _reset: function () {\n var that = this, element = that.element, formId = element.attr('form'), form = formId ? $('#' + formId) : element.closest('form');\n if (form[0]) {\n that._resetHandler = function () {\n setTimeout(function () {\n that.value(element[0].value);\n that.max(that._initialOptions.max);\n that.min(that._initialOptions.min);\n });\n };\n that._form = form.on('reset', that._resetHandler);\n }\n }\n });\n function buttonHtml(direction, text) {\n var className = 'k-i-arrow-' + (direction === 'increase' ? '60-up' : '60-down');\n return '' + '' + '';\n }\n function truncate(value, precision) {\n var parts = parseFloat(value, 10).toString().split(POINT);\n if (parts[1]) {\n parts[1] = parts[1].substring(0, precision);\n }\n return parts.join(POINT);\n }\n ui.plugin(NumericTextBox);\n }(window.kendo.jQuery));\n return window.kendo;\n}, typeof define == 'function' && define.amd ? define : function (a1, a2, a3) {\n (a3 || a2)();\n}));"]}