]> source.dussan.org Git - sonarqube.git/commitdiff
New Issues Page: display rule panel
authorStas Vilchik <vilchiks@gmail.com>
Mon, 27 Jan 2014 05:34:53 +0000 (11:34 +0600)
committerStas Vilchik <vilchiks@gmail.com>
Mon, 27 Jan 2014 05:34:53 +0000 (11:34 +0600)
sonar-server/src/main/webapp/WEB-INF/app/views/issues/search.html.erb
sonar-server/src/main/webapp/WEB-INF/app/views/issues/templates/_issue_detail.hbs.erb
sonar-server/src/main/webapp/WEB-INF/app/views/issues/templates/_issue_detail_rule.hbs.erb [new file with mode: 0644]
sonar-server/src/main/webapp/javascripts/navigator/issues.js

index 51c75cb74857ecda81559f9dfec399ac76b366de..c1d758e2e36186456f6e42b354915bcadf64cccb 100644 (file)
@@ -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' -%>
 
 <script>
   _.templateSettings = {
index 83bf9b2f0b78740fa245fb36ad90434735e50bba..dd3a402b859498b5f22823eda0814e6bb90f90c1 100644 (file)
@@ -93,8 +93,7 @@
 
       <div id="tab-issue-rule">
         <div class="rule-desc">
-          <div class="marginbottom10">{{{rule.desc}}}</div>
-          <p class="note">{{rule.key}}</p>
+
         </div>
       </div>
 
diff --git a/sonar-server/src/main/webapp/WEB-INF/app/views/issues/templates/_issue_detail_rule.hbs.erb b/sonar-server/src/main/webapp/WEB-INF/app/views/issues/templates/_issue_detail_rule.hbs.erb
new file mode 100644 (file)
index 0000000..f6f2744
--- /dev/null
@@ -0,0 +1,4 @@
+<script id="issue-detail-rule-template" type="text/x-handlebars-template">
+  <div class="marginbottom10">{{{description}}}</div>
+  <p class="note">{{key}}</p>
+</script>
index c2acc4a70ae2ac24985ba0e862f6455233ab031a..bd28e7c7d6212619a3267529f50ae3a714757a23 100644 (file)
@@ -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();
     },