3 "name": "Pman.Tab.MTrackMilestone",
4 "parent": "Pman.Tab.MTrack",
5 "title": "Pman.Tab.MTrackMilestone",
6 "path": "/home/alan/gitlive/Pman.MTrack/Pman.Tab.MTrackMilestone.bjs",
10 "|activate": "function() {\n _this.panel = this;\n if (_this.grid) {\n _this.grid.footer.onClick('first');\n }\n}"
16 "tableName": "mtrack_milestone",
17 "title": "Milestones",
23 "|render": "function() \n{\n _this.grid = this; \n _this.dialog = Pman.Dialog.MTrackMilestone\n if (_this.panel.active) {\n this.footer.onClick('first');\n }\n}",
24 "|rowdblclick": "function (_self, rowIndex, e)\n{\n if (!_this.dialog) return;\n _this.dialog.show( this.getDataSource().getAt(rowIndex), function() {\n _this.grid.footer.onClick('first');\n }); \n}\n"
27 "autoExpandColumn": "name",
34 "beforeload": "function (_self, options)\n{\n options.params._with_active_tickets = 1;\n if (!_this.viewType) {\n return false;\n }\n options.params._viewtype = _this.viewType.getValue();\n \n if (_this.projsel.getValue()) {\n options.params.project_id = _this.projsel.getValue();\n }\n \n \n}"
36 "*prop": "dataSource",
39 "|sortInfo": "{ field : 'duedate', direction: 'ASC' }",
46 "|url": "baseURL + '/Roo/mtrack_milestone.php'",
51 "xtype": "JsonReader",
52 "totalProperty": "total",
56 "|fields": "[\n {\n 'name': 'id',\n 'type': 'int'\n },\n {\n 'name': 'name',\n 'type': 'string'\n },\n {\n 'name': 'description',\n 'type': 'string'\n },\n {\n 'name': 'startdate',\n 'type': 'date',\n 'dateFormat': 'Y-m-d'\n },\n {\n 'name': 'duedate',\n 'type': 'date',\n 'dateFormat': 'Y-m-d'\n },\n {\n 'name': 'completed',\n 'type': 'date',\n 'dateFormat': 'Y-m-d'\n },\n {\n 'name': 'deleted',\n 'type': 'int'\n },\n {\n 'name': 'created',\n 'type': 'int'\n },\n {\n 'name': 'updated',\n 'type': 'int'\n },\n {\n 'name': 'project_id',\n 'type': 'int'\n },\n {\n 'name': 'deleted_id',\n 'type': 'int'\n },\n {\n 'name': 'deleted_person_id',\n 'type': 'int'\n },\n {\n 'name': 'deleted_ontable',\n 'type': 'string'\n },\n {\n 'name': 'deleted_onid',\n 'type': 'int'\n },\n {\n 'name': 'deleted_changedate',\n 'type': 'date'\n },\n {\n 'name': 'deleted_reason',\n 'type': 'string'\n },\n {\n 'name': 'updated_id',\n 'type': 'int'\n },\n {\n 'name': 'updated_person_id',\n 'type': 'int'\n },\n {\n 'name': 'updated_ontable',\n 'type': 'string'\n },\n {\n 'name': 'updated_onid',\n 'type': 'int'\n },\n {\n 'name': 'updated_changedate',\n 'type': 'date'\n },\n {\n 'name': 'updated_reason',\n 'type': 'string'\n },\n {\n 'name': 'created_id',\n 'type': 'int'\n },\n {\n 'name': 'created_person_id',\n 'type': 'int'\n },\n {\n 'name': 'created_ontable',\n 'type': 'string'\n },\n {\n 'name': 'created_onid',\n 'type': 'int'\n },\n {\n 'name': 'created_changedate',\n 'type': 'date'\n },\n {\n 'name': 'created_reason',\n 'type': 'string'\n }\n]"
62 "xtype": "PagingToolbar",
65 "displayMsg": "Displaying mtrack_milestone{0} - {1} of {2}",
66 "emptyMsg": "No mtrack_milestone found",
81 "render": "function (_self)\n{\n _this.viewType = this;\n}",
82 "beforeselect": "function (combo, record, index)\n{\n (function() { _this.grid.footer.onClick('first'); }).defer(100);\n}"
85 "displayField": "val",
87 "forceSelection": true,
88 "hiddenName": "currency",
90 "triggerAction": "all",
99 "|fields": "[ 'key' , 'val' ]",
100 "xtype": "SimpleStore",
101 "|data": "[ \n [ 'HEAD', 'Head Milestones' ],\n [ 'ACTIVE', 'Active Milestones' ],\n [ 'ALL', 'All Milestones' ]\n ]",
108 "render": "function (_self)\n{\n _this.projsel = _self;\n}",
109 "beforeselect": "function (combo, record, index)\n{\n (function() { _this.grid.onClick('first')}).defer(100);\n}"
111 "allowBlank": "false",
112 "displayField": "name",
114 "emptyText": "Select Projects",
115 "fieldLabel": "Projects",
116 "forceSelection": true,
117 "hiddenName": "project_id",
119 "loadingText": "Searching...",
121 "name": "project_id_name",
123 "qtip": "Select Projects",
125 "selectOnFocus": true,
126 "tpl": "<div class=\"x-grid-cell-text x-btn button\"><b>{code}</b> {name}</div>",
127 "triggerAction": "all",
136 "|beforeload": "function (_self, o){\n o.params = o.params || {};\n // set more here\n}\n"
141 "|sortInfo": "{ direction : 'ASC', field: 'code' }",
146 "xtype": "HttpProxy",
149 "|url": "baseURL + '/Roo/Projects.php'"
153 "xtype": "JsonReader",
157 "totalProperty": "total",
158 "|fields": "[{\"name\":\"id\",\"type\":\"int\"},{\"name\":\"name\",\"type\":\"string\"}]"
165 "|xns": "Roo.Toolbar",
171 "cls": "x-btn-text-icon",
172 "|icon": "Roo.rootURL + 'images/default/dd/drop-add.gif'",
174 "|click": "function()\n{\n if (!_this.dialog) return;\n _this.dialog.show( { id : 0 } , function() {\n _this.grid.footer.onClick('first');\n }); \n}\n"
176 "|xns": "Roo.Toolbar"
181 "cls": "x-btn-text-icon",
182 "|icon": "Roo.rootURL + 'images/default/tree/leaf.gif'",
184 "|click": "function()\n{\n var s = _this.grid.getSelectionModel().getSelections();\n if (!s.length || (s.length > 1)) {\n Roo.MessageBox.alert(\"Error\", s.length ? \"Select only one Row\" : \"Select a Row\");\n return;\n }\n if (!_this.dialog) return;\n _this.dialog.show(s[0].data, function() {\n _this.grid.footer.onClick('first');\n }); \n \n}\n"
186 "|xns": "Roo.Toolbar"
190 "|click": "function()\n {\n Pman.genericDelete(_this, 'mtrack_milestone'); \n }\n "
192 "cls": "x-btn-text-icon",
195 "|icon": "rootURL + '/Pman/templates/images/trash.gif'",
196 "|xns": "Roo.Toolbar"
201 "*prop": "colModel[]",
202 "dataIndex": "project_id_name",
206 "xtype": "ColumnModel",
207 "|renderer": "function(v) { return String.format('{0}', v); }",
211 "*prop": "colModel[]",
212 "dataIndex": "active_tickets",
213 "header": "#Tickets",
215 "xtype": "ColumnModel",
216 "|renderer": "function(v) { return String.format('{0}', v); }",
220 "xtype": "ColumnModel",
224 "|renderer": "function(v) { return String.format('{0}', v); }",
226 "*prop": "colModel[]"
229 "xtype": "ColumnModel",
230 "header": "Description",
232 "dataIndex": "description",
233 "|renderer": "function(v) { return String.format('{0}', v); }",
235 "*prop": "colModel[]"
238 "*prop": "colModel[]",
239 "dataIndex": "startdate",
240 "header": "Startdate",
243 "xtype": "ColumnModel",
244 "|renderer": "function(v) { return String.format('{0}', v ? v.format('d/M/Y') : ''); }",
248 "xtype": "ColumnModel",
251 "dataIndex": "duedate",
252 "|renderer": "function(v) { return String.format('{0}', v ? v.format('d/M/Y') : ''); }",
254 "*prop": "colModel[]"
257 "*prop": "colModel[]",
258 "dataIndex": "on_hold",
261 "xtype": "ColumnModel",
262 "|renderer": "function(v) { return String.format('{0}', v ); }",
266 "xtype": "ColumnModel",
267 "header": "Completed",
269 "dataIndex": "completed",
270 "|renderer": "function(v) { return String.format('{0}', v ? v.format('d/M/Y') : ''); }",
272 "*prop": "colModel[]"