aboutsummaryrefslogtreecommitdiffstats
path: root/server/sonar-web
diff options
context:
space:
mode:
authorGrégoire Aubert <gregoire.aubert@sonarsource.com>2017-10-23 14:54:22 +0200
committerGrégoire Aubert <gregoire.aubert@sonarsource.com>2017-10-25 14:28:47 +0200
commitfebc464778196523cd9c3fb6538671548ccb8d3d (patch)
tree0dd6ab1a6abfead05705e4625cce56bac0c89cd8 /server/sonar-web
parentb0deb0d52985ce94e4afe28f4378f14e4dae4713 (diff)
downloadsonarqube-febc464778196523cd9c3fb6538671548ccb8d3d.tar.gz
sonarqube-febc464778196523cd9c3fb6538671548ccb8d3d.zip
SONAR-9953 Apply feedbacks on system upgrades
Diffstat (limited to 'server/sonar-web')
-rw-r--r--server/sonar-web/src/main/js/apps/system/components/SystemUpgradeNotif.tsx71
-rw-r--r--server/sonar-web/src/main/js/apps/system/components/system-upgrade/SystemUpgradeForm.tsx14
-rw-r--r--server/sonar-web/src/main/js/apps/system/components/system-upgrade/SystemUpgradeIntermediate.tsx5
-rw-r--r--server/sonar-web/src/main/js/apps/system/components/system-upgrade/SystemUpgradeItem.tsx18
-rw-r--r--server/sonar-web/src/main/js/apps/system/components/system-upgrade/__tests__/SystemUpgradeItem-test.tsx4
-rw-r--r--server/sonar-web/src/main/js/apps/system/components/system-upgrade/__tests__/__snapshots__/SystemUpgradeForm-test.tsx.snap4
6 files changed, 24 insertions, 92 deletions
diff --git a/server/sonar-web/src/main/js/apps/system/components/SystemUpgradeNotif.tsx b/server/sonar-web/src/main/js/apps/system/components/SystemUpgradeNotif.tsx
deleted file mode 100644
index cdb15d71939..00000000000
--- a/server/sonar-web/src/main/js/apps/system/components/SystemUpgradeNotif.tsx
+++ /dev/null
@@ -1,71 +0,0 @@
-/*
- * SonarQube
- * Copyright (C) 2009-2017 SonarSource SA
- * mailto:info AT sonarsource DOT com
- *
- * This program is free software; you can redistribute it and/or
- * modify it under the terms of the GNU Lesser General Public
- * License as published by the Free Software Foundation; either
- * version 3 of the License, or (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- * Lesser General Public License for more details.
- *
- * You should have received a copy of the GNU Lesser General Public License
- * along with this program; if not, write to the Free Software Foundation,
- * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
- */
-import * as React from 'react';
-import { getSystemUpgrades, SystemUpgrade } from '../../../api/system';
-import { translate } from '../../../helpers/l10n';
-
-interface State {
- systemUpgrades?: SystemUpgrade[];
-}
-
-export default class SystemUpgradeNotif extends React.PureComponent<{}, State> {
- mounted: boolean;
- state: State = {};
-
- componentDidMount() {
- this.mounted = true;
- this.fetchSystemUpgrades();
- }
-
- componentWillUnmount() {
- this.mounted = false;
- }
-
- fetchSystemUpgrades = () =>
- getSystemUpgrades().then(
- ({ upgrades }) => {
- if (this.mounted) {
- this.setState({ systemUpgrades: upgrades });
- }
- },
- () => {}
- );
-
- handleLearnMore = () => {};
-
- render() {
- const { systemUpgrades } = this.state;
-
- if (!systemUpgrades || systemUpgrades.length <= 0) {
- return null;
- }
-
- return (
- <div className="page-notifs">
- <div className="alert alert-info">
- {translate('system.new_version_available')}
- <button className="spacer-left" onClick={this.handleLearnMore}>
- {translate('learn_more')}
- </button>
- </div>
- </div>
- );
- }
-}
diff --git a/server/sonar-web/src/main/js/apps/system/components/system-upgrade/SystemUpgradeForm.tsx b/server/sonar-web/src/main/js/apps/system/components/system-upgrade/SystemUpgradeForm.tsx
index 9370ea4493b..0c508a86706 100644
--- a/server/sonar-web/src/main/js/apps/system/components/system-upgrade/SystemUpgradeForm.tsx
+++ b/server/sonar-web/src/main/js/apps/system/components/system-upgrade/SystemUpgradeForm.tsx
@@ -35,16 +35,6 @@ interface State {
export default class SystemUpgradeForm extends React.PureComponent<Props, State> {
state: State = { upgrading: false };
- getBadge = (idx: number) => {
- if (this.props.systemUpgrades.length <= 1) {
- return undefined;
- }
- if (idx === 0) {
- return translate('system.latest_version');
- }
- return translate('system.latest_lts_version');
- };
-
handleCancelClick = (event: React.SyntheticEvent<HTMLElement>) => {
event.preventDefault();
event.stopPropagation();
@@ -69,7 +59,9 @@ export default class SystemUpgradeForm extends React.PureComponent<Props, State>
{systemUpgrades.map((upgrades, idx) => (
<SystemUpgradeItem
key={upgrades[upgrades.length - 1].version}
- badge={this.getBadge(idx)}
+ type={
+ idx === 0 ? translate('system.latest_version') : translate('system.lts_version')
+ }
systemUpgrades={upgrades}
/>
))}
diff --git a/server/sonar-web/src/main/js/apps/system/components/system-upgrade/SystemUpgradeIntermediate.tsx b/server/sonar-web/src/main/js/apps/system/components/system-upgrade/SystemUpgradeIntermediate.tsx
index d428dc2310b..ccafec8a1aa 100644
--- a/server/sonar-web/src/main/js/apps/system/components/system-upgrade/SystemUpgradeIntermediate.tsx
+++ b/server/sonar-web/src/main/js/apps/system/components/system-upgrade/SystemUpgradeIntermediate.tsx
@@ -74,6 +74,11 @@ export default class SystemUpgradeIntermediate extends React.PureComponent<Props
<p>
<b className="little-spacer-right">SonarQube {upgrade.version}</b>
{formattedDate}
+ {upgrade.changeLogUrl && (
+ <a className="spacer-left" href={upgrade.changeLogUrl} target="_blank">
+ {translate('system.release_notes')}
+ </a>
+ )}
</p>
)}
</DateFormatter>
diff --git a/server/sonar-web/src/main/js/apps/system/components/system-upgrade/SystemUpgradeItem.tsx b/server/sonar-web/src/main/js/apps/system/components/system-upgrade/SystemUpgradeItem.tsx
index 980cae8d2e1..83d45e9ea63 100644
--- a/server/sonar-web/src/main/js/apps/system/components/system-upgrade/SystemUpgradeItem.tsx
+++ b/server/sonar-web/src/main/js/apps/system/components/system-upgrade/SystemUpgradeItem.tsx
@@ -25,15 +25,19 @@ import { SystemUpgrade } from '../../../../api/system';
import { translate, translateWithParameters } from '../../../../helpers/l10n';
interface Props {
- badge?: string;
+ type?: string;
systemUpgrades: SystemUpgrade[];
}
-export default function SystemUpgradeItem({ badge, systemUpgrades }: Props) {
+export default function SystemUpgradeItem({ type, systemUpgrades }: Props) {
const lastUpgrade = systemUpgrades[0];
return (
<div className="system-upgrade-version">
- {badge && <span className="spacer-bottom badge badge-secondary">{badge}</span>}
+ {type && (
+ <h1 className="spacer-bottom">
+ <strong>{type}</strong>
+ </h1>
+ )}
<p>
<FormattedMessage
defaultMessage={translate('system.version_is_availble')}
@@ -48,9 +52,11 @@ export default function SystemUpgradeItem({ badge, systemUpgrades }: Props) {
<span>{translateWithParameters('system.released_x', formattedDate)}</span>
)}
</DateFormatter>
- <a className="spacer-left" href={lastUpgrade.changeLogUrl} target="_blank">
- {translate('system.release_notes')}
- </a>
+ {lastUpgrade.changeLogUrl && (
+ <a className="spacer-left" href={lastUpgrade.changeLogUrl} target="_blank">
+ {translate('system.release_notes')}
+ </a>
+ )}
</div>
<SystemUpgradeIntermediate className="spacer-top" upgrades={systemUpgrades.slice(1)} />
<div className="big-spacer-top">
diff --git a/server/sonar-web/src/main/js/apps/system/components/system-upgrade/__tests__/SystemUpgradeItem-test.tsx b/server/sonar-web/src/main/js/apps/system/components/system-upgrade/__tests__/SystemUpgradeItem-test.tsx
index f23842f8689..b7bd0280a44 100644
--- a/server/sonar-web/src/main/js/apps/system/components/system-upgrade/__tests__/SystemUpgradeItem-test.tsx
+++ b/server/sonar-web/src/main/js/apps/system/components/system-upgrade/__tests__/SystemUpgradeItem-test.tsx
@@ -54,6 +54,6 @@ it('should display correctly', () => {
});
it('should display a badge', () => {
- const wrapper = shallow(<SystemUpgradeItem badge="test badge" systemUpgrades={UPGRADES} />);
- expect(wrapper.find('.badge').exists()).toBeTruthy();
+ const wrapper = shallow(<SystemUpgradeItem type="LTS Version" systemUpgrades={UPGRADES} />);
+ expect(wrapper.find('h1').exists()).toBeTruthy();
});
diff --git a/server/sonar-web/src/main/js/apps/system/components/system-upgrade/__tests__/__snapshots__/SystemUpgradeForm-test.tsx.snap b/server/sonar-web/src/main/js/apps/system/components/system-upgrade/__tests__/__snapshots__/SystemUpgradeForm-test.tsx.snap
index 3bfbebace5a..0f84689c104 100644
--- a/server/sonar-web/src/main/js/apps/system/components/system-upgrade/__tests__/__snapshots__/SystemUpgradeForm-test.tsx.snap
+++ b/server/sonar-web/src/main/js/apps/system/components/system-upgrade/__tests__/__snapshots__/SystemUpgradeForm-test.tsx.snap
@@ -25,7 +25,6 @@ exports[`should display correctly 1`] = `
className="modal-body"
>
<SystemUpgradeItem
- badge="system.latest_version"
systemUpgrades={
Array [
Object {
@@ -46,9 +45,9 @@ exports[`should display correctly 1`] = `
},
]
}
+ type="system.latest_version"
/>
<SystemUpgradeItem
- badge="system.latest_lts_version"
systemUpgrades={
Array [
Object {
@@ -77,6 +76,7 @@ exports[`should display correctly 1`] = `
},
]
}
+ type="system.lts_version"
/>
</div>
<div