summaryrefslogtreecommitdiff
path: root/app/assets/javascripts/shortcuts.js
diff options
context:
space:
mode:
authorAnnabel Dunstone Gray <annabel.dunstone@gmail.com>2017-03-29 13:58:18 -0500
committerJacob Schatz <jschatz1@gmail.com>2017-04-06 18:12:41 -0400
commit610ea22ea770821fac04f3d757f98091a85512c7 (patch)
tree934449e4f5121df89112622dd1d2a0d64b714dce /app/assets/javascripts/shortcuts.js
parent82ababf0a9504854ee3bb7f2b65e8711f46eb1e7 (diff)
downloadgitlab-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.js56
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);