From: Alan Knowles Date: Wed, 6 Jul 2011 15:18:02 +0000 (+0800) Subject: Roo/XComponent.js X-Git-Url: http://git.roojs.org/?p=roojs1;a=commitdiff_plain;h=0f2c1fa92fe2096ac0ae13e171e0ce06fd2efa48 Roo/XComponent.js --- diff --git a/Roo/XComponent.js b/Roo/XComponent.js index d824f8de85..fc06eb5eff 100644 --- a/Roo/XComponent.js +++ b/Roo/XComponent.js @@ -114,8 +114,45 @@ Roo.extend(Roo.XComponent, Roo.util.Observable, { renderTo : function(el) { - el = Roo.get(el); + if (!this.parent) { + + el = el ? Roo.get(el) : false; + + + // it's a top level one.. + var layoutbase = new Ext.BorderLayout(el || document.body, { + + center: { + titlebar: false, + autoScroll:false, + closeOnTab: true, + tabPosition: 'top', + //resizeTabs: true, + alwaysShowTabs: el ? false : true, + minTabWidth: 140 + } + }); + + var tree = this.tree(); + tree.region = 'center'; + + // set up component properties.. + this.el = layoutbase.addxtype(tree); + this.panel = this.el; + this.layout = this.panel.layout; + + return progressRun.defer(10, _this); + } + + var tree = m.tree(); + tree.region = tree.region || m.region; + m.el = m.parent.el.addxtype(tree); + m.fireEvent('built', m); + m.panel = m.el; + m.layout = m.panel.layout; + progressRun.defer(10, _this); + return false; @@ -322,12 +359,17 @@ Roo.apply(Roo.XComponent, { } var m = mods.shift(); + + Roo.debug && Roo.log(m); - if (typeof(m) == 'function') { // not sure if this is supported any more.. + // not sure if this is supported any more.. - modules that are are just function + if (typeof(m) == 'function') { m.call(this); return progressRun.defer(10, _this); } + + Roo.MessageBox.updateProgress( (total - mods.length)/total, "Building Interface " + (total - mods.length) + " of " + total + @@ -335,7 +377,7 @@ Roo.apply(Roo.XComponent, { ); - + // is the module disabled? var disabled = (typeof(m.disabled) == 'function') ? m.disabled.call(m.module.disabled) : m.disabled; @@ -344,6 +386,11 @@ Roo.apply(Roo.XComponent, { return progressRun(); // we do not update the display! } + // now build + + m.renderTo() + + if (!m.parent) { // it's a top level one.. var layoutbase = new Ext.BorderLayout(document.body, {