From fc2cc2a4c6dbd97dff5688948f6be7fdc167c430 Mon Sep 17 00:00:00 2001 From: Jean-Baptiste Lievremont Date: Mon, 2 Jun 2014 14:00:33 +0200 Subject: [PATCH] SONAR-5133 Enable language filter when quality profile is changed --- .../src/main/coffee/coding-rules/app.coffee | 7 ++++-- .../views/filters/language-filter-view.coffee | 22 +++++++++++++++++++ 2 files changed, 27 insertions(+), 2 deletions(-) create mode 100644 sonar-server/src/main/coffee/coding-rules/views/filters/language-filter-view.coffee diff --git a/sonar-server/src/main/coffee/coding-rules/app.coffee b/sonar-server/src/main/coffee/coding-rules/app.coffee index 8d7fe22f9ad..095867e4b8d 100644 --- a/sonar-server/src/main/coffee/coding-rules/app.coffee +++ b/sonar-server/src/main/coffee/coding-rules/app.coffee @@ -45,6 +45,7 @@ requirejs [ 'coding-rules/views/filters/characteristic-filter-view', 'coding-rules/views/filters/repository-filter-view', 'coding-rules/views/filters/tag-filter-view', + 'coding-rules/views/filters/language-filter-view', 'coding-rules/mockjax', 'common/handlebars-extensions' @@ -75,7 +76,8 @@ requirejs [ ActivationFilterView, CharacteristicFilterView, RepositoryFilterView, - TagFilterView + TagFilterView, + LanguageFilterView ) -> # Create a generic error handler for ajax requests @@ -249,7 +251,8 @@ requirejs [ @languageFilter = new BaseFilters.Filter name: t 'coding_rules.filters.language' property: 'languages' - type: ChoiceFilters.ChoiceFilterView + type: LanguageFilterView + app: @ choices: @languages optional: true @filters.add @languageFilter diff --git a/sonar-server/src/main/coffee/coding-rules/views/filters/language-filter-view.coffee b/sonar-server/src/main/coffee/coding-rules/views/filters/language-filter-view.coffee new file mode 100644 index 00000000000..c8cbd445e6a --- /dev/null +++ b/sonar-server/src/main/coffee/coding-rules/views/filters/language-filter-view.coffee @@ -0,0 +1,22 @@ +define [ + 'navigator/filters/choice-filters', + 'templates/coding-rules' +], ( + ChoiceFilters, + Templates +) -> + + class LanguageFilterView extends ChoiceFilters.ChoiceFilterView + + initialize: -> + super + @app = @model.get 'app' + @listenTo @app.qualityProfileFilter, 'change:value', @onChangeProfile + + onChangeProfile: -> + profiles = @app.qualityProfileFilter.get 'value' + if _.isArray(profiles) && profiles.length > 0 + profile = _.findWhere @app.qualityProfiles, key: profiles[0] + @restore profile.lang + # force alignment of details list + @app.qualityProfileFilter.view.showDetails() -- 2.39.5