builder.html.js
[app.Builder.js] / builder.html.js
index d9cbc9d..703b1b5 100644 (file)
@@ -1,14 +1,14 @@
 //<script type="text/javascript">
-
-_this = { } ; // a fake self for rendering.
-
+var _this = { isBuilder : true };
+   
 Builder  = {
     
     render : function(data)
     {
          
         this.tree = data;
-        
+        _this = { isBuilder : true };
         if (!Builder.click) {
             Builder.click= Roo.get(document.body).on('click', this.onclick, this);
          
@@ -83,6 +83,7 @@ Builder  = {
         
         
         this.munge(cfg);
+        
         //console.log(this.dump(cfg)); 
         // we draw either a dialog or a tab..
         
@@ -98,6 +99,7 @@ Builder  = {
                 id : cfg.id
             });
             
+            
             this.dialog = new Roo[cfg.xtype](this.dialogroot, cfg);
             //this.dialog.el.on('click', this.panelClick, this);
             this.dialog.show();
@@ -130,6 +132,7 @@ Builder  = {
         }
         try {
             console.log("ADDING CFG");    
+            console.log(cfg)
             this.layoutbase.addxtype(  cfg ); 
         } catch (e) {
             console.log("GOT ERROR?");    
@@ -143,7 +146,7 @@ Builder  = {
     },
   
     
-    munge :function (cfg)
+    munge :function (cfg, isListener)
     {
         var xitems = false;
         //cfg.cls = cfg.cls || '';
@@ -165,16 +168,17 @@ Builder  = {
         
         for(var p in cfg){
             // key is not string?!?!?!!?
+          
             if (typeof(p) != 'string') {
                 continue;
             }
             
             if (typeof(cfg[p]) == 'object') { // listeners!!!
-                this.munge(cfg[p]);
+                this.munge(cfg[p], p == 'listeners');
                 continue;
             }
             // SPECIAL - PIPE
-            if (p.charAt(0) == '|') {
+            if (p.charAt(0) == '|' || isListener) {
                 
                 if (!cfg[p].length) {
                     delete cfg[p];
@@ -183,12 +187,14 @@ Builder  = {
                 try {
                     var _tmp = false;
                     
-                    var _this = this.renderObj; /// fake '_this' object..
+                    
                     /** eval:var:_this **/
                     /** eval:var:_tmp **/
                     // stupid IE can not return objects evaluated..
+                   // console.log('_tmp =(' + cfg[p] + ')');
                     eval('_tmp =(' + cfg[p] + ')');
-                    cfg[p.substr(1)] = _tmp;
+                    cfg[isListener ? p : p.substr(1)] = _tmp;
+                    
                     //if (typeof(_tmp) == 'undefined') {
                     //    alert(cfg[p]);
                    // }