From e4fbc18ffc109d870c863355419eda9be4afd529 Mon Sep 17 00:00:00 2001 From: Stas Vilchik Date: Wed, 26 Mar 2014 14:13:58 +0600 Subject: [PATCH] SONAR-5007 Rework context banner --- .../views/coding-rules-detail-view.coffee | 51 +++++++++---- ...les-quality-profile-activation-view.coffee | 8 +- .../coding-rules-detail-quality-profile.hbs | 74 ++++++++++--------- .../hbs/coding-rules/coding-rules-detail.hbs | 49 +----------- ...oding-rules-quality-profile-activation.hbs | 4 +- sonar-server/src/main/less/coding-rules.less | 36 ++++++++- sonar-server/src/main/less/variables.less | 5 +- 7 files changed, 124 insertions(+), 103 deletions(-) diff --git a/sonar-server/src/main/coffee/coding-rules/views/coding-rules-detail-view.coffee b/sonar-server/src/main/coffee/coding-rules/views/coding-rules-detail-view.coffee index 7f215ff536a..25cc875230f 100644 --- a/sonar-server/src/main/coffee/coding-rules/views/coding-rules-detail-view.coffee +++ b/sonar-server/src/main/coffee/coding-rules/views/coding-rules-detail-view.coffee @@ -1,12 +1,14 @@ define [ - 'backbone', - 'backbone.marionette', + 'backbone' + 'backbone.marionette' 'coding-rules/views/coding-rules-detail-quality-profiles-view' + 'coding-rules/views/coding-rules-detail-quality-profile-view' 'templates/coding-rules' ], ( - Backbone, - Marionette, - CodingRulesDetailQualityProfilesView, + Backbone + Marionette + CodingRulesDetailQualityProfilesView + CodingRulesDetailQualityProfileView Templates ) -> @@ -16,6 +18,7 @@ define [ regions: qualityProfilesRegion: '#coding-rules-detail-quality-profiles' + contextRegion: '.coding-rules-detail-context' ui: @@ -34,6 +37,7 @@ define [ cancelExtendDescription: '#coding-rules-detail-extend-description-cancel' activateQualityProfile: '#coding-rules-quality-profile-activate' + activateContextQualityProfile: '.coding-rules-detail-quality-profile-activate' changeQualityProfile: '.coding-rules-detail-quality-profile-update' @@ -46,18 +50,37 @@ define [ 'click @ui.extendDescriptionSubmit': 'submitExtendDescription' 'click @ui.activateQualityProfile': 'activateQualityProfile' + 'click @ui.activateContextQualityProfile': 'activateContextQualityProfile' 'click @ui.changeQualityProfile': 'changeQualityProfile' initialize: (options) -> + qualityProfiles = new Backbone.Collection options.model.get 'qualityProfiles' @qualityProfilesView = new CodingRulesDetailQualityProfilesView app: @options.app - collection: new Backbone.Collection options.model.get 'qualityProfiles' + collection: qualityProfiles + + qualityProfile = @options.app.getQualityProfile() + if qualityProfile + @contextProfile = qualityProfiles.findWhere key: qualityProfile + unless @contextProfile + @contextProfile = new Backbone.Model + key: qualityProfile, name: @options.app.qualityProfileFilter.view.renderValue() + @contextQualityProfileView = new CodingRulesDetailQualityProfileView + app: @options.app + model: @contextProfile + @listenTo @contextProfile, 'destroy', @hideContext onRender: -> @qualityProfilesRegion.show @qualityProfilesView + if @options.app.getQualityProfile() + @$(@contextRegion.el).show() + @contextRegion.show @contextQualityProfileView + else + @$(@contextRegion.el).hide() + @ui.tagInput.select2 tags: _.difference @options.app.tags, @model.get 'tags' width: '300px' @@ -67,6 +90,11 @@ define [ @ui.extendDescriptionSpinner.hide() + hideContext: -> + @contextRegion.reset() + @$(@contextRegion.el).hide() + + changeTags: -> @ui.tagsEdit.show() @ui.tagsList.hide() @@ -111,18 +139,13 @@ define [ @render() - getContextQualilyProfile: -> - contextQualityProfile = @options.app.getQualityProfile() - _.findWhere @model.get('qualityProfiles'), key: contextQualityProfile - - activateQualityProfile: -> @options.app.codingRulesQualityProfileActivationView.model = null @options.app.codingRulesQualityProfileActivationView.show() - changeQualityProfile: -> - @options.app.codingRulesQualityProfileActivationView.model = new Backbone.Model @getContextQualilyProfile() + activateContextQualityProfile: -> + @options.app.codingRulesQualityProfileActivationView.model = @contextProfile @options.app.codingRulesQualityProfileActivationView.show() @@ -132,4 +155,4 @@ define [ _.extend super, contextQualityProfile: contextQualityProfile contextQualityProfileName: @options.app.qualityProfileFilter.view.renderValue() - qualityProfile: @getContextQualilyProfile() \ No newline at end of file + qualityProfile: @contextProfile \ No newline at end of file diff --git a/sonar-server/src/main/coffee/coding-rules/views/coding-rules-quality-profile-activation-view.coffee b/sonar-server/src/main/coffee/coding-rules/views/coding-rules-quality-profile-activation-view.coffee index 82fa93d3814..a1af8adba67 100644 --- a/sonar-server/src/main/coffee/coding-rules/views/coding-rules-quality-profile-activation-view.coffee +++ b/sonar-server/src/main/coffee/coding-rules/views/coding-rules-quality-profile-activation-view.coffee @@ -67,7 +67,7 @@ define [ return state.text unless state.id " #{state.text}" - severity = if @model then @model.get 'severity' else @rule.get 'severity' + severity = (@model && @model.get 'severity') || @rule.get 'severity' @ui.qualityProfileSeverity.val severity @ui.qualityProfileSeverity.select2 width: '250px' @@ -95,11 +95,13 @@ define [ parameters = @rule.get 'parameters' if @model modelParameters = @model.get 'parameters' - parameters = parameters.map (p) -> - _.extend p, value: _.findWhere(modelParameters, key: p.key).value + if modelParameters + parameters = parameters.map (p) -> + _.extend p, value: _.findWhere(modelParameters, key: p.key).value _.extend super, rule: @rule.toJSON() + change: @model && @model.has 'severity' parameters: parameters qualityProfiles: @getAvailableQualityProfiles() severities: ['BLOCKER', 'CRITICAL', 'MAJOR', 'MINOR', 'INFO'] diff --git a/sonar-server/src/main/hbs/coding-rules/coding-rules-detail-quality-profile.hbs b/sonar-server/src/main/hbs/coding-rules/coding-rules-detail-quality-profile.hbs index 77526c70559..82ddbf2b081 100644 --- a/sonar-server/src/main/hbs/coding-rules/coding-rules-detail-quality-profile.hbs +++ b/sonar-server/src/main/hbs/coding-rules/coding-rules-detail-quality-profile.hbs @@ -10,42 +10,50 @@ {{/if}} - - {{severityIcon severity}} {{t "severity" severity}} - {{#if parent}}{{#notEq severity parent.severity}} -
- {{t 'coding_rules.original'}} {{t 'severity' parent.severity}} -
- {{/notEq}}{{/if}} - + {{#if severity}} + + {{severityIcon severity}} {{t "severity" severity}} + {{#if parent}}{{#notEq severity parent.severity}} +
+ {{t 'coding_rules.original'}} {{t 'severity' parent.severity}} +
+ {{/notEq}}{{/if}} + - - {{#each parameters}} -
- {{key}}: {{value}} - {{#if ../parent}}{{#notEq value original}} -
- {{t 'coding_rules.original'}} {{original}} -
- {{/notEq}}{{/if}} -
- {{/each}} -   - + + {{#each parameters}} +
+ {{key}}{{value}} + {{#if ../parent}}{{#notEq value original}} +
+ {{t 'coding_rules.original'}} {{original}} +
+ {{/notEq}}{{/if}} +
+ {{/each}} +   + - -
- - {{#if parent}} - + {{#if parent}} + + {{/if}} + - {{/if}} - -
- + + + {{else}} + +
+ +
+ + {{/if}} \ No newline at end of file diff --git a/sonar-server/src/main/hbs/coding-rules/coding-rules-detail.hbs b/sonar-server/src/main/hbs/coding-rules/coding-rules-detail.hbs index 89ab432de9d..9bdb095c311 100644 --- a/sonar-server/src/main/hbs/coding-rules/coding-rules-detail.hbs +++ b/sonar-server/src/main/hbs/coding-rules/coding-rules-detail.hbs @@ -1,51 +1,4 @@ -{{#if contextQualityProfile}} -
- - - - - - - - - -
- {{contextQualityProfileName}} - {{#if qualityProfile}} - {{#with qualityProfile}} - - {{severityIcon severity}} {{t "severity" severity}} - - - {{#each parameters}} - - {{key}}: - {{value}} - - {{/each}} - {{/with}} - {{/if}} - -
- {{#if qualityProfile}} - - {{#if parent}} - - {{/if}} - - {{else}} - - {{/if}} -
-
-
-{{/if}} +

{{name}} diff --git a/sonar-server/src/main/hbs/coding-rules/coding-rules-quality-profile-activation.hbs b/sonar-server/src/main/hbs/coding-rules/coding-rules-quality-profile-activation.hbs index 55a1439066b..56b256158cc 100644 --- a/sonar-server/src/main/hbs/coding-rules/coding-rules-quality-profile-activation.hbs +++ b/sonar-server/src/main/hbs/coding-rules/coding-rules-quality-profile-activation.hbs @@ -1,6 +1,6 @@