Roo/Template.js
[roojs1] / Roo / XComponent.js
index 45b7023..99b60cd 100644 (file)
@@ -4,14 +4,7 @@
  */
  
 /**
- * 
- * This needs some more thought..
- * 
- * 
- * 
  * @class Roo.XComponent
- * @extends Roo.data.Observable
- * 
  * A delayed Element creator...
  * 
  * Mypart.xyx = new Roo.XComponent({
     region : 'xxxx'
     disabled : function() {} 
      
-    items : [  // technically only one component..
+    tree : function() { // return an tree of xtype declared components
+        var MODULE = this;
+        return 
         {
             xtype : 'NestedLayoutPanel',
             // technicall
         }
      ]
  *})
- * 
- * 
+ * @extends Roo.util.Observable
+ * @constructor
+ * @param cfg {Object} configuration of component
  * 
  */
 Roo.XComponent = function(cfg) {
@@ -54,7 +50,7 @@ Roo.XComponent = function(cfg) {
     Roo.XComponent.register(this);
     this.modules = false;
     this.el = false; // where the layout goes..
-    this.setX(this.items[0]);
+    
     
 }
 Roo.extend(Roo.XComponent, Roo.util.Observable, {
@@ -108,31 +104,7 @@ Roo.extend(Roo.XComponent, Roo.util.Observable, {
      * It's done this way to stay compatible with the Xtype system...
      */
     items : false,
-    
-    /**
-     * setx 
-     * Set's the xowner value on all the children and some special properties..
-     * basically var _this= this.xmodule; can be used in any component..
-     * to refer to it's own xmodule
-     * @param xtype element.
-     */
-    setX : function(obj)
-    {
-        obj.xmodule = this;
-        var aprops = [ 'items', 'buttons' ];
-        var oprops = [ 'grid', 'dataSource' , 'colModel'];
-        Roo.each(aprops, function (p) {
-            Roo.each(obj[p] || [], function (o) {
-                this.setX(o);
-            }, this);
-        }, this);
-        Roo.each(oprops, function (p) {
-            if (obj[p]) {
-                this.setX(o);
-            }
-        },this);
-        
-    }
+     
      
     
 });
@@ -165,7 +137,6 @@ Roo.apply(Roo.XComponent, {
     
     /**
      * Register components to be built later.
-     * @param {Object} details about module
      *
      * This solves the following issues
      * - Building is not done on page load, but after an authentication process has occured.
@@ -182,7 +153,8 @@ Roo.apply(Roo.XComponent, {
           parent : 'Pman.layout',
           disabled : false,  // or use a function..
         })
-     * 
+     
+     * * @param {Object} details about module
      */
     register : function(obj) {
         this.modules.push(obj);
@@ -296,7 +268,7 @@ Roo.apply(Roo.XComponent, {
         
         this.preBuild();
         var mods = this.buildOrder();
-        throw "testing";
+      
         //this.allmods = mods;
         //console.log(mods);
         //return;
@@ -365,16 +337,17 @@ Roo.apply(Roo.XComponent, {
                          minTabWidth: 140
                     }
                 });
-                m.items[0].region = 'center';
-                m.el = layoutbase.addxtype(  m.items[0] );
+                var tree = m.tree();
+                tree.region = 'center';
+                m.el = layoutbase.addxtype(tree);
                 m.panel = m.el;
                 m.layout = m.panel.layout;    
                 return progressRun.defer(10, _this);
             }
             
-            
-            m.items[0].region = m.items[0].region || m.region;
-            m.el = m.parent.el.addxtype(m.items[0]);
+            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;