From acb648c2a7f5714b0a2569618f96999adcb49c91 Mon Sep 17 00:00:00 2001 From: Alan Knowles Date: Wed, 5 Jul 2017 14:25:55 +0800 Subject: [PATCH] roojs-core.js roojs-core-debug.js --- roojs-core-debug.js | 10 ++++++++-- roojs-core.js | 8 ++++---- 2 files changed, 12 insertions(+), 6 deletions(-) diff --git a/roojs-core-debug.js b/roojs-core-debug.js index 6278a7b8d8..76078d9fdb 100644 --- a/roojs-core-debug.js +++ b/roojs-core-debug.js @@ -15992,13 +15992,20 @@ Roo.extend(Roo.XComponent, Roo.util.Observable, { var hp = this.parent ? 1 : 0; Roo.debug && Roo.log(this); + var tree = this._tree ? this._tree() : this.tree(); + + if (!el && typeof(this.parent) == 'string' && this.parent.substring(0,1) == '#') { // if parent is a '#.....' string, then let's use that.. var ename = this.parent.substr(1); this.parent = false; Roo.debug && Roo.log(ename); switch (ename) { - case 'bootstrap-body' : + case 'bootstrap-body': + if (typeof(tree.el) != 'undefined' && tree.el == document.body) { + break; + } + if (typeof(Roo.bootstrap.Body) != 'undefined') { this.parent = { el : new Roo.bootstrap.Body() }; Roo.debug && Roo.log("setting el to doc body"); @@ -16026,7 +16033,6 @@ Roo.extend(Roo.XComponent, Roo.util.Observable, { Roo.debug && Roo.log("this.parent.el:"); Roo.debug && Roo.log(this.parent.el); - var tree = this._tree ? this._tree() : this.tree(); // altertive root elements ??? - we need a better way to indicate these. var is_alt = Roo.XComponent.is_alt || diff --git a/roojs-core.js b/roojs-core.js index 0e3a7292d4..06dcb59bfc 100644 --- a/roojs-core.js +++ b/roojs-core.js @@ -649,11 +649,11 @@ this.boxReady=true;this.setSize(this.width,this.height);if(this.x||this.y){this. return this;},onResize:function(A,B,C,D){},onPosition:function(x,y){},adjustSize:function(w,h){if(this.autoWidth){w='auto';}if(this.autoHeight){h='auto';}return {width:w,height:h};},adjustPosition:function(x,y){return {x:x,y:y};}}); // Roo/XComponent.js Roo.XComponent=function(A){Roo.apply(this,A);this.addEvents({'built':true});this.region=this.region||'center';Roo.XComponent.register(this);this.modules=false;this.el=false;};Roo.extend(Roo.XComponent,Roo.util.Observable,{el:false,panel:false,layout:false,disabled:false,parent:false,order:false,name:false,region:'center',items:false,_tree:false,render:function(el){el=el||false; -var hp=this.parent?1:0;Roo.debug&&Roo.log(this);if(!el&&typeof(this.parent)=='string'&&this.parent.substring(0,1)=='#'){var A=this.parent.substr(1);this.parent=false;Roo.debug&&Roo.log(A);switch(A){case 'bootstrap-body':if(typeof(Roo.bootstrap.Body)!='undefined'){this.parent={el:new Roo.bootstrap.Body()} -;Roo.debug&&Roo.log("setting el to doc body");}else{throw "Container is bootstrap body, but Roo.bootstrap.Body is not defined";}break;case 'bootstrap':this.parent={el:true};default:el=Roo.get(A);break;}if(!el&&!this.parent){Roo.debug&&Roo.log("Warning - element can not be found :#"+A); -return;}}Roo.debug&&Roo.log("EL:");Roo.debug&&Roo.log(el);Roo.debug&&Roo.log("this.parent.el:");Roo.debug&&Roo.log(this.parent.el);var B=this._tree?this._tree():this.tree();var C=Roo.XComponent.is_alt||(typeof(B.el)!='undefined'&&B.el==document.body)||(typeof(Roo.bootstrap)!='undefined'&&B.xns==Roo.bootstrap)||(typeof(Roo.mailer)!='undefined'&&B.xns==Roo.mailer); +var hp=this.parent?1:0;Roo.debug&&Roo.log(this);var A=this._tree?this._tree():this.tree();if(!el&&typeof(this.parent)=='string'&&this.parent.substring(0,1)=='#'){var B=this.parent.substr(1);this.parent=false;Roo.debug&&Roo.log(B);switch(B){case 'bootstrap-body':if(typeof(A.el)!='undefined'&&A.el==document.body){break; +}if(typeof(Roo.bootstrap.Body)!='undefined'){this.parent={el:new Roo.bootstrap.Body()};Roo.debug&&Roo.log("setting el to doc body");}else{throw "Container is bootstrap body, but Roo.bootstrap.Body is not defined";}break;case 'bootstrap':this.parent={el:true} +;default:el=Roo.get(B);break;}if(!el&&!this.parent){Roo.debug&&Roo.log("Warning - element can not be found :#"+B);return;}}Roo.debug&&Roo.log("EL:");Roo.debug&&Roo.log(el);Roo.debug&&Roo.log("this.parent.el:");Roo.debug&&Roo.log(this.parent.el);var C=Roo.XComponent.is_alt||(typeof(A.el)!='undefined'&&A.el==document.body)||(typeof(Roo.bootstrap)!='undefined'&&A.xns==Roo.bootstrap)||(typeof(Roo.mailer)!='undefined'&&A.xns==Roo.mailer); if(!this.parent&&C){this.parent={el:true};}if(!this.parent){Roo.debug&&Roo.log("no parent - creating one");el=el?Roo.get(el):false;this.parent={el:new Roo.BorderLayout(el||document.body,{center:{titlebar:false,autoScroll:false,closeOnTab:true,tabPosition:'top',alwaysShowTabs:el&&hp?false:true,hideTabs:el||!hp?true:false,minTabWidth:140} -})};}if(!this.parent.el){return;}B.region=B.region||this.region;var D=false;if(this.parent.el===true){this.parent.el=Roo.factory(B);D=true;}this.el=this.parent.el.addxtype(B,undefined,D);this.fireEvent('built',this);this.panel=this.el;this.layout=this.panel.layout; +})};}if(!this.parent.el){return;}A.region=A.region||this.region;var D=false;if(this.parent.el===true){this.parent.el=Roo.factory(A);D=true;}this.el=this.parent.el.addxtype(A,undefined,D);this.fireEvent('built',this);this.panel=this.el;this.layout=this.panel.layout; this.parentLayout=this.parent.layout||false;}});Roo.apply(Roo.XComponent,{hideProgress:false,buildCompleted:false,topModule:false,modules:[],elmodules:[],is_alt:false,build_from_html:false,register:function(A){Roo.XComponent.event.fireEvent('register',A); switch(typeof(A.disabled)){case 'undefined':break;case 'function':if(A.disabled()){return;}break;default:if(A.disabled){return;}break;}this.modules.push(A);},toObject:function(str){if(!str||typeof(str)=='object'){return str;}if(str.substring(0,1)=='#'){return str; }var ar=str.split('.');var rt,o;rt=ar.shift();try{eval('if (typeof '+rt+' == "undefined"){ o = false;} o = '+rt+';');}catch(e){throw "Module not found : "+str;}if(o===false){throw "Module not found : "+str;}Roo.each(ar,function(e){if(typeof(o[e])=='undefined'){throw "Module not found : "+str; -- 2.39.2