php7 fixes
[Pman.Builder] / Pman.Builder.Wizard.js
index 48313bd..d7b6477 100644 (file)
@@ -31,7 +31,7 @@ Pman.Builder.Wizard = {
         'bigint' : 'int',
         'tinyint' : 'int',
         'smallint' : 'int',
-        'timestamp' : 'number',
+        'timestamp' : 'date', // for postgres... it's a date!??
         
         'double' : 'float',
         'decimal' : 'float',
@@ -99,10 +99,10 @@ Pman.Builder.Wizard = {
  
         
         
-        var colmodel = []
+        var colmodel = [];
         Roo.each(cfg.cols, function(cc) {
             colmodel.push( _t['Roo.grid.ColumnModel'](cc) );
-        })
+        });
         
         var dataSource = _t['Roo.data.Store'](cfg);
         dataSource['*prop'] = 'dataSource';
@@ -124,7 +124,7 @@ Pman.Builder.Wizard = {
                 "|rowdblclick": "function (_self, rowIndex, e)\n" + 
                     "{\n" + 
                     "    if (!_this.dialog) return;\n" + 
-                    "    _this.dialog.show( this.getDataSource().getAt(rowIndex), function() {\n" + 
+                    "    _this.dialog.show( this.getDataSource().getAt(rowIndex).data, function() {\n" + 
                     "        _this.grid.footer.onClick('first');\n" + 
                     "    }); \n" + 
                     "}\n"
@@ -201,7 +201,7 @@ Pman.Builder.Wizard = {
                             "|xns": "Roo.Toolbar"
                         }
                     ]
-                }, // end toolbar
+                } // end toolbar
             ].concat( colmodel)
         };
     },
@@ -291,13 +291,15 @@ Pman.Builder.Wizard = {
         if (!desc.length) {
             desc = rcfg.column;
         }
-        
+        if (rcfg.title && rcfg.title.length) {
+            desc = rcfg.title;
+        }
         
        
         return {
             "xtype": "ColumnModel",
             '.builderCfg' : Roo.encode(rcfg),
-            "header": rcfg.desc.length ? rcfg.desc : desc,
+            "header":   desc,
             "width":  ty == 'string' ? 200 : 75,
             "dataIndex": rcfg.column,
             "|renderer": ty != 'date' ? 
@@ -315,7 +317,7 @@ Pman.Builder.Wizard = {
         // simple version to start with..
         var _t = this;
         
-        var frmCfg =    _t['Roo.form.Form'](cfg, old);
+        var frmCfg =    _t['Roo.form.Form'](rcfg, old);
         
         // loop through the cols..
         // we need a 'display column' for each of these.
@@ -324,20 +326,20 @@ Pman.Builder.Wizard = {
      
         
          
-        var formHeight = (frmCfg.items.length * 40) + 40; // work out from number of form ites..
+        var formHeight = (frmCfg.items.length * 25) + 100; // work out from number of form ites..
        
         return {
             xtype : 'LayoutDialog',
-            "|xns": "Roo.grid",
+            "|xns": "Roo",
             '.builderCfg' : Roo.encode(rcfg),
             
             closable : false,
             collapsible: false,
             modal : true,
             height : formHeight,
-            resizable: false,
+            resizable: true,
             title: "Edit / Create " + rcfg.table,
-            width: 400,
+            width: 500,
             
             
             items  : [
@@ -384,13 +386,19 @@ Pman.Builder.Wizard = {
           
         var fcombo = function(cn) {
             var cret = '';
-            Roo.each(rcfg.cols_ux, function(n) {
+            
+            Roo.each(rcfg.cols_ex, function(n) {
+                
+                Roo.log(
+                        ['match' , n , 'to', cn, n.substring(0,cn.length) ].join(' ')
+                    );
                 if (n.substring(0,cn.length) == cn) {
                     cret = n;
-                    return true;
+                    return false;
                 }
-                return false;
+                return true;
             });
+            Roo.log("RETURN: " + cret);
             return cret;
         }
    
@@ -412,9 +420,9 @@ Pman.Builder.Wizard = {
             }
             if (ty  == 'int' ) {
                 cc.display = fcombo(cc.column);
-                if (cc.length) { 
-                  //  formElements.push( _t['Roo.form.ComboBox'](cc, {}));
-                  //  return;
+                if (cc.deps && cc.display.length) { 
+                   formElements.push( _t['Roo.form.ComboBox'](cc, {}));
+                    return;
                 }
                 formElements.push( _t['Roo.form.NumberField'](cc, {}));
                 return;
@@ -473,13 +481,16 @@ Pman.Builder.Wizard = {
         if (!desc.length) {
             desc = rcfg.column;
         }
+        if (rcfg.title && rcfg.title.length) {
+            desc = rcfg.title;
+        }
         
         return { 
             xtype : 'TextField',
             '|xns' : 'Roo.form',
             fieldLabel : desc,
             name : rcfg.column,
-            width : 200  
+            width : 300  
         };
     
     
@@ -496,13 +507,16 @@ Pman.Builder.Wizard = {
         if (!desc.length) {
             desc = rcfg.column;
         }
-        
+        if (rcfg.title && rcfg.title.length) {
+            desc = rcfg.title;
+        }
         return { 
             xtype : 'NumberField',
             '|xns' : 'Roo.form',
             fieldLabel : desc,
             name : rcfg.column,
-            width : 200
+            width : 100,
+            align : 'right'
         };
      
     },
@@ -518,7 +532,9 @@ Pman.Builder.Wizard = {
         if (!desc.length) {
             desc = rcfg.column;
         }
-        
+        if (rcfg.title && rcfg.title.length) {
+            desc = rcfg.title;
+        }
         return { 
             xtype : 'NumberField',
             '|xns' : 'Roo.form',
@@ -530,7 +546,7 @@ Pman.Builder.Wizard = {
      
     },
     
-    'Roo.form.Combobox' : function(rcfg, old)
+    'Roo.form.ComboBox' : function(in_rcfg, old)
     {
         /*
          * We need:
@@ -545,46 +561,76 @@ Pman.Builder.Wizard = {
          *      
          *
          */
+        var rcfg = in_rcfg;
+        var table , desc, display, idcol, hiddenName, name;
         
-        
-        
-        
-        var desc = rcfg.columnshort;
-        if (desc.substring(0, rcfg.table.length+1) == rcfg.table+'_') {
-            desc = desc.substring(rcfg.table.length+1);
-        }
-        desc = desc.replace(/_id$/, '');
-        
-        if (!desc.length) {
-            desc = rcfg.column;
-        }
-        
-        // set the display column (from the remote table)
-        var display = rcfg.display;
-        Roo.each(rfg.deps, function(dn) {
-            if (dn.column == dn) {
-                display = dn.columnshort;
+        // rcfg can be one of two things: (from a form)
+        // or direct..
+        if (rcfg.cols) {
+            display = rcfg.cols_ex[0];
+            
+            
+            table = rcfg.table;
+            
+            var ix = rcfg.cols[0].columnshort == display ? 0 : 1;
+            
+            idcol =  rcfg.cols[ ix ? 0 : 1 ].columnshort;
+            
+            desc = rcfg.cols[ix].title;
+            if (!desc.length) {
+                desc = rcfg.cols[ix].column;
+                if (desc.substring(0, table.length+1) == table+'_') {
+                    desc = desc.substring(table.length+1);
+                }
+                desc = desc.replace(/_id$/, '');
+                if (!desc.length) {
+                    desc = rcfg.cols[0].column;
+                }
             }
+            combofields = [
+                { name : idcol, type : 'int' },
+                display
+            ];
+            hiddenName = idcol;
+            name = display;
+                
+        } else { 
             
-        });
-        
-        var deps = rcfg.deps;
-        
-        
-        var maps_to = rcfg.deps;
-        var display = rcfg.display;
-        
-        
-        
-        
-        var remote_id = rcfg.column +'_' rcfg.deps;    // eg. comp_id_id
-        var remote_display = ''; // (eg. 'name'
-        var local_display= '';  // eg. company_id_name
-        
-        var table = rfg.deps[0].table;
-        
+            
+            
+            desc = rcfg.columnshort;
+            if (desc.substring(0, rcfg.table.length+1) == rcfg.table+'_') {
+                desc = desc.substring(rcfg.table.length+1);
+            }
+            desc = desc.replace(/_id$/, '');
+            
+            if (!desc.length) {
+                desc = rcfg.column;
+            }
+            if (rcfg.title && rcfg.title.length) {
+                desc = rcfg.title;
+            }
+            // set the display column (from the remote table)
+            display = rcfg.display;
+            Roo.each(rcfg.deps, function(dn) {
+                if (dn.column == rcfg.display) {
+                    display = dn.columnshort;
+                }
+                
+            });
+            
+            table = rcfg.deps[0].table;
+            idcol =  rcfg.maps_to;
+            hiddenName  = rcfg.column;
+            name = rcfg.column + '_' + display;
+            
+        }
         // a reader...( basic as we do meta queries to get the real one..)
-        
+        var combofields = [
+                { name : idcol , type : 'int' },
+                display
+            ];
+         
         
         return {
             '|xns' : 'Roo.form',
@@ -608,10 +654,15 @@ Pman.Builder.Wizard = {
             tpl : '<div class="x-grid-cell-text x-btn button"><b>{'+ display + '}</b> </div>',  
             queryParam : 'query['+display+']', 
             fieldLabel : desc,   
-            valueField : 'id',
-            displayField : name, 
-            hiddenName : rcfg.column, 
-            name : rcfg.column + '_' + display, 
+            
+            // from remote..
+            valueField : idcol,
+            displayField : display, 
+            
+            // from our table..
+            hiddenName : hiddenName, 
+            name : name, 
+            
             items : [
                 {
                     '*prop' : 'store',
@@ -641,7 +692,7 @@ Pman.Builder.Wizard = {
                             '*prop' : 'reader',
                             'xtype' : 'JsonReader',
                             '|xns' : 'Roo.data',
-                            'id' : 'id',
+                            'id' : idcol,
                             'root' : 'data',
                             'totalProperty' : 'total',
                             '|fields' : JSON.stringify(combofields)