php warnings
[Pman.MTrack] / Pman.Tab.MTrackTimeline.bjs
index 5b97ddc..a2df2fb 100644 (file)
 {
-    "id": "roo-file-245",
-    "name": "Pman.Tab.MTrackTimeline",
-    "parent": "Pman.Tab.DocumentsTab",
-    "title": "",
-    "path": "/home/alan/gitlive/Pman.MTrack/Pman.Tab.MTrackTimeline.bjs",
-    "items": [
+ "name" : "Pman.Tab.MTrackTimeline",
+ "parent" : "Pman.Tab.DocumentsTab",
+ "title" : "",
+ "path" : "/home/alan/gitlive/Pman.MTrack/Pman.Tab.MTrackTimeline.bjs",
+ "permname" : "",
+ "modOrder" : "300",
+ "strings" : {
+  "9a9984a2dd014cc958919b73e2a1f33a" : "Project Timeline",
+  "87f9f735a1d36793ceaecd4e47124b63" : "Events",
+  "9e727fdd3aec8274f46685441900280d" : "Project",
+  "4ee972120bcda675f75222c87cb9d356" : "Who",
+  "3d1f92a565d3b1a61880236e33c49bf3" : "Timeline",
+  "c112bb3542e98308d12d5ecb10a67abc" : "Changes",
+  "e77ec81408c215410441b24d83ef5bec" : "Repos",
+  "ff5572e3fac2fd20b897cebfdf14e9d5" : "Code Changes",
+  "6c099dca310fcc4e75f7cc0d01e5afe1" : "Select a date to refresh.."
+ },
+ "items" : [
+  {
+   "listeners" : {
+    "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}"
+   },
+   "fitToFrame" : true,
+   "background" : true,
+   "region" : "center",
+   "title" : "Project Timeline",
+   "xtype" : "NestedLayoutPanel",
+   "fitContainer" : true,
+   "$ xns" : "Roo",
+   "items" : [
+    {
+     "xtype" : "BorderLayout",
+     "$ xns" : "Roo",
+     "* prop" : "layout",
+     "items" : [
+      {
+       "xtype" : "LayoutRegion",
+       "tabPosition" : "top",
+       "$ xns" : "Roo",
+       "* prop" : "center"
+      },
+      {
+       "xtype" : "LayoutRegion",
+       "width" : 250,
+       "$ xns" : "Roo",
+       "* prop" : "west"
+      },
+      {
+       "listeners" : {
+        "activate" : "function (_self)\n{\n    \n}",
+        "render" : "function (_self)\n{\n    _this.commitpanel = _self;\n}"
+       },
+       "autoScroll" : true,
+       "region" : "center",
+       "fitToFrame" : true,
+       "title" : "Code Changes",
+       "xtype" : "ContentPanel",
+       "$ xns" : "Roo",
+       "items" : [
         {
-            "listeners": {
-                "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}"
+         "listeners" : {
+          "preparedata" : "function (_self, data, i, rec)\n{\n    Roo.apply(data, rec.json);\n}"
+         },
+         "$ tpl" : "new Roo.DomTemplate({url : rootURL +'/Pman/MTrack/domtemplates/dailychanges.html'})",
+         "xtype" : "View",
+         "$ xns" : "Roo",
+         "* prop" : "view",
+         "items" : [
+          {
+           "listeners" : {
+            "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}"
+           },
+           "xtype" : "Store",
+           "$ xns" : "Roo.data",
+           "* prop" : "store",
+           "items" : [
+            {
+             "$ url" : "baseURL + '/Roo/mtrack_repos'",
+             "method" : "GET",
+             "xtype" : "HttpProxy",
+             "timeout" : 60000,
+             "$ xns" : "Roo.data",
+             "* prop" : "proxy"
             },
-            "background": true,
-            "fitContainer": true,
-            "fitToFrame": true,
-            "region": "center",
-            "title": "Project Timeline",
-            "xtype": "NestedLayoutPanel",
-            "|xns": "Roo",
-            "items": [
+            {
+             "id" : "id",
+             "root" : "data",
+             "xtype" : "JsonReader",
+             "$ fields" : "[\n    {\n        'name': 'id',\n        'type': 'int'\n    },\n    'name'\n]",
+             "$ xns" : "Roo.data",
+             "* prop" : "reader"
+            }
+           ]
+          }
+         ]
+        }
+       ]
+      },
+      {
+       "listeners" : {
+        "activate" : "function (_self)\n{\n    _this.tpanel = _self;\n}"
+       },
+       "autoScroll" : true,
+       "background" : true,
+       "fitToFrame" : true,
+       "region" : "center",
+       "title" : "Timeline",
+       "xtype" : "ContentPanel",
+       "fitContainer" : true,
+       "$ xns" : "Roo",
+       "$ 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",
+       "items" : [
+        {
+         "xtype" : "Toolbar",
+         "$ xns" : "Roo",
+         "* prop" : "toolbar",
+         "items" : [
+          {
+           "text" : "Select a date to refresh..",
+           "xtype" : "Button",
+           "$ xns" : "Roo.Toolbar"
+          }
+         ]
+        },
+        {
+         "listeners" : {
+          "beforeclick" : "function (_self, index, node, e)\n{\n    Roo.log(node);\n    Roo.log(e);\n}",
+          "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}"
+         },
+         "selectedClass" : "change-log-item-expanded",
+         "multiSelect" : true,
+         "xtype" : "View",
+         "toggleSelect" : true,
+         "singleSelect" : false,
+         "$ xns" : "Roo",
+         "items" : [
+          {
+           "$ url" : "rootURL + '/Pman/MTrack/templates/timeline.html'",
+           "xtype" : "XTemplate",
+           "$ xns" : "Roo",
+           "* prop" : "tpl"
+          },
+          {
+           "listeners" : {
+            "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}"
+           },
+           "xtype" : "Store",
+           "remoteSort" : true,
+           "$ sortInfo" : "{ field : 'person_name', direction: 'ASC' }",
+           "$ xns" : "Roo.data",
+           "* prop" : "store",
+           "items" : [
+            {
+             "$ url" : "baseURL + '/Roo/mtrack_change.php'",
+             "xtype" : "HttpProxy",
+             "method" : "GET",
+             "$ xns" : "Roo.data",
+             "* prop" : "proxy"
+            },
+            {
+             "id" : "id",
+             "root" : "data",
+             "xtype" : "JsonReader",
+             "$ 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]",
+             "$ xns" : "Roo.data",
+             "* prop" : "reader",
+             "totalProperty" : "total"
+            }
+           ]
+          },
+          {
+           "$ url" : "rootURL + '/Pman/MTrack/templates/timeline-changelog.html'",
+           "xtype" : "XTemplate",
+           "$ xns" : "Roo",
+           "* prop" : "chgtpl"
+          }
+         ]
+        }
+       ]
+      },
+      {
+       "region" : "west",
+       "xtype" : "NestedLayoutPanel",
+       "$ xns" : "Roo",
+       "items" : [
+        {
+         "xtype" : "BorderLayout",
+         "$ xns" : "Roo",
+         "* prop" : "layout",
+         "items" : [
+          {
+           "xtype" : "LayoutRegion",
+           "$ xns" : "Roo",
+           "* prop" : "center"
+          },
+          {
+           "xtype" : "LayoutRegion",
+           "$ xns" : "Roo",
+           "* prop" : "north",
+           "height" : 220
+          },
+          {
+           "listeners" : {
+            "|activate" : "function() {\n    _this.gridpanel = this;\n\n}"
+           },
+           "autoScroll" : true,
+           "background" : false,
+           "fitToframe" : true,
+           "region" : "center",
+           "title" : "Events",
+           "xtype" : "GridPanel",
+           "fitContainer" : true,
+           "$ xns" : "Roo",
+           "tableName" : "Events",
+           "items" : [
+            {
+             "listeners" : {
+              "|render" : "function() \n{\n    _this.grid = this; \n    //_this.dialog = Pman.Dialog.FILL_IN\n       this.dataSource.load({});\n\n}"
+             },
+             "autoExpandColumn" : "person_id_name",
+             "xtype" : "Grid",
+             "loadMask" : true,
+             "$ xns" : "Roo.grid",
+             "* prop" : "grid",
+             "items" : [
+              {
+               "listeners" : {
+                "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}                                                                   "
+               },
+               "xtype" : "RowSelectionModel",
+               "singleSelect" : true,
+               "$ xns" : "Roo.grid",
+               "* prop" : "sm"
+              },
+              {
+               "listeners" : {
+                "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}"
+               },
+               "xtype" : "Store",
+               "remoteSort" : true,
+               "$ sortInfo" : "{ field : 'person_name', direction: 'ASC' }",
+               "$ xns" : "Roo.data",
+               "* prop" : "dataSource",
+               "items" : [
+                {
+                 "$ url" : "baseURL + '/Roo/mtrack_change.php'",
+                 "xtype" : "HttpProxy",
+                 "method" : "GET",
+                 "$ xns" : "Roo.data",
+                 "* prop" : "proxy"
+                },
                 {
-                    "|xns": "Roo",
-                    "xtype": "BorderLayout",
-                    "*prop": "layout",
-                    "items": [
-                        {
-                            "*prop": "center",
-                            "tabPosition": "top",
-                            "xtype": "LayoutRegion",
-                            "|xns": "Roo"
-                        },
-                        {
-                            "*prop": "west",
-                            "width": 250,
-                            "xtype": "LayoutRegion",
-                            "|xns": "Roo"
-                        },
-                        {
-                            "listeners": {
-                                "activate": "function (_self)\n{\n    \n}",
-                                "render": "function (_self)\n{\n    _this.commitpanel = _self;\n}"
-                            },
-                            "autoScroll": true,
-                            "fitToFrame": true,
-                            "region": "center",
-                            "title": "Code Changes",
-                            "xtype": "ContentPanel",
-                            "|xns": "Roo",
-                            "items": [
-                                {
-                                    "listeners": {
-                                        "preparedata": "function (_self, data, i, rec)\n{\n    Roo.apply(data, rec.json);\n}"
-                                    },
-                                    "*prop": "view",
-                                    "xtype": "View",
-                                    "|tpl": "new Roo.DomTemplate({url : rootURL +'/Pman/MTrack/domtemplates/dailychanges.html'})",
-                                    "|xns": "Roo",
-                                    "items": [
-                                        {
-                                            "listeners": {
-                                                "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}"
-                                            },
-                                            "*prop": "store",
-                                            "xtype": "Store",
-                                            "|xns": "Roo.data",
-                                            "items": [
-                                                {
-                                                    "*prop": "proxy",
-                                                    "method": "GET",
-                                                    "xtype": "HttpProxy",
-                                                    "|url": "baseURL + '/Roo/mtrack_repos'",
-                                                    "|xns": "Roo.data"
-                                                },
-                                                {
-                                                    "|fields": "[\n    {\n        'name': 'id',\n        'type': 'int'\n    },\n    'name'\n]",
-                                                    "*prop": "reader",
-                                                    "id": "id",
-                                                    "root": "data",
-                                                    "xtype": "JsonReader",
-                                                    "|xns": "Roo.data"
-                                                }
-                                            ]
-                                        }
-                                    ]
-                                }
-                            ]
-                        },
-                        {
-                            "listeners": {
-                                "activate": "function (_self)\n{\n    _this.tpanel = _self;\n}"
-                            },
-                            "autoScroll": true,
-                            "background": true,
-                            "fitContainer": true,
-                            "fitToFrame": true,
-                            "region": "center",
-                            "title": "Timeline",
-                            "xtype": "ContentPanel",
-                            "|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",
-                            "|xns": "Roo",
-                            "items": [
-                                {
-                                    "|xns": "Roo",
-                                    "xtype": "Toolbar",
-                                    "*prop": "toolbar",
-                                    "items": [
-                                        {
-                                            "text": "Select a date to refresh..",
-                                            "xtype": "Button",
-                                            "|xns": "Roo.Toolbar"
-                                        }
-                                    ]
-                                },
-                                {
-                                    "listeners": {
-                                        "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}",
-                                        "beforeclick": "function (_self, index, node, e)\n{\n    Roo.log(node);\n    Roo.log(e);\n}"
-                                    },
-                                    "multiSelect": true,
-                                    "selectedClass": "change-log-item-expanded",
-                                    "singleSelect": false,
-                                    "toggleSelect": true,
-                                    "xtype": "View",
-                                    "|xns": "Roo",
-                                    "items": [
-                                        {
-                                            "*prop": "tpl",
-                                            "xtype": "XTemplate",
-                                            "|url": "rootURL + '/Pman/MTrack/templates/timeline.html'",
-                                            "|xns": "Roo"
-                                        },
-                                        {
-                                            "listeners": {
-                                                "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}"
-                                            },
-                                            "*prop": "store",
-                                            "remoteSort": true,
-                                            "xtype": "Store",
-                                            "|sortInfo": "{ field : 'person_name', direction: 'ASC' }",
-                                            "|xns": "Roo.data",
-                                            "items": [
-                                                {
-                                                    "*prop": "proxy",
-                                                    "method": "GET",
-                                                    "xtype": "HttpProxy",
-                                                    "|url": "baseURL + '/Roo/mtrack_change.php'",
-                                                    "|xns": "Roo.data"
-                                                },
-                                                {
-                                                    "*prop": "reader",
-                                                    "id": "id",
-                                                    "root": "data",
-                                                    "totalProperty": "total",
-                                                    "xtype": "JsonReader",
-                                                    "|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]",
-                                                    "|xns": "Roo.data"
-                                                }
-                                            ]
-                                        },
-                                        {
-                                            "*prop": "chgtpl",
-                                            "xtype": "XTemplate",
-                                            "|url": "rootURL + '/Pman/MTrack/templates/timeline-changelog.html'",
-                                            "|xns": "Roo"
-                                        }
-                                    ]
-                                }
-                            ]
-                        },
-                        {
-                            "region": "west",
-                            "xtype": "NestedLayoutPanel",
-                            "|xns": "Roo",
-                            "items": [
-                                {
-                                    "|xns": "Roo",
-                                    "xtype": "BorderLayout",
-                                    "*prop": "layout",
-                                    "items": [
-                                        {
-                                            "*prop": "center",
-                                            "xtype": "LayoutRegion",
-                                            "|xns": "Roo"
-                                        },
-                                        {
-                                            "*prop": "north",
-                                            "height": 220,
-                                            "xtype": "LayoutRegion",
-                                            "|xns": "Roo"
-                                        },
-                                        {
-                                            "listeners": {
-                                                "|activate": "function() {\n    _this.gridpanel = this;\n\n}"
-                                            },
-                                            "autoScroll": true,
-                                            "background": false,
-                                            "fitContainer": true,
-                                            "fitToframe": true,
-                                            "region": "center",
-                                            "tableName": "Events",
-                                            "title": "Events",
-                                            "xtype": "GridPanel",
-                                            "|xns": "Roo",
-                                            "items": [
-                                                {
-                                                    "listeners": {
-                                                        "|render": "function() \n{\n    _this.grid = this; \n    //_this.dialog = Pman.Dialog.FILL_IN\n       this.dataSource.load({});\n\n}"
-                                                    },
-                                                    "*prop": "grid",
-                                                    "autoExpandColumn": "person_id_name",
-                                                    "loadMask": true,
-                                                    "xtype": "Grid",
-                                                    "|xns": "Roo.grid",
-                                                    "items": [
-                                                        {
-                                                            "listeners": {
-                                                                "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}                                                                   "
-                                                            },
-                                                            "*prop": "sm",
-                                                            "singleSelect": true,
-                                                            "xtype": "RowSelectionModel",
-                                                            "|xns": "Roo.grid"
-                                                        },
-                                                        {
-                                                            "listeners": {
-                                                                "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}"
-                                                            },
-                                                            "*prop": "dataSource",
-                                                            "remoteSort": true,
-                                                            "xtype": "Store",
-                                                            "|sortInfo": "{ field : 'person_name', direction: 'ASC' }",
-                                                            "|xns": "Roo.data",
-                                                            "items": [
-                                                                {
-                                                                    "*prop": "proxy",
-                                                                    "method": "GET",
-                                                                    "xtype": "HttpProxy",
-                                                                    "|url": "baseURL + '/Roo/mtrack_change.php'",
-                                                                    "|xns": "Roo.data"
-                                                                },
-                                                                {
-                                                                    "*prop": "reader",
-                                                                    "id": "id",
-                                                                    "root": "data",
-                                                                    "totalProperty": "total",
-                                                                    "xtype": "JsonReader",
-                                                                    "|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]",
-                                                                    "|xns": "Roo.data"
-                                                                }
-                                                            ]
-                                                        },
-                                                        {
-                                                            "*prop": "colModel[]",
-                                                            "dataIndex": "repo_name",
-                                                            "header": "Repos",
-                                                            "width": 30,
-                                                            "xtype": "ColumnModel",
-                                                            "|renderer": "function(v,x,r) { \n\n    return String.format('{0}',  v  ? v : '' );\n }",
-                                                            "|xns": "Roo.grid"
-                                                        },
-                                                        {
-                                                            "*prop": "colModel[]",
-                                                            "dataIndex": "project_code",
-                                                            "header": "Project",
-                                                            "width": 50,
-                                                            "xtype": "ColumnModel",
-                                                            "|renderer": "function(v,x,r) { \n    \n    Roo.log(r);\n    return String.format( '{0}' ,v );\n }\n ",
-                                                            "|xns": "Roo.grid"
-                                                        },
-                                                        {
-                                                            "*prop": "colModel[]",
-                                                            "dataIndex": "person_name",
-                                                            "header": "Who",
-                                                            "width": 100,
-                                                            "xtype": "ColumnModel",
-                                                            "|renderer": "function(v,x,r) { \n    \n    return String.format( '{0}' , v);\n }\n ",
-                                                            "|xns": "Roo.grid"
-                                                        },
-                                                        {
-                                                            "*prop": "colModel[]",
-                                                            "align": "right",
-                                                            "dataIndex": "nchanges",
-                                                            "header": "Changes",
-                                                            "width": 30,
-                                                            "xtype": "ColumnModel",
-                                                            "|renderer": "function(v,x,r) { \n    return v * 1;\n }\n ",
-                                                            "|xns": "Roo.grid"
-                                                        }
-                                                    ]
-                                                }
-                                            ]
-                                        },
-                                        {
-                                            "region": "north",
-                                            "xtype": "ContentPanel",
-                                            "|xns": "Roo",
-                                            "items": [
-                                                {
-                                                    "listeners": {
-                                                        "render": "function (_self)\n{\n  _this.datePicker = _self;\n}",
-                                                        "select": "function (_self, date)\n{\n    if (! _this.grid) {\n        return;\n    }\n    _this.grid.ds.load({});\n}",
-                                                        "monthchange": "function (_self, date)\n{\n   \n}"
-                                                    },
-                                                    "xtype": "DatePicker",
-                                                    "|xns": "Roo"
-                                                }
-                                            ]
-                                        }
-                                    ]
-                                }
-                            ]
-                        }
-                    ]
+                 "id" : "id",
+                 "root" : "data",
+                 "xtype" : "JsonReader",
+                 "$ 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]",
+                 "$ xns" : "Roo.data",
+                 "* prop" : "reader",
+                 "totalProperty" : "total"
                 }
-            ]
+               ]
+              },
+              {
+               "xtype" : "ColumnModel",
+               "header" : "Repos",
+               "width" : 30,
+               "$ renderer" : "function(v,x,r) { \n\n    return String.format('{0}',  v  ? v : '' );\n }",
+               "$ xns" : "Roo.grid",
+               "* prop" : "colModel[]",
+               "dataIndex" : "repo_name"
+              },
+              {
+               "xtype" : "ColumnModel",
+               "header" : "Project",
+               "width" : 50,
+               "$ renderer" : "function(v,x,r) { \n    \n    Roo.log(r);\n    return String.format( '{0}' ,v );\n }\n ",
+               "$ xns" : "Roo.grid",
+               "* prop" : "colModel[]",
+               "dataIndex" : "project_code"
+              },
+              {
+               "xtype" : "ColumnModel",
+               "header" : "Who",
+               "width" : 100,
+               "$ renderer" : "function(v,x,r) { \n    \n    return String.format( '{0}' , v);\n }\n ",
+               "$ xns" : "Roo.grid",
+               "* prop" : "colModel[]",
+               "dataIndex" : "person_name"
+              },
+              {
+               "align" : "right",
+               "xtype" : "ColumnModel",
+               "header" : "Changes",
+               "width" : 30,
+               "$ renderer" : "function(v,x,r) { \n    return v * 1;\n }\n ",
+               "$ xns" : "Roo.grid",
+               "* prop" : "colModel[]",
+               "dataIndex" : "nchanges"
+              }
+             ]
+            }
+           ]
+          },
+          {
+           "region" : "north",
+           "xtype" : "ContentPanel",
+           "$ xns" : "Roo",
+           "items" : [
+            {
+             "listeners" : {
+              "render" : "function (_self)\n{\n  _this.datePicker = _self;\n}",
+              "monthchange" : "function (_self, date)\n{\n   \n}",
+              "select" : "function (_self, date)\n{\n    if (! _this.grid) {\n        return;\n    }\n    _this.grid.ds.load({});\n}"
+             },
+             "xtype" : "DatePicker",
+             "$ xns" : "Roo"
+            }
+           ]
+          }
+         ]
         }
-    ],
-    "permname": "",
-    "modOrder": "300"
+       ]
+      }
+     ]
+    }
+   ]
+  }
+ ]
 }
\ No newline at end of file