* @type Boolean
*/
- debug: true,
+ debug: false,
/**
* True to automatically uncache orphaned Roo.Elements periodically (defaults to true)
/**
* Filters this composite to only elements that match the passed selector.
* @param {String} selector A string CSS selector
+ * @param {Boolean} inverse return inverse filter (not matches)
* @return {CompositeElement} this
*/
- filter : function(selector){
+ filter : function(selector, inverse){
var els = [];
+ inverse = inverse || false;
this.each(function(el){
- if(el.is(selector)){
+ var match = inverse ? !el.is(selector) : el.is(selector);
+ if(match){
els[els.length] = el.dom;
}
});
return;
}
}
+ var tree = this._tree ? this._tree() : this.tree();
+
+ if (!this.parent && typeof(Roo.bootstrap) != 'undefined' && tree.xns == Roo.bootstrap) {
+ //el = Roo.get(document.body);
+ this.parent = { el : true };
+ }
+
+
if (!this.parent) {
+ Roo.log("no parent - creating one");
+
el = el ? Roo.get(el) : false;
// it's a top level one..
}
// The 'tree' method is '_tree now'
- var tree = this._tree ? this._tree() : this.tree();
tree.region = tree.region || this.region;
- Roo.log('tree');
- Roo.log(tree);
-
if (this.parent.el === true) {
// bootstrap... - body..
this.parent.el = Roo.factory(tree);
}
+
this.el = this.parent.el.addxtype(tree);
this.fireEvent('built', this);
elmodules : [],
-
+ /**
+ * @property build_from_html
+ * Build elements from html - used by bootstrap HTML stuff
+ * - this is cleared after build is completed
+ * @type {boolean} true (default false)
+ */
+
+ build_from_html : false,
+
/**
* Register components to be built later.
*
*
*/
- build : function()
+ build : function(opts)
{
+ if (typeof(opts) != 'undefined') {
+ Roo.apply(this,opts);
+ }
+
this.preBuild();
var mods = this.buildOrder();
if (!this.hideProgress && Roo.MessageBox) {
Roo.MessageBox.hide();
}
+ Roo.XComponent.build_from_html = false; // reset, so dialogs will be build from javascript
+
Roo.XComponent.event.fireEvent('buildcomplete', _this.topModule);
// THE END...