aboutsummaryrefslogtreecommitdiffstats
path: root/server/sonar-web/src/main/js
diff options
context:
space:
mode:
authorGrégoire Aubert <gregoire.aubert@sonarsource.com>2017-05-01 15:20:48 +0200
committerGrégoire Aubert <gregaubert@users.noreply.github.com>2017-05-03 10:02:47 +0200
commitc23100da7c62f1f6933b30b60d9333a96c73db44 (patch)
treef7472209901a0d30e7cadb2649274caba4e4fb32 /server/sonar-web/src/main/js
parent9572124c32b326712776529ecd2dc689f4d8cf9e (diff)
downloadsonarqube-c23100da7c62f1f6933b30b60d9333a96c73db44.tar.gz
sonarqube-c23100da7c62f1f6933b30b60d9333a96c73db44.zip
SONAR-8966 Show "Background Tasks" only on project and view level
Diffstat (limited to 'server/sonar-web/src/main/js')
-rw-r--r--server/sonar-web/src/main/js/app/components/nav/component/ComponentNavMenu.js52
1 files changed, 28 insertions, 24 deletions
diff --git a/server/sonar-web/src/main/js/app/components/nav/component/ComponentNavMenu.js b/server/sonar-web/src/main/js/app/components/nav/component/ComponentNavMenu.js
index eb43936221b..0903d35eaa9 100644
--- a/server/sonar-web/src/main/js/app/components/nav/component/ComponentNavMenu.js
+++ b/server/sonar-web/src/main/js/app/components/nav/component/ComponentNavMenu.js
@@ -54,10 +54,6 @@ export default class ComponentNavMenu extends React.PureComponent {
return qualifier === 'VW' || qualifier === 'SVW';
}
- shouldShowAdministration() {
- return Object.keys(this.props.conf).some(key => this.props.conf[key]);
- }
-
renderDashboardLink() {
const pathname = this.isView() ? '/view' : '/dashboard';
return (
@@ -129,9 +125,11 @@ export default class ComponentNavMenu extends React.PureComponent {
}
renderAdministration() {
- if (!this.shouldShowAdministration()) {
+ const adminLinks = this.renderAdministrationLinks();
+ if (!adminLinks.some(link => link != null)) {
return null;
}
+
const isSettingsActive = SETTINGS_URLS.some(url => window.location.href.indexOf(url) !== -1);
const className = 'dropdown' + (isSettingsActive ? ' active' : '');
return (
@@ -145,27 +143,33 @@ export default class ComponentNavMenu extends React.PureComponent {
<i className="icon-dropdown" />
</a>
<ul className="dropdown-menu">
- {this.renderSettingsLink()}
- {this.renderProfilesLink()}
- {this.renderQualityGateLink()}
- {this.renderCustomMeasuresLink()}
- {this.renderLinksLink()}
- {this.renderPermissionsLink()}
- {this.renderBackgroundTasksLink()}
- {this.renderUpdateKeyLink()}
- {this.renderAdminExtensions()}
- {this.renderDeletionLink()}
+ {adminLinks}
</ul>
</li>
);
}
+ renderAdministrationLinks() {
+ return [
+ this.renderSettingsLink(),
+ this.renderProfilesLink(),
+ this.renderQualityGateLink(),
+ this.renderCustomMeasuresLink(),
+ this.renderLinksLink(),
+ this.renderPermissionsLink(),
+ this.renderBackgroundTasksLink(),
+ this.renderUpdateKeyLink(),
+ ...this.renderAdminExtensions(),
+ this.renderDeletionLink()
+ ];
+ }
+
renderSettingsLink() {
if (!this.props.conf.showSettings) {
return null;
}
return (
- <li>
+ <li key="settings">
<Link
to={{ pathname: '/project/settings', query: { id: this.props.component.key } }}
activeClassName="active">
@@ -180,7 +184,7 @@ export default class ComponentNavMenu extends React.PureComponent {
return null;
}
return (
- <li>
+ <li key="profiles">
<Link
to={{ pathname: '/project/quality_profiles', query: { id: this.props.component.key } }}
activeClassName="active">
@@ -195,7 +199,7 @@ export default class ComponentNavMenu extends React.PureComponent {
return null;
}
return (
- <li>
+ <li key="quality_gate">
<Link
to={{ pathname: '/project/quality_gate', query: { id: this.props.component.key } }}
activeClassName="active">
@@ -210,7 +214,7 @@ export default class ComponentNavMenu extends React.PureComponent {
return null;
}
return (
- <li>
+ <li key="custom_measures">
<Link
to={{ pathname: '/custom_measures', query: { id: this.props.component.key } }}
activeClassName="active">
@@ -225,7 +229,7 @@ export default class ComponentNavMenu extends React.PureComponent {
return null;
}
return (
- <li>
+ <li key="links">
<Link
to={{ pathname: '/project/links', query: { id: this.props.component.key } }}
activeClassName="active">
@@ -240,7 +244,7 @@ export default class ComponentNavMenu extends React.PureComponent {
return null;
}
return (
- <li>
+ <li key="permissions">
<Link
to={{ pathname: '/project_roles', query: { id: this.props.component.key } }}
activeClassName="active">
@@ -255,7 +259,7 @@ export default class ComponentNavMenu extends React.PureComponent {
return null;
}
return (
- <li>
+ <li key="background_tasks">
<Link
to={{ pathname: '/project/background_tasks', query: { id: this.props.component.key } }}
activeClassName="active">
@@ -270,7 +274,7 @@ export default class ComponentNavMenu extends React.PureComponent {
return null;
}
return (
- <li>
+ <li key="update_key">
<Link
to={{ pathname: '/project/key', query: { id: this.props.component.key } }}
activeClassName="active">
@@ -292,7 +296,7 @@ export default class ComponentNavMenu extends React.PureComponent {
}
return (
- <li>
+ <li key="project_delete">
<Link
to={{ pathname: '/project/deletion', query: { id: this.props.component.key } }}
activeClassName="active">