From 579e16394946160000970b60dc4fc693d007e297 Mon Sep 17 00:00:00 2001 From: Sebastian Sdorra Date: Fri, 3 Aug 2012 08:06:19 +0200 Subject: [PATCH] do not show branch or tag toolbar if the commands are not supported --- .../sonia.repository.changesetviewerpanel.js | 6 +++++- .../resources/js/repository/sonia.repository.js | 12 +++++++++++- .../repository/sonia.repository.repositorybrowser.js | 6 +++++- 3 files changed, 21 insertions(+), 3 deletions(-) diff --git a/scm-webapp/src/main/webapp/resources/js/repository/sonia.repository.changesetviewerpanel.js b/scm-webapp/src/main/webapp/resources/js/repository/sonia.repository.changesetviewerpanel.js index a2ebc84bcd..032e4f4f81 100644 --- a/scm-webapp/src/main/webapp/resources/js/repository/sonia.repository.changesetviewerpanel.js +++ b/scm-webapp/src/main/webapp/resources/js/repository/sonia.repository.changesetviewerpanel.js @@ -101,7 +101,11 @@ Sonia.repository.ChangesetViewerPanel = Ext.extend(Ext.Panel, { if ( ! this.inline ){ config.title = String.format(this.changesetViewerTitleText, this.repository.name) - config.tbar = this.createTopToolbar(); + + var type = Sonia.repository.getTypeByName( this.repository.type ); + if ( type && type.supportedCommands && type.supportedCommands.indexOf('BRANCHES') >= 0){ + config.tbar = this.createTopToolbar(); + } config.bbar = { xtype: 'paging', store: this.changesetStore, diff --git a/scm-webapp/src/main/webapp/resources/js/repository/sonia.repository.js b/scm-webapp/src/main/webapp/resources/js/repository/sonia.repository.js index 1ed840a02b..e8701ed28d 100644 --- a/scm-webapp/src/main/webapp/resources/js/repository/sonia.repository.js +++ b/scm-webapp/src/main/webapp/resources/js/repository/sonia.repository.js @@ -30,7 +30,7 @@ */ var repositoryTypeStore = new Ext.data.JsonStore({ id: 1, - fields: [ 'displayName', 'name' ] + fields: [ 'displayName', 'name', 'supportedCommands' ] }); function loadRepositoryTypes(state){ @@ -86,6 +86,16 @@ Sonia.repository.createUrlFromObject = function(repository){ return Sonia.repository.createUrl(repository.type, repository.name); } +Sonia.repository.getTypeByName = function(name){ + var type = null; + repositoryTypeStore.queryBy(function(rec){ + if ( rec.get('name') == name ){ + type = rec.data; + } + }); + return type; +} + /** * default panel */ 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 77b7bb48d7..313d750a44 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 @@ -121,7 +121,6 @@ Sonia.repository.RepositoryBrowser = Ext.extend(Ext.grid.GridPanel, { this.appendRepositoryProperties(bar); var config = { - tbar: this.createTopToolbar(), bbar: bar, autoExpandColumn: 'description', title: String.format(this.repositoryBrowserTitleText, this.repository.name), @@ -140,6 +139,11 @@ Sonia.repository.RepositoryBrowser = Ext.extend(Ext.grid.GridPanel, { } }; + var type = Sonia.repository.getTypeByName( this.repository.type ); + if ( type && type.supportedCommands && type.supportedCommands.indexOf('BRANCHES') >= 0){ + config.tbar = this.createTopToolbar(); + } + Ext.apply(this, Ext.apply(this.initialConfig, config)); Sonia.repository.RepositoryBrowser.superclass.initComponent.apply(this, arguments); },