]> source.dussan.org Git - sonarqube.git/commitdiff
SONAR-5718 Add shortcuts to perform actions on issues
authorStas Vilchik <vilchiks@gmail.com>
Wed, 5 Nov 2014 15:17:40 +0000 (16:17 +0100)
committerStas Vilchik <vilchiks@gmail.com>
Wed, 5 Nov 2014 15:17:40 +0000 (16:17 +0100)
server/sonar-web/src/main/coffee/issue/issue-view.coffee
server/sonar-web/src/main/coffee/issue/views/assign-form-view.coffee
server/sonar-web/src/main/coffee/issue/views/plan-form-view.coffee
server/sonar-web/src/main/coffee/issue/views/set-severity-form-view.coffee
server/sonar-web/src/main/coffee/issues/component-viewer/main.coffee
server/sonar-web/src/main/coffee/issues/workspace-list-view.coffee
server/sonar-web/src/main/js/application.js

index ad34cc815474c62f24dcb8cc48c3f886eddd49df..92107b5164b31bffa40ca24d442fcaf402c85334 100644 (file)
@@ -74,6 +74,8 @@ define [
       @changeLog = new ChangeLog()
       @changeLogRegion.show new ChangeLogView collection: @changeLog, issue: @model
 
+      key 'escape', (=> @updateAfterAction false)
+
 
     onClose: ->
       @ruleRegion.reset() if @ruleRegion
index 2e2b6698006ca3798c6a4f693e1e796f0434e001..16e44fc0e11a92c59e981b2b2e8643b820d46599 100644 (file)
@@ -60,7 +60,9 @@ define [
           data: (term, page) -> s: term, p: page
           results: (data) -> more: data.more, results: data.results
 
-      @ui.select.select2(select2Options).select2 'open'
+      @ui.select.select2 select2Options
+      @ui.select.on 'change', => @$('[type=submit]').focus()
+      @ui.select.select2 'open'
 
 
     cancel: ->
index 1e0c6b38a1464083373235b1e3af06a64ff55fc1..21a248da34d1fad8fcc82943e1bba89437297482 100644 (file)
@@ -30,6 +30,8 @@ define [
       @ui.select.select2
         width: '250px'
         minimumResultsForSearch: 100
+      @ui.select.on 'change', => @$('[type=submit]').focus()
+      @ui.select.select2 'open'
 
       @$('.error a').prop('href', baseUrl + '/action_plans/index/' + this.options.issue.get('project'))
 
index 3842a2d0bdc21100aca6541b416c0cce62841335..d8266bc5ad8f4082ccad7148fd895dd25f283b76 100644 (file)
@@ -33,6 +33,9 @@ define [
        formatSelection: format
        escapeMarkup: (m) -> m
 
+     @ui.select.on 'change', => @$('[type=submit]').focus()
+     @ui.select.select2 'open'
+
 
     cancel: ->
       @options.detailView.updateAfterAction false
index a05373fe66a2f0d90e6667710dac6cb198663aea..0420dbabacf99565caedfd10a76ae309941c43e5 100644 (file)
@@ -48,7 +48,7 @@ define [
 
 
     bindShortcuts: ->
-      key 'delete,backspace,left', 'componentViewer', =>
+      key 'left', 'componentViewer', =>
         @options.app.controller.closeComponentViewer()
         false
 
index 78001175c05ea9f3b431b11baded75c7b9c49d13..487959e6fee7ddecddcb1090dfa4af05f41c6e81 100644 (file)
@@ -57,11 +57,34 @@ define [
 
 
     bindShortcuts: ->
-      key 'return,right', 'list', =>
+      doTransition = (transition) =>
+        selectedIssue = @collection.at @options.app.state.get 'selectedIndex'
+        return unless selectedIssue?
+        selectedIssueView = @children.findByModel selectedIssue
+        selectedIssueView.$("[data-transition=#{transition}]").click()
+
+      doAction = (action) =>
+        selectedIssue = @collection.at @options.app.state.get 'selectedIndex'
+        return unless selectedIssue?
+        selectedIssueView = @children.findByModel selectedIssue
+        selectedIssueView.$("#issue-#{action}").click()
+
+      key 'right', 'list', =>
         selectedIssue = @collection.at @options.app.state.get 'selectedIndex'
         @options.app.controller.showComponentViewer selectedIssue
         return false
 
+      key 'c', -> doTransition 'confirm'
+      key 'u', -> doTransition 'unconfirm'
+      key 'r', -> doTransition 'resolve'
+      key 'r', -> doTransition 'reopen'
+      key 'f', -> doTransition 'falsepositive'
+
+      key 'a', -> doAction 'assign'
+      key 'm', -> doAction 'assign-to-me'
+      key 'p', -> doAction 'plan'
+      key 'i', -> doAction 'set-severity'
+
 
     loadMore: ->
       unless @options.app.state.get 'maxResultsReached'
index 43e29aa07baaf0fe7c14629620f27f8aafa856b8..37bf12e75a92db2ae69ae53524a63d176d62de51 100644 (file)
@@ -479,7 +479,11 @@ jQuery(function() {
 
   // Define global shortcuts
   key('s', function() {
-    jQuery('#searchInput').focus();
+    jQuery('#searchInput').focus().on('keydown', function (e) {
+       if (e.keyCode == 27) {
+         jQuery('#searchInput').blur();
+       }
+    });
     return false;
   });
 });