],
- fields : [ 'active', 'dataIndex', 'type','title', 'width', 'ftype', 'display_field' ],
+ fields : [
+ 'active',
+ 'dataIndex',
+ 'type',
+ 'title',
+ 'width',
+ 'ftype',
+ 'display_field',
+ 'relates_to_table',
+ 'relates_to_col',
+ 'relates_to_schema'
+ ],
id : 'dataindex',
xns : Roo.data,
xtype : 'SimpleStore'
'|xns' : 'Roo.Toolbar',
text : _this._strings['dc30ec20708ef7b0f641ef78b7880a15'],
xns : Roo.Toolbar,
- xtype : 'Button'
+ xtype : 'Button',
+ listeners : {
+ click : function (_self, e)
+ {
+ Roo.log(_this.ftype_combo);
+ var data = {
+ "manage_scale_id": {
+ "Field": "manage_scale_id",
+ "Type": "int(11)",
+ "Null": "NO",
+ "Key": null,
+ "Default": "0",
+ "Extra": null,
+ "relates_to_table": "core_enum",
+ "relates_to_col": "id",
+ "relates_to_schema": {
+ "id": {
+ "Field": "id",
+ "Type": "int(11)",
+ "Null": "NO",
+ "Key": "PRI",
+ "Default": null,
+ "Extra": "auto_increment"
+ },
+ "etype": {
+ "Field": "etype",
+ "Type": "varchar(32)",
+ "Null": "NO",
+ "Key": null,
+ "Default": null,
+ "Extra": null
+ },
+ "name": {
+ "Field": "name",
+ "Type": "varchar(255)",
+ "Null": "NO",
+ "Key": null,
+ "Default": null,
+ "Extra": null
+ },
+ "active": {
+ "Field": "active",
+ "Type": "int(2)",
+ "Null": "NO",
+ "Key": null,
+ "Default": "1",
+ "Extra": null
+ },
+ "seqid": {
+ "Field": "seqid",
+ "Type": "int(11)",
+ "Null": "NO",
+ "Key": "MUL",
+ "Default": "0",
+ "Extra": null
+ },
+ "seqmax": {
+ "Field": "seqmax",
+ "Type": "int(11)",
+ "Null": "NO",
+ "Key": null,
+ "Default": "0",
+ "Extra": null
+ },
+ "display_name": {
+ "Field": "display_name",
+ "Type": "text",
+ "Null": "NO",
+ "Key": null,
+ "Default": null,
+ "Extra": null
+ },
+ "is_system_enum": {
+ "Field": "is_system_enum",
+ "Type": "int(2)",
+ "Null": "NO",
+ "Key": null,
+ "Default": "0",
+ "Extra": null
+ }
+ }
+ },
+ "person_type": {
+ "Field": "person_type",
+ "Type": "text",
+ "Null": "NO",
+ "Key": null,
+ "Default": null,
+ "Extra": null
+ },
+ "employer_name": {
+ "Field": "employer_name",
+ "Type": "text",
+ "Null": "NO",
+ "Key": null,
+ "Default": null,
+ "Extra": null
+ },
+ "birth_date": {
+ "Field": "birth_date",
+ "Type": "date",
+ "Null": "NO",
+ "Key": null,
+ "Default": "0000-00-00",
+ "Extra": null
+ },
+ "employ_start_date": {
+ "Field": "employ_start_date",
+ "Type": "date",
+ "Null": "NO",
+ "Key": null,
+ "Default": "0000-00-00",
+ "Extra": null
+ },
+ "employ_end_date": {
+ "Field": "employ_end_date",
+ "Type": "date",
+ "Null": "NO",
+ "Key": null,
+ "Default": "0000-00-00",
+ "Extra": null
+ },
+ "hide_same_employer": {
+ "Field": "hide_same_employer",
+ "Type": "int(4)",
+ "Null": "NO",
+ "Key": null,
+ "Default": "0",
+ "Extra": null
+ },
+ "salary_currency": {
+ "Field": "salary_currency",
+ "Type": "varchar(256)",
+ "Null": "NO",
+ "Key": null,
+ "Default": null,
+ "Extra": null
+ },
+ "quota_currency": {
+ "Field": "quota_currency",
+ "Type": "varchar(256)",
+ "Null": "NO",
+ "Key": null,
+ "Default": null,
+ "Extra": null
+ },
+ "created_dt": {
+ "Field": "created_dt",
+ "Type": "datetime",
+ "Null": "NO",
+ "Key": null,
+ "Default": "0000-00-00 00:00:00",
+ "Extra": null
+ },
+ "updated_dt": {
+ "Field": "updated_dt",
+ "Type": "datetime",
+ "Null": "NO",
+ "Key": null,
+ "Default": "0000-00-00 00:00:00",
+ "Extra": null
+ }
+ };
+
+ Roo.log('debuging...');
+ _this.panel.loadData(data);
+
+ }
+ }
}
]
[ 'TextArea', "TextArea"],
[ 'HtmlEditor', "HtmlEditor"],
[ 'Hidden', "Hidden"],
- [ 'DateField', "DateField"] ,
- [ 'Checkbox', "Checkbox"]
+ [ 'DateField', "DateField"],
+ [ 'Checkbox', "Checkbox"]
// checkbox?
],
fields : [ 'ftype', 'fname'],
hiddenName : 'status',
listWidth : 200,
mode : 'local',
- name : 'field_type',
+ name : 'ftype',
triggerAction : 'all',
valueField : 'ftype',
width : 150,
store : {
'|xns' : 'Roo.data',
data : [
- [ 'ComboBox', "ComboBox"],
- [ 'Text' , "TextField"],
- [ 'Number', "NumberField"],
- [ 'TextArea', "TextArea"],
- [ 'Html', "HtmlEntry"]
-
+ ['id']
],
- fields : [ 'ftype', 'fname'],
+ fields : [ 'dfield'],
xns : Roo.data,
xtype : 'SimpleStore'
},
'|xns' : 'Roo.form',
allowBlank : false,
- displayField : 'fname',
+ displayField : 'dfield',
editable : false,
hiddenName : 'status',
listWidth : 200,
mode : 'local',
- name : 'combo_display',
+ name : 'display_field',
triggerAction : 'all',
- valueField : 'ftype',
+ valueField : 'dfield',
width : 150,
xns : Roo.form,
xtype : 'ComboBox',
}
],
listeners : {
+ beforeedit : function (e)
+ {
+ Roo.log('before edit!!!');
+ Roo.log(e);
+
+ if(e.field != 'dfield'){
+ return false;
+ }
+
+ _this.grid.colModel.getCellEditor(e.column, e.row).field.store.loadData(e.record.data.relates_to_schema);
+ },
cellclick : function (_self, rowIndex, columnIndex, e)
{
fitToframe : true,
loadData : function(data) {
- alert("IPC:TEST:" + JSON.stringify(data,null,4));
+ //alert("IPC:TEST:" + JSON.stringify(data,null,4));
+
+ var fields = _this.grid.dataSource.reader.recordType.prototype.fields;
- var ar = [];
+
+ var d = [];
+
for (var k in data) {
var r = data[k];
- var has_s = typeof(r.relates_to_schema) != 'undefined'
- ar.push([ !has_s , r.Field, r.Type, r.Field, 100 , 'TextField', r.Field + '_display_name'] );
+ var has_s = typeof(r.relates_to_schema) != 'undefined';
+
+ var rt = '', rc = '', rs = [];
+
+ if(has_s){
+ for (var kk in r.relates_to_schema) {
+ var rr = r.relates_to_schema[kk];
+
+ rt = r.relates_to_table;
+ rc = r.relates_to_col;
+
+ rs.push([rr.Field]);
+
+ }
+ }
+
+ var o = {
+ active : !has_s,
+ dataIndex : r.Field,
+ type : r.Type,
+ title : r.Field,
+ width : 100,
+ ftype : 'TextField',
+ display_field : 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;
}
- ar.push([ false, r.Field + '_'+ rr.Field, rr.Type, rr.Field, 100] );
+
+ var o = {
+ active : false,
+ dataIndex : r.Field + '_'+ rr.Field,
+ type : r.Type,
+ title : r.Field,
+ width : 100
+ };
+
+ d.push(o);
}
- */
}
+
+ var ar = [];
+
+ Roo.each(d, function(dd){
+
+ var a = [];
+
+ for(var j = 0; j < fields.length; j++){
+ var f = fields.items[j];
+
+ if(dd.hasOwnProperty(f.name)){
+ a.push(dd[f.name]);
+ }
+ }
+
+ ar.push(a);
+ });
+
+
+ Roo.log(ar);
this.schema = data;
+
//alert("IPC:TEST:" + JSON.stringify(ar));
this.grid.dataSource.loadData(ar);
},