php warnings
[Pman.MTrack] / Pman.Tab.MTrackTimeline.bjs
1 {
2  "name" : "Pman.Tab.MTrackTimeline",
3  "parent" : "Pman.Tab.DocumentsTab",
4  "title" : "",
5  "path" : "/home/alan/gitlive/Pman.MTrack/Pman.Tab.MTrackTimeline.bjs",
6  "permname" : "",
7  "modOrder" : "300",
8  "strings" : {
9   "9a9984a2dd014cc958919b73e2a1f33a" : "Project Timeline",
10   "87f9f735a1d36793ceaecd4e47124b63" : "Events",
11   "9e727fdd3aec8274f46685441900280d" : "Project",
12   "4ee972120bcda675f75222c87cb9d356" : "Who",
13   "3d1f92a565d3b1a61880236e33c49bf3" : "Timeline",
14   "c112bb3542e98308d12d5ecb10a67abc" : "Changes",
15   "e77ec81408c215410441b24d83ef5bec" : "Repos",
16   "ff5572e3fac2fd20b897cebfdf14e9d5" : "Code Changes",
17   "6c099dca310fcc4e75f7cc0d01e5afe1" : "Select a date to refresh.."
18  },
19  "items" : [
20   {
21    "listeners" : {
22     "activate" : "function (_self)\n{\n    // navigation..\n    // a) record the fact we go here.. (for history)\n    \n    // when page loads, we have to go to this page..\n    \n    // at other times, we just check \n    //  a) project was the same as before... - do not change.\n    //  b) \n    _this.project = _this.project || 0;\n    \n    \n    if (typeof(MTrackWeb) != 'undefined' && !MTrackWeb.Layout) {\n        return;\n    }\n    \n    if (typeof(Pman.Tab.DocumentsTab) == 'undefined') {\n        return;\n    }\n    /*\n    if (!_this.iscroll) {  \n    \n        (function() {\n \n            try {\n                _this.iscroll = new Roo.ux.Iscroll(_this.tpanel.el.dom);\n            } catch(e) { \n                Roo.log(e);\n            }\n        }).defer(100);    \n\n    }\n    _this.iscroll = true;    \n    \n    */\n    var  chg_project =  (_this.project != Pman.Tab.DocumentsTab.panel.getProjectId());\n    \n   _this.project = Pman.Tab.DocumentsTab.panel.getProjectId();\n    \n   if (typeof(MTrackWeb) == 'undefined') {\n        return;\n    }\n    try { \n         window.history.pushState( { url: '/Timeline' }, 'Timeline' , baseURL +  '/Timeline' );\n    } catch (e) {}\n    \n    MTrack.currentURL = '/Timeline';\n    if (chg_project) {\n        (function() {\n            _this.grid.ds.load({});\n           //_this.tpanel.view.store.load({});\n        }).defer(100);\n    }\n   \n \n}"
23    },
24    "fitToFrame" : true,
25    "background" : true,
26    "region" : "center",
27    "title" : "Project Timeline",
28    "xtype" : "NestedLayoutPanel",
29    "fitContainer" : true,
30    "$ xns" : "Roo",
31    "items" : [
32     {
33      "xtype" : "BorderLayout",
34      "$ xns" : "Roo",
35      "* prop" : "layout",
36      "items" : [
37       {
38        "xtype" : "LayoutRegion",
39        "tabPosition" : "top",
40        "$ xns" : "Roo",
41        "* prop" : "center"
42       },
43       {
44        "xtype" : "LayoutRegion",
45        "width" : 250,
46        "$ xns" : "Roo",
47        "* prop" : "west"
48       },
49       {
50        "listeners" : {
51         "activate" : "function (_self)\n{\n    \n}",
52         "render" : "function (_self)\n{\n    _this.commitpanel = _self;\n}"
53        },
54        "autoScroll" : true,
55        "region" : "center",
56        "fitToFrame" : true,
57        "title" : "Code Changes",
58        "xtype" : "ContentPanel",
59        "$ xns" : "Roo",
60        "items" : [
61         {
62          "listeners" : {
63           "preparedata" : "function (_self, data, i, rec)\n{\n    Roo.apply(data, rec.json);\n}"
64          },
65          "$ tpl" : "new Roo.DomTemplate({url : rootURL +'/Pman/MTrack/domtemplates/dailychanges.html'})",
66          "xtype" : "View",
67          "$ xns" : "Roo",
68          "* prop" : "view",
69          "items" : [
70           {
71            "listeners" : {
72             "beforeload" : "function (_self, o)\n{\n    o.params = o.params || {};\n    o.params._daychanges = _this.datePicker.activeDate.format(\"Y-m-d\");\n    var re = _this.grid.selModel.getSelected();\n    if (!re) {\n        return false;\n    }\n    o.params.id = re.data.repo_id;\n}"
73            },
74            "xtype" : "Store",
75            "$ xns" : "Roo.data",
76            "* prop" : "store",
77            "items" : [
78             {
79              "$ url" : "baseURL + '/Roo/mtrack_repos'",
80              "method" : "GET",
81              "xtype" : "HttpProxy",
82              "timeout" : 60000,
83              "$ xns" : "Roo.data",
84              "* prop" : "proxy"
85             },
86             {
87              "id" : "id",
88              "root" : "data",
89              "xtype" : "JsonReader",
90              "$ fields" : "[\n    {\n        'name': 'id',\n        'type': 'int'\n    },\n    'name'\n]",
91              "$ xns" : "Roo.data",
92              "* prop" : "reader"
93             }
94            ]
95           }
96          ]
97         }
98        ]
99       },
100       {
101        "listeners" : {
102         "activate" : "function (_self)\n{\n    _this.tpanel = _self;\n}"
103        },
104        "autoScroll" : true,
105        "background" : true,
106        "fitToFrame" : true,
107        "region" : "center",
108        "title" : "Timeline",
109        "xtype" : "ContentPanel",
110        "fitContainer" : true,
111        "$ xns" : "Roo",
112        "$ mload" : "function(url) {\n\n  // can you actually link to this page..\n  // perhaps a specific day..\n\n    this._url = url;\n   // this._project = MTrack.projectCombo.getValue();\n   // MTrack.ajaxLoad(url, this);\n   _this.grid.ds.load({});\n    \n}\n",
113        "items" : [
114         {
115          "xtype" : "Toolbar",
116          "$ xns" : "Roo",
117          "* prop" : "toolbar",
118          "items" : [
119           {
120            "text" : "Select a date to refresh..",
121            "xtype" : "Button",
122            "$ xns" : "Roo.Toolbar"
123           }
124          ]
125         },
126         {
127          "listeners" : {
128           "beforeclick" : "function (_self, index, node, e)\n{\n    Roo.log(node);\n    Roo.log(e);\n}",
129           "beforeselect" : "function (_self, node, selections)\n{\n   //Roo.log(node)\n   //Roo.log(this.indexOf(node));\n   var rec =  this.store.getAt(this.indexOf(node));\n   //Roo.log(data);\n   \n   new Pman.Request({\n         url : baseURL + '/Roo/mtrack_change',\n         method :'GET',\n         params : {\n            _id : rec.data.id,\n            _withdiff : 1\n        },\n        success : function (res) {\n        \n           //.. this.tpl.\n           //Roo.log( _this.tpanel.view.chgtmp.apply(res));\n            \n        \n        }\n    });\n   \n   \n   \n   \n}"
130          },
131          "selectedClass" : "change-log-item-expanded",
132          "multiSelect" : true,
133          "xtype" : "View",
134          "toggleSelect" : true,
135          "singleSelect" : false,
136          "$ xns" : "Roo",
137          "items" : [
138           {
139            "$ url" : "rootURL + '/Pman/MTrack/templates/timeline.html'",
140            "xtype" : "XTemplate",
141            "$ xns" : "Roo",
142            "* prop" : "tpl"
143           },
144           {
145            "listeners" : {
146             "beforeload" : "function (_self, o)\n{\n    o = o || {};\n    o.params = o.params || {};\n    \n    var sel = _this.grid.selModel.getSelected();\n    if (!sel) {\n        return false;\n    }\n    \n    \n    o.params.from_date =_this.datePicker.activeDate.format(\"Y-m-d\");\n    o.params.person_id = sel.data.person_id;\n   // o.params.viewtype = 'summary';    \n    o.params.timeline = 1;\n    // project?\n    o.params.project_id =  sel.data.project_id;\n    o.params.limit = 9999;\n}"
147            },
148            "xtype" : "Store",
149            "remoteSort" : true,
150            "$ sortInfo" : "{ field : 'person_name', direction: 'ASC' }",
151            "$ xns" : "Roo.data",
152            "* prop" : "store",
153            "items" : [
154             {
155              "$ url" : "baseURL + '/Roo/mtrack_change.php'",
156              "xtype" : "HttpProxy",
157              "method" : "GET",
158              "$ xns" : "Roo.data",
159              "* prop" : "proxy"
160             },
161             {
162              "id" : "id",
163              "root" : "data",
164              "xtype" : "JsonReader",
165              "$ fields" : "[\n    {\n        'name': 'person_id',\n        'type': 'int'\n    },\n    {\n        'name': 'person_name',\n        'type': 'string'\n    },\n    {\n        'name': 'changeday',\n        'type': 'date',\n        'dateFormat': 'Y-m-d'\n    },\n    {\n        'name': 'nchanges',\n        'type': 'int'\n    },\n    'project_code',\n    'project_id'\n    \n\n]",
166              "$ xns" : "Roo.data",
167              "* prop" : "reader",
168              "totalProperty" : "total"
169             }
170            ]
171           },
172           {
173            "$ url" : "rootURL + '/Pman/MTrack/templates/timeline-changelog.html'",
174            "xtype" : "XTemplate",
175            "$ xns" : "Roo",
176            "* prop" : "chgtpl"
177           }
178          ]
179         }
180        ]
181       },
182       {
183        "region" : "west",
184        "xtype" : "NestedLayoutPanel",
185        "$ xns" : "Roo",
186        "items" : [
187         {
188          "xtype" : "BorderLayout",
189          "$ xns" : "Roo",
190          "* prop" : "layout",
191          "items" : [
192           {
193            "xtype" : "LayoutRegion",
194            "$ xns" : "Roo",
195            "* prop" : "center"
196           },
197           {
198            "xtype" : "LayoutRegion",
199            "$ xns" : "Roo",
200            "* prop" : "north",
201            "height" : 220
202           },
203           {
204            "listeners" : {
205             "|activate" : "function() {\n    _this.gridpanel = this;\n\n}"
206            },
207            "autoScroll" : true,
208            "background" : false,
209            "fitToframe" : true,
210            "region" : "center",
211            "title" : "Events",
212            "xtype" : "GridPanel",
213            "fitContainer" : true,
214            "$ xns" : "Roo",
215            "tableName" : "Events",
216            "items" : [
217             {
218              "listeners" : {
219               "|render" : "function() \n{\n    _this.grid = this; \n    //_this.dialog = Pman.Dialog.FILL_IN\n       this.dataSource.load({});\n\n}"
220              },
221              "autoExpandColumn" : "person_id_name",
222              "xtype" : "Grid",
223              "loadMask" : true,
224              "$ xns" : "Roo.grid",
225              "* prop" : "grid",
226              "items" : [
227               {
228                "listeners" : {
229                 "afterselectionchange" : "function (_self)\n{\n  // select the data..\n  \n  var r= _this.grid.sm.getSelected();\n  \n  \n  //_this.datePicker.setValue(r.data.changeday);\n  //\n   _this.commitpanel.view.store.load({});\n  // _this.tpanel.view.store.load({});\n   \n}                                                                   "
230                },
231                "xtype" : "RowSelectionModel",
232                "singleSelect" : true,
233                "$ xns" : "Roo.grid",
234                "* prop" : "sm"
235               },
236               {
237                "listeners" : {
238                 "beforeload" : "function (_self, o)\n{\n    o = o || {};\n    o.params = o.params || {};\n    \n    if (!_this.datePicker || !_this.datePicker.getValue) {\n        return false;\n    }\n    o.params.on_date = _this.datePicker.activeDate.format(\"Y-m-d\");\n    o.params.viewtype = 'summary';    \n    o.params.timeline = 1;\n    // project?\n    o.params.project_id =  Pman.Tab.DocumentsTab ? \n                Pman.Tab.DocumentsTab.panel.getProjectId() : 0;\n}"
239                },
240                "xtype" : "Store",
241                "remoteSort" : true,
242                "$ sortInfo" : "{ field : 'person_name', direction: 'ASC' }",
243                "$ xns" : "Roo.data",
244                "* prop" : "dataSource",
245                "items" : [
246                 {
247                  "$ url" : "baseURL + '/Roo/mtrack_change.php'",
248                  "xtype" : "HttpProxy",
249                  "method" : "GET",
250                  "$ xns" : "Roo.data",
251                  "* prop" : "proxy"
252                 },
253                 {
254                  "id" : "id",
255                  "root" : "data",
256                  "xtype" : "JsonReader",
257                  "$ fields" : "[\n    {\n        'name': 'person_id',\n        'type': 'int'\n    },\n    {\n        'name': 'person_name',\n        'type': 'string'\n    },\n    {\n        'name': 'changeday',\n        'type': 'date',\n        'dateFormat': 'Y-m-d'\n    },\n    {\n        'name': 'nchanges',\n        'type': 'int'\n    },\n    'project_code',\n    'project_id',\n    'repo_id',\n    'repo_name'\n    \n\n]",
258                  "$ xns" : "Roo.data",
259                  "* prop" : "reader",
260                  "totalProperty" : "total"
261                 }
262                ]
263               },
264               {
265                "xtype" : "ColumnModel",
266                "header" : "Repos",
267                "width" : 30,
268                "$ renderer" : "function(v,x,r) { \n\n    return String.format('{0}',  v  ? v : '' );\n }",
269                "$ xns" : "Roo.grid",
270                "* prop" : "colModel[]",
271                "dataIndex" : "repo_name"
272               },
273               {
274                "xtype" : "ColumnModel",
275                "header" : "Project",
276                "width" : 50,
277                "$ renderer" : "function(v,x,r) { \n    \n    Roo.log(r);\n    return String.format( '{0}' ,v );\n }\n ",
278                "$ xns" : "Roo.grid",
279                "* prop" : "colModel[]",
280                "dataIndex" : "project_code"
281               },
282               {
283                "xtype" : "ColumnModel",
284                "header" : "Who",
285                "width" : 100,
286                "$ renderer" : "function(v,x,r) { \n    \n    return String.format( '{0}' , v);\n }\n ",
287                "$ xns" : "Roo.grid",
288                "* prop" : "colModel[]",
289                "dataIndex" : "person_name"
290               },
291               {
292                "align" : "right",
293                "xtype" : "ColumnModel",
294                "header" : "Changes",
295                "width" : 30,
296                "$ renderer" : "function(v,x,r) { \n    return v * 1;\n }\n ",
297                "$ xns" : "Roo.grid",
298                "* prop" : "colModel[]",
299                "dataIndex" : "nchanges"
300               }
301              ]
302             }
303            ]
304           },
305           {
306            "region" : "north",
307            "xtype" : "ContentPanel",
308            "$ xns" : "Roo",
309            "items" : [
310             {
311              "listeners" : {
312               "render" : "function (_self)\n{\n  _this.datePicker = _self;\n}",
313               "monthchange" : "function (_self, date)\n{\n   \n}",
314               "select" : "function (_self, date)\n{\n    if (! _this.grid) {\n        return;\n    }\n    _this.grid.ds.load({});\n}"
315              },
316              "xtype" : "DatePicker",
317              "$ xns" : "Roo"
318             }
319            ]
320           }
321          ]
322         }
323        ]
324       }
325      ]
326     }
327    ]
328   }
329  ]
330 }