*/
/**
- *
- * 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) {
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, {
* 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);
-
- }
+
});
/**
* 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.
parent : 'Pman.layout',
disabled : false, // or use a function..
})
- *
+
+ * * @param {Object} details about module
*/
register : function(obj) {
this.modules.push(obj);
this.preBuild();
var mods = this.buildOrder();
- throw "testing";
+
//this.allmods = mods;
//console.log(mods);
//return;
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;