]> source.dussan.org Git - sonarqube.git/commitdiff
SONAR-4851 Fix arrows behavior
authorStas Vilchik <vilchiks@gmail.com>
Thu, 21 Nov 2013 05:55:28 +0000 (11:55 +0600)
committerStas Vilchik <vilchiks@gmail.com>
Thu, 21 Nov 2013 05:55:28 +0000 (11:55 +0600)
sonar-server/src/main/webapp/javascripts/navigator/filters/ajax-select-filters.js
sonar-server/src/main/webapp/javascripts/navigator/filters/select-filters.js

index c5c324590443153ce81e92de28ac168a885b4960..8284c8d8e23e453c3af4491a23236a1a99282bec 100644 (file)
@@ -88,8 +88,9 @@ window.SS = typeof window.SS === 'object' ? window.SS : {};
           throttledScroll = _.throttle(scroll, 1000);
 
       this.$('.navigator-filter-search input')
-          .off('keyup')
-          .on('keyup', debouncedKeyup);
+          .off('keyup keydown')
+          .on('keyup', debouncedKeyup)
+          .on('keydown', this.keydown);
 
       this.$('.choices')
           .off('scroll')
@@ -122,6 +123,7 @@ window.SS = typeof window.SS === 'object' ? window.SS : {};
       }
     },
 
+
     scroll: function() {
       var el = this.$('.choices'),
           scrollBottom = el.scrollTop() >=
@@ -133,6 +135,12 @@ window.SS = typeof window.SS === 'object' ? window.SS : {};
     },
 
 
+    keydown: function(e) {
+      if (_([37, 38, 39, 40, 32, 13]).indexOf(e.keyCode) !== -1) {
+        e.preventDefault();
+      }
+    },
+
 
     resetChoices: function() {
       this.options.filterView.choices.reset([]);
index 2a287262986542cffe444a8a3338644a38e138d5..c754f72030c424359c1933cd5dbc3683e86353b7 100644 (file)
@@ -100,12 +100,16 @@ window.SS = typeof window.SS === 'object' ? window.SS : {};
     onKeyDown: function(e) {
       switch (e.keyCode) {
         case 38:
+          e.preventDefault();
           this.selectPrevChoice();
           break;
         case 40:
+          e.preventDefault();
           this.selectNextChoice();
           break;
         case 32:
+        case 13:
+          e.preventDefault();
           this.selectCurrent();
           break;
       }