Revert "File.js"
[app.Builder.js] / builder.html.js
index fa031aa..ee57edd 100644 (file)
@@ -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..