From: Stas Vilchik Date: Mon, 27 Jan 2014 05:34:53 +0000 (+0600) Subject: New Issues Page: display rule panel X-Git-Tag: 4.2~470 X-Git-Url: https://source.dussan.org/?a=commitdiff_plain;h=d37ee9f5374d0f10bd924ccbfdff9d0c853009a6;p=sonarqube.git New Issues Page: display rule panel --- diff --git a/sonar-server/src/main/webapp/WEB-INF/app/views/issues/search.html.erb b/sonar-server/src/main/webapp/WEB-INF/app/views/issues/search.html.erb index 51c75cb7485..c1d758e2e36 100644 --- a/sonar-server/src/main/webapp/WEB-INF/app/views/issues/search.html.erb +++ b/sonar-server/src/main/webapp/WEB-INF/app/views/issues/search.html.erb @@ -19,6 +19,7 @@ <%= render :partial => '/issues/templates/issues_details_favorite_filter.hbs' -%> <%= render :partial => '/issues/templates/issue_detail.hbs' -%> <%= render :partial => '/issues/templates/issue_detail_comment_form.hbs' -%> +<%= render :partial => '/issues/templates/issue_detail_rule.hbs' -%> diff --git a/sonar-server/src/main/webapp/javascripts/navigator/issues.js b/sonar-server/src/main/webapp/javascripts/navigator/issues.js index c2acc4a70ae..bd28e7c7d62 100644 --- a/sonar-server/src/main/webapp/javascripts/navigator/issues.js +++ b/sonar-server/src/main/webapp/javascripts/navigator/issues.js @@ -103,6 +103,19 @@ jQuery(function() { }); + var Rule = Backbone.Model.extend({ + + url: function() { + return baseUrl + '/api/rules/show/?key=' + this.get('key'); + }, + + + parse: function(r) { + return r.rule ? r.rule : r; + } + }); + + var IssueView = Backbone.Marionette.ItemView.extend({ template: Handlebars.compile(jQuery('#issue-template').html() || ''), @@ -408,16 +421,27 @@ jQuery(function() { + var IssueDetailRuleView = Backbone.Marionette.ItemView.extend({ + template: Handlebars.compile(jQuery('#issue-detail-rule-template').html() || ''), + className: 'rule-desc', + modelEvents: { 'change': 'render' } + }); + + + var IssueDetailView = Backbone.Marionette.Layout.extend({ template: Handlebars.compile(jQuery('#issue-detail-template').html() || ''), regions: { - formRegion: '.code-issue-form' + formRegion: '.code-issue-form', + ruleRegion: '#tab-issue-rule' }, events: { + 'click [href=#tab-issue-rule]': 'fetchRule', + 'click #issue-comment': 'comment', 'click .issue-comment-edit': 'editComment', 'click .issue-comment-delete': 'deleteComment', @@ -433,6 +457,18 @@ jQuery(function() { onRender: function() { this.$('.code-issue-details').tabs(); this.$('.code-issue-form').hide(); + this.rule = new Rule({ key: this.model.get('rule') }); + this.ruleRegion.show(new IssueDetailRuleView({ model: this.rule })); + }, + + + onClose: function() { + this.ruleRegion.close(); + }, + + + fetchRule: function() { + this.rule.fetch(); },