Pman.Tab.MTrackMerger.bjs
[Pman.MTrack] / Pman.Tab.MTrackMerger.bjs
1 {
2     "id": "roo-file-106",
3     "name": "Pman.Tab.MTrackMerger",
4     "parent": "Pman.Tab.MTrack",
5     "title": "Pman.Tab.MTrackMerger",
6     "path": "/home/alan/gitlive/Pman.MTrack/Pman.Tab.MTrackMerger.bjs",
7     "items": [
8         {
9             "listeners": {
10                 "activate": "function (_self)\n{\n   try {\n        var t = _this.tree.tree;\n        t.loader.load(t.root);\n    } catch(e) {}\n}"
11             },
12             "background": true,
13             "region": "center",
14             "title": "Merge Commits",
15             "xtype": "NestedLayoutPanel",
16             "|xns": "Roo",
17             "items": [
18                 {
19                     "|xns": "Roo",
20                     "xtype": "BorderLayout",
21                     "*prop": "layout",
22                     "items": [
23                         {
24                             "*prop": "west",
25                             "split": true,
26                             "width": 200,
27                             "xtype": "LayoutRegion",
28                             "|xns": "Roo"
29                         },
30                         {
31                             "*prop": "center",
32                             "xtype": "LayoutRegion",
33                             "|xns": "Roo"
34                         },
35                         {
36                             "*prop": "south",
37                             "height": 200,
38                             "split": true,
39                             "titlebar": true,
40                             "xtype": "LayoutRegion",
41                             "|xns": "Roo"
42                         },
43                         {
44                             "listeners": {
45                                 "render": "function (_self)\n{\n  _this.tree = _self;\n}"
46                             },
47                             "autoScroll": true,
48                             "fitToFrame": true,
49                             "region": "west",
50                             "xtype": "TreePanel",
51                             "|xns": "Roo",
52                             "items": [
53                                 {
54                                     "|xns": "Roo",
55                                     "xtype": "Toolbar",
56                                     "*prop": "toolbar",
57                                     "items": [
58                                         {
59                                             "listeners": {
60                                                 "click": "function (_self, e)\n{\n  var t = _this.tree.tree;\n  t.loader.load(t.root);\n}"
61                                             },
62                                             "text": "Reload",
63                                             "xtype": "Button",
64                                             "|xns": "Roo.Toolbar"
65                                         }
66                                     ]
67                                 },
68                                 {
69                                     "listeners": {
70                                         "click": "function (node, e)\n{\n\n   _this.grid.ds.load.defer(100, _this.grid.ds, [ {} ]);\n}"
71                                     },
72                                     "*prop": "tree",
73                                     "xtype": "TreePanel",
74                                     "|xns": "Roo.tree",
75                                     "items": [
76                                         {
77                                             "listeners": {
78                                                 "beforeload": "function (This, node, callback)\n{\n   _this.tree.el.mask(\"Loading\");\n}",
79                                                 "load": "function (This, node, response)\n{\n     _this.tree.el.unmask();\n     _this.tree.tree.root.expand(false,true);\n}",
80                                                 "loadexception": "function (This, node, response)\n{\n _this.tree.el.unmask();\n}"
81                                             },
82                                             "*prop": "loader",
83                                             "requestMethod": "GET",
84                                             "root": "data",
85                                             "xtype": "TreeLoader",
86                                             "|baseParams": "{ _tree : 1 }",
87                                             "|dataUrl": "baseURL + '/MTrack/Merger'",
88                                             "|xns": "Roo.tree"
89                                         },
90                                         {
91                                             "*prop": "root",
92                                             "text": "All Changes",
93                                             "xtype": "TreeNode",
94                                             "|xns": "Roo.tree"
95                                         }
96                                     ]
97                                 }
98                             ]
99                         },
100                         {
101                             "listeners": {
102                                 "|activate": "function() {\n    _this.panel = this;\n    if (_this.grid) {\n        //_this.grid.footer.onClick('first');\n    }\n}"
103                             },
104                             "background": true,
105                             "fitContainer": true,
106                             "fitToframe": true,
107                             "region": "center",
108                             "tableName": "core_enum",
109                             "title": "core_enum",
110                             "xtype": "GridPanel",
111                             "|xns": "Roo",
112                             "items": [
113                                 {
114                                     "listeners": {
115                                         "|render": "function() \n{\n    _this.grid = this; \n    //_this.dialog = Pman.Dialog.FILL_IN\n    if (_this.panel.active) {\n       //this.footer.onClick('first');\n    }\n}",
116                                         "|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"
117                                     },
118                                     "*prop": "grid",
119                                     "autoExpandColumn": "etype",
120                                     "loadMask": true,
121                                     "xtype": "Grid",
122                                     "|xns": "Roo.grid",
123                                     "items": [
124                                         {
125                                             "listeners": {
126                                                 "beforeload": "function (_self, options)\n{\n   if (!_this.tree.tree.selModel.getSelectedNode()) {\n       return false;\n   }\n   \n   options.params = {   \n      _changedFiles : _this.tree.tree.selModel.getSelectedNode().attributes.rev\n      };\n}",
127                                                 "load": "function (_self, records, options)\n{\n   // clear selections??\n   _this.preview.load({\n      method : 'POST',\n      url : baseURL + '/MTrack/Merger',\n      params : {\n          _preview :  _this.tree.tree.selModel.getSelectedNode().attributes.rev\n      }\n  });\n      \n\n}"
128                                             },
129                                             "*prop": "dataSource",
130                                             "remoteSort": false,
131                                             "xtype": "Store",
132                                             "|sortInfo": "{ field: 'filename', dir : 'ASC' }",
133                                             "|xns": "Roo.data",
134                                             "items": [
135                                                 {
136                                                     "*prop": "proxy",
137                                                     "method": "GET",
138                                                     "xtype": "HttpProxy",
139                                                     "|url": "baseURL + '/MTrack/Merger.php'",
140                                                     "|xns": "Roo.data"
141                                                 },
142                                                 {
143                                                     "*prop": "reader",
144                                                     "id": "id",
145                                                     "root": "data",
146                                                     "totalProperty": "total",
147                                                     "xtype": "JsonReader",
148                                                     "|fields": "[\n    {\n        'name': 'id',\n        'type': 'int'\n    },\n    {\n        'name': 'filename',\n        'type': 'string'\n    },\n    {\n        'name': 'added',\n        'type': 'int'\n    },\n    {\n        'name': 'removed',\n        'type': 'int'\n    }\n\n]",
149                                                     "|xns": "Roo.data"
150                                                 }
151                                             ]
152                                         },
153                                         {
154                                             "listeners": {
155                                                 "selectionchange": "function (_self)\n{\n   var ar = this.getSelections();\n   if (!ar.length) {\n     // show whole change.\n     _this.preview.load({\n          method : 'POST',\n          url : baseURL + '/MTrack/Merger',\n          params : {\n              _preview :  _this.tree.tree.selModel.getSelectedNode().attributes.rev\n          }\n      });\n      return;\n   }\n   var files = []\n   Roo.each(ar, function(s) {\n        files.push(s.data.filename);\n   \n   });\n     _this.preview.load({\n          method : 'POST',\n          url : baseURL + '/MTrack/Merger',\n          params : {\n              _preview :  _this.tree.tree.selModel.getSelectedNode().attributes.rev,\n              files:  Roo.encode(files)\n          }\n      });   \n   \n   \n}"
156                                             },
157                                             "*prop": "sm",
158                                             "singleSelect": false,
159                                             "xtype": "RowSelectionModel",
160                                             "|xns": "Roo.grid"
161                                         },
162                                         {
163                                             "*prop": "toolbar",
164                                             "xtype": "Toolbar",
165                                             "|xns": "Roo",
166                                             "items": [
167                                                 {
168                                                     "listeners": {
169                                                         "|click": "function()\n{\n    // if we are just copying a simple commit accross with a valid message\n    // then this could contain the original commit message..\n\n    Roo.MessageBox.show({\n       title: \"Create a Commit\",\n       msg: \"Enter commit message\",\n       width:300,\n       buttons: Roo.MessageBox.OKCANCEL,\n       multiline: true,\n       fn: function() {\n          new Pman.Request({\n                method : 'POST',\n                url : baseURL + '/MTrack/Merger',\n                _merge : '',\n                files : files,\n                success : function () {\n                   // reload the grid..\n                   _this.grid.ds.load({});\n                }\n           });\n       },\n       animEl: this.el\n   });\n}\n"
170                                                     },
171                                                     "cls": "x-btn-text-icon",
172                                                     "text": "Create Commit",
173                                                     "xtype": "Button",
174                                                     "|icon": "Roo.rootURL + 'images/default/dd/drop-add.gif'",
175                                                     "|xns": "Roo.Toolbar"
176                                                 }
177                                             ]
178                                         },
179                                         {
180                                             "*prop": "colModel[]",
181                                             "dataIndex": "filename",
182                                             "header": "File",
183                                             "width": 200,
184                                             "xtype": "ColumnModel",
185                                             "|renderer": "function(v) { return String.format('{0}', v); }",
186                                             "|xns": "Roo.grid"
187                                         },
188                                         {
189                                             "*prop": "colModel[]",
190                                             "dataIndex": "added",
191                                             "header": "Added",
192                                             "width": 50,
193                                             "xtype": "ColumnModel",
194                                             "|renderer": "function(v) { return String.format('{0}', v); }",
195                                             "|xns": "Roo.grid"
196                                         },
197                                         {
198                                             "*prop": "colModel[]",
199                                             "dataIndex": "removed",
200                                             "header": "Removed",
201                                             "width": 50,
202                                             "xtype": "ColumnModel",
203                                             "|renderer": "function(v) { return String.format('{0}', v); }",
204                                             "|xns": "Roo.grid"
205                                         }
206                                     ]
207                                 }
208                             ]
209                         },
210                         {
211                             "listeners": {
212                                 "render": "function (_self)\n{\n  _this.preview = _self;\n}"
213                             },
214                             "autoScroll": true,
215                             "fitToFrame": true,
216                             "region": "south",
217                             "title": "Review Changes",
218                             "xtype": "ContentPanel",
219                             "|xns": "Roo"
220                         }
221                     ]
222                 }
223             ]
224         }
225     ],
226     "permname": "",
227     "modOrder": "400"
228 }