From 9d7b13c044e50067989658700ca307b7ce4804cd Mon Sep 17 00:00:00 2001 From: Jean-Baptiste Lievremont Date: Fri, 18 Jul 2014 15:29:01 +0200 Subject: [PATCH] SONAR-5368 Use bubble popup for debt model information --- .../src/main/coffee/coding-rules/app.coffee | 5 +++ .../views/coding-rules-debt-popup-view.coffee | 16 ++++++++++ .../views/coding-rules-detail-view.coffee | 16 +++++++++- .../coding-rules/coding-rules-debt-popup.hbs | 32 +++++++++++++++++++ .../hbs/coding-rules/coding-rules-detail.hbs | 5 +-- server/sonar-web/src/main/less/style.less | 2 +- .../resources/org/sonar/l10n/core.properties | 2 +- 7 files changed, 73 insertions(+), 5 deletions(-) create mode 100644 server/sonar-web/src/main/coffee/coding-rules/views/coding-rules-debt-popup-view.coffee create mode 100644 server/sonar-web/src/main/hbs/coding-rules/coding-rules-debt-popup.hbs diff --git a/server/sonar-web/src/main/coffee/coding-rules/app.coffee b/server/sonar-web/src/main/coffee/coding-rules/app.coffee index 022146843e0..1add838f708 100644 --- a/server/sonar-web/src/main/coffee/coding-rules/app.coffee +++ b/server/sonar-web/src/main/coffee/coding-rules/app.coffee @@ -246,6 +246,11 @@ requirejs [ App.getQualityProfileByKey = (profile_key) -> _.findWhere App.qualityProfiles, key: profile_key + + App.getSubcharacteristicName = (name) -> + (App.characteristics[name] || '').replace ': ', ' > ' + + App.showRule = (ruleKey) -> App.layout.showSpinner 'detailsRegion' jQuery.ajax diff --git a/server/sonar-web/src/main/coffee/coding-rules/views/coding-rules-debt-popup-view.coffee b/server/sonar-web/src/main/coffee/coding-rules/views/coding-rules-debt-popup-view.coffee new file mode 100644 index 00000000000..c8882d87fb4 --- /dev/null +++ b/server/sonar-web/src/main/coffee/coding-rules/views/coding-rules-debt-popup-view.coffee @@ -0,0 +1,16 @@ +define [ + 'backbone.marionette' + 'templates/coding-rules' + 'common/popup' +], ( + Marionette + Templates + Popup +) -> + + class CodingRulesDebtPopupView extends Popup + template: Templates['coding-rules-debt-popup'] + + serializeData: -> + _.extend super, + subcharacteristic: @options.app.getSubcharacteristicName(@model.get 'debtSubChar') diff --git a/server/sonar-web/src/main/coffee/coding-rules/views/coding-rules-detail-view.coffee b/server/sonar-web/src/main/coffee/coding-rules/views/coding-rules-detail-view.coffee index 8d925a004d1..636c6a2cf17 100644 --- a/server/sonar-web/src/main/coffee/coding-rules/views/coding-rules-detail-view.coffee +++ b/server/sonar-web/src/main/coffee/coding-rules/views/coding-rules-detail-view.coffee @@ -6,6 +6,7 @@ define [ 'coding-rules/views/coding-rules-detail-custom-rules-view' 'coding-rules/views/coding-rules-detail-custom-rule-view' 'coding-rules/views/coding-rules-parameter-popup-view' + 'coding-rules/views/coding-rules-debt-popup-view' 'templates/coding-rules' ], ( Backbone @@ -15,6 +16,7 @@ define [ CodingRulesDetailCustomRulesView CodingRulesDetailCustomRuleView CodingRulesParameterPopupView + CodingRulesDebtPopupView Templates ) -> @@ -70,6 +72,7 @@ define [ 'click @ui.deleteCustomRule': 'deleteCustomRule' 'click .coding-rules-detail-parameter-details': 'showParamPopup' + 'click .coding-rules-subcharacteristic': 'showDebtPopup' initialize: (options) -> super options @@ -180,6 +183,17 @@ define [ false + showDebtPopup: (e) -> + e.stopPropagation() + jQuery('body').click() + popup = new CodingRulesDebtPopupView + model: @model + app: @options.app + triggerEl: jQuery(e.currentTarget) + popup.render() + false + + hideContext: -> @contextRegion.reset() @$(@contextRegion.el).hide() @@ -317,6 +331,6 @@ define [ isManual: isManual canWrite: @options.app.canWrite qualityProfilesVisible: qualityProfilesVisible - subcharacteristic: (@options.app.characteristics[@model.get 'debtSubChar'] || '').replace ': ', ' > ' + subcharacteristic: @options.app.getSubcharacteristicName(@model.get 'debtSubChar') createdAt: new Date(@model.get 'createdAt') allTags: _.union @model.get('sysTags'), @model.get('tags') diff --git a/server/sonar-web/src/main/hbs/coding-rules/coding-rules-debt-popup.hbs b/server/sonar-web/src/main/hbs/coding-rules/coding-rules-debt-popup.hbs new file mode 100644 index 00000000000..845cc10d77b --- /dev/null +++ b/server/sonar-web/src/main/hbs/coding-rules/coding-rules-debt-popup.hbs @@ -0,0 +1,32 @@ +
+
{{t 'widget.rules.technical_debt'}}
+ +
+ +
diff --git a/server/sonar-web/src/main/hbs/coding-rules/coding-rules-detail.hbs b/server/sonar-web/src/main/hbs/coding-rules/coding-rules-detail.hbs index ba657a31a09..2d4cb44417f 100644 --- a/server/sonar-web/src/main/hbs/coding-rules/coding-rules-detail.hbs +++ b/server/sonar-web/src/main/hbs/coding-rules/coding-rules-detail.hbs @@ -33,8 +33,9 @@ {{/if}} - -
  • {{subcharacteristic}}
  • + {{#if subcharacteristic}} +
  • {{subcharacteristic}} {{t 'more'}}
  • + {{/if}}
  • {{t 'coding_rules.available_since'}} {{d createdAt}}
  • {{repository}}{{#unless isManual}} ({{language}}){{/unless}}
  • diff --git a/server/sonar-web/src/main/less/style.less b/server/sonar-web/src/main/less/style.less index adfb0457975..9bee50ab283 100644 --- a/server/sonar-web/src/main/less/style.less +++ b/server/sonar-web/src/main/less/style.less @@ -1950,7 +1950,7 @@ ul.bullet li { margin-top: 10px; } -.rule-desc pre, .property pre { +.rule-desc pre, .property pre, .bubble-popup pre { margin: 10px 0 !important; padding: 10px !important; border: 1px dashed #aaa; diff --git a/sonar-core/src/main/resources/org/sonar/l10n/core.properties b/sonar-core/src/main/resources/org/sonar/l10n/core.properties index 915537ddaa3..9b2d5383ed9 100644 --- a/sonar-core/src/main/resources/org/sonar/l10n/core.properties +++ b/sonar-core/src/main/resources/org/sonar/l10n/core.properties @@ -1785,7 +1785,7 @@ coding_rules.sort.creation_date=Creation Date coding_rules.sort.name=Name coding_rules.sort.relevance=Relevance -coding_rules.remediation_function=Remediation function: +coding_rules.remediation_function=Remediation function coding_rules.remediation_function.LINEAR=Linear coding_rules.remediation_function.LINEAR_OFFSET=Linear with offset coding_rules.remediation_function.CONSTANT_ISSUE=Constant/issue -- 2.39.5