id : 1,
- render : function(data)
+ render : function(data, clsname)
{
+
+ // console.log(data);
+ console.log(clsname);
// for debugging
- //console.log(data); return;
+ // console.log(data); return;
+ //Roo.log(data);
+ //Roo.log(data);
+ // This would be alot simpler if we just use the XComponent code...
+ // data should now be dialog or xcomponent..
+ // only snag here is that we do not know the name currently..
+ //Roo.log(clsname);
+ var ix = '_src_' + this.id++;
+ // should replace module name with Builder._src_{id}
+ data = data.replace(clsname, 'Builder.' + ix);
+ // next.. we need to ensure that parent is set correctly..
+ // done by sender... otherwise building becomes difficult..
+ //data += "\n" + 'Builder.' + ix + ".parent = '#renderel';\n";
+ console.log(data);
+ //Roo.log(data);return;
+ //Roo.log(data);
if (this.scriptTag) {
document.body.removeChild(this.scriptTag);
this.scriptTag = false;
this.id++;
this.scriptTag.appendChild(
document.createTextNode(
- 'Builder._src_' + this.id + ' = ' + JSON.stringify(data, null,4)
+ data
));
- Roo.log(this.tree);
+ //Roo.log(this.tree);
MODULE = { isBuilder : true };
_this = MODULE;
if (!Builder.click) {
Builder.click= Roo.get(document.body).on('click', this.onclick, this);
}
+ Roo.log('Builder.'+ ix);
+ Roo.XComponent.build();
+ return;
- var ix = '_src_' + this.id;
+ return;
var wait_for_tree = function() {
Builder.tree = Builder[ix];
var bid = id.length ? 'builder-' + id : '';
console.log('{ "hover-node" : "' + bid + '"}');
this.lastID = id;
+ },
+ clearBootstrap : function()
+ {
+ // if the page is not bootstrap
+
+ if ( typeof(BuilderUseBootstrap) != 'undefined' ) {
+ Roo.log("it's boostrap - BuilderUseBootstrap is defined ");
+ // it's bootstrap - probably remove roo's css..
+ return;
+ }
+ Roo.log("remove css = BuilderUseBootstrap is not defined");
+ var rem = [];
+ var ar = document.getElementsByTagName('link');
+ for (var i = 0; i < ar.length;i++) {
+ var l = ar[i];
+ Roo.log(l.getAttribute('href'));
+ if (l.getAttribute('href').match(/bootstrap/)) {
+ rem.push(l);
+
+
+ }
+ //code
+ }
+ Roo.each(rem, function(l) { l.parentNode.removeChild(l);});
+ },
+
+ applyFlexy: function(tree)
+ {
+ if (typeof(tree['flexy:foreach']) != 'undefined') {
+ //Roo.log("add flexy:foreach");
+ tree.el.attr('flexy:foreach', tree['flexy:foreach']);
+ }
+ if (typeof(tree['flexy:if']) != 'undefined') {
+ //Roo.log("add flexy:if");
+ tree.el.attr('flexy:if', tree['flexy:if']);
+ }
+ if (typeof(tree['flexy:include']) != 'undefined') {
+ //Roo.log("add flexy:if");
+ tree.el.attr('flexy:include', tree['flexy:include']);
+ }
+
+ if (typeof(tree['xtype-bootstrap']) != 'undefined') {
+ //Roo.log("add flexy:if");
+ tree.el.attr('xtype', tree['xtype-bootstrap']);
+ }
+
+
+ if (!tree.items || !tree.items.length) { return; }
+
+ for (var i = 0; i < tree.items.length; i++){
+ this.applyFlexy(tree.items[i]);
+ }
}
-
+
+
};
-
\ No newline at end of file
+Roo.onReady(function() { Builder.clearBootstrap(); });
+Roo.XComponent.on('buildcomplete', function() {
+ Roo.log("xcomponent built!");
+
+ Builder.applyFlexy(Roo.XComponent.modules[0].el);
+});
\ No newline at end of file