diff --git a/scm-webapp/pom.xml b/scm-webapp/pom.xml index e88ad2a3f3..81c529e6ba 100644 --- a/scm-webapp/pom.xml +++ b/scm-webapp/pom.xml @@ -305,7 +305,7 @@ 1.11 1.0-beta-7 3.0.3 - Tomcat70 + gfv3ee6 diff --git a/scm-webapp/src/main/webapp/resources/js/repository/sonia.repository.changesetviewergrid.js b/scm-webapp/src/main/webapp/resources/js/repository/sonia.repository.changesetviewergrid.js index ebf4369512..71ccc5d4d5 100644 --- a/scm-webapp/src/main/webapp/resources/js/repository/sonia.repository.changesetviewergrid.js +++ b/scm-webapp/src/main/webapp/resources/js/repository/sonia.repository.changesetviewergrid.js @@ -44,7 +44,8 @@ Sonia.repository.ChangesetViewerGrid = Ext.extend(Ext.grid.GridPanel, { Modified{1}\ Deleted{2}\ ', - idsTemplate: 'Commit: {0}', + idsTemplate: '
Commit: {0}
\ +
Tree: {0}
', tagsAndBranchesTemplate: '
{0}
\
{1}
', @@ -86,13 +87,47 @@ Sonia.repository.ChangesetViewerGrid = Ext.extend(Ext.grid.GridPanel, { autoHeight: true, hideHeaders: true, colModel: changesetColModel, - loadMask: true + loadMask: true, + listeners: { + click: { + fn: this.onClick, + scope: this + } + } } Ext.apply(this, Ext.apply(this.initialConfig, config)); Sonia.repository.ChangesetViewerGrid.superclass.initComponent.apply(this, arguments); }, + onClick: function(e){ + var el = e.getTarget('.cs-tree-link'); + + if ( el != null ){ + var revision = el.rel; + var index = revision.indexOf(':'); + if ( index >= 0 ){ + revision = revision.substr(index+1); + } + + if (debug){ + console.debug('load repositorybrowser for ' + revision); + } + + this.openRepositoryBrowser(revision); + } + }, + + openRepositoryBrowser: function(revision){ + main.addTab({ + id: 'repositorybrowser-' + this.repository.id + '-' + revision, + xtype: 'repositoryBrowser', + repository: this.repository, + revision: revision, + closable: true + }); + }, + renderChangesetMetadata: function(author, p, record){ var authorValue = ''; if ( author != null ){ diff --git a/scm-webapp/src/main/webapp/resources/js/repository/sonia.repository.repositorybrowser.js b/scm-webapp/src/main/webapp/resources/js/repository/sonia.repository.repositorybrowser.js index 6801eab991..d4dd7a0422 100644 --- a/scm-webapp/src/main/webapp/resources/js/repository/sonia.repository.repositorybrowser.js +++ b/scm-webapp/src/main/webapp/resources/js/repository/sonia.repository.repositorybrowser.js @@ -43,6 +43,10 @@ Sonia.repository.RepositoryBrowser = Ext.extend(Ext.grid.GridPanel, { initComponent: function(){ + if (debug){ + console.debug('create new browser for repository ' + this.repository.name + " and revision " + this.revision); + } + var browserStore = new Sonia.rest.JsonStore({ proxy: new Ext.data.HttpProxy({ url: restUrl + 'repositories/' + this.repository.id + '/browse.json',