_strings : {
'b021df6aac4654c454f46c77646e745f' :"Label",
'793548e77e782c209a78ed67f255b5e2' :"Display Field",
+ '040076bde7f6b3387448e32b66c2eee0' :"To BJS",
'4ce58cbe362a5d7b156992a496d55bf3' :"Database Column",
'189efd19c4153526994a6d7ea5f6f068' :"Field Type",
'2f616612593df62aeed112de4f03110e' :"Edit a Grid",
'0ccc2bf3fb98387c23b6ca5500244d6e' :"Use ",
'c671c787b49f50a3ace9fdc5bd597825' :"core_enum",
- 'dc30ec20708ef7b0f641ef78b7880a15' :"DEBUG",
'32954654ac8fe66a1d09be19001de2d4' :"Width",
'a1fa27779242b4902f7ae3bdd5c6d508' :"Type",
- '6e7376dca68a2386a8737944196ab491' :"Create / Edit Grid"
+ '6e7376dca68a2386a8737944196ab491' :"Create / Edit Grid",
+ 'f541774a08fc687f6e2016c77a6ebca5' :"Load Data"
},
part : ["Editors", "LayoutDialog" ],
},
{
'|xns' : 'Roo.Toolbar',
- text : _this._strings['dc30ec20708ef7b0f641ef78b7880a15'],
+ text : _this._strings['f541774a08fc687f6e2016c77a6ebca5'],
xns : Roo.Toolbar,
xtype : 'Button',
listeners : {
click : function (_self, e)
{
- Roo.log(_this.ftype_combo);
var data = {
"manage_scale_id": {
"Field": "manage_scale_id",
}
};
- Roo.log('debuging...');
+ Roo.log('Loading Data...');
_this.panel.loadData(data);
+ }
+ }
+ },
+ {
+ '|xns' : 'Roo.Toolbar',
+ xns : Roo.Toolbar,
+ xtype : 'Separator'
+ },
+ {
+ '|xns' : 'Roo.Toolbar',
+ text : _this._strings['040076bde7f6b3387448e32b66c2eee0'],
+ xns : Roo.Toolbar,
+ xtype : 'Button',
+ listeners : {
+ click : function (_self, e)
+ {
+
+ Roo.log('Converting to BJS...');
+ _this.panel.toBJS();
+
}
}
}
'|xns' : 'Roo.data',
data : [
[ 'ComboBox', "ComboBox"],
+ [ 'ComboBoxArray', "ComboBoxArray"]
[ 'TextField' , "TextField"],
[ 'NumberField', "NumberField"],
[ 'TextArea', "TextArea"],
data : [
['id']
],
- fields : [ 'ftype'],
+ fields : [ 'dfield'],
xns : Roo.data,
xtype : 'SimpleStore'
},
'|xns' : 'Roo.form',
allowBlank : false,
- displayField : 'ftype',
+ displayField : 'dfield',
editable : false,
hiddenName : 'status',
listWidth : 200,
mode : 'local',
name : 'display_field',
triggerAction : 'all',
- valueField : 'ftype',
+ valueField : 'dfield',
width : 150,
xns : Roo.form,
xtype : 'ComboBox',
Roo.log('before edit!!!');
Roo.log(e);
+ if(e.field != 'display_field'){
+ return;
+ }
_this.grid.colModel.getCellEditor(e.column, e.row).field.store.loadData(e.record.data.relates_to_schema);
},
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){
rs.push([rr.Field]);
}
+
+ field_type = 'ComboBox';
}
+ if(r.Field == 'id'){ // usually 'id' is hidden on the form
+ field_type = 'Hidden';
+ }
+
+
+
var o = {
active : !has_s,
dataIndex : r.Field,
type : r.Type,
title : r.Field,
- width : 100,
- ftype : 'TextField',
- display_field : r.Field + '_display_name',
+ width : 200,
+ ftype : field_type,
+ display_field : rc, //r.Field + '_display_name',
relates_to_table : rt,
relates_to_col : rc,
relates_to_schema : rs
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 = [];
ar.push(a);
});
-
- Roo.log(ar);
this.schema = data;
//alert("IPC:TEST:" + JSON.stringify(ar));
var el = {
fieldLabel : rec.data.title,
name : rec.data.dataIndex,
- width : 200, //row.type == 'string' ? 200 : 75,
+ 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') {
-
- el.queryParam = 'query[' + combofields_name + ']';// SET WHEN USED
+ if (el.xtype == 'ComboBox') {
+
+ el.alwaysQuery = true;
+ el.triggerAction = 'all';
+ el.forceSelection = true;
+ el.selectOnFocus = true;
+ el.minChars = 2;
+ el.editable = true;
+
+
+ el.queryParam = 'query[' + rec.data.display_field + ']';// SET WHEN USED
el.hiddenName = rec.data.dataIndex // SET WHEN USED eg. project_id
- el.displayField = combofields_name; // SET WHEN USED eg. project_id
- el.name = old.name + '_' + combofields_name; // SET WHEN USED eg. project_id_name
- el.tpl = '<div class="x-grid-cell-text x-btn button"><b>{' + combofields_name +'}</b> </div>'; // SET WHEN USED
+ el.name = rec.data.dataIndex + '_' + rec.data.display_field; // SET WHEN USED eg. project_id_name
+
+ el.displayField = rec.data.display_field // SET WHEN USED eg. project_id
+ el.valueField = rec.data.relates_to_col
+
+ el.tpl = '<div class="x-grid-cell-text x-btn button"><b>{' + rec.data.display_field +'}</b> </div>'; // SET WHEN USED
el.items = [
'xtype' : 'HttpProxy',
'method' : 'GET',
'|xns' : 'Roo.data',
- '|url' : "baseURL + '/Roo/" + reftable + ".php'",
+ '|url' : "baseURL + '/Roo/" + rec.data.relates_to_table + ".php'",
},
{
}
+ if (el.xtype == 'ComboBoxArray') {
+
+ el.hiddenName = rec.data.dataIndex;
+ el.name = rec.data.dataIndex + '_' + rec.data.display_field;
+
+ el.items = [
+ 'alwaysQuery' : true,
+ 'triggerAction' : 'all',
+ 'forceSelection': true,
+ 'selectOnFocus' : true,
+ 'minChars' :2,
+ 'editable' : true,
+ {
+ '*prop' : 'store',
+ 'xtype' : 'Store',
+ '|xns' : 'Roo.data',
+ 'remoteSort' : true,
+ '|sortInfo' : '{ direction : \'ASC\', field: \'id\' }',
+ listeners : {
+ '|beforeload' : 'function (_self, o)' +
+ "{\n" +
+ " o.params = o.params || {};\n" +
+ " // set more here\n" +
+ "}\n"
+ },
+ items : [
+ {
+ '*prop' : 'proxy',
+ 'xtype' : 'HttpProxy',
+ 'method' : 'GET',
+ '|xns' : 'Roo.data',
+ '|url' : "baseURL + '/Roo/" + rec.data.relates_to_table + ".php'",
+ },
+
+ {
+ '*prop' : 'reader',
+ 'xtype' : 'JsonReader',
+ '|xns' : 'Roo.data',
+ 'id' : 'id',
+ 'root' : 'data',
+ 'totalProperty' : 'total'
+
+
+ }
+ ]
+ }
+ ];
+
+ el.queryParam = 'query[' + rec.data.display_field + ']';// SET WHEN USED
+
+ el.hiddenName = rec.data.dataIndex // SET WHEN USED eg. project_id
+ el.name = rec.data.dataIndex + '_' + rec.data.display_field; // SET WHEN USED eg. project_id_name
+
+ el.displayField = rec.data.display_field // SET WHEN USED eg. project_id
+ el.valueField = rec.data.relates_to_col
+
+ el.tpl = '<div class="x-grid-cell-text x-btn button"><b>{' + rec.data.display_field +'}</b> </div>'; // SET WHEN USED
+
+
+
+
+ }
+
+ if (el.xtype == 'HtmlEditor') {
+ el.height = 250,
+ el.resizable = 's',
+ el.items = [
+ {
+ '* prop' : 'toolbars[]',
+ '|xns' : 'Roo.form.HtmlEditor',
+ 'xtype' : 'ToolbarContext'
+ },
+ {
+ '* prop' : 'toolbars[]',
+ '|xns' : 'Roo.form.HtmlEditor',
+ 'xtype' : 'ToolbarStandard'
+
+ }
+ ]
+ }
formElements.push(el);
- formHeight += rec.data.ftype == 'TextArea' ? 100 : 30;
+ formHeight += rec.data.ftype == 'TextArea' ? 100 : ((rec.data.ftype == 'HtmlEditor') ? 250 : 30);
});