{"version":3,"sources":["kendo.numerictextbox.js"],"names":["f","define","$","undefined","buttonHtml","className","text","kendo","window","caret","keys","ui","Widget","activeElement","_activeElement","extractFormat","_extractFormat","parse","parseFloat","placeholderSupported","support","placeholder","getCulture","round","_round","CHANGE","DISABLED","READONLY","INPUT","SPIN","ns","TOUCHEND","MOUSELEAVE","HOVEREVENTS","DEFAULT","FOCUSED","HOVER","FOCUS","POINT","SELECTED","STATEDISABLED","ARIA_DISABLED","ARIA_READONLY","INTEGER_REGEXP","NULL","proxy","extend","NumericTextBox","init","element","options","min","max","step","value","disabled","that","this","isStep","fn","call","on","_focusout","attr","_initialOptions","_reset","_wrapper","_arrows","_input","mobileOS","_text","_toggleText","focus","_click","_parse","format","val","is","parents","enable","readonly","notify","name","decimals","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","_paste","destroy","_form","_resetHandler","_option","adjusted","_value","_adjust","_update","_old","_focusin","arrows","_release","clearTimeout","_spinning","siblings","insertAfter","wrapAll","parent","toggle","eq","UserEvents","release","_blur","_change","_focusing","setTimeout","result","groupRegExp","extractRegExp","input","target","idx","substring","_format","group","caretPosition","RegExp","exec","replace","length","indexOf","_typing","trigger","_culture","numberFormat","toLowerCase","currency","percent","CLASSNAME","show","accessKey","find","insertBefore","setAttribute","type","tabIndex","style","cssText","title","prop","key","keyCode","_key","DOWN","_step","UP","ENTER","selection","selectionStart","selectionEnd","character","isNumPadDecimal","isValid","which","metaKey","ctrlKey","BACKSPACE","String","fromCharCode","NUMPAD_DOT","_numericRegex","test","charAt","separator","precision","_separator","_floatRegExp","option","timeout","currentTarget","toggleClass","isNotNull","_placeholder","toString","DOMElement","hide","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, round = kendo._round, 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 = '.', SELECTED = 'k-state-selected', STATEDISABLED = 'k-state-disabled', ARIA_DISABLED = 'aria-disabled', ARIA_READONLY = 'aria-readonly', 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 that._reset();\n that._wrapper();\n that._arrows();\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 that._toggleText(false);\n element.focus();\n });\n }\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 element.attr('aria-valuemin', options.min).attr('aria-valuemax', 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 min: NULL,\n max: NULL,\n value: NULL,\n step: 1,\n culture: '',\n format: 'n',\n spinners: true,\n placeholder: '',\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('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).attr(ARIA_READONLY, 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('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).attr(ARIA_READONLY, readonly);\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('.k-icon');\n if (!arrows[0]) {\n arrows = $(buttonHtml('n', options.upArrowText) + buttonHtml('s', 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 _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;\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 },\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, 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 text[0].tabIndex = element.tabIndex;\n text[0].style.cssText = element.style.cssText;\n text[0].title = element.title;\n text.prop('placeholder', that.options.placeholder);\n if (accessKey) {\n text.attr('accesskey', accessKey);\n element.accessKey = '';\n }\n that._text = text.addClass(element.className);\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 e.preventDefault();\n }\n that._key = 0;\n },\n _numericRegex: function (numberFormat) {\n var that = this;\n var separator = numberFormat[POINT];\n var precision = that.options.decimals;\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._separator !== separator) {\n that._separator = separator;\n that._floatRegExp = new RegExp('^(-)?(((\\\\d+(' + separator + '\\\\d*)?)|(' + separator + '\\\\d*)))?$');\n }\n return that._floatRegExp;\n },\n _paste: function (e) {\n var that = this, element = e.target, value = element.value;\n setTimeout(function () {\n if (that._parse(element.value) === NULL) {\n that._update(value);\n }\n });\n },\n _option: function (option, value) {\n var that = this, 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 that.element.attr('aria-value' + option, value).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 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 _update: function (value) {\n var that = this, options = that.options, 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(round(value, decimals));\n }\n that._value = value = that._adjust(value);\n that._placeholder(kendo.toString(value, format, culture));\n if (isNotNull) {\n value = value.toString();\n if (value.indexOf('e') !== -1) {\n value = round(+value, decimals);\n }\n value = value.replace(POINT, numberFormat[POINT]);\n } else {\n value = '';\n }\n that.element.val(value).attr('aria-valuenow', value);\n },\n _placeholder: function (value) {\n this._text.val(value);\n if (!placeholderSupported && !value) {\n this._text.val(this.options.placeholder);\n }\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(className, text) {\n return '' + text + '';\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}));"],"sourceRoot":"/source/"}