resources/Editors/Editor.Roo.LayoutDialog.bjs
[app.Builder.js] / resources / Editors / Editor.Roo.LayoutDialog.js
index 1df00f9..e263d60 100644 (file)
@@ -533,6 +533,31 @@ Editor.Roo.LayoutDialog = new Roo.XComponent({
            var r = data[k];
            var has_s = typeof(r.relates_to_schema) != 'undefined';
            
+           Roo.log(r.Type);
+           var field_type = 'TextField';
+           
+           if (r.Type == 'text'){
+               field_type = 'TextArea';
+           }
+           
+           if(r.Type == 'date' || r.Type == 'datetime'){
+               field_type = 'DateField';
+           }
+               
+           var regex = /(.*?)\((.*?)\)/;
+           
+           if(regex.test(r.Type)){
+               var type_match = regex.exec(r.Type);
+               
+               if(type_match[1] == 'int'){
+                   field_type = 'NumberField';
+                       
+                   if(type_match[2] * 1  < 11){
+                       field_type = 'CheckBox';
+                   }
+               }
+           } 
+           
            var rt = '', rc = '', rs = [];
            
            if(has_s){
@@ -545,15 +570,23 @@ Editor.Roo.LayoutDialog = new Roo.XComponent({
                    rs.push([rr.Field]);
                    
                }
+               
+               field_type = 'ComboBox';
+           }
+           
+           if(r.Field == 'id'){
+               field_type = 'Hidden';
            }
            
+           
+           
            var o = {
                active : !has_s,
                dataIndex : r.Field,
                type : r.Type,
                title : r.Field,
-               width : 100,
-               ftype : 'TextField',
+               width : 200,
+               ftype : field_type,
                display_field : rc, //r.Field + '_display_name',
                relates_to_table : rt,
                relates_to_col : rc,
@@ -562,26 +595,6 @@ Editor.Roo.LayoutDialog = new Roo.XComponent({
            
            d.push(o);
            
-           if (!has_s) {
-               continue;
-           }
-           
-           for (var kk in r.relates_to_schema) {         
-               var rr = r.relates_to_schema[kk];
-               if (rr.Field == r.relates_to_col) {
-                   continue;
-               }
-               
-               var o = {
-                   active : false,
-                   dataIndex : r.Field + '_'+ rr.Field,
-                   type : r.Type,
-                   title : r.Field,
-                   width : 100
-               };
-               
-               d.push(o);
-           }
        }
    
        var ar = [];
@@ -629,25 +642,25 @@ Editor.Roo.LayoutDialog = new Roo.XComponent({
            var el = {
                fieldLabel : rec.data.title,
                name : rec.data.dataIndex,
-               width : r.data.width,
+               width : rec.data.width,
                '|xns' : 'Roo.form',
                xtype : rec.data.ftype
            }
-            if (xtype == 'DateField') {
+            if (el.xtype == 'DateField') {
                el.format = 'Y-m-d';
                el.useIso = true;
                el.width = 100;
            }
            
-           if (xtype == 'TextArea') {
+           if (el.xtype == 'TextArea') {
                el.height = 100;
            }
            
-           if (xtype == 'Hidden') {
+           if (el.xtype == 'Hidden') {
                delete el.fieldLabel;
                delete el.width;
            }
-           if (xtype == 'Combobox') {
+           if (el.xtype == 'ComboBox') {
            
    
                el.queryParam  = 'query[' + rec.data.display_field + ']';// SET WHEN USED
@@ -701,15 +714,17 @@ Editor.Roo.LayoutDialog = new Roo.XComponent({
            
            }
            
-           if (xtype == 'HtmlEditor') {
-               el.height = 100,
+           if (el.xtype == 'HtmlEditor') {
+               el.height = 250,
                el.resizable = 's',
-               el.toolbar = [
+               el.items = [
                    {
+                       '* prop' : 'toolbars[]',
                        '|xns' : 'Roo.form.HtmlEditor',
                        'xtype' : 'ToolbarContext'
                    },
                    {
+                       '* prop' : 'toolbars[]',
                        '|xns' : 'Roo.form.HtmlEditor',
                        'xtype' : 'ToolbarStandard'
    
@@ -719,7 +734,7 @@ Editor.Roo.LayoutDialog = new Roo.XComponent({
            
            formElements.push(el);
            
-           formHeight += rec.data.ftype == 'TextArea' ? 100 : 30;
+           formHeight += rec.data.ftype == 'TextArea' ? 100 : ((rec.data.ftype == 'HtmlEditor') ? 250 : 30);
            
            
        });