{"version":3,"file":"kendo.mobile.button.min.js","names":["factory","define","amd","$","undefined$1","kendo","window","ui","mobile","Widget","os","support","mobileOS","ANDROID3UP","android","flatVersion","CLICK","DISABLED","highlightButton","widget","event","highlight","target","closest","toggleClass","deactivateTimeoutID","clearTimeout","createBadge","value","Button","extend","init","element","options","that","this","fn","call","useTap","clickOn","_wrap","_style","attr","enable","_userEvents","UserEvents","allowSelection","fastTap","press","e","_activate","release","stopPropagation","bind","_release","on","_timeoutDeactivate","destroy","events","name","icon","style","badge","badgeElement","appendTo","html","empty","remove","prop","setTimeout","activeElement","document","nodeName","blur","which","trigger","button","preventDefault","styles","split","each","addClass","iconSpan","span","children","image","find","wrapInner","iconElement","prepend","BackButton","DetailButton","plugin","jQuery"],"sources":["kendo.mobile.button.js"],"mappings":"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","sourcesContent":["(function (factory) {\n typeof define === 'function' && define.amd ? define(['kendo.userevents'], factory) :\n factory();\n})((function () {\n var __meta__ = {\n id: \"mobile.button\",\n name: \"Button\",\n category: \"mobile\",\n description: \"The Button widget navigates between mobile Application views when pressed.\",\n depends: [ \"userevents\" ]\n };\n\n (function($, undefined$1) {\n var kendo = window.kendo,\n mobile = kendo.mobile,\n ui = mobile.ui,\n Widget = ui.Widget,\n support = kendo.support,\n os = support.mobileOS,\n ANDROID3UP = os.android && os.flatVersion >= 300,\n CLICK = \"click\",\n DISABLED = \"disabled\",\n DISABLEDSTATE = \"km-state-disabled\";\n\n function highlightButton(widget, event, highlight) {\n $(event.target).closest(\".km-button,.km-detail\").toggleClass(\"km-state-active\", highlight);\n\n if (ANDROID3UP && widget.deactivateTimeoutID) {\n clearTimeout(widget.deactivateTimeoutID);\n widget.deactivateTimeoutID = 0;\n }\n }\n\n function createBadge(value) {\n return $('' + value + '');\n }\n\n var Button = Widget.extend({\n init: function(element, options) {\n var that = this;\n\n Widget.fn.init.call(that, element, options);\n var useTap = that.options.clickOn === \"up\";\n\n that._wrap();\n that._style();\n\n if (!useTap) {\n that.element.attr(\"data-navigate-on-press\", true);\n }\n\n that.options.enable = that.options.enable && !that.element.attr(DISABLED);\n that.enable(that.options.enable);\n\n that._userEvents = new kendo.UserEvents(that.element, {\n allowSelection: !useTap,\n fastTap: true,\n press: function(e) {\n that._activate(e);\n },\n release: function(e) {\n highlightButton(that, e, false);\n if (!useTap) { e.event.stopPropagation(); }\n }\n });\n\n that._userEvents.bind(useTap ? \"tap\" : \"press\", function(e) {\n that._release(e);\n });\n\n\n if (ANDROID3UP) {\n that.element.on(\"move\", function(e) { that._timeoutDeactivate(e); });\n }\n },\n\n destroy: function() {\n Widget.fn.destroy.call(this);\n this._userEvents.destroy();\n },\n\n events: [\n CLICK\n ],\n\n options: {\n name: \"Button\",\n icon: \"\",\n style: \"\",\n badge: \"\",\n clickOn: \"up\",\n enable: true\n },\n\n badge: function(value) {\n var badge = this.badgeElement = this.badgeElement || createBadge(value).appendTo(this.element);\n\n if (value || value === 0) {\n badge.html(value);\n return this;\n }\n\n if (value === false) {\n badge.empty().remove();\n this.badgeElement = false;\n return this;\n }\n\n return badge.html();\n },\n\n enable: function(enable) {\n var element = this.element;\n\n if (typeof enable == \"undefined\") {\n enable = true;\n }\n\n this.options.enable = enable;\n\n if (enable) {\n element.prop(DISABLED, false);\n } else {\n element.attr(DISABLED, DISABLED);\n }\n\n element.toggleClass(DISABLEDSTATE, !enable);\n },\n\n _timeoutDeactivate: function(e) {\n if (!this.deactivateTimeoutID) {\n this.deactivateTimeoutID = setTimeout(highlightButton, 500, this, e, false);\n }\n },\n\n _activate: function(e) {\n var activeElement = document.activeElement,\n nodeName = activeElement ? activeElement.nodeName : \"\";\n\n if (this.options.enable) {\n highlightButton(this, e, true);\n\n if (nodeName == \"INPUT\" || nodeName == \"TEXTAREA\") {\n activeElement.blur(); // Hide device keyboard\n }\n }\n },\n\n _release: function(e) {\n var that = this;\n\n if (e.which > 1) {\n return;\n }\n\n if (!that.options.enable) {\n e.preventDefault();\n return;\n }\n\n if (that.trigger(CLICK, { target: $(e.target), button: that.element })) {\n e.preventDefault();\n }\n },\n\n _style: function() {\n var style = this.options.style,\n element = this.element,\n styles;\n\n if (style) {\n styles = style.split(\" \");\n $.each(styles, function() {\n element.addClass(\"km-\" + this);\n });\n }\n },\n\n _wrap: function() {\n var that = this,\n icon = that.options.icon,\n badge = that.options.badge,\n iconSpan = '').children(\"span.km-text\");\n }\n\n if (!image[0] && icon) {\n if (!span[0]) {\n iconSpan += \" km-notext\";\n }\n that.iconElement = element.prepend($(iconSpan + '\" />'));\n }\n\n if (badge || badge === 0) {\n that.badgeElement = createBadge(badge).appendTo(element);\n }\n }\n });\n\n var BackButton = Button.extend({\n options: {\n name: \"BackButton\",\n style: \"back\"\n },\n\n init: function(element, options) {\n var that = this;\n Button.fn.init.call(that, element, options);\n\n if (typeof that.element.attr(\"href\") === \"undefined\") {\n that.element.attr(\"href\", \"#:back\");\n }\n }\n });\n\n var DetailButton = Button.extend({\n options: {\n name: \"DetailButton\",\n style: \"\"\n },\n\n init: function(element, options) {\n Button.fn.init.call(this, element, options);\n },\n\n _style: function() {\n var style = this.options.style + \" detail\",\n element = this.element;\n\n if (style) {\n var styles = style.split(\" \");\n $.each(styles, function() {\n element.addClass(\"km-\" + this);\n });\n }\n },\n\n _wrap: function() {\n var that = this,\n icon = that.options.icon,\n iconSpan = ''));\n }\n }\n\n });\n\n ui.plugin(Button);\n ui.plugin(BackButton);\n ui.plugin(DetailButton);\n })(window.kendo.jQuery);\n\n}));\n"]}