{"version":3,"file":"kendo.mobile.tabstrip.min.js","names":["factory","define","amd","$","undefined$1","kendo","window","ui","mobile","Widget","ACTIVE_STATE_CLASS","SELECT","createBadge","value","TabStrip","extend","init","element","options","that","this","fn","call","container","bind","refresh","addClass","find","each","_buildButton","eq","selectedIndex","on","events","switchTo","url","tab","path","tabs","idx","length","isNaN","_setActiveItem","href","replace","indexOf","switchByFullUrl","clear","currentItem","removeClass","children","badge","item","tabstrip","get","insertAfter","html","empty","remove","_release","e","which","currentTarget","trigger","preventDefault","button","icon","attrValue","image","iconSpan","attr","contents","not","wrapAll","prependTo","prepend","view","id","name","enable","plugin","jQuery"],"sources":["kendo.mobile.tabstrip.js"],"mappings":"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","sourcesContent":["(function (factory) {\n typeof define === 'function' && define.amd ? define(['kendo.core'], factory) :\n factory();\n})((function () {\n var __meta__ = {\n id: \"mobile.tabstrip\",\n name: \"TabStrip\",\n category: \"mobile\",\n description: \"The mobile TabStrip widget is used inside a mobile view or layout footer element to display an application-wide group of navigation buttons.\",\n depends: [ \"core\" ]\n };\n\n (function($, undefined$1) {\n var kendo = window.kendo,\n ui = kendo.mobile.ui,\n Widget = ui.Widget,\n ACTIVE_STATE_CLASS = \"km-state-active\",\n SELECT = \"select\";\n\n function createBadge(value) {\n return $('' + value + '');\n }\n\n var TabStrip = Widget.extend({\n init: function(element, options) {\n var that = this;\n\n Widget.fn.init.call(that, element, options);\n that.container().bind(\"show\", this.refresh.bind(this));\n\n that.element\n .addClass(\"km-tabstrip\")\n .find(\"a\").each(that._buildButton)\n .eq(that.options.selectedIndex).addClass(ACTIVE_STATE_CLASS);\n\n that.element.on(\"down\", \"a\", \"_release\");\n },\n\n events: [\n SELECT\n ],\n\n switchTo: function(url) {\n var tabs = this.element.find('a'),\n tab,\n path,\n idx = 0,\n length = tabs.length;\n\n if (isNaN(url)) {\n for (; idx < length; idx ++) {\n tab = tabs[idx];\n path = tab.href.replace(/(\\#.+)(\\?.+)$/, \"$1\"); // remove the fragment query string - http://www.foo.com?foo#bar**?baz=qux**\n\n if (path.indexOf(url, path.length - url.length) !== -1) {\n this._setActiveItem($(tab));\n return true;\n }\n }\n } else {\n this._setActiveItem(tabs.eq(url));\n return true;\n }\n\n return false;\n },\n\n switchByFullUrl: function(url) {\n var tab;\n\n tab = this.element.find(\"a[href$='\" + url + \"']\");\n this._setActiveItem(tab);\n },\n\n clear: function() {\n this.currentItem().removeClass(ACTIVE_STATE_CLASS);\n },\n\n currentItem: function() {\n return this.element.children(\".\" + ACTIVE_STATE_CLASS);\n },\n\n badge: function(item, value) {\n var tabstrip = this.element, badge;\n\n if (!isNaN(item)) {\n item = tabstrip.children().get(item);\n }\n\n item = tabstrip.find(item);\n badge = $(item.find(\".km-badge\")[0] || createBadge(value).insertAfter(item.children(\".km-icon\")));\n\n if (value || value === 0) {\n badge.html(value);\n return this;\n }\n\n if (value === false) {\n badge.empty().remove();\n return this;\n }\n\n return badge.html();\n },\n\n _release: function(e) {\n if (e.which > 1) {\n return;\n }\n\n var that = this,\n item = $(e.currentTarget);\n\n if (item[0] === that.currentItem()[0]) {\n return;\n }\n\n if (that.trigger(SELECT, { item: item })) {\n e.preventDefault();\n } else {\n that._setActiveItem(item);\n }\n },\n\n _setActiveItem: function(item) {\n if (!item[0]) {\n return;\n }\n this.clear();\n item.addClass(ACTIVE_STATE_CLASS);\n },\n\n _buildButton: function() {\n var button = $(this),\n icon = kendo.attrValue(button, \"icon\"),\n badge = kendo.attrValue(button, \"badge\"),\n image = button.find(\"img\"),\n iconSpan = $('');\n\n button\n .addClass(\"km-button\")\n .attr(kendo.attr(\"role\"), \"tab\")\n .contents().not(image)\n .wrapAll('');\n\n if (image[0]) {\n image.addClass(\"km-image\").prependTo(button);\n } else {\n button.prepend(iconSpan);\n if (icon) {\n iconSpan.addClass(\"km-\" + icon);\n if (badge || badge === 0) {\n createBadge(badge).insertAfter(iconSpan);\n }\n }\n }\n },\n\n refresh: function(e) {\n var url = e.view.id;\n\n if (url && !this.switchTo(e.view.id)) {\n this.switchTo(url);\n }\n },\n\n options: {\n name: \"TabStrip\",\n selectedIndex: 0,\n enable: true\n }\n });\n\n ui.plugin(TabStrip);\n })(window.kendo.jQuery);\n\n}));\n"]}