{"version":3,"file":"kendo.view.min.js","names":["global","factory","exports","module","require","define","amd","globalThis","self","kendoview","js","this","$","undefined$1","kendo","window","attr","ui","attrValue","Observable","directiveSelector","Widget","roleSelector","INIT","TRANSITION_START","TRANSITION_END","SHOW","HIDE","sizzleErrorRegExp","SHOW_START","SAME_VIEW_REQUESTED","VIEW_SHOW","VIEW_TYPE_DETERMINED","AFTER","classNames","View","extend","init","content","options","that","id","guid","fn","call","renderOnInit","_createElement","wrapInSections","_renderSections","tagName","model","_wrap","wrap","_evalTemplate","evalTemplate","_useWithBlock","useWithBlock","_fragments","bind","name","detachOnHide","detachOnDestroy","render","container","notInitialized","element","append","trigger","_eachFragment","clone","ViewClone","triggerBeforeShow","triggerBeforeHide","showStart","css","view","showEnd","hideEnd","hide","beforeTransition","type","afterTransition","detach","destroy","unbind","remove","purge","add","wrapper","off","fragments","methodName","placeholder","document","getElementById","html","e","test","message","replace","template","contents","result","contains","replaceWith","wrapAll","parent","_wrapper","_createContent","_createHeader","_createFooter","is","ns","addClass","contentSelector","children","filter","child","contentElement","header","footer","Class","transition","noop","Layout","containers","selector","_createContainer","showIn","show","root","find","length","Error","ViewContainer","Fragment","attach","transitionRegExp","history","running","after","end","previous","locationID","current","back","theTransition","transitionData","matches","match","direction","reverse","parseTransition","effect","stop","pop","push","effects","enabled","fx","setReverse","run","then","ViewEngine","views","sandbox","_hideViews","rootView","first","layouts","viewContainer","params","events","showView","url","RegExp","remoteViewURLPrefix","_findViewElement","widgetInstance","reload","remote","_createView","urlPath","split","indexOf","innerHTML","wrapInner","_locate","selectors","charAt","_findViewElementById","_createSpaView","_createMobileView","initWidget","defaultTransition","loader","getLayout","getLayoutProxy","modelScope","roles","viewOptions","jQuery"],"sources":["kendo.view.js"],"mappings":"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","sourcesContent":["(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined' ? module.exports = factory(require('kendo.core.js'), require('kendo.binder.js'), require('kendo.fx.js')) :\n typeof define === 'function' && define.amd ? define(['kendo.core', 'kendo.binder', 'kendo.fx'], factory) :\n (global = typeof globalThis !== 'undefined' ? globalThis : global || self, (global.kendoview = global.kendoview || {}, global.kendoview.js = factory()));\n})(this, (function () {\n var __meta__ = {\n id: \"view\",\n name: \"View\",\n category: \"framework\",\n description: \"The View class instantiates and handles the events of a certain screen from the application.\",\n depends: [ \"core\", \"binder\", \"fx\" ],\n hidden: false\n };\n\n (function($, undefined$1) {\n var kendo = window.kendo,\n attr = kendo.attr,\n ui = kendo.ui,\n attrValue = kendo.attrValue,\n directiveSelector = kendo.directiveSelector,\n Observable = kendo.Observable,\n Widget = kendo.ui.Widget,\n roleSelector = kendo.roleSelector,\n\n SCRIPT = \"SCRIPT\",\n INIT = \"init\",\n TRANSITION_START = \"transitionStart\",\n TRANSITION_END = \"transitionEnd\",\n SHOW = \"show\",\n HIDE = \"hide\",\n ATTACH = \"attach\",\n DETACH = \"detach\",\n sizzleErrorRegExp = /unrecognized expression/;\n\n var LOAD_START = \"loadStart\";\n var LOAD_COMPLETE = \"loadComplete\";\n var SHOW_START = \"showStart\";\n var SAME_VIEW_REQUESTED = \"sameViewRequested\";\n var VIEW_SHOW = \"viewShow\";\n var VIEW_TYPE_DETERMINED = \"viewTypeDetermined\";\n var AFTER = \"after\";\n var classNames = {\n content: \"k-content\",\n view: \"k-view\",\n stretchedView: \"k-stretched-view\",\n widget: \"k-widget\",\n header: \"k-header\",\n footer: \"k-footer\"\n };\n\n var View = kendo.ui.Widget.extend({\n init: function(content, options) {\n var that = this;\n options = options || {};\n that.id = kendo.guid();\n\n Observable.fn.init.call(that);\n this.options = $.extend({}, this.options, options);\n\n that.content = content;\n\n if (that.options.renderOnInit) {\n Widget.fn.init.call(that, that._createElement(), options);\n }\n\n if (that.options.wrapInSections) {\n that._renderSections();\n }\n\n that.tagName = options.tagName || \"div\";\n that.model = options.model;\n that._wrap = options.wrap !== false;\n this._evalTemplate = options.evalTemplate || false;\n this._useWithBlock = options.useWithBlock;\n that._fragments = {};\n\n that.bind([ INIT, SHOW, HIDE, TRANSITION_START, TRANSITION_END ], options);\n },\n\n options: {\n name: \"View\",\n renderOnInit: false,\n wrapInSections: false,\n detachOnHide: true,\n detachOnDestroy: true\n },\n\n render: function(container) {\n var that = this,\n notInitialized = !that.element;\n\n // The order below matters - kendo.bind should happen when the element is in the DOM, and show should be triggered after init.\n\n if (notInitialized) {\n that.element = that._createElement();\n }\n\n if (container) {\n $(container).append(that.element);\n }\n\n if (notInitialized) {\n kendo.bind(that.element, that.model);\n that.trigger(INIT);\n }\n\n if (container) {\n that._eachFragment(ATTACH);\n that.trigger(SHOW);\n }\n\n return that.element;\n },\n\n clone: function() {\n return new ViewClone(this);\n },\n\n triggerBeforeShow: function() {\n return true;\n },\n\n triggerBeforeHide: function() {\n return true;\n },\n\n showStart: function() {\n var that = this;\n var element = that.render();\n\n if (element) {\n element.css(\"display\", \"\");\n }\n\n this.trigger(SHOW_START, { view: this });\n },\n\n showEnd: function() {\n },\n\n hideEnd: function() {\n this.hide();\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 hide: function() {\n if (this.options.detachOnHide) {\n this._eachFragment(DETACH);\n $(this.element).detach();\n }\n\n this.trigger(HIDE);\n },\n\n destroy: function() {\n var that = this;\n var element = that.element;\n\n if (element) {\n Widget.fn.destroy.call(that);\n\n kendo.unbind(element);\n kendo.destroy(element);\n\n if (that.options.detachOnDestroy) {\n element.remove();\n }\n }\n },\n\n // ported from mobile view\n purge: function() {\n var that = this;\n\n that.destroy();\n $(that.element).add(that.content).add(that.wrapper).off().remove();\n },\n\n fragments: function(fragments) {\n $.extend(this._fragments, fragments);\n },\n\n _eachFragment: function(methodName) {\n for (var placeholder in this._fragments) {\n this._fragments[placeholder][methodName](this, placeholder);\n }\n },\n\n _createElement: function() {\n var that = this,\n wrapper = \"<\" + that.tagName + \">\",\n element,\n content;\n\n try {\n content = $(document.getElementById(that.content) || that.content); // support passing id without #\n\n if (content[0].tagName === SCRIPT) {\n content = content.html();\n }\n } catch (e) {\n if (sizzleErrorRegExp.test(e.message)) {\n content = that.content;\n }\n }\n\n if (typeof content === \"string\") {\n content = content.replace(/^\\s+|\\s+$/g, '');\n if (that._evalTemplate) {\n content = kendo.template(content, { useWithBlock: that._useWithBlock })(that.model || {});\n }\n\n element = $(wrapper).append(content);\n // drop the wrapper if asked - this seems like the easiest (although not very intuitive) way to avoid messing up templates with questionable content, like this one for instance:\n // \n if (!that._wrap) {\n element = element.contents();\n }\n } else {\n element = content;\n if (that._evalTemplate) {\n var result = $(kendo.template($(\"
\").append(element.clone(true)).html(), { useWithBlock: that._useWithBlock })(that.model || {}));\n\n // template uses DOM\n if ($.contains(document, element[0])) {\n element.replaceWith(result);\n }\n\n element = result;\n }\n if (that._wrap) {\n element = element.wrapAll(wrapper).parent();\n }\n }\n\n return element;\n },\n\n _renderSections: function() {\n var that = this;\n\n if (that.options.wrapInSections) {\n that._wrapper();\n that._createContent();\n that._createHeader();\n that._createFooter();\n }\n },\n\n _wrapper: function() {\n var that = this;\n var content = that.content;\n\n if (content.is(roleSelector(\"view\"))) {\n that.wrapper = that.content;\n } else {\n that.wrapper = content\n .wrap('
')\n .parent();\n }\n\n var wrapper = that.wrapper;\n\n wrapper.attr(\"id\", that.id);\n\n wrapper.addClass(classNames.view);\n wrapper.addClass(classNames.widget);\n wrapper.attr(\"role\", \"view\");\n },\n\n _createContent: function() {\n var that = this;\n var wrapper = $(that.wrapper);\n var contentSelector = roleSelector(\"content\");\n\n if (!wrapper.children(contentSelector)[0]) {\n var ccontentElements = wrapper.children().filter(function() {\n var child = $(this);\n if (!child.is(roleSelector(\"header\")) && !child.is(roleSelector(\"footer\"))) {\n return child;\n }\n });\n\n ccontentElements.wrap(\"
');\n }\n\n // use contentElement instead of content as view.content can be a string\n this.contentElement = wrapper.children(roleSelector(\"content\"));\n\n this.contentElement\n .addClass(classNames.stretchedView)\n .addClass(classNames.content);\n },\n\n _createHeader: function() {\n var that = this;\n var wrapper = that.wrapper;\n\n this.header = wrapper.children(roleSelector(\"header\")).addClass(classNames.header);\n },\n\n _createFooter: function() {\n var that = this;\n var wrapper = that.wrapper;\n\n this.footer = wrapper.children(roleSelector(\"footer\")).addClass(classNames.footer);\n }\n });\n\n var ViewClone = kendo.Class.extend({\n init: function(view) {\n $.extend(this, {\n element: view.element.clone(true),\n transition: view.transition,\n id: view.id\n });\n\n view.element.parent().append(this.element);\n },\n\n hideEnd: function() {\n this.element.remove();\n },\n\n beforeTransition: $.noop,\n afterTransition: $.noop\n });\n\n var Layout = View.extend({\n init: function(content, options) {\n View.fn.init.call(this, content, options);\n this.containers = {};\n },\n\n container: function(selector) {\n var container = this.containers[selector];\n\n if (!container) {\n container = this._createContainer(selector);\n this.containers[selector] = container;\n }\n\n return container;\n },\n\n showIn: function(selector, view, transition) {\n this.container(selector).show(view, transition);\n },\n\n _createContainer: function(selector) {\n var root = this.render(),\n element = root.find(selector),\n container;\n\n if (!element.length && root.is(selector)) {\n if (root.is(selector)) {\n element = root;\n } else {\n\n throw new Error(\"can't find a container with the specified \" + selector + \" selector\");\n }\n }\n\n container = new ViewContainer(element);\n\n container.bind(\"accepted\", function(e) {\n e.view.render(element);\n });\n\n return container;\n }\n });\n\n var Fragment = View.extend({\n attach: function(view, placeholder) {\n view.element.find(placeholder).replaceWith(this.render());\n },\n\n detach: function() {\n }\n });\n\n var transitionRegExp = /^(\\w+)(:(\\w+))?( (\\w+))?$/;\n\n function parseTransition(transition) {\n if (!transition) {\n return {};\n }\n\n var matches = transition.match(transitionRegExp) || [];\n\n return {\n type: matches[1],\n direction: matches[3],\n reverse: matches[5] === \"reverse\"\n };\n }\n\n var ViewContainer = Observable.extend({\n init: function(container) {\n Observable.fn.init.call(this);\n this.container = container;\n this.history = [];\n this.view = null;\n this.running = false;\n },\n\n after: function() {\n this.running = false;\n this.trigger(\"complete\", { view: this.view });\n this.trigger(\"after\");\n },\n\n end: function() {\n this.view.showEnd();\n this.previous.hideEnd();\n this.after();\n },\n\n show: function(view, transition, locationID) {\n if (!view.triggerBeforeShow() || (this.view && !this.view.triggerBeforeHide())) {\n this.trigger(\"after\");\n return false;\n }\n\n locationID = locationID || view.id;\n\n var that = this,\n current = (view === that.view) ? view.clone() : that.view,\n history = that.history,\n previousEntry = history[history.length - 2] || {},\n back = previousEntry.id === locationID,\n // If explicit transition is set, it will be with highest priority\n // Next we will try using the history record transition or the view transition configuration\n theTransition = transition || ( back ? history[history.length - 1].transition : view.transition ),\n transitionData = parseTransition(theTransition);\n\n if (that.running) {\n that.effect.stop();\n }\n\n if (theTransition === \"none\") {\n theTransition = null;\n }\n\n that.trigger(\"accepted\", { view: view });\n that.view = view;\n that.previous = current;\n that.running = true;\n\n if (!back) {\n history.push({ id: locationID, transition: theTransition });\n } else {\n history.pop();\n }\n\n if (!current) {\n view.showStart();\n view.showEnd();\n that.after();\n return true;\n }\n\n if (!theTransition || !kendo.effects.enabled) {\n view.showStart();\n that.end();\n } else {\n // hide the view element before init/show - prevents blinks on iPad\n // the replace effect will remove this class\n view.element.addClass(\"k-fx-hidden\");\n view.showStart();\n // do not reverse the explicit transition\n if (back && !transition) {\n transitionData.reverse = !transitionData.reverse;\n }\n\n that.effect = kendo.fx(view.element).replace(current.element, transitionData.type)\n .beforeTransition(function() {\n view.beforeTransition(\"show\");\n current.beforeTransition(\"hide\");\n })\n .afterTransition(function() {\n view.afterTransition(\"show\");\n current.afterTransition(\"hide\");\n })\n .direction(transitionData.direction)\n .setReverse(transitionData.reverse);\n\n that.effect.run().then(function() { that.end(); });\n }\n\n return true;\n },\n\n destroy: function() {\n var that = this;\n var view = that.view;\n\n if (view && view.destroy) {\n view.destroy();\n }\n }\n });\n\n var ViewEngine = Observable.extend({\n init: function(options) {\n var that = this,\n views,\n container;\n\n Observable.fn.init.call(that);\n that.options = options;\n\n $.extend(that, options);\n that.sandbox = $(\"
\");\n container = that.container;\n\n views = that._hideViews(container);\n that.rootView = views.first();\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.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 var that = this;\n var viewContainer = that.viewContainer;\n\n kendo.destroy(that.container);\n\n for (var id in that.layouts) {\n this.layouts[id].destroy();\n }\n\n if (viewContainer) {\n viewContainer.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 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 that.viewContainer.show(view, transition, url);\n } else {\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 view;\n\n if (html.indexOf(\" -1) {\n html = $(\"
\").append(html).html();\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 container.append(views);\n\n html = null; // Garbage collection.\n return this._createView(view);\n },\n\n _locate: function(selectors) {\n return 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 if (!element[0]) {\n element = this._findViewElementById(url);\n }\n\n return element;\n },\n\n _findViewElementById: function(id) {\n var element = this.container.children(\"[id='\" + id + \"']\");\n return element;\n },\n\n _createView: function(element) {\n //return this._createMobileView(element);\n return this._createSpaView(element);\n },\n\n _createMobileView: function(element) {\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 _createSpaView: function(element) {\n var viewOptions = (this.options || {}).viewOptions || {};\n return new kendo.View(element, {\n renderOnInit: viewOptions.renderOnInit,\n wrap: viewOptions.wrap || false,\n wrapInSections: viewOptions.wrapInSections,\n detachOnHide: viewOptions.detachOnHide,\n detachOnDestroy: viewOptions.detachOnDestroy\n });\n },\n\n _hideViews: function(container) {\n return container.children(this._locate(\"view\")).hide();\n }\n });\n\n kendo.ViewEngine = ViewEngine;\n\n kendo.ViewContainer = ViewContainer;\n kendo.Fragment = Fragment;\n kendo.Layout = Layout;\n kendo.View = View;\n kendo.ViewClone = ViewClone;\n\n })(window.kendo.jQuery);\n var kendo$1 = kendo;\n\n return kendo$1;\n\n}));\n"]}