summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--server/sonar-web/src/main/js/apps/overview/domains/coverage-domain.js14
-rw-r--r--server/sonar-web/src/main/js/apps/overview/domains/duplications-domain.js14
-rw-r--r--sonar-core/src/main/resources/org/sonar/l10n/core.properties3
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.
+
#------------------------------------------------------------------------------
#