]> source.dussan.org Git - sonarqube.git/commitdiff
SONAR-8370 Display ratings on new code on a project dashbord
authorStas Vilchik <vilchiks@gmail.com>
Thu, 26 Jan 2017 14:06:24 +0000 (15:06 +0100)
committerStas Vilchik <stas-vilchik@users.noreply.github.com>
Tue, 31 Jan 2017 12:31:17 +0000 (13:31 +0100)
server/sonar-web/src/main/js/apps/overview/components/OverviewApp.js
server/sonar-web/src/main/js/apps/overview/main/BugsAndVulnerabilities.js
server/sonar-web/src/main/js/apps/overview/main/CodeSmells.js
server/sonar-web/src/main/js/apps/overview/main/enhance.js
server/sonar-web/src/main/js/helpers/measures.js

index f65429c3c255bd08106ef7fedcf1ae9c6e680e5c..b966b07d0378e194429a8d66f964b2269eac4d79 100644 (file)
@@ -43,16 +43,19 @@ const METRICS = [
   'bugs',
   'new_bugs',
   'reliability_rating',
+  'new_reliability_rating',
 
   // vulnerabilities
   'vulnerabilities',
   'new_vulnerabilities',
   'security_rating',
+  'new_security_rating',
 
   // code smells
   'code_smells',
   'new_code_smells',
   'sqale_rating',
+  'new_maintainability_rating',
   'sqale_index',
   'new_technical_debt',
 
index 953cffb81887cea794f1981b0a38c36341393473..5d8174a1df40eab59223b05030dc28c1079bc82c 100644 (file)
@@ -63,7 +63,10 @@ class BugsAndVulnerabilities extends React.Component {
           <div className="overview-domain-measures">
             <div className="overview-domain-measure">
               <div className="overview-domain-measure-value">
-                {this.props.renderIssues('new_bugs', 'BUG')}
+                <span style={{ marginLeft: 30 }}>
+                  {this.props.renderIssues('new_bugs', 'BUG')}
+                </span>
+                {this.props.renderRating('new_reliability_rating')}
               </div>
               <div className="overview-domain-measure-label">
                 <span className="little-spacer-right"><BugIcon/></span>
@@ -73,7 +76,10 @@ class BugsAndVulnerabilities extends React.Component {
 
             <div className="overview-domain-measure">
               <div className="overview-domain-measure-value">
-                {this.props.renderIssues('new_vulnerabilities', 'VULNERABILITY')}
+                <span style={{ marginLeft: 30 }}>
+                  {this.props.renderIssues('new_vulnerabilities', 'VULNERABILITY')}
+                </span>
+                {this.props.renderRating('new_security_rating')}
               </div>
               <div className="overview-domain-measure-label">
                 <span className="little-spacer-right"><VulnerabilityIcon/></span>
index 7994903186a41e22faa742bd43f228f7a47d19aa..4ba9c9b358d6d40cd2d92e9c90f21a707c50f47c 100644 (file)
@@ -86,7 +86,10 @@ class CodeSmells extends React.Component {
           <div className="overview-domain-measures">
             <div className="overview-domain-measure">
               <div className="overview-domain-measure-value">
-                {this.renderDebt('new_technical_debt', 'CODE_SMELL')}
+                <span style={{ marginLeft: 30 }}>
+                  {this.renderDebt('new_technical_debt', 'CODE_SMELL')}
+                </span>
+                {this.props.renderRating('new_maintainability_rating')}
               </div>
               <div className="overview-domain-measure-label">
                 {getMetricName('new_effort')}
index 47850e7dd2f1728a0af42f5580ebace6958543b5..f747e0f283480e36f999f1ae37fada1996bcc0e0 100644 (file)
@@ -128,14 +128,14 @@ export default function enhance (ComposedComponent) {
         return null;
       }
 
-      const title = getRatingTooltip(metricKey, measure.value);
+      const value = this.getValue(measure);
+
+      const title = getRatingTooltip(metricKey, value);
 
       return (
-          <div className="overview-domain-measure-sup"
-               title={title}
-               data-toggle="tooltip">
+          <div className="overview-domain-measure-sup" title={title} data-toggle="tooltip">
             <DrilldownLink className="link-no-underline" component={component.key} metric={metricKey}>
-              <Rating value={measure.value}/>
+              <Rating value={value}/>
             </DrilldownLink>
           </div>
       );
index 505ebaf6bfc3b0e827f9e2525227f780b1d34838..cf3188c45bb0d7545c597430995fe5f2b4316b61 100644 (file)
@@ -394,7 +394,9 @@ function getMaintainabilityRatingTooltip (rating) {
 export function getRatingTooltip (metricKey, value) {
   const ratingLetter = formatMeasure(value, 'RATING');
 
-  return metricKey === 'sqale_rating' ?
+  const finalMetricKey = metricKey.startsWith('new_') ? metricKey.substr(4) : metricKey;
+
+  return (finalMetricKey === 'sqale_rating' || finalMetricKey === 'maintainability_rating') ?
       getMaintainabilityRatingTooltip(value) :
-      translate('metric', metricKey, 'tooltip', ratingLetter);
+      translate('metric', finalMetricKey, 'tooltip', ratingLetter);
 }