]> source.dussan.org Git - sonarqube.git/commitdiff
SONAR-5390 Add Active Severity filter in Coding Rules space
authorJean-Baptiste Lievremont <jean-baptiste.lievremont@sonarsource.com>
Tue, 8 Jul 2014 13:10:16 +0000 (15:10 +0200)
committerJean-Baptiste Lievremont <jean-baptiste.lievremont@sonarsource.com>
Tue, 8 Jul 2014 13:10:16 +0000 (15:10 +0200)
sonar-core/src/main/resources/org/sonar/l10n/core.properties
sonar-server/src/main/coffee/coding-rules/app.coffee
sonar-server/src/main/coffee/coding-rules/views/filters/activation-filter-view.coffee
sonar-server/src/main/coffee/coding-rules/views/filters/active-severities-filter-view.coffee [new file with mode: 0644]
sonar-server/src/main/coffee/coding-rules/views/filters/inheritance-filter-view.coffee
sonar-server/src/main/coffee/coding-rules/views/filters/profile-dependent-filter-view.coffee [new file with mode: 0644]

index 36bfe3ec60df56381ca85153622466ee55facd4c..35813a3e104ce9b32249de0cef84d467ebb9012c 100644 (file)
@@ -1746,6 +1746,7 @@ coding_rules.filters.activation=Activation
 coding_rules.filters.activation.active=Active
 coding_rules.filters.activation.inactive=Inactive
 coding_rules.filters.activation.help=Activation criterion is available when a quality profile is selected
+coding_rules.filters.active_severity=Active Severity
 coding_rules.filters.availableSince=Available Since
 coding_rules.filters.characteristic=Characteristic
 coding_rules.filters.description=Description
index a0ab8754246fb1bbeabb20761a81fc36797d0db5..103e12af9575c5097a1ebf75f7fa4613d6492030 100644 (file)
@@ -44,6 +44,7 @@ requirejs [
   'coding-rules/views/filters/query-filter-view',
   'coding-rules/views/filters/quality-profile-filter-view',
   'coding-rules/views/filters/inheritance-filter-view',
+  'coding-rules/views/filters/active-severities-filter-view',
   'coding-rules/views/filters/activation-filter-view',
   'coding-rules/views/filters/characteristic-filter-view',
   'coding-rules/views/filters/repository-filter-view',
@@ -79,6 +80,7 @@ requirejs [
   QueryFilterView,
   QualityProfileFilterView,
   InheritanceFilterView,
+  ActiveSeveritiesFilterView,
   ActivationFilterView,
   CharacteristicFilterView,
   RepositoryFilterView,
@@ -374,6 +376,26 @@ requirejs [
         false: t 'coding_rules.filters.activation.inactive'
     @filters.add @activationFilter
 
+    @filters.add new BaseFilters.Filter
+      name: t 'coding_rules.filters.active_severity'
+      property: 'active_severities'
+      type: ActiveSeveritiesFilterView
+      enabled: false
+      optional: true
+      qualityProfileFilter: @qualityProfileFilter
+      choices:
+        'BLOCKER': t 'severity.BLOCKER'
+        'CRITICAL': t 'severity.CRITICAL'
+        'MAJOR': t 'severity.MAJOR'
+        'MINOR': t 'severity.MINOR'
+        'INFO': t 'severity.INFO'
+      choiceIcons:
+        'BLOCKER': 'severity-blocker'
+        'CRITICAL': 'severity-critical'
+        'MAJOR': 'severity-major'
+        'MINOR': 'severity-minor'
+        'INFO': 'severity-info'
+
     @languageFilter =  new BaseFilters.Filter
       name: t 'coding_rules.filters.language'
       property: 'languages'
index 7748b353fbe7777de7b82d213b17968e899b5aed..00f379dc605487e419bc9e42653bad1ade3fb8d3 100644 (file)
@@ -1,47 +1,19 @@
 define [
-  'navigator/filters/choice-filters'
-  'coding-rules/views/filters/inheritance-filter-view'
+  'coding-rules/views/filters/profile-dependent-filter-view'
 ], (
-  ChoiceFilters
-  InheritanceFilterView
+  ProfileDependentFilterView
 ) ->
 
-  class ActivationFilterView extends ChoiceFilters.ChoiceFilterView
+  class ActivationFilterView extends ProfileDependentFilterView
     tooltip: 'coding_rules.filters.activation.help'
 
-    initialize: ->
-      super
-      @qualityProfileFilter = @model.get 'qualityProfileFilter'
-      @listenTo @qualityProfileFilter, 'change:value', @onChangeQualityProfile
-      @onChangeQualityProfile()
-
-
-    onChangeQualityProfile: ->
-      qualityProfileKey = @qualityProfileFilter.get 'value'
-      if _.isArray(qualityProfileKey) && qualityProfileKey.length == 1
-        @makeActive()
-      else
-        @makeInactive()
-
 
     makeActive: ->
-      @model.set inactive: false, title: ''
-      @model.trigger 'change:enabled'
+      super
       unless @model.get 'value'
         @choices.each (model) -> model.set 'checked', model.id == 'true'
         @model.set 'value', ['true']
-      @$el.removeClass('navigator-filter-inactive').prop 'title', ''
-      @options.filterBarView.moreCriteriaFilter.view.detailsView.enableByProperty(@detailsView.model.get 'property')
-      @hideDetails()
-
-
-    makeInactive: ->
-      @model.set inactive: true, title: t @tooltip
-      @model.trigger 'change:enabled'
-      @choices.each (model) -> model.set 'checked', false
-      @detailsView.updateLists()
-      @detailsView.updateValue()
-      @$el.addClass('navigator-filter-inactive').prop 'title', t @tooltip
+
 
 
     showDetails: ->
diff --git a/sonar-server/src/main/coffee/coding-rules/views/filters/active-severities-filter-view.coffee b/sonar-server/src/main/coffee/coding-rules/views/filters/active-severities-filter-view.coffee
new file mode 100644 (file)
index 0000000..3fd1733
--- /dev/null
@@ -0,0 +1,7 @@
+define [
+  'coding-rules/views/filters/profile-dependent-filter-view'
+], (
+  ProfileDependentFilterView
+) ->
+
+  class ActiveSeveritiesFilterView extends ProfileDependentFilterView
index 99e8fd57ec19cc0f5c28f788d12409dfcc98ffbe..367fd4210b0ee43a827a1dd478a4d909cc449c41 100644 (file)
@@ -1,19 +1,10 @@
 define [
-  'navigator/filters/choice-filters'
+  'coding-rules/views/filters/profile-dependent-filter-view'
 ], (
-  ChoiceFilters
+  ProfileDependentFilterView
 ) ->
 
-  class InheritanceFilterView extends ChoiceFilters.ChoiceFilterView
-    tooltip: 'coding_rules.filters.inheritance.inactive'
-
-
-    initialize: ->
-      super
-      @qualityProfileFilter = @model.get 'qualityProfileFilter'
-      @listenTo @qualityProfileFilter, 'change:value', @onChangeQualityProfile
-      @onChangeQualityProfile()
-
+  class InheritanceFilterView extends ProfileDependentFilterView
 
     onChangeQualityProfile: ->
       qualityProfileKey = @qualityProfileFilter.get 'value'
@@ -29,33 +20,3 @@ define [
           @makeInactive()
       else
         @makeInactive()
-
-
-    makeActive: ->
-      @model.set inactive: false, title: ''
-      @model.trigger 'change:enabled'
-      @$el.removeClass('navigator-filter-inactive').prop 'title', ''
-      @options.filterBarView.moreCriteriaFilter.view.detailsView.enableByProperty(@detailsView.model.get 'property')
-      @hideDetails()
-
-
-    makeInactive: ->
-      @model.set inactive: true, title: t @tooltip
-      @model.trigger 'change:enabled'
-      @choices.each (model) -> model.set 'checked', false
-      @detailsView.updateLists()
-      @detailsView.updateValue()
-      @$el.addClass('navigator-filter-inactive').prop 'title', t @tooltip
-
-
-    showDetails: ->
-      super unless @$el.is '.navigator-filter-inactive'
-
-
-    restore: (value) ->
-      value = value.split(',') if _.isString(value)
-      if @choices && value.length > 0
-        @model.set value: value, enabled: true
-        @onChangeQualityProfile()
-      else
-        @clear()
diff --git a/sonar-server/src/main/coffee/coding-rules/views/filters/profile-dependent-filter-view.coffee b/sonar-server/src/main/coffee/coding-rules/views/filters/profile-dependent-filter-view.coffee
new file mode 100644 (file)
index 0000000..a86c58c
--- /dev/null
@@ -0,0 +1,52 @@
+define [
+  'navigator/filters/choice-filters'
+], (
+  ChoiceFilters
+) ->
+
+  class ProfileDependentFilterView extends ChoiceFilters.ChoiceFilterView
+    tooltip: 'coding_rules.filters.activation.help'
+
+    initialize: ->
+      super
+      @qualityProfileFilter = @model.get 'qualityProfileFilter'
+      @listenTo @qualityProfileFilter, 'change:value', @onChangeQualityProfile
+      @onChangeQualityProfile()
+
+
+    onChangeQualityProfile: ->
+      qualityProfileKey = @qualityProfileFilter.get 'value'
+      if _.isArray(qualityProfileKey) && qualityProfileKey.length == 1
+        @makeActive()
+      else
+        @makeInactive()
+
+
+    makeActive: ->
+      @model.set inactive: false, title: ''
+      @model.trigger 'change:enabled'
+      @$el.removeClass('navigator-filter-inactive').prop 'title', ''
+      @options.filterBarView.moreCriteriaFilter.view.detailsView.enableByProperty(@detailsView.model.get 'property')
+      @hideDetails()
+
+
+    makeInactive: ->
+      @model.set inactive: true, title: t @tooltip
+      @model.trigger 'change:enabled'
+      @choices.each (model) -> model.set 'checked', false
+      @detailsView.updateLists()
+      @detailsView.updateValue()
+      @$el.addClass('navigator-filter-inactive').prop 'title', t @tooltip
+
+
+    showDetails: ->
+      super unless @$el.is '.navigator-filter-inactive'
+
+
+    restore: (value) ->
+      value = value.split(',') if _.isString(value)
+      if @choices && value.length > 0
+        @model.set value: value, enabled: true
+        @onChangeQualityProfile()
+      else
+        @clear()