From: Stas Vilchik Date: Fri, 17 Apr 2015 09:04:57 +0000 (+0200) Subject: SONAR-6406 add activation severity facet on the rules page X-Git-Tag: 5.2-RC1~2235 X-Git-Url: https://source.dussan.org/?a=commitdiff_plain;h=dcd816933e779686ffe43b2b094f1191e5195cec;p=sonarqube.git SONAR-6406 add activation severity facet on the rules page --- diff --git a/server/sonar-web/src/main/js/coding-rules/facets/active-severity-facet.js b/server/sonar-web/src/main/js/coding-rules/facets/active-severity-facet.js index da3938ed12b..fbec233e5f1 100644 --- a/server/sonar-web/src/main/js/coding-rules/facets/active-severity-facet.js +++ b/server/sonar-web/src/main/js/coding-rules/facets/active-severity-facet.js @@ -32,8 +32,9 @@ define([ onQueryChange: function () { var query = this.options.app.state.get('query'), - isProfileSelected = query.qprofile != null; - if (!isProfileSelected) { + isProfileSelected = query.qprofile != null, + isActiveShown = '' + query.activation === 'true'; + if (!isProfileSelected || !isActiveShown) { this.forbid(); } }, @@ -53,23 +54,11 @@ define([ this.$el.prop('title', null); }, - getValues: function () { - return this.severities.map(function (s) { - return { val: s }; - }); - }, - sortValues: function (values) { var order = this.severities; return _.sortBy(values, function (v) { return order.indexOf(v.val); }); - }, - - serializeData: function () { - return _.extend(BaseFacet.prototype.serializeData.apply(this, arguments), { - values: this.sortValues(this.getValues()) - }); } }); diff --git a/server/sonar-web/src/main/js/coding-rules/models/state.js b/server/sonar-web/src/main/js/coding-rules/models/state.js index 97720d9d5de..8c25312a2f1 100644 --- a/server/sonar-web/src/main/js/coding-rules/models/state.js +++ b/server/sonar-web/src/main/js/coding-rules/models/state.js @@ -29,7 +29,8 @@ define([ facets: ['languages', 'tags'], allFacets: ['q', 'rule_key', 'languages', 'tags', 'repositories', 'debt_characteristics', 'severities', 'statuses', 'available_since', 'is_template', 'qprofile', 'inheritance', 'active_severities'], - facetsFromServer: ['languages', 'repositories', 'tags', 'severities', 'statuses', 'debt_characteristics'], + facetsFromServer: ['languages', 'repositories', 'tags', 'severities', 'statuses', 'debt_characteristics', + 'active_severities'], transform: { 'has_debt_characteristic': 'debt_characteristics' } diff --git a/server/sonar-web/src/test/js/coding-rules-page-active-severity-facet.js b/server/sonar-web/src/test/js/coding-rules-page-active-severity-facet.js index ab4eef067b0..9651b9da30a 100644 --- a/server/sonar-web/src/test/js/coding-rules-page-active-severity-facet.js +++ b/server/sonar-web/src/test/js/coding-rules-page-active-severity-facet.js @@ -34,6 +34,7 @@ casper.test.begin('coding-rules-page-active-severity-facet', 7, function (test) lib.mockRequestFromFile('/api/rules/app', 'app.json'); lib.mockRequestFromFile('/api/rules/search', 'search-BLOCKER.json', { data: { active_severities: 'BLOCKER' } }); + lib.mockRequestFromFile('/api/rules/search', 'facet.json', { data: { facets: 'active_severities', ps: '1' } }); lib.mockRequestFromFile('/api/rules/search', 'search-qprofile.json', { data: { qprofile: 'java-default-with-mojo-conventions-49307' } }); lib.mockRequestFromFile('/api/rules/search', 'search.json'); diff --git a/server/sonar-web/src/test/json/coding-rules-page-active-severity-facet/facet.json b/server/sonar-web/src/test/json/coding-rules-page-active-severity-facet/facet.json new file mode 100644 index 00000000000..faa4ae6d696 --- /dev/null +++ b/server/sonar-web/src/test/json/coding-rules-page-active-severity-facet/facet.json @@ -0,0 +1,33 @@ +{ + "total": 192, + "p": 1, + "ps": 1, + "rules": [], + "facets": [ + { + "property": "active_severities", + "values": [ + { + "val": "MAJOR", + "count": 105 + }, + { + "val": "CRITICAL", + "count": 51 + }, + { + "val": "MINOR", + "count": 20 + }, + { + "val": "BLOCKER", + "count": 13 + }, + { + "val": "INFO", + "count": 3 + } + ] + } + ] +}