@progress/kendo-ui
Version:
This package is part of the [Kendo UI for jQuery](http://www.telerik.com/kendo-ui) suite.
1 lines • 9.47 kB
JavaScript
module.exports=function(i){var n={};function r(e){if(n[e])return n[e].exports;var t=n[e]={exports:{},id:e,loaded:!1};return i[e].call(t.exports,t,t.exports,r),t.loaded=!0,t.exports}return r.m=i,r.c=n,r.p="",r(0)}({0:function(e,t,i){e.exports=i(1519)},3:function(e,t){e.exports=function(){throw Error("define cannot be used indirect")}},1051:function(e,t){e.exports=require("./kendo.core")},1115:function(e,t){e.exports=require("./kendo.binder")},1133:function(e,t){e.exports=require("./kendo.fx")},1519:function(e,t,i){var n;i(3),i=[i(1051),i(1115),i(1133)],void 0===(t="function"==typeof(n=function(){var e={id:"view",name:"View",category:"framework",description:"The View class instantiates and handles the events of a certain screen from the application.",depends:["core","binder","fx"],hidden:false},o=window.kendo.jQuery,t=void 0,f=window.kendo,s=f.attr,l=f.ui,u=f.attrValue,w=f.directiveSelector,r=f.Observable,n=f.ui.Widget,a=f.roleSelector,p="SCRIPT",v="init",g="transitionStart",m="transitionEnd",_="show",y="hide",x="attach",V="detach",b=/unrecognized expression/,C=/<body[^>]*>(([\u000a\u000d\u2028\u2029]|.)*)<\/body>/i,S="loadStart",E="loadComplete",d="showStart",k="sameViewRequested",T="viewShow",I="viewTypeDetermined",c="after",h={content:"k-content",view:"k-view",stretchedView:"k-stretched-view",widget:"k-widget",header:"k-header",footer:"k-footer"},i=f.ui.Widget.extend({init:function(e,t){var i=this;t=t||{};i.id=f.guid();r.fn.init.call(i);this.options=o.extend({},this.options,t);i.content=e;if(i.options.renderOnInit)n.fn.init.call(i,i._createElement(),t);if(i.options.wrapInSections)i._renderSections();i.tagName=t.tagName||"div";i.model=t.model;i._wrap=t.wrap!==false;this._evalTemplate=t.evalTemplate||false;this._useWithBlock=t.useWithBlock;i._fragments={};i.bind([v,_,y,g,m],t)},options:{name:"View",renderOnInit:false,wrapInSections:false,detachOnHide:true,detachOnDestroy:true},render:function(e){var t=this,i=!t.element;if(i)t.element=t._createElement();if(e)o(e).append(t.element);if(i){f.bind(t.element,t.model);t.trigger(v)}if(e){t._eachFragment(x);t.trigger(_)}return t.element},clone:function(){return new O(this)},triggerBeforeShow:function(){return true},triggerBeforeHide:function(){return true},showStart:function(){var e=this;var t=e.render();if(t)t.css("display","");this.trigger(d,{view:this})},showEnd:function(){},hideEnd:function(){this.hide()},beforeTransition:function(e){this.trigger(g,{type:e})},afterTransition:function(e){this.trigger(m,{type:e})},hide:function(){if(this.options.detachOnHide){this._eachFragment(V);o(this.element).detach()}this.trigger(y)},destroy:function(){var e=this;var t=e.element;if(t){n.fn.destroy.call(e);f.unbind(t);f.destroy(t);if(e.options.detachOnDestroy)t.remove()}},purge:function(){var e=this;e.destroy();o(e.element).add(e.content).add(e.wrapper).off().remove()},fragments:function(e){o.extend(this._fragments,e)},_eachFragment:function(e){for(var t in this._fragments)this._fragments[t][e](this,t)},_createElement:function(){var t=this,e="<"+t.tagName+">",i,n;try{n=o(document.getElementById(t.content)||t.content);if(n[0].tagName===p)n=n.html()}catch(e){if(b.test(e.message))n=t.content}if(typeof n==="string"){n=n.replace(/^\s+|\s+$/g,"");if(t._evalTemplate)n=f.template(n,{useWithBlock:t._useWithBlock})(t.model||{});i=o(e).append(n);if(!t._wrap)i=i.contents()}else{i=n;if(t._evalTemplate){var r=o(f.template(o("<div />").append(i.clone(true)).html(),{useWithBlock:t._useWithBlock})(t.model||{}));if(o.contains(document,i[0]))i.replaceWith(r);i=r}if(t._wrap)i=i.wrapAll(e).parent()}return i},_renderSections:function(){var e=this;if(e.options.wrapInSections){e._wrapper();e._createContent();e._createHeader();e._createFooter()}},_wrapper:function(){var e=this;var t=e.content;if(t.is(a("view")))e.wrapper=e.content;else e.wrapper=t.wrap("<div data-"+f.ns+'stretch="true" data-'+f.ns+'role="view" data-'+f.ns+'init-widgets="false"></div>').parent();var i=e.wrapper;i.attr("id",e.id);i.addClass(h.view);i.addClass(h.widget);i.attr("role","view")},_createContent:function(){var e=this;var t=o(e.wrapper);var i=a("content");if(!t.children(i)[0]){var n=t.children().filter(function(){var e=o(this);if(!e.is(a("header"))&&!e.is(a("footer")))return e});n.wrap("<div "+s("role")+'="content"></div>')}this.contentElement=t.children(a("content"));this.contentElement.addClass(h.stretchedView).addClass(h.content)},_createHeader:function(){var e=this;var t=e.wrapper;this.header=t.children(a("header")).addClass(h.header)},_createFooter:function(){var e=this;var t=e.wrapper;this.footer=t.children(a("footer")).addClass(h.footer)}}),O=f.Class.extend({init:function(e){o.extend(this,{element:e.element.clone(true),transition:e.transition,id:e.id});e.element.parent().append(this.element)},hideEnd:function(){this.element.remove()},beforeTransition:o.noop,afterTransition:o.noop}),B=i.extend({init:function(e,t){i.fn.init.call(this,e,t);this.containers={}},container:function(e){var t=this.containers[e];if(!t){t=this._createContainer(e);this.containers[e]=t}return t},showIn:function(e,t,i){this.container(e).show(t,i)},_createContainer:function(e){var t=this.render(),i=t.find(e),n;if(!i.length&&t.is(e))if(t.is(e))i=t;else throw new Error("can't find a container with the specified "+e+" selector");n=new F(i);n.bind("accepted",function(e){e.view.render(i)});return n}}),W=i.extend({attach:function(e,t){e.element.find(t).replaceWith(this.render())},detach:function(){}}),H=/^(\w+)(:(\w+))?( (\w+))?$/;function R(e){if(!e)return{};var t=e.match(H)||[];return{type:t[1],direction:t[3],reverse:t[5]==="reverse"}}var F=r.extend({init:function(e){r.fn.init.call(this);this.container=e;this.history=[];this.view=null;this.running=false},after:function(){this.running=false;this.trigger("complete",{view:this.view});this.trigger("after")},end:function(){this.view.showEnd();this.previous.hideEnd();this.after()},show:function(e,t,i){if(!e.triggerBeforeShow()||this.view&&!this.view.triggerBeforeHide()){this.trigger("after");return false}i=i||e.id;var n=this,r=e===n.view?e.clone():n.view,o=n.history,a=o[o.length-2]||{},s=a.id===i,d=t||(s?o[o.length-1].transition:e.transition),c=R(d);if(n.running)n.effect.stop();if(d==="none")d=null;n.trigger("accepted",{view:e});n.view=e;n.previous=r;n.running=true;if(!s)o.push({id:i,transition:d});else o.pop();if(!r){e.showStart();e.showEnd();n.after();return true}if(!d||!f.effects.enabled){e.showStart();n.end()}else{e.element.addClass("k-fx-hidden");e.showStart();if(s&&!t)c.reverse=!c.reverse;n.effect=f.fx(e.element).replace(r.element,c.type).beforeTransition(function(){e.beforeTransition("show");r.beforeTransition("hide")}).afterTransition(function(){e.afterTransition("show");r.afterTransition("hide")}).direction(c.direction).setReverse(c.reverse);n.effect.run().then(function(){n.end()})}return true},destroy:function(){var e=this;var t=e.view;if(t&&t.destroy)t.destroy()}}),L=r.extend({init:function(e){var t=this,i,n;r.fn.init.call(t);t.options=e;o.extend(t,e);t.sandbox=o("<div />");n=t.container;i=t._hideViews(n);t.rootView=i.first();t.layouts={};t.viewContainer=new f.ViewContainer(t.container);t.viewContainer.bind("accepted",function(e){e.view.params=t.params});t.viewContainer.bind("complete",function(e){t.trigger(T,{view:e.view})});t.viewContainer.bind(c,function(){t.trigger(c)});this.bind(this.events,e)},events:[d,c,T,S,E,k,I],destroy:function(){var e=this;var t=e.viewContainer;f.destroy(e.container);for(var i in e.layouts)this.layouts[i].destroy();if(t)t.destroy()},view:function(){return this.viewContainer.view},showView:function(e,t,i){e=e.replace(new RegExp("^"+this.remoteViewURLPrefix),"");if(e===""&&this.remoteViewURLPrefix)e="/";if(e.replace(/^#/,"")===this.url){this.trigger(k);return false}this.trigger(d);var n=this,r=n._findViewElement(e),o=f.widgetInstance(r);n.url=e.replace(/^#/,"");n.params=i;if(o&&o.reload){o.purge();r=[]}this.trigger(I,{remote:r.length===0,url:e});if(r[0]){if(!o)o=n._createView(r);return n.viewContainer.show(o,t,e)}else return true},append:function(e,t){var i=this.sandbox,n=(t||"").split("?")[0],r=this.container,o,a;if(C.test(e))e=RegExp.$1;i[0].innerHTML=e;r.append(i.children("script, style"));o=this._hideViews(i);a=o.first();if(!a.length)o=a=i.wrapInner("<div data-role=view />").children();if(n)a.hide().attr(s("url"),n);r.append(o);return this._createView(a)},_locate:function(e){return this.$angular?w(e):a(e)},_findViewElement:function(e){var t,i=e.split("?")[0];if(!i)return this.rootView;t=this.container.children("["+s("url")+"='"+i+"']");if(!t[0]&&i.indexOf("/")===-1)t=this.container.children(i.charAt(0)==="#"?i:"#"+i);if(!t[0])t=this._findViewElementById(e);return t},_findViewElementById:function(e){var t=this.container.children("[id='"+e+"']");return t},_createView:function(e){return this._createSpaView(e)},_createMobileView:function(e){return f.initWidget(e,{defaultTransition:this.transition,loader:this.loader,container:this.container,getLayout:this.getLayoutProxy,modelScope:this.modelScope,reload:u(e,"reload")},l.roles)},_createSpaView:function(e){var t=(this.options||{}).viewOptions||{};return new f.View(e,{renderOnInit:t.renderOnInit,wrap:t.wrap||false,wrapInSections:t.wrapInSections,detachOnHide:t.detachOnHide,detachOnDestroy:t.detachOnDestroy})},_hideViews:function(e){return e.children(this._locate("view")).hide()}});return f.ViewEngine=L,f.ViewContainer=F,f.Fragment=W,f.Layout=B,f.View=i,f.ViewClone=O,window.kendo})?n.apply(t,i):n)||(e.exports=t)}});