diff options
Diffstat (limited to 'sonar-server/src/main/webapp/javascripts')
13 files changed, 41 insertions, 134 deletions
diff --git a/sonar-server/src/main/webapp/javascripts/quality-gate/router.coffee b/sonar-server/src/main/webapp/javascripts/quality-gate/router.coffee index 010c084bff8..b42539c7373 100644 --- a/sonar-server/src/main/webapp/javascripts/quality-gate/router.coffee +++ b/sonar-server/src/main/webapp/javascripts/quality-gate/router.coffee @@ -3,13 +3,11 @@ define [ 'quality-gate/models/quality-gate', 'quality-gate/views/quality-gate-detail-view', 'quality-gate/views/quality-gate-detail-header-view', - 'quality-gate/views/quality-gate-new-view' ], ( Backbone, QualityGate, QualityGateDetailView, - QualityGateDetailHeaderView, - QualityGateNewView + QualityGateDetailHeaderView ) -> class QualityGateRouter extends Backbone.Router diff --git a/sonar-server/src/main/webapp/javascripts/quality-gate/router.js b/sonar-server/src/main/webapp/javascripts/quality-gate/router.js index 881ceb6c8b6..998123bce29 100644 --- a/sonar-server/src/main/webapp/javascripts/quality-gate/router.js +++ b/sonar-server/src/main/webapp/javascripts/quality-gate/router.js @@ -3,7 +3,7 @@ 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', 'quality-gate/models/quality-gate', 'quality-gate/views/quality-gate-detail-view', 'quality-gate/views/quality-gate-detail-header-view', 'quality-gate/views/quality-gate-new-view'], function(Backbone, QualityGate, QualityGateDetailView, QualityGateDetailHeaderView, QualityGateNewView) { + define(['backbone', 'quality-gate/models/quality-gate', 'quality-gate/views/quality-gate-detail-view', 'quality-gate/views/quality-gate-detail-header-view'], function(Backbone, QualityGate, QualityGateDetailView, QualityGateDetailHeaderView) { var QualityGateRouter, _ref; return QualityGateRouter = (function(_super) { __extends(QualityGateRouter, _super); 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 7467feaa6e5..db44b306145 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 @@ -30,6 +30,7 @@ define [ 'click .delete-condition': 'deleteCondition' 'click .add-condition': 'saveCondition' 'click .cancel-add-condition': 'cancelAddCondition' + 'keyup :input': 'enableUpdate' 'change :input': 'enableUpdate' 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 5a15393ba6e..3a82a59b3e2 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 @@ -37,6 +37,7 @@ 'click .delete-condition': 'deleteCondition', 'click .add-condition': 'saveCondition', 'click .cancel-add-condition': 'cancelAddCondition', + 'keyup :input': 'enableUpdate', 'change :input': 'enableUpdate' }; diff --git a/sonar-server/src/main/webapp/javascripts/quality-gate/views/quality-gate-detail-conditions-empty-view.coffee b/sonar-server/src/main/webapp/javascripts/quality-gate/views/quality-gate-detail-conditions-empty-view.coffee new file mode 100644 index 00000000000..35bad098ae8 --- /dev/null +++ b/sonar-server/src/main/webapp/javascripts/quality-gate/views/quality-gate-detail-conditions-empty-view.coffee @@ -0,0 +1,11 @@ +define [ + 'backbone.marionette', + 'handlebars', +], ( + Marionette, + Handlebars, +) -> + + class QualityGateDetailConditionsView extends Marionette.ItemView + tagName: 'tr' + template: Handlebars.compile jQuery('#quality-gate-detail-conditions-empty-template').html() diff --git a/sonar-server/src/main/webapp/javascripts/quality-gate/views/quality-gate-detail-conditions-view.coffee b/sonar-server/src/main/webapp/javascripts/quality-gate/views/quality-gate-detail-conditions-view.coffee index 2e2c9388459..cbd14813682 100644 --- a/sonar-server/src/main/webapp/javascripts/quality-gate/views/quality-gate-detail-conditions-view.coffee +++ b/sonar-server/src/main/webapp/javascripts/quality-gate/views/quality-gate-detail-conditions-view.coffee @@ -2,17 +2,20 @@ define [ 'backbone.marionette', 'handlebars', 'quality-gate/models/condition', - 'quality-gate/views/quality-gate-detail-condition-view' + 'quality-gate/views/quality-gate-detail-condition-view', + 'quality-gate/views/quality-gate-detail-conditions-empty-view' ], ( Marionette, Handlebars, Condition, - QualityGateDetailConditionView + QualityGateDetailConditionView, + QualityGateDetailConditionsEmptyView ) -> class QualityGateDetailConditionsView extends Marionette.CompositeView template: Handlebars.compile jQuery('#quality-gate-detail-conditions-template').html() itemView: QualityGateDetailConditionView + emptyView: QualityGateDetailConditionsEmptyView itemViewContainer: '.quality-gate-conditions tbody' diff --git a/sonar-server/src/main/webapp/javascripts/quality-gate/views/quality-gate-detail-conditions-view.js b/sonar-server/src/main/webapp/javascripts/quality-gate/views/quality-gate-detail-conditions-view.js index 91fbbdfefb4..eeb9d18fa5d 100644 --- a/sonar-server/src/main/webapp/javascripts/quality-gate/views/quality-gate-detail-conditions-view.js +++ b/sonar-server/src/main/webapp/javascripts/quality-gate/views/quality-gate-detail-conditions-view.js @@ -3,7 +3,7 @@ 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', 'quality-gate/models/condition', 'quality-gate/views/quality-gate-detail-condition-view'], function(Marionette, Handlebars, Condition, QualityGateDetailConditionView) { + define(['backbone.marionette', 'handlebars', 'quality-gate/models/condition', 'quality-gate/views/quality-gate-detail-condition-view', 'quality-gate/views/quality-gate-detail-conditions-empty-view'], function(Marionette, Handlebars, Condition, QualityGateDetailConditionView, QualityGateDetailConditionsEmptyView) { var QualityGateDetailConditionsView, _ref; return QualityGateDetailConditionsView = (function(_super) { __extends(QualityGateDetailConditionsView, _super); @@ -17,6 +17,8 @@ QualityGateDetailConditionsView.prototype.itemView = QualityGateDetailConditionView; + QualityGateDetailConditionsView.prototype.emptyView = QualityGateDetailConditionsEmptyView; + QualityGateDetailConditionsView.prototype.itemViewContainer = '.quality-gate-conditions tbody'; QualityGateDetailConditionsView.prototype.ui = { diff --git a/sonar-server/src/main/webapp/javascripts/quality-gate/views/quality-gate-detail-projects-view.coffee b/sonar-server/src/main/webapp/javascripts/quality-gate/views/quality-gate-detail-projects-view.coffee index 353074e6e3a..b0b9a63167e 100644 --- a/sonar-server/src/main/webapp/javascripts/quality-gate/views/quality-gate-detail-projects-view.coffee +++ b/sonar-server/src/main/webapp/javascripts/quality-gate/views/quality-gate-detail-projects-view.coffee @@ -13,7 +13,6 @@ define [ onRender: -> unless @model.get('default') - @$el.css 'max-width', 600 new SelectList el: @$('#select-list-projects') width: '100%' diff --git a/sonar-server/src/main/webapp/javascripts/quality-gate/views/quality-gate-detail-projects-view.js b/sonar-server/src/main/webapp/javascripts/quality-gate/views/quality-gate-detail-projects-view.js index ea37af52df2..88e40868d93 100644 --- a/sonar-server/src/main/webapp/javascripts/quality-gate/views/quality-gate-detail-projects-view.js +++ b/sonar-server/src/main/webapp/javascripts/quality-gate/views/quality-gate-detail-projects-view.js @@ -17,7 +17,6 @@ QualityGateDetailProjectsView.prototype.onRender = function() { if (!this.model.get('default')) { - this.$el.css('max-width', 600); return new SelectList({ el: this.$('#select-list-projects'), width: '100%', diff --git a/sonar-server/src/main/webapp/javascripts/quality-gate/views/quality-gate-edit-view.coffee b/sonar-server/src/main/webapp/javascripts/quality-gate/views/quality-gate-edit-view.coffee index 34d94fef340..72cf1b8b476 100644 --- a/sonar-server/src/main/webapp/javascripts/quality-gate/views/quality-gate-edit-view.coffee +++ b/sonar-server/src/main/webapp/javascripts/quality-gate/views/quality-gate-edit-view.coffee @@ -16,8 +16,7 @@ define [ events: - 'click #quality-gate-create': 'createQualityGate' - 'click #quality-gate-save': 'saveQualityGate' + 'submit form': 'onSubmit' 'click #quality-gate-cancel-create': 'hide' @@ -51,6 +50,13 @@ define [ .done => @hide() + onSubmit: (e) -> + e.preventDefault() + if @model.isNew() + @createQualityGate() + else + @saveQualityGate() + createQualityGate: -> data = name: @ui.nameInput.val() @saveRequest('create', data).done (r) => diff --git a/sonar-server/src/main/webapp/javascripts/quality-gate/views/quality-gate-edit-view.js b/sonar-server/src/main/webapp/javascripts/quality-gate/views/quality-gate-edit-view.js index 6b4c397c3ce..be300f07ac0 100644 --- a/sonar-server/src/main/webapp/javascripts/quality-gate/views/quality-gate-edit-view.js +++ b/sonar-server/src/main/webapp/javascripts/quality-gate/views/quality-gate-edit-view.js @@ -22,8 +22,7 @@ }; QualityGateEditView.prototype.events = { - 'click #quality-gate-create': 'createQualityGate', - 'click #quality-gate-save': 'saveQualityGate', + 'submit form': 'onSubmit', 'click #quality-gate-cancel-create': 'hide' }; @@ -61,6 +60,15 @@ }); }; + QualityGateEditView.prototype.onSubmit = function(e) { + e.preventDefault(); + if (this.model.isNew()) { + return this.createQualityGate(); + } else { + return this.saveQualityGate(); + } + }; + QualityGateEditView.prototype.createQualityGate = function() { var data, _this = this; diff --git a/sonar-server/src/main/webapp/javascripts/quality-gate/views/quality-gate-new-view.coffee b/sonar-server/src/main/webapp/javascripts/quality-gate/views/quality-gate-new-view.coffee deleted file mode 100644 index 681c63cfe4f..00000000000 --- a/sonar-server/src/main/webapp/javascripts/quality-gate/views/quality-gate-new-view.coffee +++ /dev/null @@ -1,50 +0,0 @@ -define [ - 'backbone.marionette', - 'handlebars', -], ( - Marionette, - Handlebars, -) -> - - class QualityGateNewView extends Marionette.ItemView - className: 'quality-gate' - template: Handlebars.compile jQuery('#quality-gate-new-template').html() - - - ui: - input: '#quality-gate-renaming-input' - header: '.quality-gate-header' - - - events: - 'click #quality-gate-save': 'save' - 'click #quality-gate-cancel-save': 'cancel' - - - onDomRefresh: -> - @ui.input.focus() - - - save: -> - @showHeaderSpinner() - name = @ui.input.val() - jQuery.ajax - url: "#{baseUrl}/api/qualitygates/create" - type: 'POST' - data: name: name - .done (r) => - @model.set r - @options.app.qualityGates.add @model - @options.app.router.navigate "show/#{@model.id}", trigger: true - - - cancel: -> - @options.app.openFirstQualityGate() - - - showHeaderSpinner: -> - @ui.header.addClass 'navigator-fetching' - - - hideHeaderSpinner: -> - @ui.header.removeClass 'navigator-fetching' diff --git a/sonar-server/src/main/webapp/javascripts/quality-gate/views/quality-gate-new-view.js b/sonar-server/src/main/webapp/javascripts/quality-gate/views/quality-gate-new-view.js deleted file mode 100644 index f6c1024e29f..00000000000 --- a/sonar-server/src/main/webapp/javascripts/quality-gate/views/quality-gate-new-view.js +++ /dev/null @@ -1,71 +0,0 @@ -// Generated by CoffeeScript 1.6.3 -(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 QualityGateNewView, _ref; - return QualityGateNewView = (function(_super) { - __extends(QualityGateNewView, _super); - - function QualityGateNewView() { - _ref = QualityGateNewView.__super__.constructor.apply(this, arguments); - return _ref; - } - - QualityGateNewView.prototype.className = 'quality-gate'; - - QualityGateNewView.prototype.template = Handlebars.compile(jQuery('#quality-gate-new-template').html()); - - QualityGateNewView.prototype.ui = { - input: '#quality-gate-renaming-input', - header: '.quality-gate-header' - }; - - QualityGateNewView.prototype.events = { - 'click #quality-gate-save': 'save', - 'click #quality-gate-cancel-save': 'cancel' - }; - - QualityGateNewView.prototype.onDomRefresh = function() { - return this.ui.input.focus(); - }; - - QualityGateNewView.prototype.save = function() { - var name, - _this = this; - this.showHeaderSpinner(); - name = this.ui.input.val(); - return jQuery.ajax({ - url: "" + baseUrl + "/api/qualitygates/create", - type: 'POST', - data: { - name: name - } - }).done(function(r) { - _this.model.set(r); - _this.options.app.qualityGates.add(_this.model); - return _this.options.app.router.navigate("show/" + _this.model.id, { - trigger: true - }); - }); - }; - - QualityGateNewView.prototype.cancel = function() { - return this.options.app.openFirstQualityGate(); - }; - - QualityGateNewView.prototype.showHeaderSpinner = function() { - return this.ui.header.addClass('navigator-fetching'); - }; - - QualityGateNewView.prototype.hideHeaderSpinner = function() { - return this.ui.header.removeClass('navigator-fetching'); - }; - - return QualityGateNewView; - - })(Marionette.ItemView); - }); - -}).call(this); |