diff options
author | Annabel Dunstone Gray <annabel.dunstone@gmail.com> | 2017-03-29 13:58:18 -0500 |
---|---|---|
committer | Jacob Schatz <jschatz1@gmail.com> | 2017-04-06 18:12:41 -0400 |
commit | 610ea22ea770821fac04f3d757f98091a85512c7 (patch) | |
tree | 934449e4f5121df89112622dd1d2a0d64b714dce /app/assets/javascripts/shortcuts.js | |
parent | 82ababf0a9504854ee3bb7f2b65e8711f46eb1e7 (diff) | |
download | gitlab-ce-610ea22ea770821fac04f3d757f98091a85512c7.tar.gz |
Map bindings to lowercase letters; only show key bindings when using keyboard shortcut
Diffstat (limited to 'app/assets/javascripts/shortcuts.js')
-rw-r--r-- | app/assets/javascripts/shortcuts.js | 56 |
1 files changed, 31 insertions, 25 deletions
diff --git a/app/assets/javascripts/shortcuts.js b/app/assets/javascripts/shortcuts.js index ef32cc39c1f..24b6ad02b25 100644 --- a/app/assets/javascripts/shortcuts.js +++ b/app/assets/javascripts/shortcuts.js @@ -19,43 +19,49 @@ return _this.focusFilter(e); }; })(this)); + function gotoMenu(menu){ - if($('.global-dropdown.open').length) { - window.location.href = $('.global-dropdown-menu .dashboard-shortcuts-'+menu).attr('href'); - } + window.location.href = $('.js-dashboard-shortcuts-'+menu).attr('href'); } - Mousetrap.bind('n', function() { - $('.global-dropdown-menu').addClass('shortcuts') - $('.global-dropdown-toggle').trigger('click'); + $('.global-dropdown').on('hide.bs.dropdown', function() { + $('.global-dropdown-menu').removeClass('shortcuts'); + Mousetrap.unbind(['p', 'a', 'r', 'l', 'i', 'm', 'e']); }); - Mousetrap.bind('P', function() { - gotoMenu('projects'); - }); + $('.global-dropdown').on('show.bs.dropdown', function() { + Mousetrap.bind('p', function() { + gotoMenu('projects'); + }); - Mousetrap.bind('A', function() { - gotoMenu('activity'); - }); + Mousetrap.bind('a', function() { + gotoMenu('activity'); + }); - Mousetrap.bind('G', function() { - gotoMenu('groups'); - }); + Mousetrap.bind('r', function() { + gotoMenu('groups'); + }); - Mousetrap.bind('L', function() { - gotoMenu('milestones'); - }); + Mousetrap.bind('l', function() { + gotoMenu('milestones'); + }); - Mousetrap.bind('I', function() { - gotoMenu('issues'); - }); + Mousetrap.bind('i', function() { + gotoMenu('issues'); + }); - Mousetrap.bind('M', function() { - gotoMenu('merge_requests'); + Mousetrap.bind('m', function() { + gotoMenu('merge_requests'); + }); + + Mousetrap.bind('e', function() { + gotoMenu('snippets'); + }); }); - Mousetrap.bind('S', function() { - gotoMenu('snippets'); + Mousetrap.bind('n', function() { + $('.global-dropdown-menu').addClass('shortcuts'); + $('.global-dropdown-toggle').trigger('click'); }); Mousetrap.bind(['ctrl+shift+p', 'command+shift+p'], this.toggleMarkdownPreview); |