diff options
author | Grégoire Aubert <gregoire.aubert@sonarsource.com> | 2017-07-18 10:58:50 +0200 |
---|---|---|
committer | Grégoire Aubert <gregoire.aubert@sonarsource.com> | 2017-07-18 11:50:43 +0200 |
commit | c3e93b8e881a6be261a5cdc800a571cf1343c998 (patch) | |
tree | 331cbf5084a98999421a8ed684e93daf511117b7 | |
parent | c7e8ffc345227eb02beb0bfa3c3e9574d86a8957 (diff) | |
download | sonarqube-c3e93b8e881a6be261a5cdc800a571cf1343c998.tar.gz sonarqube-c3e93b8e881a6be261a5cdc800a571cf1343c998.zip |
SONAR-9403 Fix metric translation for plugins metrics on project activity page
8 files changed, 41 insertions, 39 deletions
diff --git a/server/sonar-web/src/main/js/apps/overview/events/PreviewGraphTooltips.js b/server/sonar-web/src/main/js/apps/overview/events/PreviewGraphTooltips.js index 982320a3a7c..3ee59922574 100644 --- a/server/sonar-web/src/main/js/apps/overview/events/PreviewGraphTooltips.js +++ b/server/sonar-web/src/main/js/apps/overview/events/PreviewGraphTooltips.js @@ -21,6 +21,7 @@ import React from 'react'; import BubblePopup from '../../../components/common/BubblePopup'; import FormattedDate from '../../../components/ui/FormattedDate'; import PreviewGraphTooltipsContent from './PreviewGraphTooltipsContent'; +import { getLocalizedMetricName } from '../../../helpers/l10n'; import type { Metric } from '../types'; import type { Serie } from '../../../components/charts/AdvancedTimeline'; @@ -68,7 +69,7 @@ export default class PreviewGraphTooltips extends React.PureComponent { <PreviewGraphTooltipsContent key={serie.name} serie={serie} - translatedName={metric && metric.custom ? metric.name : serie.translatedName} + translatedName={metric ? getLocalizedMetricName(metric) : serie.translatedName} value={this.props.formatValue(point.y)} /> ); diff --git a/server/sonar-web/src/main/js/apps/overview/events/__tests__/PreviewGraphTooltips-test.js b/server/sonar-web/src/main/js/apps/overview/events/__tests__/PreviewGraphTooltips-test.js index 10a9a0864cb..1b37aaf3691 100644 --- a/server/sonar-web/src/main/js/apps/overview/events/__tests__/PreviewGraphTooltips-test.js +++ b/server/sonar-web/src/main/js/apps/overview/events/__tests__/PreviewGraphTooltips-test.js @@ -24,7 +24,6 @@ import PreviewGraphTooltips from '../PreviewGraphTooltips'; const SERIES_OVERVIEW = [ { name: 'code_smells', - translatedName: 'Code Smells', style: 1, data: [ { @@ -39,7 +38,6 @@ const SERIES_OVERVIEW = [ }, { name: 'bugs', - translatedName: 'Bugs', style: 0, data: [ { @@ -54,7 +52,6 @@ const SERIES_OVERVIEW = [ }, { name: 'vulnerabilities', - translatedName: 'Vulnerabilities', style: 2, data: [ { @@ -70,6 +67,7 @@ const SERIES_OVERVIEW = [ ]; const METRICS = [ + { key: 'code_smells', name: 'Code Smells', type: 'INT' }, { key: 'bugs', name: 'Bugs', type: 'INT' }, { key: 'vulnerabilities', name: 'Vulnerabilities', type: 'INT', custom: true } ]; diff --git a/server/sonar-web/src/main/js/apps/overview/events/__tests__/__snapshots__/PreviewGraphTooltips-test.js.snap b/server/sonar-web/src/main/js/apps/overview/events/__tests__/__snapshots__/PreviewGraphTooltips-test.js.snap index e8090585551..455d71d0124 100644 --- a/server/sonar-web/src/main/js/apps/overview/events/__tests__/__snapshots__/PreviewGraphTooltips-test.js.snap +++ b/server/sonar-web/src/main/js/apps/overview/events/__tests__/__snapshots__/PreviewGraphTooltips-test.js.snap @@ -41,7 +41,6 @@ exports[`should render correctly 1`] = ` ], "name": "code_smells", "style": 1, - "translatedName": "Code Smells", } } translatedName="Code Smells" @@ -62,7 +61,6 @@ exports[`should render correctly 1`] = ` ], "name": "bugs", "style": 0, - "translatedName": "Bugs", } } translatedName="Bugs" @@ -83,7 +81,6 @@ exports[`should render correctly 1`] = ` ], "name": "vulnerabilities", "style": 2, - "translatedName": "Vulnerabilities", } } translatedName="Vulnerabilities" diff --git a/server/sonar-web/src/main/js/apps/projectActivity/components/GraphsLegendCustom.js b/server/sonar-web/src/main/js/apps/projectActivity/components/GraphsLegendCustom.js index 540bb65961a..72e4009e401 100644 --- a/server/sonar-web/src/main/js/apps/projectActivity/components/GraphsLegendCustom.js +++ b/server/sonar-web/src/main/js/apps/projectActivity/components/GraphsLegendCustom.js @@ -21,13 +21,14 @@ import React from 'react'; import GraphsLegendItem from './GraphsLegendItem'; import Tooltip from '../../../components/controls/Tooltip'; import { hasDataValues } from '../utils'; -import { translate } from '../../../helpers/l10n'; +import { getLocalizedMetricName, translate } from '../../../helpers/l10n'; import type { Metric } from '../types'; +import type { Serie } from '../../../components/charts/AdvancedTimeline'; type Props = { metrics: Array<Metric>, removeMetric: string => void, - series: Array<{ name: string, translatedName: string, style: string }> + series: Array<Serie & { translatedName: string }> }; export default function GraphsLegendCustom({ metrics, removeMetric, series }: Props) { @@ -39,7 +40,7 @@ export default function GraphsLegendCustom({ metrics, removeMetric, series }: Pr const legendItem = ( <GraphsLegendItem metric={serie.name} - name={metric && metric.custom ? metric.name : serie.translatedName} + name={metric ? getLocalizedMetricName(metric) : serie.translatedName} showWarning={!hasData} style={serie.style} removeMetric={removeMetric} diff --git a/server/sonar-web/src/main/js/apps/projectActivity/components/GraphsTooltips.js b/server/sonar-web/src/main/js/apps/projectActivity/components/GraphsTooltips.js index d4b13addd4a..43dd36a2323 100644 --- a/server/sonar-web/src/main/js/apps/projectActivity/components/GraphsTooltips.js +++ b/server/sonar-web/src/main/js/apps/projectActivity/components/GraphsTooltips.js @@ -26,6 +26,7 @@ import GraphsTooltipsContentEvents from './GraphsTooltipsContentEvents'; import GraphsTooltipsContentCoverage from './GraphsTooltipsContentCoverage'; import GraphsTooltipsContentDuplication from './GraphsTooltipsContentDuplication'; import GraphsTooltipsContentOverview from './GraphsTooltipsContentOverview'; +import { getLocalizedMetricName } from '../../../helpers/l10n'; import type { Event, MeasureHistory, Metric } from '../types'; import type { Serie } from '../../../components/charts/AdvancedTimeline'; @@ -85,7 +86,9 @@ export default class GraphsTooltips extends React.PureComponent { <GraphsTooltipsContent key={serie.name} serie={serie} - translatedName={metric && metric.custom ? metric.name : serie.translatedName} + translatedName={ + metric ? getLocalizedMetricName(metric) : serie.translatedName + } value={this.props.formatValue(point.y)} /> ); diff --git a/server/sonar-web/src/main/js/apps/projectActivity/components/ProjectActivityAppContainer.js b/server/sonar-web/src/main/js/apps/projectActivity/components/ProjectActivityAppContainer.js index dd3b3690c07..035693ad599 100644 --- a/server/sonar-web/src/main/js/apps/projectActivity/components/ProjectActivityAppContainer.js +++ b/server/sonar-web/src/main/js/apps/projectActivity/components/ProjectActivityAppContainer.js @@ -213,34 +213,32 @@ class ProjectActivityAppContainer extends React.PureComponent { ignoreHistory ? Promise.resolve() : this.fetchMeasuresHistory(graphMetrics) ]).then(response => { if (this.mounted) { - setTimeout(() => { - const newState = { - analyses: response[0].analyses, - analysesLoading: true, - loading: false, - metrics: response[1], - paging: response[0].paging - }; - if (ignoreHistory) { - this.setState(newState); - } else { + const newState = { + analyses: response[0].analyses, + analysesLoading: true, + loading: false, + metrics: response[1], + paging: response[0].paging + }; + if (ignoreHistory) { + this.setState(newState); + } else { + this.setState({ + ...newState, + graphLoading: false, + measuresHistory: response[2] + }); + } + + this.loadAllActivities(query.project).then(({ analyses, paging }) => { + if (this.mounted) { this.setState({ - ...newState, - graphLoading: false, - measuresHistory: response[2] + analyses, + analysesLoading: false, + paging }); } - - this.loadAllActivities(query.project).then(({ analyses, paging }) => { - if (this.mounted) { - this.setState({ - analyses, - analysesLoading: false, - paging - }); - } - }); - }, 1000); + }); } }); } diff --git a/server/sonar-web/src/main/js/apps/projectActivity/components/__tests__/__snapshots__/GraphsTooltips-test.js.snap b/server/sonar-web/src/main/js/apps/projectActivity/components/__tests__/__snapshots__/GraphsTooltips-test.js.snap index 8cc911548dc..ca571b58091 100644 --- a/server/sonar-web/src/main/js/apps/projectActivity/components/__tests__/__snapshots__/GraphsTooltips-test.js.snap +++ b/server/sonar-web/src/main/js/apps/projectActivity/components/__tests__/__snapshots__/GraphsTooltips-test.js.snap @@ -163,7 +163,7 @@ exports[`should render correctly for random graphs 1`] = ` "translatedName": "metric.bugs.name", } } - translatedName="metric.bugs.name" + translatedName="Bugs" value="Formated.0" /> <GraphsTooltipsContent diff --git a/server/sonar-web/src/main/js/apps/projectActivity/components/forms/AddGraphMetric.js b/server/sonar-web/src/main/js/apps/projectActivity/components/forms/AddGraphMetric.js index 69c5a19d918..293af80020c 100644 --- a/server/sonar-web/src/main/js/apps/projectActivity/components/forms/AddGraphMetric.js +++ b/server/sonar-web/src/main/js/apps/projectActivity/components/forms/AddGraphMetric.js @@ -24,7 +24,11 @@ import Modal from 'react-modal'; import Select from 'react-select'; import Tooltip from '../../../../components/controls/Tooltip'; import { isDiffMetric } from '../../../../helpers/measures'; -import { translate, translateWithParameters } from '../../../../helpers/l10n'; +import { + getLocalizedMetricName, + translate, + translateWithParameters +} from '../../../../helpers/l10n'; import type { Metric } from '../../types'; type Props = { @@ -67,7 +71,7 @@ export default class AddGraphMetric extends React.PureComponent { }) .map((metric: Metric) => ({ value: metric.key, - label: metric.custom ? metric.name : translate('metric', metric.key, 'name') + label: getLocalizedMetricName(metric) })); }; |