{"version":3,"file":"kendo.mobile.application.min.js","names":["factory","define","amd","$","undefined$1","kendo","window","mobile","support","Widget","ui","Pane","OS","mobileOS","BERRYPHONEGAP","device","flatVersion","appMode","CHROME","browser","BROKEN_WEBVIEW_RESIZE","ios","INITIALLY_HORIZONTAL","Math","abs","orientation","MOBILE_PLATFORMS","ios7","majorVersion","minorVersion","name","tablet","android","blackberry","meego","wp","viewportTemplate","template","usedWithBlock","systemMeta","clipTemplate","ENABLE_CLIP","iconMeta","HIDEBAR","HISTORY_TRANSITION","BARCOMPENSATION","WINDOW","SCREEN","screen","HEAD","INIT","isOrientationHorizontal","element","css","getOrientationClass","setMinimumHeight","pane","parent","addBack","innerHeight","applyViewportHeight","remove","append","height","innerWidth","Application","extend","init","options","application","this","bootstrap","bind","document","body","fn","call","removeAttr","ns","_setupPlatform","_attachMeta","_setupElementClass","_attachHideBarHandlers","paneOptions","that","startHistory","navigateToInitial","updateDocumentTitle","_setupDocumentTitle","_startHistory","trigger","$angular","setTimeout","hideAddressBar","browserHistory","historyTransition","modelScope","statusBarStyle","transition","retina","platform","skin","useNativeScrolling","events","navigate","url","replace","scroller","view","hideLoading","Error","showLoading","changeLoadingMessage","message","arguments","length","className","destroy","router","split","os","setDefaultPlatform","variant","noVariantSet","osCssClass","classes","push","cordova","join","refreshBackgroundColorProxy","removeClass","addClass","parseInt","wp8Background","off","on","Router","pushState","root","hashBang","bindToRouter","start","initial","_resizeToScreenHeight","includeStatusBar","attr","match","availWidth","availHeight","size","wpDevicePixelRatio","devicePixelRatio","width","appendTo","onResize","resize","_clearExistingMeta","find","filter","icon","prepend","scale","hideBar","_hideBar","_initialHeight","scrollTo","defaultTitle","title","e","transforms","plugin","jQuery"],"sources":["kendo.mobile.application.js"],"mappings":"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","sourcesContent":["(function (factory) {\n typeof define === 'function' && define.amd ? define(['kendo.mobile.pane', 'kendo.router'], factory) :\n factory();\n})((function () {\n var __meta__ = {\n id: \"mobile.application\",\n name: \"Application\",\n category: \"mobile\",\n description: \"The Mobile application provides a framework to build native looking web applications on mobile devices.\",\n depends: [ \"mobile.pane\", \"router\" ]\n };\n\n (function($, undefined$1) {\n var kendo = window.kendo,\n mobile = kendo.mobile,\n support = kendo.support,\n Widget = mobile.ui.Widget,\n Pane = mobile.ui.Pane,\n\n DEFAULT_OS = \"ios7\",\n OS = support.mobileOS,\n BERRYPHONEGAP = OS.device == \"blackberry\" && OS.flatVersion >= 600 && OS.flatVersion < 1000 && OS.appMode,\n FONT_SIZE_COEF = 0.93,\n VERTICAL = \"km-vertical\",\n CHROME = OS.browser === \"chrome\",\n BROKEN_WEBVIEW_RESIZE = OS.ios && OS.flatVersion >= 700 && OS.flatVersion < 800 && (OS.appMode || CHROME),\n INITIALLY_HORIZONTAL = (Math.abs(window.orientation) / 90 == 1),\n HORIZONTAL = \"km-horizontal\",\n\n MOBILE_PLATFORMS = {\n ios7: { ios: true, browser: \"default\", device: \"iphone\", flatVersion: \"700\", majorVersion: \"7\", minorVersion: \"0.0\", name: \"ios\", tablet: false },\n ios: { ios: true, browser: \"default\", device: \"iphone\", flatVersion: \"612\", majorVersion: \"6\", minorVersion: \"1.2\", name: \"ios\", tablet: false },\n android: { android: true, browser: \"default\", device: \"android\", flatVersion: \"442\", majorVersion: \"4\", minorVersion: \"4.2\", name: \"android\", tablet: false },\n blackberry: { blackberry: true, browser: \"default\", device: \"blackberry\", flatVersion: \"710\", majorVersion: \"7\", minorVersion: \"1.0\", name: \"blackberry\", tablet: false },\n meego: { meego: true, browser: \"default\", device: \"meego\", flatVersion: \"850\", majorVersion: \"8\", minorVersion: \"5.0\", name: \"meego\", tablet: false },\n wp: { wp: true, browser: \"default\", device: \"wp\", flatVersion: \"800\", majorVersion: \"8\", minorVersion: \"0.0\", name: \"wp\", tablet: false }\n },\n\n viewportTemplate = kendo.template('', { usedWithBlock: false }),\n systemMeta = kendo.template(' ' +\n ' ' +\n ' ', { usedWithBlock: false }),\n clipTemplate = kendo.template('', { usedWithBlock: false }),\n ENABLE_CLIP = OS.android && OS.browser != \"chrome\" || OS.blackberry,\n\n iconMeta = kendo.template('', { usedWithBlock: false }),\n\n HIDEBAR = (OS.device == \"iphone\" || OS.device == \"ipod\") && OS.majorVersion < 7,\n SUPPORT_SWIPE_TO_GO_BACK = (OS.device == \"iphone\" || OS.device == \"ipod\") && OS.majorVersion >= 7,\n HISTORY_TRANSITION = SUPPORT_SWIPE_TO_GO_BACK ? \"none\" : null,\n BARCOMPENSATION = OS.browser == \"mobilesafari\" ? 60 : 0,\n STATUS_BAR_HEIGHT = 20,\n WINDOW = $(window),\n SCREEN = window.screen,\n HEAD = $(\"head\"),\n\n // mobile app events\n INIT = \"init\";\n\n function osCssClass(os, options) {\n var classes = [];\n\n if (OS) {\n classes.push(\"km-on-\" + OS.name);\n }\n\n if (os.skin) {\n classes.push(\"km-\" + os.skin);\n } else {\n if (os.name == \"ios\" && os.majorVersion > 6) {\n classes.push(\"km-ios7\");\n } else {\n classes.push(\"km-\" + os.name);\n }\n }\n if ((os.name == \"ios\" && os.majorVersion < 7) || os.name != \"ios\") {\n classes.push(\"km-\" + os.name + os.majorVersion);\n }\n classes.push(\"km-\" + os.majorVersion);\n classes.push(\"km-m\" + (os.minorVersion ? os.minorVersion[0] : 0));\n\n if (os.variant && ((os.skin && os.skin === os.name) || !os.skin || os.setDefaultPlatform === false)) {\n classes.push(\"km-\" + (os.skin ? os.skin : os.name) + \"-\" + os.variant);\n }\n\n if (os.cordova) {\n classes.push(\"km-cordova\");\n }\n if (os.appMode) {\n classes.push(\"km-app\");\n } else {\n classes.push(\"km-web\");\n }\n\n if (options && options.statusBarStyle) {\n classes.push(\"km-\" + options.statusBarStyle + \"-status-bar\");\n }\n\n return classes.join(\" \");\n }\n\n function wp8Background(os) {\n return 'km-wp-' + (os.noVariantSet ?\n (parseInt($(\"
\").css(\"background-color\").split(\",\")[1], 10) === 0 ? 'dark' : 'light') :\n os.variant + \" km-wp-\" + os.variant + \"-force\");\n }\n\n function isOrientationHorizontal(element) {\n return OS.wp ? element.css(\"animation-name\") == \"-kendo-landscape\" : (Math.abs(window.orientation) / 90 == 1);\n }\n\n function getOrientationClass(element) {\n return isOrientationHorizontal(element) ? HORIZONTAL : VERTICAL;\n }\n\n function setMinimumHeight(pane) {\n pane.parent().addBack()\n .css(\"min-height\", window.innerHeight);\n }\n\n function applyViewportHeight() {\n $(\"meta[name=viewport]\").remove();\n HEAD.append(viewportTemplate({\n height: \", width=device-width\" + // width=device-width was removed for iOS6, but this should stay for BB PhoneGap.\n (isOrientationHorizontal() ?\n \", height=\" + window.innerHeight + \"px\" :\n (support.mobileOS.flatVersion >= 600 && support.mobileOS.flatVersion < 700) ?\n \", height=\" + window.innerWidth + \"px\" :\n \", height=device-height\")\n }));\n }\n\n var Application = Widget.extend({\n init: function(element, options) {\n // global reference to current application\n mobile.application = this;\n $(this.bootstrap.bind(this, element, options));\n },\n\n bootstrap: function(element, options) {\n element = $(element);\n\n if (!element[0]) {\n element = $(document.body);\n }\n\n Widget.fn.init.call(this, element, options);\n this.element.removeAttr(\"data-\" + kendo.ns + \"role\");\n\n this._setupPlatform();\n this._attachMeta();\n this._setupElementClass();\n this._attachHideBarHandlers();\n var paneOptions = $.extend({}, this.options);\n delete paneOptions.name;\n\n var that = this,\n startHistory = function() {\n that.pane = new Pane(that.element, paneOptions);\n that.pane.navigateToInitial();\n\n if (that.options.updateDocumentTitle) {\n that._setupDocumentTitle();\n }\n\n that._startHistory();\n that.trigger(INIT);\n };\n\n if (this.options.$angular) {\n setTimeout(startHistory);\n } else {\n startHistory();\n }\n },\n\n options: {\n name: \"Application\",\n hideAddressBar: true,\n browserHistory: true,\n historyTransition: HISTORY_TRANSITION,\n modelScope: window,\n statusBarStyle: \"black\",\n transition: \"\",\n retina: false,\n platform: null,\n skin: null,\n updateDocumentTitle: true,\n useNativeScrolling: false\n },\n\n events: [\n INIT\n ],\n\n navigate: function(url, transition) {\n this.pane.navigate(url, transition);\n },\n\n replace: function(url, transition) {\n this.pane.replace(url, transition);\n },\n\n scroller: function() {\n return this.view().scroller;\n },\n\n hideLoading: function() {\n if (this.pane) {\n this.pane.hideLoading();\n } else {\n throw new Error(\"The mobile application instance is not fully instantiated. Please consider activating loading in the application init event handler.\");\n }\n },\n\n showLoading: function() {\n if (this.pane) {\n this.pane.showLoading();\n } else {\n throw new Error(\"The mobile application instance is not fully instantiated. Please consider activating loading in the application init event handler.\");\n }\n },\n\n changeLoadingMessage: function(message) {\n if (this.pane) {\n this.pane.changeLoadingMessage(message);\n } else {\n throw new Error(\"The mobile application instance is not fully instantiated. Please consider changing the message in the application init event handler.\");\n }\n },\n\n view: function() {\n return this.pane.view();\n },\n\n skin: function(skin) {\n var that = this;\n\n if (!arguments.length) {\n return that.options.skin;\n }\n\n that.options.skin = skin || \"\";\n that.element[0].className = \"km-pane\";\n that._setupPlatform();\n that._setupElementClass();\n\n return that.options.skin;\n },\n\n destroy: function() {\n Widget.fn.destroy.call(this);\n this.pane.destroy();\n if (this.options.browserHistory) {\n this.router.destroy();\n }\n },\n\n _setupPlatform: function() {\n var that = this,\n platform = that.options.platform,\n skin = that.options.skin,\n split = [],\n os = OS || MOBILE_PLATFORMS[DEFAULT_OS],\n refreshBackgroundFn = function() {\n if (that.os.variant && (that.os.skin && that.os.skin === that.os.name) || !that.os.skin) {\n that.element.removeClass(\"km-wp-dark km-wp-light km-wp-dark-force km-wp-light-force\").addClass(wp8Background(that.os));\n }\n };\n\n if (platform) {\n os.setDefaultPlatform = true;\n if (typeof platform === \"string\") {\n split = platform.split(\"-\");\n os = $.extend({ variant: split[1] }, os, MOBILE_PLATFORMS[split[0]]);\n } else {\n os = platform;\n }\n }\n\n if (skin) {\n split = skin.split(\"-\");\n if (!OS) {\n os.setDefaultPlatform = false;\n }\n os = $.extend({}, os, { skin: split[0], variant: split[1] });\n }\n\n if (!os.variant) {\n os.noVariantSet = true;\n os.variant = \"dark\";\n }\n\n that.os = os;\n\n that.osCssClass = osCssClass(that.os, that.options);\n\n if (os.name == \"wp\") {\n if (!that.refreshBackgroundColorProxy) {\n that.refreshBackgroundColorProxy = refreshBackgroundFn.bind(that);\n }\n\n $(document).off(\"visibilitychange\", that.refreshBackgroundColorProxy);\n $(document).off(\"resume\", that.refreshBackgroundColorProxy);\n\n if (!os.skin) {\n that.element.parent().css(\"overflow\", \"hidden\");\n\n $(document).on(\"visibilitychange\", that.refreshBackgroundColorProxy); // Restore theme on browser focus (using the Visibility API).\n $(document).on(\"resume\", that.refreshBackgroundColorProxy); // PhoneGap fires resume.\n\n that.refreshBackgroundColorProxy();\n }\n }\n },\n\n _startHistory: function() {\n if (this.options.browserHistory) {\n this.router = new kendo.Router({ pushState: this.options.pushState, root: this.options.root, hashBang: this.options.hashBang });\n this.pane.bindToRouter(this.router);\n this.router.start();\n } else {\n if (!this.options.initial) {\n this.pane.navigate(\"\");\n }\n }\n },\n\n _resizeToScreenHeight: function() {\n var includeStatusBar = $(\"meta[name=apple-mobile-web-app-status-bar-style]\").attr(\"content\").match(/black-translucent|hidden/),\n element = this.element,\n height;\n\n if (CHROME) {\n height = window.innerHeight;\n } else {\n if (isOrientationHorizontal(element)) {\n if (includeStatusBar) {\n if (INITIALLY_HORIZONTAL) {\n height = SCREEN.availWidth + STATUS_BAR_HEIGHT;\n } else {\n height = SCREEN.availWidth;\n }\n } else {\n if (INITIALLY_HORIZONTAL) {\n height = SCREEN.availWidth;\n } else {\n height = SCREEN.availWidth - STATUS_BAR_HEIGHT;\n }\n }\n } else {\n if (includeStatusBar) {\n if (INITIALLY_HORIZONTAL) {\n height = SCREEN.availHeight;\n } else {\n height = SCREEN.availHeight + STATUS_BAR_HEIGHT;\n }\n } else {\n if (INITIALLY_HORIZONTAL) {\n height = SCREEN.availHeight - STATUS_BAR_HEIGHT;\n } else {\n height = SCREEN.availHeight;\n }\n }\n }\n }\n\n element.height(height);\n },\n\n _setupElementClass: function() {\n var that = this, size,\n element = that.element;\n\n element.parent().addClass(\"km-root km-\" + (that.os.tablet ? \"tablet\" : \"phone\"));\n element.addClass(that.osCssClass + \" \" + getOrientationClass(element));\n if (this.options.useNativeScrolling) {\n element.parent().addClass(\"km-native-scrolling\");\n }\n\n if (CHROME) {\n element.addClass(\"km-ios-chrome\");\n }\n\n if (support.wpDevicePixelRatio) {\n element.parent().css(\"font-size\", support.wpDevicePixelRatio + \"em\");\n }\n\n if (this.options.retina) {\n element.parent().addClass(\"km-retina\");\n element.parent().css(\"font-size\", (support.devicePixelRatio * FONT_SIZE_COEF) + \"em\");\n }\n\n if (BERRYPHONEGAP) {\n applyViewportHeight();\n }\n if (that.options.useNativeScrolling) {\n element.parent().addClass(\"km-native-scrolling\");\n } else if (ENABLE_CLIP) {\n size = (screen.availWidth > screen.availHeight ? screen.availWidth : screen.availHeight) + 200;\n $(clipTemplate({ width: size, height: size })).appendTo(HEAD);\n }\n\n if (BROKEN_WEBVIEW_RESIZE) {\n that._resizeToScreenHeight();\n }\n\n kendo.onResize(function() {\n element\n .removeClass(\"km-horizontal km-vertical\")\n .addClass(getOrientationClass(element));\n\n if (that.options.useNativeScrolling) {\n setMinimumHeight(element);\n }\n\n if (BROKEN_WEBVIEW_RESIZE) {\n that._resizeToScreenHeight();\n }\n\n if (BERRYPHONEGAP) {\n applyViewportHeight();\n }\n\n kendo.resize(element);\n });\n },\n\n _clearExistingMeta: function() {\n HEAD.find(\"meta\")\n .filter(\"[name|='apple-mobile-web-app'],[name|='msapplication-tap'],[name='viewport']\")\n .remove();\n },\n\n _attachMeta: function() {\n var options = this.options,\n icon = options.icon, size;\n\n this._clearExistingMeta();\n\n if (!BERRYPHONEGAP) {\n HEAD.prepend(viewportTemplate({ height: \"\", scale: this.options.retina ? 1 / support.devicePixelRatio : \"1.0\" }));\n }\n\n HEAD.prepend(systemMeta(options));\n\n if (icon) {\n if (typeof icon === \"string\") {\n icon = { \"\": icon };\n }\n\n for (size in icon) {\n HEAD.prepend(iconMeta({ icon: icon[size], size: size }));\n }\n }\n\n if (options.useNativeScrolling) {\n setMinimumHeight(this.element);\n }\n },\n\n _attachHideBarHandlers: function() {\n var that = this,\n hideBar = that._hideBar.bind(that);\n\n if (support.mobileOS.appMode || !that.options.hideAddressBar || !HIDEBAR || that.options.useNativeScrolling) {\n return;\n }\n\n that._initialHeight = {};\n\n WINDOW.on(\"load\", hideBar);\n\n kendo.onResize(function() {\n setTimeout(window.scrollTo, 0, 0, 1);\n });\n },\n\n _setupDocumentTitle: function() {\n var that = this,\n defaultTitle = document.title;\n\n that.pane.bind(\"viewShow\", function(e) {\n var title = e.view.title;\n document.title = title !== undefined$1 ? title : defaultTitle;\n });\n },\n\n _hideBar: function() {\n var that = this,\n element = that.element;\n\n element.height(kendo.support.transforms.css + \"calc(100% + \" + BARCOMPENSATION + \"px)\");\n $(window).trigger(kendo.support.resize);\n }\n });\n\n kendo.mobile.Application = Application;\n kendo.ui.plugin(Application, kendo.mobile, 'Mobile');\n })(window.kendo.jQuery);\n\n}));\n"]}