"listeners" : {
"|activate" : "function() {\n _this.panel = this;\n if (_this.grid) {\n _this.grid.footer.onClick('first');\n }\n}"
},
- "| function loadData" : "function(data) { \n\n //alert(\"IPC:TEST:\" + JSON.stringify(data,null,4));\n\n var ar = [];\n for (var k in data) { \n var r = data[k];\n var has_s = typeof(r.relates_to_schema) != 'undefined'\n \n var d = {\n active : !has_s,\n dataIndex : r.Fiedld\n }\n \n ar.push(d);\n \n continue;\n ar.push([ !has_s , r.Field, r.Type, r.Field, 100 , 'TextField', r.Field + '_display_name'] );\n if (!has_s) {\n continue;\n }\n \n for (var kk in r.relates_to_schema) { \n var rr = r.relates_to_schema[kk];\n if (rr.Field == r.relates_to_col) {\n continue;\n }\n ar.push([ false, r.Field + '_'+ rr.Field, rr.Type, rr.Field, 100] );\n }\n \n }\n \n _this.gird.dataSource.reader.readRecords(ar);\n \n this.schema = data;\n \n //alert(\"IPC:TEST:\" + JSON.stringify(ar));\n this.grid.dataSource.loadData(ar);\n}",
+ "| function loadData" : "function(data) { \n\n //alert(\"IPC:TEST:\" + JSON.stringify(data,null,4));\n\n var fields = _this.grid.dataSource.reader.recordType.prototype.fields;\n \n \n var d = [];\n\n for (var k in data) { \n var r = data[k];\n var has_s = typeof(r.relates_to_schema) != 'undefined';\n \n var rt = '', rc = '', rs = [];\n \n if(has_s){\n for (var kk in r.relates_to_schema) { \n var rr = r.relates_to_schema[kk];\n \n rt = r.relates_to_table;\n rc = r.relates_to_col;\n \n rs.push([rr.Field]);\n \n }\n }\n \n var o = {\n active : !has_s,\n dataIndex : r.Field,\n type : r.Type,\n title : r.Field,\n width : 100,\n ftype : 'TextField',\n display_field : r.Field + '_display_name',\n relates_to_table : rt,\n relates_to_col : rc,\n relates_to_schema : rs\n };\n \n d.push(o);\n \n if (!has_s) {\n continue;\n }\n \n for (var kk in r.relates_to_schema) { \n var rr = r.relates_to_schema[kk];\n if (rr.Field == r.relates_to_col) {\n continue;\n }\n \n var o = {\n active : false,\n dataIndex : r.Field + '_'+ rr.Field,\n type : r.Type,\n title : r.Field,\n width : 100\n };\n \n d.push(o);\n }\n }\n\n var ar = [];\n \n Roo.each(d, function(dd){\n\n var a = [];\n \n for(var j = 0; j < fields.length; j++){\n var f = fields.items[j];\n \n if(dd.hasOwnProperty(f.name)){\n a.push(dd[f.name]);\n }\n }\n \n ar.push(a);\n });\n \n \n Roo.log(ar);\n this.schema = data;\n \n //alert(\"IPC:TEST:\" + JSON.stringify(ar));\n this.grid.dataSource.loadData(ar);\n}",
"| function toBJS" : "function() { \n\n// convert the selected cells into a BJS data ready to send back to the UI..\n\n this.table = \"XXX\";\n this.firstTxtCol = \"XXX\";\n \n var formHeight = 50;\n \n var jreader = {};\n var formElements = [];\n this.grid.dataSource.each(function(rec) {\n if (!rec.data.active) {\n return;\n }\n \n var el = {\n fieldLabel : rec.data.title,\n name : rec.data.dataIndex,\n width : 200, //row.type == 'string' ? 200 : 75,\n '|xns' : 'Roo.form',\n xtype : rec.data.ftype\n }\n if (xtype == 'DateField') {\n el.format = 'Y-m-d';\n el.useIso = true;\n el.width = 100;\n }\n \n if (xtype == 'TextArea') {\n el.height = 100;\n }\n \n if (xtype == 'Hidden') {\n delete el.fieldLabel;\n delete el.width;\n }\n if (xtype == 'Combobox') {\n \n\n el.queryParam = 'query[' + combofields_name + ']';// SET WHEN USED\n \n el.hiddenName = rec.data.dataIndex // SET WHEN USED eg. project_id\n el.displayField = combofields_name; // SET WHEN USED eg. project_id\n el.name = old.name + '_' + combofields_name; // SET WHEN USED eg. project_id_name\n el.tpl = '<div class=\"x-grid-cell-text x-btn button\"><b>{' + combofields_name +'}</b> </div>'; // SET WHEN USED\n \n \n el.items = [\n {\n \n '*prop' : 'store',\n 'xtype' : 'Store',\n '|xns' : 'Roo.data',\n 'remoteSort' : true,\n '|sortInfo' : '{ direction : \\'ASC\\', field: \\'id\\' }',\n listeners : {\n '|beforeload' : 'function (_self, o)' +\n \"{\\n\" +\n \" o.params = o.params || {};\\n\" +\n \" // set more here\\n\" +\n \"}\\n\"\n },\n items : [\n {\n '*prop' : 'proxy',\n 'xtype' : 'HttpProxy',\n 'method' : 'GET',\n '|xns' : 'Roo.data',\n '|url' : \"baseURL + '/Roo/\" + reftable + \".php'\",\n },\n \n {\n '*prop' : 'reader',\n 'xtype' : 'JsonReader',\n '|xns' : 'Roo.data',\n 'id' : 'id',\n 'root' : 'data',\n 'totalProperty' : 'total'\n\n \n }\n ]\n }\n ];\n \n }\n \n \n formElements.push(el);\n \n formHeight += rec.data.ftype == 'TextArea' ? 100 : 30;\n \n \n });\n \n \n \n \n \n \n var frmCfg = \n {\n '|xns' : 'Roo.form',\n xtype : \"Form\",\n listeners : {\n \"|actioncomplete\" : \"function(_self,action)\\n\"+\n \"{\\n\"+\n \" if (action.type == 'setdata') {\\n\"+\n \" //this.load({ method: 'GET', params: { '_id' : _this.data.id }});\\n\"+\n \" return;\\n\"+\n \" }\\n\"+\n \" if (action.type == 'load') {\\n\"+\n \" return;\\n\"+\n \" }\\n\"+\n \" if (action.type =='submit') {\\n\"+\n \" \\n\"+\n \" _this.dialog.hide();\\n\"+\n \" \\n\"+\n \" if (_this.callback) {\\n\"+\n \" _this.callback.call(_this, action.result.data);\\n\"+\n \" }\\n\"+\n \" _this.form.reset();\\n\"+\n \" return;\\n\"+\n \" }\\n\"+\n \"}\\n\",\n \n \"|rendered\" : \"function (form)\\n\"+\n \"{\\n\"+\n \" _this.form= form;\\n\"+\n \"}\\n\"\n },\n method : \"POST\",\n style : \"margin:10px;\",\n \"|url\" : \"baseURL + '/Roo/\" + this.table + \"'\",\n items : formElements\n };\n \n\n alert(\"IPC:OUT:\" + JSON.stringify({\n \"closable\": false,\n \"collapsible\": false,\n \"height\": formHeight,\n \"resizable\": false,\n \"title\": \"Edit / Create \" + this.table,\n \"width\": 400,\n \"modal\" : true,\n \"xtype\": \"LayoutDialog\",\n \"|xns\": \"Roo\",\n \"items\": [\n {\n \"|xns\": \"Roo\",\n \"xtype\": \"LayoutRegion\",\n \"*prop\": \"center\"\n },\n {\n \"region\": \"center\",\n \"xtype\": \"ContentPanel\",\n \"|xns\": \"Roo\",\n \"items\": [\n frmCfg\n ]\n },\n \n {\n \"listeners\": {\n \"click\": \"function (_self, e)\\n{\\n _this.dialog.hide();\\n}\"\n },\n \"*prop\": \"buttons[]\",\n \"text\": \"Cancel\",\n \"xtype\": \"Button\",\n \"|xns\": \"Roo\"\n },\n {\n \"listeners\": {\n \"click\": \"function (_self, e)\\n{\\n // do some checks?\\n \\n \\n _this.dialog.el.mask(\\\"Saving\\\");\\n _this.form.doAction(\\\"submit\\\");\\n\\n}\"\n },\n \"*prop\": \"buttons[]\",\n \"text\": \"Save\",\n \"xtype\": \"Button\",\n \"|xns\": \"Roo\"\n }\n ]\n \n \n \n }, null, 4));\n\n}",
"fitToframe" : true,
"background" : false,
{
"listeners" : {
"|rowdblclick" : "function (_self, rowIndex, e)\n{\n if (!_this.dialog) return;\n \n}\n",
+ "beforeedit" : "function (e)\n{\n Roo.log('before edit!!!');\n Roo.log(e);\n}",
"cellclick" : "function (_self, rowIndex, columnIndex, e)\n{\n\n var di = this.colModel.getDataIndex(columnIndex);\n if (di != 'active') {\n return;\n }\n \n var rec = _this.grid.ds.getAt(rowIndex);\n \n rec.set('active', rec.data.active * 1 ? 0 : 1);\n rec.commit();\n \n \n}",
"|render" : "function() \n{\n _this.grid = this; \n //_this.dialog = Pman.Dialog.FILL_IN\n\n}"
},
"* prop" : "grid",
"items" : [
{
- "$ Array fields" : "[ 'active', 'dataIndex', 'type','title', 'width', 'ftype', 'display_field' ]",
+ "$ Array fields" : "[ \n 'active', \n 'dataIndex', \n 'type',\n 'title', \n 'width', \n 'ftype', \n 'display_field',\n 'relates_to_table',\n 'relates_to_col',\n 'relates_to_schema'\n]",
"$ Array data" : "[\n [ 1, 'test', 'test', 110 ]\n \n\n]",
"Number id" : "'dataIndex'",
"xtype" : "SimpleStore",