From: Jean-Baptiste Lievremont Date: Tue, 18 Mar 2014 12:40:20 +0000 (+0100) Subject: SONAR-5091 Force selection of period for new_* metrics, show delta in period label X-Git-Tag: 4.3~380 X-Git-Url: https://source.dussan.org/?a=commitdiff_plain;h=df4ae5e2bd6a144ad36e4b028a8b7f71ab188d3a;p=sonarqube.git SONAR-5091 Force selection of period for new_* metrics, show delta in period label --- diff --git a/sonar-server/src/main/webapp/WEB-INF/app/views/quality_gates/templates/_quality_gate_detail_condition_template.hbs.erb b/sonar-server/src/main/webapp/WEB-INF/app/views/quality_gates/templates/_quality_gate_detail_condition_template.hbs.erb index 6023e5b4357..95ace5887a9 100644 --- a/sonar-server/src/main/webapp/WEB-INF/app/views/quality_gates/templates/_quality_gate_detail_condition_template.hbs.erb +++ b/sonar-server/src/main/webapp/WEB-INF/app/views/quality_gates/templates/_quality_gate_detail_condition_template.hbs.erb @@ -5,11 +5,13 @@ {{#if canEdit}} {{else}} - {{periodText}} + {{#if periodText}}Δ {{periodText}} + {{else}}{{t 'value'}} + {{/if}} {{/if}} diff --git a/sonar-server/src/main/webapp/javascripts/quality-gate/views/quality-gate-detail-condition-view.coffee b/sonar-server/src/main/webapp/javascripts/quality-gate/views/quality-gate-detail-condition-view.coffee index da1b8d46f04..26f23dbc32e 100644 --- a/sonar-server/src/main/webapp/javascripts/quality-gate/views/quality-gate-detail-condition-view.coffee +++ b/sonar-server/src/main/webapp/javascripts/quality-gate/views/quality-gate-detail-condition-view.coffee @@ -42,6 +42,7 @@ define [ metricKey = @model.get('metric') metric = _.findWhere @options.app.metrics, key: metricKey @model.set { metric: metric }, { silent: true } + @model.set { isDiffMetric: metric.key.indexOf('new_') == 0 }, { silent: true } onRender: -> @@ -105,7 +106,7 @@ define [ serializeData: -> - period = _.findWhere(@options.app.periods, key: '' + this.model.get('period')) + period = _.findWhere(@options.app.periods, key: this.model.get('period')) _.extend super, canEdit: @options.app.canEdit periods: @options.app.periods diff --git a/sonar-server/src/main/webapp/javascripts/quality-gate/views/quality-gate-detail-condition-view.js b/sonar-server/src/main/webapp/javascripts/quality-gate/views/quality-gate-detail-condition-view.js index 0abc1b0532b..d18fa24aff0 100644 --- a/sonar-server/src/main/webapp/javascripts/quality-gate/views/quality-gate-detail-condition-view.js +++ b/sonar-server/src/main/webapp/javascripts/quality-gate/views/quality-gate-detail-condition-view.js @@ -1,16 +1,15 @@ -// Generated by CoffeeScript 1.6.3 +// Generated by CoffeeScript 1.7.1 (function() { var __hasProp = {}.hasOwnProperty, __extends = function(child, parent) { for (var key in parent) { if (__hasProp.call(parent, key)) child[key] = parent[key]; } function ctor() { this.constructor = child; } ctor.prototype = parent.prototype; child.prototype = new ctor(); child.__super__ = parent.prototype; return child; }; define(['backbone.marionette', 'handlebars'], function(Marionette, Handlebars) { - var QualityGateDetailConditionView, _ref; + var QualityGateDetailConditionView; return QualityGateDetailConditionView = (function(_super) { __extends(QualityGateDetailConditionView, _super); function QualityGateDetailConditionView() { - _ref = QualityGateDetailConditionView.__super__.constructor.apply(this, arguments); - return _ref; + return QualityGateDetailConditionView.__super__.constructor.apply(this, arguments); } QualityGateDetailConditionView.prototype.tagName = 'tr'; @@ -51,11 +50,16 @@ metric = _.findWhere(this.options.app.metrics, { key: metricKey }); - return this.model.set({ + this.model.set({ metric: metric }, { silent: true }); + return this.model.set({ + isDiffMetric: metric.key.indexOf('new_') === 0 + }, { + silent: true + }); }; QualityGateDetailConditionView.prototype.onRender = function() { @@ -89,7 +93,6 @@ }; QualityGateDetailConditionView.prototype.saveCondition = function() { - var _this = this; this.showSpinner(); this.model.set({ period: this.ui.periodSelect.val(), @@ -97,22 +100,27 @@ warning: this.ui.warningInput.val(), error: this.ui.errorInput.val() }); - return this.model.save().always(function() { - _this.ui.updateButton.prop('disabled', true); - return _this.hideSpinner(); - }).done(function() { - return _this.options.collectionView.updateConditions(); - }); + return this.model.save().always((function(_this) { + return function() { + _this.ui.updateButton.prop('disabled', true); + return _this.hideSpinner(); + }; + })(this)).done((function(_this) { + return function() { + return _this.options.collectionView.updateConditions(); + }; + })(this)); }; QualityGateDetailConditionView.prototype.deleteCondition = function() { - var _this = this; if (confirm(t('are_you_sure'))) { this.showSpinner(); - return this.model["delete"]().done(function() { - _this.options.collectionView.updateConditions(); - return _this.close(); - }); + return this.model["delete"]().done((function(_this) { + return function() { + _this.options.collectionView.updateConditions(); + return _this.close(); + }; + })(this)); } }; @@ -127,7 +135,7 @@ QualityGateDetailConditionView.prototype.serializeData = function() { var period; period = _.findWhere(this.options.app.periods, { - key: '' + this.model.get('period') + key: this.model.get('period') }); return _.extend(QualityGateDetailConditionView.__super__.serializeData.apply(this, arguments), { canEdit: this.options.app.canEdit,