{"version":3,"file":"kendo.mobile.view.min.js","names":["factory","define","amd","$","undefined$1","kendo","window","mobile","ui","attr","Widget","ViewClone","INIT","BEFORE_SHOW","SHOW","AFTER_SHOW","BEFORE_HIDE","TRANSITION_END","TRANSITION_START","HIDE","DESTROY","attrValue","roleSelector","directiveSelector","compileMobileDirective","initPopOvers","element","idx","length","popovers","find","roles","initWidget","preventScrollIfNotInput","e","triggeredByInput","preventDefault","View","extend","init","options","fn","call","this","params","transition","defaultTransition","_id","$angular","_overlay","_layout","_scroller","_model","events","name","title","layout","getLayout","noop","reload","useNativeScrolling","stretch","zoom","model","modelScope","scroller","initWidgets","enable","overlay","hide","show","destroy","detach","trigger","scope","$destroy","purge","remove","triggerBeforeShow","view","triggerBeforeHide","showStart","css","inited","_invokeNgController","attach","_padIfNativeScrolling","resize","showEnd","hideEnd","that","beforeTransition","type","afterTransition","appLevelNativeScrolling","isAndroid","support","mobileOS","android","skin","application","isAndroidForced","os","indexOf","hasPlatformIndependentSkin","topContainer","bottomContainer","content","paddingTop","height","paddingBottom","contentElement","scrollerContent","clone","addClass","kendoMobileScroller","useNative","data","scrollElement","kineticScrollNeeded","on","getter","bind","dataviz","children","idAttrValue","id","guid","contentSelector","header","footer","wrapInner","prepend","append","setup","appendTo","controller","callback","_callController","test","$$phase","$apply","injector","invoke","constructor","$scope","collection","each","Layout","_locate","elements","add","selectors","platform","cloneNode","previousView","currentView","Observable","bodyRegExp","LOAD_START","LOAD_COMPLETE","SHOW_START","SAME_VIEW_REQUESTED","VIEW_SHOW","VIEW_TYPE_DETERMINED","AFTER","ViewEngine","views","errorMessage","container","sandbox","_hideViews","rootView","first","rootNeeded","Error","layouts","viewContainer","ViewContainer","getLayoutProxy","_getLayout","_setupLayouts","viewOptions","loader","showView","url","replace","RegExp","remoteViewURLPrefix","showClosure","_findViewElement","widgetInstance","remote","_createView","serverNavigation","location","href","_loadView","html","modalViews","urlPath","split","$1","innerHTML","charAt","_xhr","abort","get","absoluteURL","always","_xhrComplete","response","success","status","responseText","plugin","jQuery"],"sources":["kendo.mobile.view.js"],"mappings":"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","sourcesContent":["(function (factory) {\n typeof define === 'function' && define.amd ? define(['kendo.core', 'kendo.fx', 'kendo.mobile.scroller', 'kendo.view'], factory) :\n factory();\n})((function () {\n var __meta__ = {\n id: \"mobile.view\",\n name: \"View\",\n category: \"mobile\",\n description: \"Mobile View\",\n depends: [ \"core\", \"fx\", \"mobile.scroller\", \"view\" ],\n hidden: true\n };\n\n (function($, undefined$1) {\n var kendo = window.kendo,\n mobile = kendo.mobile,\n ui = mobile.ui,\n attr = kendo.attr,\n Widget = ui.Widget,\n ViewClone = kendo.ViewClone,\n INIT = \"init\",\n UI_OVERLAY = '
',\n BEFORE_SHOW = \"beforeShow\",\n SHOW = \"show\",\n AFTER_SHOW = \"afterShow\",\n BEFORE_HIDE = \"beforeHide\",\n TRANSITION_END = \"transitionEnd\",\n TRANSITION_START = \"transitionStart\",\n HIDE = \"hide\",\n DESTROY = \"destroy\",\n attrValue = kendo.attrValue,\n roleSelector = kendo.roleSelector,\n directiveSelector = kendo.directiveSelector,\n compileMobileDirective = kendo.compileMobileDirective;\n\n function initPopOvers(element) {\n var popovers = element.find(roleSelector(\"popover\")),\n idx, length,\n roles = ui.roles;\n\n for (idx = 0, length = popovers.length; idx < length; idx ++) {\n kendo.initWidget(popovers[idx], {}, roles);\n }\n }\n\n function preventScrollIfNotInput(e) {\n if (!kendo.triggeredByInput(e)) {\n e.preventDefault();\n }\n }\n\n var View = Widget.extend({\n init: function(element, options) {\n Widget.fn.init.call(this, element, options);\n this.params = {};\n\n $.extend(this, options);\n\n this.transition = this.transition || this.defaultTransition;\n\n this._id();\n\n if (!this.options.$angular) {\n this._layout();\n this._overlay();\n this._scroller();\n this._model();\n } else {\n this._overlay();\n }\n },\n\n events: [\n INIT,\n BEFORE_SHOW,\n SHOW,\n AFTER_SHOW,\n BEFORE_HIDE,\n HIDE,\n DESTROY,\n TRANSITION_START,\n TRANSITION_END\n ],\n\n options: {\n name: \"View\",\n title: \"\",\n layout: null,\n getLayout: $.noop,\n reload: false,\n transition: \"\",\n defaultTransition: \"\",\n useNativeScrolling: false,\n stretch: false,\n zoom: false,\n model: null,\n modelScope: window,\n scroller: {},\n initWidgets: true\n },\n\n enable: function(enable) {\n if (typeof enable == \"undefined\") {\n enable = true;\n }\n\n if (enable) {\n this.overlay.hide();\n } else {\n this.overlay.show();\n }\n },\n\n destroy: function() {\n if (this.layout) {\n this.layout.detach(this);\n }\n\n this.trigger(DESTROY);\n\n\n Widget.fn.destroy.call(this);\n\n if (this.scroller) {\n this.scroller.destroy();\n }\n\n if (this.options.$angular) {\n this.element.scope().$destroy();\n }\n\n kendo.destroy(this.element);\n },\n\n purge: function() {\n this.destroy();\n this.element.remove();\n },\n\n triggerBeforeShow: function() {\n if (this.trigger(BEFORE_SHOW, { view: this })) {\n return false;\n }\n return true;\n },\n\n triggerBeforeHide: function() {\n if (this.trigger(BEFORE_HIDE, { view: this })) {\n return false;\n }\n return true;\n },\n\n showStart: function() {\n var element = this.element;\n\n element.css(\"display\", \"\");\n\n if (!this.inited) {\n this.inited = true;\n this.trigger(INIT, { view: this });\n } else { // skip the initial controller update\n this._invokeNgController();\n }\n\n if (this.layout) {\n this.layout.attach(this);\n }\n\n this._padIfNativeScrolling();\n this.trigger(SHOW, { view: this });\n kendo.resize(element);\n },\n\n showEnd: function() {\n this.trigger(AFTER_SHOW, { view: this });\n this._padIfNativeScrolling();\n },\n\n hideEnd: function() {\n var that = this;\n that.element.hide();\n that.trigger(HIDE, { view: that });\n\n if (that.layout) {\n that.layout.trigger(HIDE, { view: that, layout: that.layout });\n }\n },\n\n beforeTransition: function(type) {\n this.trigger(TRANSITION_START, { type: type });\n },\n\n afterTransition: function(type) {\n this.trigger(TRANSITION_END, { type: type });\n },\n\n _padIfNativeScrolling: function() {\n if (mobile.appLevelNativeScrolling()) {\n var isAndroid = kendo.support.mobileOS && kendo.support.mobileOS.android,\n skin = mobile.application.skin() || \"\",\n isAndroidForced = mobile.application.os.android || (skin.indexOf(\"android\") > -1),\n hasPlatformIndependentSkin = skin === \"flat\" || (skin.indexOf(\"material\") > -1),\n topContainer = (isAndroid || isAndroidForced) && (!hasPlatformIndependentSkin) ? \"footer\" : \"header\",\n bottomContainer = (isAndroid || isAndroidForced) && (!hasPlatformIndependentSkin) ? \"header\" : \"footer\";\n\n this.content.css({\n paddingTop: this[topContainer].height(),\n paddingBottom: this[bottomContainer].height()\n });\n }\n },\n\n contentElement: function() {\n var that = this;\n\n return that.options.stretch ? that.content : that.scrollerContent;\n },\n\n clone: function() {\n return new ViewClone(this);\n },\n\n _scroller: function() {\n var that = this;\n\n if (mobile.appLevelNativeScrolling()) {\n return;\n }\n if (that.options.stretch) {\n that.content.addClass(\"km-stretched-view\");\n } else {\n that.content.kendoMobileScroller($.extend(that.options.scroller, { zoom: that.options.zoom, useNative: that.options.useNativeScrolling }));\n\n that.scroller = that.content.data(\"kendoMobileScroller\");\n that.scrollerContent = that.scroller.scrollElement;\n }\n\n // prevent accidental address bar display when pulling the header\n if (kendo.support.kineticScrollNeeded) {\n $(that.element).on(\"touchmove\", \".km-header\", preventScrollIfNotInput);\n if (!that.options.useNativeScrolling && !that.options.stretch) {\n $(that.element).on(\"touchmove\", \".km-content\", preventScrollIfNotInput);\n }\n }\n },\n\n _model: function() {\n var that = this,\n element = that.element,\n model = that.options.model;\n\n if (typeof model === \"string\") {\n model = kendo.getter(model)(that.options.modelScope);\n }\n\n that.model = model;\n\n initPopOvers(element);\n\n that.element.css(\"display\", \"\");\n if (that.options.initWidgets) {\n if (model) {\n kendo.bind(element, model, ui, kendo.ui, kendo.dataviz.ui);\n } else {\n mobile.init(element.children());\n }\n }\n that.element.css(\"display\", \"none\");\n },\n\n _id: function() {\n var element = this.element,\n idAttrValue = element.attr(\"id\") || \"\";\n\n this.id = attrValue(element, \"url\") || \"#\" + idAttrValue;\n\n if (this.id == \"#\") {\n this.id = kendo.guid();\n element.attr(\"id\", this.id);\n }\n },\n\n _layout: function() {\n var contentSelector = roleSelector(\"content\"),\n element = this.element;\n\n element.addClass(\"km-view\");\n\n this.header = element.children(roleSelector(\"header\")).addClass(\"km-header\");\n this.footer = element.children(roleSelector(\"footer\")).addClass(\"km-footer\");\n\n if (!element.children(contentSelector)[0]) {\n element.wrapInner(\"');\n }\n\n this.content = element.children(roleSelector(\"content\"))\n .addClass(\"km-content\");\n\n this.element.prepend(this.header).append(this.footer);\n\n\n this.layout = this.options.getLayout(this.layout);\n\n if (this.layout) {\n this.layout.setup(this);\n }\n },\n\n _overlay: function() {\n this.overlay = $(UI_OVERLAY).appendTo(this.element);\n },\n\n _invokeNgController: function() {\n var controller,\n scope;\n\n if (this.options.$angular) {\n controller = this.element.controller();\n scope = this.options.$angular[0];\n\n if (controller) {\n var callback = this._callController.bind(this, controller, scope);\n\n if (/^\\$(digest|apply)$/.test(scope.$$phase)) {\n callback();\n } else {\n scope.$apply(callback);\n }\n }\n }\n },\n\n _callController: function(controller, scope) {\n this.element.injector().invoke(controller.constructor, controller, { $scope: scope });\n }\n });\n\n function initWidgets(collection) {\n collection.each(function() {\n kendo.initWidget($(this), {}, ui.roles);\n });\n }\n\n var Layout = Widget.extend({\n init: function(element, options) {\n Widget.fn.init.call(this, element, options);\n\n element = this.element;\n\n this.header = element.children(this._locate(\"header\")).addClass(\"km-header\");\n this.footer = element.children(this._locate(\"footer\")).addClass(\"km-footer\");\n this.elements = this.header.add(this.footer);\n\n initPopOvers(element);\n\n if (!this.options.$angular) {\n kendo.mobile.init(this.element.children());\n }\n this.element.detach();\n this.trigger(INIT, { layout: this });\n },\n\n _locate: function(selectors) {\n return this.options.$angular ? directiveSelector(selectors) : roleSelector(selectors);\n },\n\n options: {\n name: \"Layout\",\n id: null,\n platform: null\n },\n\n events: [\n INIT,\n SHOW,\n HIDE\n ],\n\n setup: function(view) {\n if (!view.header[0]) { view.header = this.header; }\n if (!view.footer[0]) { view.footer = this.footer; }\n },\n\n detach: function(view) {\n var that = this;\n if (view.header === that.header && that.header[0]) {\n view.element.prepend(that.header.detach()[0].cloneNode(true));\n }\n\n if (view.footer === that.footer && that.footer.length) {\n view.element.append(that.footer.detach()[0].cloneNode(true));\n }\n },\n\n attach: function(view) {\n var that = this,\n previousView = that.currentView;\n\n if (previousView) {\n that.detach(previousView);\n }\n\n if (view.header === that.header) {\n that.header.detach();\n view.element.children(roleSelector(\"header\")).remove();\n view.element.prepend(that.header);\n }\n\n if (view.footer === that.footer) {\n that.footer.detach();\n view.element.children(roleSelector(\"footer\")).remove();\n view.element.append(that.footer);\n }\n\n that.trigger(SHOW, { layout: that, view: view });\n that.currentView = view;\n }\n });\n\n var Observable = kendo.Observable,\n bodyRegExp = /]*>(([\\u000a\\u000d\\u2028\\u2029]|.)*)<\\/body>/i,\n LOAD_START = \"loadStart\",\n LOAD_COMPLETE = \"loadComplete\",\n SHOW_START = \"showStart\",\n SAME_VIEW_REQUESTED = \"sameViewRequested\",\n VIEW_SHOW = \"viewShow\",\n VIEW_TYPE_DETERMINED = \"viewTypeDetermined\",\n AFTER = \"after\";\n\n var ViewEngine = Observable.extend({\n init: function(options) {\n var that = this,\n views,\n errorMessage,\n container,\n collection;\n\n Observable.fn.init.call(that);\n\n $.extend(that, options);\n that.sandbox = $(\"\");\n container = that.container;\n\n views = that._hideViews(container);\n that.rootView = views.first();\n\n if (!that.rootView[0] && options.rootNeeded) {\n if (container[0] == kendo.mobile.application.element[0]) {\n errorMessage = 'Your kendo mobile application element does not contain any direct child elements with data-role=\"view\" attribute set. Make sure that you instantiate the mobile application using the correct container.';\n } else {\n errorMessage = 'Your pane element does not contain any direct child elements with data-role=\"view\" attribute set.';\n }\n throw new Error(errorMessage);\n }\n\n that.layouts = {};\n\n that.viewContainer = new kendo.ViewContainer(that.container);\n\n that.viewContainer.bind(\"accepted\", function(e) {\n e.view.params = that.params;\n });\n\n that.viewContainer.bind(\"complete\", function(e) {\n that.trigger(VIEW_SHOW, { view: e.view });\n });\n\n that.viewContainer.bind(AFTER, function() {\n that.trigger(AFTER);\n });\n\n this.getLayoutProxy = this._getLayout.bind(this);\n that._setupLayouts(container);\n\n collection = container.children(that._locate(\"modalview drawer\"));\n if (that.$angular) {\n\n that.$angular[0].viewOptions = {\n defaultTransition: that.transition,\n loader: that.loader,\n container: that.container,\n getLayout: that.getLayoutProxy\n };\n\n collection.each(function(idx, element) {\n compileMobileDirective($(element), options.$angular[0]);\n });\n } else {\n initWidgets(collection);\n }\n\n this.bind(this.events, options);\n },\n\n events: [\n SHOW_START,\n AFTER,\n VIEW_SHOW,\n LOAD_START,\n LOAD_COMPLETE,\n SAME_VIEW_REQUESTED,\n VIEW_TYPE_DETERMINED\n ],\n\n destroy: function() {\n kendo.destroy(this.container);\n\n for (var id in this.layouts) {\n this.layouts[id].destroy();\n }\n },\n\n view: function() {\n return this.viewContainer.view;\n },\n\n showView: function(url, transition, params) {\n url = url.replace(new RegExp(\"^\" + this.remoteViewURLPrefix), \"\");\n if (url === \"\" && this.remoteViewURLPrefix) {\n url = \"/\";\n }\n\n if (url.replace(/^#/, \"\") === this.url) {\n this.trigger(SAME_VIEW_REQUESTED);\n return false;\n }\n\n this.trigger(SHOW_START);\n\n var that = this,\n showClosure = function(view) {\n return that.viewContainer.show(view, transition, url);\n },\n element = that._findViewElement(url),\n view = kendo.widgetInstance(element);\n\n that.url = url.replace(/^#/, \"\");\n\n that.params = params;\n\n if (view && view.reload) {\n view.purge();\n element = [];\n }\n\n this.trigger(VIEW_TYPE_DETERMINED, { remote: element.length === 0, url: url });\n\n if (element[0]) {\n if (!view) {\n view = that._createView(element);\n }\n\n return showClosure(view);\n } else {\n if (this.serverNavigation) {\n location.href = url;\n } else {\n that._loadView(url, showClosure);\n }\n return true;\n }\n },\n\n append: function(html, url) {\n var sandbox = this.sandbox,\n urlPath = (url || \"\").split(\"?\")[0],\n container = this.container,\n views,\n modalViews,\n view;\n\n if (bodyRegExp.test(html)) {\n html = RegExp.$1;\n }\n\n sandbox[0].innerHTML = html;\n\n container.append(sandbox.children(\"script, style\"));\n\n views = this._hideViews(sandbox);\n view = views.first();\n\n // Generic HTML content found as remote view - no remote view markers\n if (!view.length) {\n views = view = sandbox.wrapInner(\"\").children(); // one element\n }\n\n if (urlPath) {\n view.hide().attr(attr(\"url\"), urlPath);\n }\n\n this._setupLayouts(sandbox);\n\n modalViews = sandbox.children(this._locate(\"modalview drawer\"));\n\n container.append(sandbox.children(this._locate(\"layout modalview drawer\")).add(views));\n\n // Initialize the modalviews after they have been appended to the final container\n initWidgets(modalViews);\n\n return this._createView(view);\n },\n\n _locate: function(selectors) {\n return this.$angular ? directiveSelector(selectors) : roleSelector(selectors);\n },\n\n _findViewElement: function(url) {\n var element,\n urlPath = url.split(\"?\")[0];\n\n if (!urlPath) {\n return this.rootView;\n }\n\n element = this.container.children(\"[\" + attr(\"url\") + \"='\" + urlPath + \"']\");\n\n // do not try to search for \"#/foo/bar\" id, jQuery throws error\n if (!element[0] && urlPath.indexOf(\"/\") === -1) {\n element = this.container.children(urlPath.charAt(0) === \"#\" ? urlPath : \"#\" + urlPath);\n }\n\n return element;\n },\n\n _createView: function(element) {\n if (this.$angular) {\n return compileMobileDirective(element, this.$angular[0]);\n } else {\n return kendo.initWidget(element, {\n defaultTransition: this.transition,\n loader: this.loader,\n container: this.container,\n getLayout: this.getLayoutProxy,\n modelScope: this.modelScope,\n reload: attrValue(element, \"reload\")\n }, ui.roles);\n }\n },\n\n _getLayout: function(name) {\n if (name === \"\") {\n return null;\n }\n\n return name ? this.layouts[name] : this.layouts[this.layout];\n },\n\n _loadView: function(url, callback) {\n if (this._xhr) {\n this._xhr.abort();\n }\n\n this.trigger(LOAD_START);\n\n this._xhr = $.get(kendo.absoluteURL(url, this.remoteViewURLPrefix), \"html\")\n .always(this._xhrComplete.bind(this, callback, url));\n },\n\n _xhrComplete: function(callback, url, response) {\n var success = true;\n\n if (typeof response === \"object\") {\n if (response.status === 0) {\n if (response.responseText && response.responseText.length > 0) {\n success = true;\n response = response.responseText;\n } else { // request has been aborted for real\n return;\n }\n }\n }\n\n this.trigger(LOAD_COMPLETE);\n\n if (success) {\n callback(this.append(response, url));\n }\n },\n\n _hideViews: function(container) {\n return container.children(this._locate(\"view splitview\")).hide();\n },\n\n _setupLayouts: function(element) {\n var that = this,\n layout;\n\n element.children(that._locate(\"layout\")).each(function() {\n if (that.$angular) {\n layout = compileMobileDirective($(this), that.$angular[0]);\n } else {\n layout = kendo.initWidget($(this), {}, ui.roles);\n }\n\n var platform = layout.options.platform;\n\n if (!platform || platform === mobile.application.os.name) {\n that.layouts[layout.options.id] = layout;\n } else {\n layout.destroy();\n }\n });\n\n }\n });\n\n kendo.mobile.ViewEngine = ViewEngine;\n\n ui.plugin(View);\n ui.plugin(Layout);\n })(window.kendo.jQuery);\n\n}));\n"]}