php7 fixes
[Pman.Builder] / Pman.Tab.BuilderProps.js
index f8deb22..ceb9282 100644 (file)
@@ -2,36 +2,19 @@
 
 // Auto generated file - created by app.Builder.js- do not edit directly (at present!)
 
-
-
-// register the module first
-Pman.on('beforeload', function()
-{
-    Pman.register({
-        part :  ["Builder","Props"],
-        modKey : '001-Pman.Tab.BuilderProps',
-        module : Pman.Tab.BuilderProps,
-        region : 'center',
-        parent : Pman.Tab.BuilderTree,
-        name : "Pman.Tab.BuilderProps",
-        disabled : false, 
-        permname: '' 
-    });
-});
-
-Pman.Tab.BuilderProps = new Roo.util.Observable({
-
-    panel : false,
-    disabled : false,
-    parentLayout:  false,
-
-    add : function(parentLayout, region)
+Pman.Tab.BuilderProps = new Roo.XComponent({
+    part     :  ["Builder","Props"],
+    order    : '001-Pman.Tab.BuilderProps',
+    region   : 'center',
+    parent   : 'Pman.Tab.BuilderTree',
+    name     : "Pman.Tab.BuilderProps",
+    disabled : false, 
+    permname : '', 
+    _tree : function()
     {
-
         var _this = this;
-        this.parentLayout = parentLayout;
-
-        this.panel = parentLayout.addxtype({
+        var MODULE = this;
+        return {
             xtype: 'GridPanel',
             xns: Roo,
             region : 'south',
@@ -93,6 +76,7 @@ Pman.Tab.BuilderProps = new Roo.util.Observable({
                             v = true;
                         }
                         var ec = _this.grid.currentNode.elConfig;
+                        
                         if (id[0] == '!') {
                             ec.listeners = ec.listeners || {};
                             ec.listeners[id.substring(1)] = v;
@@ -102,7 +86,7 @@ Pman.Tab.BuilderProps = new Roo.util.Observable({
                         } else { 
                            ec[id] = v;
                         }
-                        
+                    
                         _this.grid.setSourceFromNode(ec);
                         
                         var bp = Pman.Tab.BuilderView.panel;
@@ -182,6 +166,48 @@ Pman.Tab.BuilderProps = new Roo.util.Observable({
                 xtype: 'Menu',
                 xns: Roo.menu,
                 items : [
+                    {
+                        xtype: 'Item',
+                        xns: Roo.menu,
+                        listeners : {
+                            click : function (_self, e)
+                            {
+                             
+                                 var rc = _this.grid.getSelectionModel().getSelectedCell();
+                                 var n = _this.grid.getDataSource().getAt(rc[0]).data.name;
+                                 if (n == 'xtype') {
+                                    return;
+                                 }
+                                  if (n[0] == '!') {
+                                    Roo.MesssageBox.alert("Error", "Error, you can not do this to listeners");
+                                    return;
+                                }
+                                 if (n[0] == '|') {
+                                    var val =  _this.grid.currentNode.elConfig[n];
+                                    delete _this.grid.currentNode.elConfig[n];
+                                    _this.grid.currentNode.elConfig[ n.substring(1)] = val;
+                                     
+                                 } else {
+                                    var val =  _this.grid.currentNode.elConfig[n];
+                                    delete _this.grid.currentNode.elConfig[n];
+                                    _this.grid.currentNode.elConfig['|'+ n] = val;
+                                 }
+                                // reloads      
+                                _this.grid.setCurrrentNode(_this.grid.currentNode);
+                                var bp = Pman.Tab.BuilderView.panel;
+                                bp.redraw.defer(100,bp, [true]);
+                                // update the tree's  text
+                                _this.grid.currentNode.setText(
+                                    Pman.Builder.Tree.configToText(_this.grid.currentNode.elConfig)
+                                );
+                            }
+                        },
+                        text : "Toggle property as Javascript"
+                    },
+                    {
+                        xtype: 'Separator',
+                        xns: Roo.menu
+                    },
                     {
                         xtype: 'Item',
                         xns: Roo.menu,
@@ -195,7 +221,13 @@ Pman.Tab.BuilderProps = new Roo.util.Observable({
                                     return;
                                 }
                                 if (n[0] == '!') {
-                                    delete _this.grid.currentNode.elConfig.listeners[n.substring(1)];
+                                    try{
+                                        delete _this.grid.currentNode.elConfig.listeners[n.substring(1)]; 
+                                    }catch(err){
+                                        delete _this.grid.currentNode.elConfig[n];
+                                        Roo.log(err);
+                                    }
+                                    
                                 } else {
                                     delete _this.grid.currentNode.elConfig[n];
                                 }
@@ -227,6 +259,7 @@ Pman.Tab.BuilderProps = new Roo.util.Observable({
                                 // show a dialog to select property??
                                 // or should we add a line and get clever with pulldowns..
                                 var ec = _this.grid.currentNode.elConfig;
+                            
                                 Pman.Dialog.BuilderProp.show({
                                         xtype : ec.xtype  || '',
                                         xns: ec['|xns'] || '',
@@ -260,6 +293,7 @@ Pman.Tab.BuilderProps = new Roo.util.Observable({
                                         xns: ec['|xns'] || '',
                                         list: 'events'
                                 }, function (n,val) {
+                                    n = '!|' + n;
                                     ec[n] = val || "function () {\n\n}";
                                     _this.grid.setCurrrentNode(_this.grid.currentNode);
                                     var bp = Pman.Tab.BuilderView.panel;
@@ -292,8 +326,6 @@ Pman.Tab.BuilderProps = new Roo.util.Observable({
                     }
                 ]
             }
-        });
-        this.layout = this.panel.layout;
-
+        };
     }
 });