{"version":3,"sources":["kendo.view.js"],"names":["f","define","$","undefined","parseTransition","transition","matches","match","transitionRegExp","type","direction","reverse","kendo","window","attr","ui","attrValue","directiveSelector","Observable","Widget","roleSelector","SCRIPT","INIT","TRANSITION_START","TRANSITION_END","SHOW","HIDE","ATTACH","DETACH","sizzleErrorRegExp","bodyRegExp","LOAD_START","LOAD_COMPLETE","SHOW_START","SAME_VIEW_REQUESTED","VIEW_SHOW","VIEW_TYPE_DETERMINED","AFTER","classNames","content","view","stretchedView","widget","header","footer","View","extend","init","options","that","this","id","guid","fn","call","renderOnInit","_createElement","wrapInSections","_renderSections","tagName","model","_wrap","wrap","_evalTemplate","evalTemplate","_fragments","bind","name","detachOnHide","detachOnDestroy","render","container","notInitialized","element","append","trigger","_eachFragment","clone","ViewClone","triggerBeforeShow","triggerBeforeHide","showStart","css","showEnd","hideEnd","hide","beforeTransition","afterTransition","detach","destroy","unbind","remove","purge","add","wrapper","off","fragments","methodName","placeholder","result","document","getElementById","html","e","test","message","replace","template","contents","contains","replaceWith","wrapAll","parent","_wrapper","_createContent","_createHeader","_createFooter","is","ns","addClass","ccontentElements","contentSelector","children","filter","child","contentElement","Class","noop","Layout","containers","selector","_createContainer","showIn","show","root","find","length","Error","ViewContainer","Fragment","attach","history","running","after","end","previous","locationID","current","previousEntry","back","theTransition","transitionData","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","$1","innerHTML","wrapInner","_locate","selectors","$angular","indexOf","charAt","_findViewElementById","_createSpaView","_createMobileView","initWidget","defaultTransition","loader","getLayout","getLayoutProxy","modelScope","roles","viewOptions","jQuery","amd","a1","a2","a3"],"mappings":"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","file":"kendo.view.min.js","sourcesContent":["/*!\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n\n*/\n(function (f, define) {\n define('kendo.view', [\n 'kendo.core',\n 'kendo.binder',\n 'kendo.fx'\n ], f);\n}(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: [\n 'core',\n 'binder',\n 'fx'\n ],\n hidden: false\n };\n (function ($, undefined) {\n var kendo = window.kendo, attr = kendo.attr, ui = kendo.ui, attrValue = kendo.attrValue, directiveSelector = kendo.directiveSelector, Observable = kendo.Observable, Widget = kendo.ui.Widget, roleSelector = kendo.roleSelector, SCRIPT = 'SCRIPT', INIT = 'init', TRANSITION_START = 'transitionStart', TRANSITION_END = 'transitionEnd', SHOW = 'show', HIDE = 'hide', ATTACH = 'attach', DETACH = 'detach', sizzleErrorRegExp = /unrecognized expression/;\n var bodyRegExp = /]*>(([\\u000a\\u000d\\u2028\\u2029]|.)*)<\\/body>/i;\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 var View = kendo.ui.Widget.extend({\n init: function (content, options) {\n var that = this;\n options = options || {};\n that.id = kendo.guid();\n Observable.fn.init.call(that);\n this.options = $.extend({}, this.options, options);\n that.content = content;\n if (that.options.renderOnInit) {\n Widget.fn.init.call(that, that._createElement(), options);\n }\n if (that.options.wrapInSections) {\n that._renderSections();\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 that._fragments = {};\n that.bind([\n INIT,\n SHOW,\n HIDE,\n TRANSITION_START,\n TRANSITION_END\n ], options);\n },\n options: {\n name: 'View',\n renderOnInit: false,\n wrapInSections: false,\n detachOnHide: true,\n detachOnDestroy: true\n },\n render: function (container) {\n var that = this, notInitialized = !that.element;\n if (notInitialized) {\n that.element = that._createElement();\n }\n if (container) {\n $(container).append(that.element);\n }\n if (notInitialized) {\n kendo.bind(that.element, that.model);\n that.trigger(INIT);\n }\n if (container) {\n that._eachFragment(ATTACH);\n that.trigger(SHOW);\n }\n return that.element;\n },\n clone: function () {\n return new ViewClone(this);\n },\n triggerBeforeShow: function () {\n return true;\n },\n triggerBeforeHide: function () {\n return true;\n },\n showStart: function () {\n var that = this;\n var element = that.render();\n if (element) {\n element.css('display', '');\n }\n this.trigger(SHOW_START, { view: this });\n },\n showEnd: function () {\n },\n hideEnd: function () {\n this.hide();\n },\n beforeTransition: function (type) {\n this.trigger(TRANSITION_START, { type: type });\n },\n afterTransition: function (type) {\n this.trigger(TRANSITION_END, { type: type });\n },\n hide: function () {\n if (this.options.detachOnHide) {\n this._eachFragment(DETACH);\n $(this.element).detach();\n }\n this.trigger(HIDE);\n },\n destroy: function () {\n var that = this;\n var element = that.element;\n if (element) {\n Widget.fn.destroy.call(that);\n kendo.unbind(element);\n kendo.destroy(element);\n if (that.options.detachOnDestroy) {\n element.remove();\n }\n }\n },\n purge: function () {\n var that = this;\n that.destroy();\n $(that.element).add(that.content).add(that.wrapper).off().remove();\n },\n fragments: function (fragments) {\n $.extend(this._fragments, fragments);\n },\n _eachFragment: function (methodName) {\n for (var placeholder in this._fragments) {\n this._fragments[placeholder][methodName](this, placeholder);\n }\n },\n _createElement: function () {\n var that = this, wrapper = '<' + that.tagName + '>', element, content;\n try {\n content = $(document.getElementById(that.content) || that.content);\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 if (typeof content === 'string') {\n content = content.replace(/^\\s+|\\s+$/g, '');\n if (that._evalTemplate) {\n content = kendo.template(content)(that.model || {});\n }\n element = $(wrapper).append(content);\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())(that.model || {}));\n if ($.contains(document, element[0])) {\n element.replaceWith(result);\n }\n element = result;\n }\n if (that._wrap) {\n element = element.wrapAll(wrapper).parent();\n }\n }\n return element;\n },\n _renderSections: function () {\n var that = this;\n if (that.options.wrapInSections) {\n that._wrapper();\n that._createContent();\n that._createHeader();\n that._createFooter();\n }\n },\n _wrapper: function () {\n var that = this;\n var content = that.content;\n if (content.is(roleSelector('view'))) {\n that.wrapper = that.content;\n } else {\n that.wrapper = content.wrap('
').parent();\n }\n var wrapper = that.wrapper;\n wrapper.attr('id', that.id);\n wrapper.addClass(classNames.view);\n wrapper.addClass(classNames.widget);\n wrapper.attr('role', 'view');\n },\n _createContent: function () {\n var that = this;\n var wrapper = $(that.wrapper);\n var contentSelector = roleSelector('content');\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 ccontentElements.wrap('
');\n }\n this.contentElement = wrapper.children(roleSelector('content'));\n this.contentElement.addClass(classNames.stretchedView).addClass(classNames.content);\n },\n _createHeader: function () {\n var that = this;\n var wrapper = that.wrapper;\n this.header = wrapper.children(roleSelector('header')).addClass(classNames.header);\n },\n _createFooter: function () {\n var that = this;\n var wrapper = that.wrapper;\n this.footer = wrapper.children(roleSelector('footer')).addClass(classNames.footer);\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 view.element.parent().append(this.element);\n },\n hideEnd: function () {\n this.element.remove();\n },\n beforeTransition: $.noop,\n afterTransition: $.noop\n });\n var Layout = View.extend({\n init: function (content, options) {\n View.fn.init.call(this, content, options);\n this.containers = {};\n },\n container: function (selector) {\n var container = this.containers[selector];\n if (!container) {\n container = this._createContainer(selector);\n this.containers[selector] = container;\n }\n return container;\n },\n showIn: function (selector, view, transition) {\n this.container(selector).show(view, transition);\n },\n _createContainer: function (selector) {\n var root = this.render(), element = root.find(selector), container;\n if (!element.length && root.is(selector)) {\n if (root.is(selector)) {\n element = root;\n } else {\n throw new Error('can\\'t find a container with the specified ' + selector + ' selector');\n }\n }\n container = new ViewContainer(element);\n container.bind('accepted', function (e) {\n e.view.render(element);\n });\n return container;\n }\n });\n var Fragment = View.extend({\n attach: function (view, placeholder) {\n view.element.find(placeholder).replaceWith(this.render());\n },\n detach: function () {\n }\n });\n var transitionRegExp = /^(\\w+)(:(\\w+))?( (\\w+))?$/;\n function parseTransition(transition) {\n if (!transition) {\n return {};\n }\n var matches = transition.match(transitionRegExp) || [];\n return {\n type: matches[1],\n direction: matches[3],\n reverse: matches[5] === 'reverse'\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 after: function () {\n this.running = false;\n this.trigger('complete', { view: this.view });\n this.trigger('after');\n },\n end: function () {\n this.view.showEnd();\n this.previous.hideEnd();\n this.after();\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 locationID = locationID || view.id;\n var that = this, current = view === that.view ? view.clone() : that.view, history = that.history, previousEntry = history[history.length - 2] || {}, back = previousEntry.id === locationID, theTransition = transition || (back ? history[history.length - 1].transition : view.transition), transitionData = parseTransition(theTransition);\n if (that.running) {\n that.effect.stop();\n }\n if (theTransition === 'none') {\n theTransition = null;\n }\n that.trigger('accepted', { view: view });\n that.view = view;\n that.previous = current;\n that.running = true;\n if (!back) {\n history.push({\n id: locationID,\n transition: theTransition\n });\n } else {\n history.pop();\n }\n if (!current) {\n view.showStart();\n view.showEnd();\n that.after();\n return true;\n }\n if (!theTransition || !kendo.effects.enabled) {\n view.showStart();\n that.end();\n } else {\n view.element.addClass('k-fx-hidden');\n view.showStart();\n if (back && !transition) {\n transitionData.reverse = !transitionData.reverse;\n }\n that.effect = kendo.fx(view.element).replace(current.element, transitionData.type).beforeTransition(function () {\n view.beforeTransition('show');\n current.beforeTransition('hide');\n }).afterTransition(function () {\n view.afterTransition('show');\n current.afterTransition('hide');\n }).direction(transitionData.direction).setReverse(transitionData.reverse);\n that.effect.run().then(function () {\n that.end();\n });\n }\n return true;\n },\n destroy: function () {\n var that = this;\n var view = that.view;\n if (view && view.destroy) {\n view.destroy();\n }\n }\n });\n var ViewEngine = Observable.extend({\n init: function (options) {\n var that = this, views, container;\n Observable.fn.init.call(that);\n that.options = options;\n $.extend(that, options);\n that.sandbox = $('
');\n container = that.container;\n views = that._hideViews(container);\n that.rootView = views.first();\n that.layouts = {};\n that.viewContainer = new kendo.ViewContainer(that.container);\n that.viewContainer.bind('accepted', function (e) {\n e.view.params = that.params;\n });\n that.viewContainer.bind('complete', function (e) {\n that.trigger(VIEW_SHOW, { view: e.view });\n });\n that.viewContainer.bind(AFTER, function () {\n that.trigger(AFTER);\n });\n this.bind(this.events, options);\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 destroy: function () {\n var that = this;\n var viewContainer = that.viewContainer;\n kendo.destroy(that.container);\n for (var id in that.layouts) {\n this.layouts[id].destroy();\n }\n if (viewContainer) {\n viewContainer.destroy();\n }\n },\n view: function () {\n return this.viewContainer.view;\n },\n showView: function (url, transition, params) {\n url = url.replace(new RegExp('^' + this.remoteViewURLPrefix), '');\n if (url === '' && this.remoteViewURLPrefix) {\n url = '/';\n }\n if (url.replace(/^#/, '') === this.url) {\n this.trigger(SAME_VIEW_REQUESTED);\n return false;\n }\n this.trigger(SHOW_START);\n var that = this, element = that._findViewElement(url), view = kendo.widgetInstance(element);\n that.url = url.replace(/^#/, '');\n that.params = params;\n if (view && view.reload) {\n view.purge();\n element = [];\n }\n this.trigger(VIEW_TYPE_DETERMINED, {\n remote: element.length === 0,\n url: url\n });\n if (element[0]) {\n if (!view) {\n view = that._createView(element);\n }\n return that.viewContainer.show(view, transition, url);\n } else {\n return true;\n }\n },\n append: function (html, url) {\n var sandbox = this.sandbox, urlPath = (url || '').split('?')[0], container = this.container, views, view;\n if (bodyRegExp.test(html)) {\n html = RegExp.$1;\n }\n sandbox[0].innerHTML = html;\n container.append(sandbox.children('script, style'));\n views = this._hideViews(sandbox);\n view = views.first();\n if (!view.length) {\n views = view = sandbox.wrapInner('
').children();\n }\n if (urlPath) {\n view.hide().attr(attr('url'), urlPath);\n }\n container.append(views);\n return this._createView(view);\n },\n _locate: function (selectors) {\n return this.$angular ? directiveSelector(selectors) : roleSelector(selectors);\n },\n _findViewElement: function (url) {\n var element, urlPath = url.split('?')[0];\n if (!urlPath) {\n return this.rootView;\n }\n element = this.container.children('[' + attr('url') + '=\\'' + urlPath + '\\']');\n if (!element[0] && urlPath.indexOf('/') === -1) {\n element = this.container.children(urlPath.charAt(0) === '#' ? urlPath : '#' + urlPath);\n }\n if (!element[0]) {\n element = this._findViewElementById(url);\n }\n return element;\n },\n _findViewElementById: function (id) {\n var element = this.container.children('[id=\\'' + id + '\\']');\n return element;\n },\n _createView: function (element) {\n return this._createSpaView(element);\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 _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 _hideViews: function (container) {\n return container.children(this._locate('view')).hide();\n }\n });\n kendo.ViewEngine = ViewEngine;\n kendo.ViewContainer = ViewContainer;\n kendo.Fragment = Fragment;\n kendo.Layout = Layout;\n kendo.View = View;\n kendo.ViewClone = ViewClone;\n }(window.kendo.jQuery));\n return window.kendo;\n}, typeof define == 'function' && define.amd ? define : function (a1, a2, a3) {\n (a3 || a2)();\n}));"]}