X-Git-Url: http://git.roojs.org/?a=blobdiff_plain;f=builder.html.js;h=ee57eddd77282f3cb1dbb0b08f3f954a3bec49db;hb=119290bc3234e9ece1c64dbd72ca486d9633b5b7;hp=fa031aabb0786f2fdd241898400263bd04de21dd;hpb=da99db4bb001cc5d4b27f584023ebdd5eddc0842;p=app.Builder.js diff --git a/builder.html.js b/builder.html.js index fa031aabb..ee57eddd7 100644 --- a/builder.html.js +++ b/builder.html.js @@ -8,23 +8,70 @@ var _this = MODULE; // the apprenderer. Builder = { - render : function(data) + scriptTag : false, + + id : 1, + + render : function(data, 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"; + + //Roo.log(data);return; + //Roo.log(data); + if (this.scriptTag) { + document.body.removeChild(this.scriptTag); + this.scriptTag = false; + } + + this.scriptTag = document.body.appendChild(document.createElement('script')); + this.scriptTag.setAttribute('type','text/javascript'); + + this.id++; + this.scriptTag.appendChild( + document.createTextNode( + data + )); + - this.tree = data; - MODULE = { isBuilder : true }; + //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; - this.redraw(false); + return; + var wait_for_tree = function() { + + Builder.tree = Builder[ix]; + if (!Builder.tree) { + Roo.log("Wating for tree : " + ix); + wait_for_tree.defer(100); + return; + } + Builder.redraw(false); + } + wait_for_tree.defer(100); }, + tree : {}, renderObj : { isBuilder : true }, dialogroot : false, @@ -142,11 +189,13 @@ Builder = { console.log(cfg) this.layoutbase.addxtype( cfg ); } catch (e) { - console.log("GOT ERROR?"); + console.log("GOT ERROR? - saved in Builder.lastError"); + Builder.lastError = e; console.log(e); console.log(typeof(e)); console.log(this.dump(e)); + console.trace(); } @@ -198,7 +247,7 @@ Builder = { var _tmp = false; - + /** eval:var:MOUDULE **/ /** eval:var:_this **/ /** eval:var:_tmp **/ // stupid IE can not return objects evaluated..