]> source.dussan.org Git - sonarqube.git/commitdiff
SONAR-5820/SONAR-6019 add severities, status and characteristic facet
authorStas Vilchik <vilchiks@gmail.com>
Mon, 19 Jan 2015 12:37:12 +0000 (13:37 +0100)
committerStas Vilchik <vilchiks@gmail.com>
Mon, 19 Jan 2015 14:38:24 +0000 (15:38 +0100)
server/sonar-web/src/main/js/coding-rules/controller.js
server/sonar-web/src/main/js/coding-rules/facets/characteristic-facet.js
server/sonar-web/src/main/js/coding-rules/facets/severity-facet.js
server/sonar-web/src/main/js/coding-rules/facets/status-facet.js
sonar-core/src/main/resources/org/sonar/l10n/core.properties

index 1819c98c5a3b197d5c808b89e01555c89d8aef96..168fece4780918f42e1219e757579cf5091fcff7 100644 (file)
@@ -9,7 +9,7 @@ define([
   return Controller.extend({
     allFacets: ['q', 'languages', 'repositories', 'tags', 'qprofile', 'debt_characteristics', 'severities', 'statuses',
                 'available_since', 'inheritance', 'active_severities', 'is_template'],
-    facetsFromServer: ['languages', 'repositories', 'tags'],
+    facetsFromServer: ['languages', 'repositories', 'tags', 'severities', 'statuses', 'debt_characteristics'],
     pageSize: 200,
     ruleFields: ['name', 'lang', 'langName', 'sysTags', 'tags', 'status'],
 
index f0ba53566bcd4a8fb6f57e59da42b8d03d02c362..256db1fa3d819a8d897e4d3cd1167da7adbfed89 100644 (file)
@@ -7,13 +7,21 @@ define([
   return BaseFacet.extend({
 
     getValues: function () {
-      var values = _.map(this.options.app.characteristics, function (value, key) {
-        return {
-          label: value,
-          val: key
-        };
+      var values = this.model.getValues(),
+          characteristics = this.options.app.characteristics;
+      return values.map(function (value) {
+        var label = characteristics[value.val];
+        if (value.val === 'NONE') {
+          label = t('coding_rules.noncharacterized');
+        }
+        return _.extend(value, { label: label });
+      });
+    },
+
+    sortValues: function (values) {
+      return _.sortBy(values, function (v) {
+        return v.val === 'NONE' ? -999999 : -v.count;
       });
-      return _.sortBy(values, 'label');
     },
 
     toggleFacet: function (e) {
@@ -29,7 +37,7 @@ define([
 
     serializeData: function () {
       return _.extend(BaseFacet.prototype.serializeData.apply(this, arguments), {
-        values: this.getValues()
+        values: this.sortValues(this.getValues())
       });
     }
   });
index 360d5677fa9646dc3dc3d5d17d2bb69dd18bfebf..cf466543361368a4a6cd33cc5aa760ec0d1c1fd1 100644 (file)
@@ -12,18 +12,6 @@ define([
       return _.sortBy(values, function (v) {
         return order.indexOf(v.val);
       });
-    },
-
-    getValues: function () {
-      return this.severities.map(function (s) {
-        return { val: s };
-      });
-    },
-
-    serializeData: function () {
-      return _.extend(BaseFacet.prototype.serializeData.apply(this, arguments), {
-        values: this.sortValues(this.getValues())
-      });
     }
   });
 
index 3429f1a51471a9bc3b60f67adae89fdae7f6844f..967e2f90946864775e0326ae43e87d97423532f6 100644 (file)
@@ -3,13 +3,20 @@ define([
 ], function (BaseFacet) {
 
   return BaseFacet.extend({
+    statuses: ['READY', 'DEPRECATED', 'BETA'],
 
     getValues: function () {
-      return ['BETA', 'DEPRECATED', 'READY'].map(function (s) {
-        return {
-          label: t('rules.status', s.toLowerCase()),
-          val: s
-        };
+      var values = this.model.getValues();
+      var x = values.map(function (value) {
+        return _.extend(value, { label: t('rules.status', value.val.toLowerCase()) });
+      });
+      return x;
+    },
+
+    sortValues: function (values) {
+      var order = this.statuses;
+      return _.sortBy(values, function (v) {
+        return order.indexOf(v.val);
       });
     },
 
index 6d654dfcde570e7c9db18b97a317d48909d9ff8d..9b39bc3135acdd7fd71f9be9fc06e1d11f8989b4 100644 (file)
@@ -1831,6 +1831,7 @@ coding_rules.rule_template.title=This rule can be used as a template to create c
 coding_rules._rules=rules
 coding_rules.select_tag=Select Tag
 coding_rules.show_template=Show Template
+coding_rules.noncharacterized=Noncharacterized
 coding_rules.update_custom_rule=Update Custom Rule
 coding_rules.update_manual_rule=Update Manual Rule