// Auto generated file - created by app.Builder.js- do not edit directly (at present!)
+Roo.namespace('Pman.Tab');
+Pman.Tab.MTrackMerger = new Roo.XComponent({
-// register the module first
-Pman.on('beforeload', function()
-{
- Pman.register({
- modKey : '400-Pman.Tab.MTrackMerger',
- module : Pman.Tab.MTrackMerger,
- region : 'center',
- parent : Pman.Tab.MTrack,
- name : "Pman.Tab.MTrackMerger",
- disabled : false,
- permname: ''
- });
-});
-
-Pman.Tab.MTrackMerger = new Roo.util.Observable({
-
- panel : false,
- disabled : false,
- parentLayout: false,
+ _strings : {
+ 'cd23e6cc0233eef073cbed0cfebcd6a1' :"Create Commit Using Patch",
+ 'f29ddbfb905eb2593fdcdfb243f9af85' :"Added",
+ '66717bf2b8235cc94a52d5b815d57a54' :"Review Changes",
+ '06f5aa315f44a2147bab17980d1f6570' :"Merge Commits",
+ 'c671c787b49f50a3ace9fdc5bd597825' :"core_enum",
+ '93f07b720ebf7d1246512569761a5804' :"Removed",
+ '4d1c8263ba1036754f8db14a98f9f006' :"Reload",
+ '21bcad367951f7c2e761f744423161b6' :"Create Commit Using Merge",
+ 'e63695c4dea40eefb2ef481c7b242192' :"All Changes",
+ '0b27918290ff5323bea1e3b78a9cf04e' :"File"
+ },
- add : function(parentLayout, region)
- {
-
- var _this = this;
- this.parentLayout = parentLayout;
-
- this.panel = parentLayout.addxtype({
- xtype: 'NestedLayoutPanel',
- xns: Roo,
- listeners : {
- activate : function (_self)
- {
- try {
- var t = _this.tree.tree;
- t.loader.load(t.root);
- } catch(e) {}
- }
- },
- background : true,
- region : 'center',
- title : "Merger",
- layout : {
- xtype: 'BorderLayout',
- xns: Roo,
- items : [
- {
- xtype: 'TreePanel',
- xns: Roo,
- listeners : {
- render : function (_self)
- {
- _this.tree = _self;
- }
- },
- autoScroll : true,
- fitToFrame : true,
- region : 'west',
- toolbar : {
- xtype: 'Toolbar',
- xns: Roo,
- items : [
- {
- xtype: 'Button',
- xns: Roo.Toolbar,
- listeners : {
- click : function (_self, e)
- {
- var t = _this.tree.tree;
- t.loader.load(t.root);
- }
- },
- text : "Reload"
- }
- ]
- },
- tree : {
- xtype: 'TreePanel',
- xns: Roo.tree,
- sm : {
- xtype: 'DefaultSelectionModel',
- xns: Roo.tree,
- listeners : {
- selectionchange : function (_self, node)
- {
- _this.grid.ds.load({});
- }
- }
- },
- loader : {
- xtype: 'TreeLoader',
- xns: Roo.tree,
- listeners : {
- beforeload : function (This, node, callback)
- {
- _this.tree.el.mask("Loading");
- },
- load : function (This, node, response)
- {
- _this.tree.el.unmask();
- _this.tree.tree.root.expand(false,true);
- },
- loadexception : function (This, node, response)
- {
- _this.tree.el.unmask();
- }
- },
- requestMethod : 'GET',
- root : 'data',
- baseParams : { _tree : 1 },
- dataUrl : baseURL + '/MTrack/Merger'
+ part : ["MTrack", "Merger" ],
+ order : '400-Pman.Tab.MTrackMerger',
+ region : 'center',
+ parent : 'Pman.Tab.MTrack',
+ name : "Pman.Tab.MTrackMerger",
+ disabled : false,
+ permname : '',
+ _tree : function(_data)
+ {
+ var _this = this;
+ var MODULE = this;
+ return {
+ xtype : 'NestedLayoutPanel',
+ background : true,
+ region : 'center',
+ title : _this._strings['06f5aa315f44a2147bab17980d1f6570'] /* Merge Commits */,
+ listeners : {
+ activate : function (_self)
+ {
+ try {
+ var t = _this.tree.tree;
+ t.loader.load(t.root);
+ } catch(e) {}
+ }
+ },
+ xns : Roo,
+ '|xns' : 'Roo',
+ layout : {
+ xtype : 'BorderLayout',
+ xns : Roo,
+ '|xns' : 'Roo',
+ center : {
+ xtype : 'LayoutRegion',
+ xns : Roo,
+ '|xns' : 'Roo'
+ },
+ west : {
+ xtype : 'LayoutRegion',
+ split : true,
+ width : 200,
+ xns : Roo,
+ '|xns' : 'Roo'
+ },
+ south : {
+ xtype : 'LayoutRegion',
+ height : 200,
+ split : true,
+ titlebar : true,
+ xns : Roo,
+ '|xns' : 'Roo'
+ },
+ items : [
+ {
+ xtype : 'TreePanel',
+ autoScroll : true,
+ fitToFrame : true,
+ region : 'west',
+ listeners : {
+ render : function (_self)
+ {
+ _this.tree = _self;
+ }
+ },
+ xns : Roo,
+ '|xns' : 'Roo',
+ toolbar : {
+ xtype : 'Toolbar',
+ xns : Roo,
+ '|xns' : 'Roo',
+ items : [
+ {
+ xtype : 'Button',
+ text : _this._strings['4d1c8263ba1036754f8db14a98f9f006'] /* Reload */,
+ listeners : {
+ click : function (_self, e)
+ {
+ var t = _this.tree.tree;
+ t.loader.load(t.root);
+ }
+ },
+ xns : Roo.Toolbar,
+ '|xns' : 'Roo.Toolbar'
+ }
+ ]
+ },
+ tree : {
+ xtype : 'TreePanel',
+ listeners : {
+ click : function (node, e)
+ {
+
+ _this.grid.ds.load.defer(100, _this.grid.ds, [ {} ]);
+ }
+ },
+ xns : Roo.tree,
+ '|xns' : 'Roo.tree',
+ root : {
+ xtype : 'TreeNode',
+ text : _this._strings['e63695c4dea40eefb2ef481c7b242192'] /* All Changes */,
+ xns : Roo.tree,
+ '|xns' : 'Roo.tree'
+ },
+ loader : {
+ xtype : 'TreeLoader',
+ baseParams : { _tree : 1 },
+ dataUrl : baseURL + '/MTrack/Merger',
+ requestMethod : 'GET',
+ root : 'data',
+ listeners : {
+ beforeload : function (This, node, callback)
+ {
+ _this.tree.el.mask("Loading");
+ },
+ load : function (This, node, response)
+ {
+ _this.tree.el.unmask();
+ _this.tree.tree.root.expand(false,true);
+ },
+ loadexception : function (This, node, response)
+ {
+ _this.tree.el.unmask();
+ }
+ },
+ xns : Roo.tree,
+ '|xns' : 'Roo.tree'
+ }
+ }
+ },
+ {
+ xtype : 'GridPanel',
+ background : true,
+ fitContainer : true,
+ fitToframe : true,
+ region : 'center',
+ tableName : 'core_enum',
+ title : _this._strings['c671c787b49f50a3ace9fdc5bd597825'] /* core_enum */,
+ listeners : {
+ activate : function() {
+ _this.panel = this;
+ if (_this.grid) {
+ //_this.grid.footer.onClick('first');
+ }
+ }
+ },
+ xns : Roo,
+ '|xns' : 'Roo',
+ grid : {
+ xtype : 'Grid',
+ autoExpandColumn : 'etype',
+ loadMask : true,
+ listeners : {
+ render : function()
+ {
+ _this.grid = this;
+ //_this.dialog = Pman.Dialog.FILL_IN
+ if (_this.panel.active) {
+ //this.footer.onClick('first');
+ }
+ },
+ rowdblclick : function (_self, rowIndex, e)
+ {
+ if (!_this.dialog) { return; }
+ _this.dialog.show( this.getDataSource().getAt(rowIndex), function() {
+ _this.grid.footer.onClick('first');
+ });
+ }
+ },
+ xns : Roo.grid,
+ '|xns' : 'Roo.grid',
+ toolbar : {
+ xtype : 'Toolbar',
+ xns : Roo,
+ '|xns' : 'Roo',
+ items : [
+ {
+ xtype : 'Button',
+ cls : 'x-btn-text-icon',
+ icon : Roo.rootURL + 'images/default/dd/drop-add.gif',
+ text : _this._strings['cd23e6cc0233eef073cbed0cfebcd6a1'] /* Create Commit Using Patch */,
+ listeners : {
+ click : function()
+ {
+ // if we are just copying a simple commit accross with a valid message
+ // then this could contain the original commit message..
+ if (! _this.tree.tree.selModel.getSelectedNode()) {
+ Roo.MessageBox.alert("Error", "select a revision");
+ return ;
+ }
+ var ar = _this.grid.sm.getSelections();
+ var files = [];
+ Roo.each(ar, function(s) {
+ files.push(s.data.filename);
+
+ });
+
+ if (!files.length) {
+ Roo.MessageBox.alert("Error", "select some files");
+ return ;
+ }
+
+
+ Roo.MessageBox.show({
+ title: "Create a Commit",
+ msg: "Enter commit message",
+ width:300,
+ buttons: Roo.MessageBox.OKCANCEL,
+ multiline: true,
+ fn: function(btn, msg) {
+
+ if (btn != 'ok') {
+ return;
+ }
+ new Pman.Request({
+ method : 'POST',
+ url : baseURL + '/MTrack/Merger',
+ params : {
+ message : msg,
+ _merge : _this.tree.tree.selModel.getSelectedNode().attributes.rev,
+ files : Roo.encode(files)
},
- root : {
- xtype: 'TreeNode',
- xns: Roo.tree,
- text : "All Changes"
+ success : function () {
+ // reload the grid..
+ _this.grid.ds.load({});
}
- }
- },
- {
- xtype: 'GridPanel',
- xns: Roo,
- listeners : {
- activate : function() {
- _this.panel = this;
- if (_this.grid) {
- //_this.grid.footer.onClick('first');
- }
- }
- },
- background : true,
- fitContainer : true,
- fitToframe : true,
- region : 'center',
- tableName : 'core_enum',
- title : "core_enum",
- grid : {
- xtype: 'Grid',
- xns: Roo.grid,
- listeners : {
- render : function()
- {
- _this.grid = this;
- //_this.dialog = Pman.Dialog.FILL_IN
- if (_this.panel.active) {
- //this.footer.onClick('first');
- }
- },
- rowdblclick : function (_self, rowIndex, e)
- {
- if (!_this.dialog) return;
- _this.dialog.show( this.getDataSource().getAt(rowIndex), function() {
- _this.grid.footer.onClick('first');
- });
- }
- },
- autoExpandColumn : 'etype',
- loadMask : true,
- dataSource : {
- xtype: 'Store',
- xns: Roo.data,
- listeners : {
- beforeload : function (_self, options)
- {
- if (!_this.tree.tree.selModel.getSelectedNode()) {
- return false;
- }
-
- options.params._changedFiles = _this.tree.tree.selModel.getSelectedNode().attributes.rev;
- }
- },
- remoteSort : false,
- sortInfo : { field: 'filename', dir : 'ASC' },
- proxy : {
- xtype: 'HttpProxy',
- xns: Roo.data,
- method : 'GET',
- url : baseURL + '/MTrack/Merger.php'
- },
- reader : {
- xtype: 'JsonReader',
- xns: Roo.data,
- id : 'id',
- root : 'data',
- totalProperty : 'total',
- fields : [
- {
- 'name': 'id',
- 'type': 'int'
- },
- {
- 'name': 'filename',
- 'type': 'string'
- },
- {
- 'name': 'added',
- 'type': 'int'
- },
- {
- 'name': 'removed',
- 'type': 'int'
- }
-
- ]
- }
- },
- sm : {
- xtype: 'RowSelectionModel',
- xns: Roo.grid,
- singleSelect : false
- },
- toolbar : {
- xtype: 'Toolbar',
- xns: Roo,
- items : [
- {
- xtype: 'Button',
- xns: Roo.Toolbar,
- listeners : {
- click : function()
- {
-
- }
- },
- cls : 'x-btn-text-icon',
- text : "Create Commit",
- icon : Roo.rootURL + 'images/default/dd/drop-add.gif'
- }
- ]
+ });
+ },
+ animEl: this.el
+ });
+ }
+ },
+ xns : Roo.Toolbar,
+ '|xns' : 'Roo.Toolbar'
+ },
+ {
+ xtype : 'Button',
+ cls : 'x-btn-text-icon',
+ icon : Roo.rootURL + 'images/default/dd/drop-add.gif',
+ text : _this._strings['21bcad367951f7c2e761f744423161b6'] /* Create Commit Using Merge */,
+ listeners : {
+ click : function()
+ {
+ // if we are just copying a simple commit accross with a valid message
+ // then this could contain the original commit message..
+ if (! _this.tree.tree.selModel.getSelectedNode()) {
+ Roo.MessageBox.alert("Error", "select a revision");
+ return ;
+ }
+
+
+
+ Roo.MessageBox.show({
+ title: "Create a Commit",
+ msg: "Enter commit message",
+ width:300,
+ buttons: Roo.MessageBox.OKCANCEL,
+ multiline: true,
+ fn: function(btn, msg) {
+
+ if (btn != 'ok') {
+ return;
+ }
+ new Pman.Request({
+ method : 'POST',
+ url : baseURL + '/MTrack/Merger',
+ params : {
+ message : msg,
+ _merge : _this.tree.tree.selModel.getSelectedNode().attributes.rev,
+ files : '_all_'
},
- colModel : [
- {
- xtype: 'ColumnModel',
- xns: Roo.grid,
- dataIndex : 'filename',
- header : 'File',
- width : 200,
- renderer : function(v) { return String.format('{0}', v); }
- },
- {
- xtype: 'ColumnModel',
- xns: Roo.grid,
- dataIndex : 'added',
- header : 'Added',
- width : 50,
- renderer : function(v) { return String.format('{0}', v); }
- },
- {
- xtype: 'ColumnModel',
- xns: Roo.grid,
- dataIndex : 'removed',
- header : 'Removed',
- width : 50,
- renderer : function(v) { return String.format('{0}', v); }
- }
- ]
- }
- },
- {
- xtype: 'ContentPanel',
- xns: Roo,
- region : 'south',
- title : "Review Changes"
- }
- ],
- west : {
- xtype: 'LayoutRegion',
- xns: Roo,
- split : true,
- width : 200
- },
- center : {
- xtype: 'LayoutRegion',
- xns: Roo
- },
- south : {
- xtype: 'LayoutRegion',
- xns: Roo,
- height : 200,
- split : true,
- titlebar : true
- }
+ success : function () {
+ // reload the grid..
+ var t = _this.tree.tree;
+ t.loader.load(t.root);
+ }
+ });
+ },
+ animEl: this.el
+ });
}
- });
- this.layout = this.panel.layout;
-
- }
+ },
+ xns : Roo.Toolbar,
+ '|xns' : 'Roo.Toolbar'
+ }
+ ]
+ },
+ dataSource : {
+ xtype : 'Store',
+ remoteSort : false,
+ sortInfo : { field: 'filename', dir : 'ASC' },
+ listeners : {
+ beforeload : function (_self, options)
+ {
+ if (!_this.tree.tree.selModel.getSelectedNode()) {
+ return false;
+ }
+
+ options.params = {
+ _changedFiles : _this.tree.tree.selModel.getSelectedNode().attributes.rev
+ };
+ },
+ load : function (_self, records, options)
+ {
+ // clear selections??
+ _this.preview.load({
+ method : 'POST',
+ url : baseURL + '/MTrack/Merger',
+ params : {
+ _preview : _this.tree.tree.selModel.getSelectedNode().attributes.rev
+ }
+ });
+
+
+ }
+ },
+ xns : Roo.data,
+ '|xns' : 'Roo.data',
+ proxy : {
+ xtype : 'HttpProxy',
+ method : 'GET',
+ url : baseURL + '/MTrack/Merger.php',
+ xns : Roo.data,
+ '|xns' : 'Roo.data'
+ },
+ reader : {
+ xtype : 'JsonReader',
+ fields : [
+ {
+ 'name': 'id',
+ 'type': 'int'
+ },
+ {
+ 'name': 'filename',
+ 'type': 'string'
+ },
+ {
+ 'name': 'added',
+ 'type': 'int'
+ },
+ {
+ 'name': 'removed',
+ 'type': 'int'
+ }
+
+ ],
+ id : 'id',
+ root : 'data',
+ totalProperty : 'total',
+ xns : Roo.data,
+ '|xns' : 'Roo.data'
+ }
+ },
+ sm : {
+ xtype : 'RowSelectionModel',
+ singleSelect : false,
+ listeners : {
+ afterselectionchange : function (_self)
+ {
+ var ar = this.getSelections();
+ if (!ar.length) {
+ // show whole change.
+ _this.preview.load({
+ method : 'POST',
+ url : baseURL + '/MTrack/Merger',
+ params : {
+ _preview : _this.tree.tree.selModel.getSelectedNode().attributes.rev
+ }
+ });
+ return;
+ }
+ var files = [];
+ Roo.each(ar, function(s) {
+ files.push(s.data.filename);
+
+ });
+ _this.preview.load({
+ method : 'POST',
+ url : baseURL + '/MTrack/Merger',
+ params : {
+ _preview : _this.tree.tree.selModel.getSelectedNode().attributes.rev,
+ files: Roo.encode(files)
+ }
+ });
+
+
+ }
+ },
+ xns : Roo.grid,
+ '|xns' : 'Roo.grid'
+ },
+ colModel : [
+ {
+ xtype : 'ColumnModel',
+ dataIndex : 'filename',
+ header : _this._strings['0b27918290ff5323bea1e3b78a9cf04e'] /* File */,
+ renderer : function(v) { return String.format('{0}', v); },
+ width : 200,
+ xns : Roo.grid,
+ '|xns' : 'Roo.grid'
+ },
+ {
+ xtype : 'ColumnModel',
+ dataIndex : 'added',
+ header : _this._strings['f29ddbfb905eb2593fdcdfb243f9af85'] /* Added */,
+ renderer : function(v) { return String.format('{0}', v); },
+ width : 50,
+ xns : Roo.grid,
+ '|xns' : 'Roo.grid'
+ },
+ {
+ xtype : 'ColumnModel',
+ dataIndex : 'removed',
+ header : _this._strings['93f07b720ebf7d1246512569761a5804'] /* Removed */,
+ renderer : function(v) { return String.format('{0}', v); },
+ width : 50,
+ xns : Roo.grid,
+ '|xns' : 'Roo.grid'
+ }
+ ]
+ }
+ },
+ {
+ xtype : 'ContentPanel',
+ autoScroll : true,
+ fitToFrame : true,
+ region : 'south',
+ title : _this._strings['66717bf2b8235cc94a52d5b815d57a54'] /* Review Changes */,
+ listeners : {
+ render : function (_self)
+ {
+ _this.preview = _self;
+ }
+ },
+ xns : Roo,
+ '|xns' : 'Roo'
+ }
+ ]
+ }
+ }; }
});