diff options
3 files changed, 30 insertions, 1 deletions
diff --git a/server/sonar-web/src/main/js/apps/overview/domains/coverage-domain.js b/server/sonar-web/src/main/js/apps/overview/domains/coverage-domain.js index d79f7846f51..f9aabc06ec6 100644 --- a/server/sonar-web/src/main/js/apps/overview/domains/coverage-domain.js +++ b/server/sonar-web/src/main/js/apps/overview/domains/coverage-domain.js @@ -36,7 +36,7 @@ export const CoverageMain = React.createClass({ ready: true, measures, leak, - coverageMetricPrefix: this.getCoverageMetricPrefix(measures), + coverageMetricPrefix: this.getCoverageMetricPrefix(measures) }); }); }, @@ -73,6 +73,14 @@ export const CoverageMain = React.createClass({ </div>; }, + renderEmpty() { + return <div className="overview-detailed-page"> + <div className="page"> + <p>{window.t('overview.no_coverage')}</p> + </div> + </div>; + }, + renderLegend () { return <DomainLeakTitle inline={true} label={this.state.leakPeriodLabel} date={this.state.leakPeriodDate}/> }, @@ -89,6 +97,10 @@ export const CoverageMain = React.createClass({ let coverageMetric = this.state.coverageMetricPrefix + 'coverage', uncoveredLinesMetric = this.state.coverageMetricPrefix + 'uncovered_lines'; + if (this.state.measures[coverageMetric] == null) { + return this.renderEmpty(); + } + return <div className="overview-detailed-page"> <div className="overview-cards-list"> <div className="overview-card overview-card-fixed-width"> diff --git a/server/sonar-web/src/main/js/apps/overview/domains/duplications-domain.js b/server/sonar-web/src/main/js/apps/overview/domains/duplications-domain.js index fe4cae3afac..785ca31ae65 100644 --- a/server/sonar-web/src/main/js/apps/overview/domains/duplications-domain.js +++ b/server/sonar-web/src/main/js/apps/overview/domains/duplications-domain.js @@ -64,6 +64,14 @@ export const DuplicationsMain = React.createClass({ </div>; }, + renderEmpty() { + return <div className="overview-detailed-page"> + <div className="page"> + <p>{window.t('overview.no_duplications')}</p> + </div> + </div>; + }, + renderLegend () { return <DomainLeakTitle inline={true} label={this.state.leakPeriodLabel} date={this.state.leakPeriodDate}/> }, @@ -81,9 +89,15 @@ export const DuplicationsMain = React.createClass({ if (!this.state.ready) { return this.renderLoading(); } + + if (this.state.measures['duplicated_lines_density'] == null) { + return this.renderEmpty(); + } + let treemapScale = d3.scale.linear() .domain([0, 25, 50, 75, 100]) .range(CHART_COLORS_RANGE_PERCENT); + return <div className="overview-detailed-page"> <div className="overview-cards-list"> <div className="overview-card overview-card-fixed-width"> diff --git a/sonar-core/src/main/resources/org/sonar/l10n/core.properties b/sonar-core/src/main/resources/org/sonar/l10n/core.properties index cbacec30717..9a906f10ff7 100644 --- a/sonar-core/src/main/resources/org/sonar/l10n/core.properties +++ b/sonar-core/src/main/resources/org/sonar/l10n/core.properties @@ -3150,6 +3150,9 @@ overview.chart.history=History overview.complexity_tooltip.function={0} functions have complexity around {1} overview.complexity_tooltip.file={0} files have complexity around {1} +overview.no_coverage=This component does not have coverage details. +overview.no_duplications=This component does not have details details. + #------------------------------------------------------------------------------ # |