Welcome to mirror list, hosted at ThFree Co, Russian Federation.

gitlab.com/gitlab-org/gitlab-foss.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAnnabel Dunstone Gray <annabel.dunstone@gmail.com>2017-03-29 21:58:18 +0300
committerJacob Schatz <jschatz1@gmail.com>2017-04-07 01:12:41 +0300
commit610ea22ea770821fac04f3d757f98091a85512c7 (patch)
tree934449e4f5121df89112622dd1d2a0d64b714dce
parent82ababf0a9504854ee3bb7f2b65e8711f46eb1e7 (diff)
Map bindings to lowercase letters; only show key bindings when using keyboard shortcut
-rw-r--r--app/assets/javascripts/shortcuts.js56
-rw-r--r--app/views/layouts/nav/_dashboard.html.haml28
2 files changed, 45 insertions, 39 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);
diff --git a/app/views/layouts/nav/_dashboard.html.haml b/app/views/layouts/nav/_dashboard.html.haml
index cc2d70aa55b..6cfbbec8c46 100644
--- a/app/views/layouts/nav/_dashboard.html.haml
+++ b/app/views/layouts/nav/_dashboard.html.haml
@@ -1,14 +1,14 @@
%ul
= nav_link(path: ['root#index', 'projects#trending', 'projects#starred', 'dashboard/projects#index'], html_options: {class: "#{project_tab_class} home"}) do
- = link_to dashboard_projects_path, title: 'Projects', class: 'dashboard-shortcuts-projects' do
+ = link_to dashboard_projects_path, title: 'Projects', class: 'js-dashboard-shortcuts-projects' do
.kbd
- P
+ p
%span
Projects
= nav_link(path: 'dashboard#activity') do
- = link_to activity_dashboard_path, class: 'dashboard-shortcuts-activity', title: 'Activity' do
+ = link_to activity_dashboard_path, class: 'js-dashboard-shortcuts-activity', title: 'Activity' do
.kbd
- A
+ a
%span
Activity
- if koding_enabled?
@@ -17,35 +17,35 @@
%span
Koding
= nav_link(controller: [:groups, 'groups/milestones', 'groups/group_members']) do
- = link_to dashboard_groups_path, class: 'dashboard-shortcuts-groups', title: 'Groups' do
+ = link_to dashboard_groups_path, class: 'js-dashboard-shortcuts-groups', title: 'Groups' do
.kbd
- G
+ r
%span
Groups
= nav_link(controller: 'dashboard/milestones') do
- = link_to dashboard_milestones_path, class: 'dashboard-shortcuts-milestones', title: 'Milestones' do
+ = link_to dashboard_milestones_path, class: 'js-dashboard-shortcuts-milestones', title: 'Milestones' do
.kbd
- L
+ l
%span
Milestones
= nav_link(path: 'dashboard#issues') do
- = link_to assigned_issues_dashboard_path, title: 'Issues', class: 'dashboard-shortcuts-issues' do
+ = link_to assigned_issues_dashboard_path, title: 'Issues', class: 'js-dashboard-shortcuts-issues' do
.kbd
- I
+ i
%span
Issues
.badge= number_with_delimiter(cached_assigned_issuables_count(current_user, :issues, :opened))
= nav_link(path: 'dashboard#merge_requests') do
- = link_to assigned_mrs_dashboard_path, title: 'Merge Requests', class: 'dashboard-shortcuts-merge_requests' do
+ = link_to assigned_mrs_dashboard_path, title: 'Merge Requests', class: 'js-dashboard-shortcuts-merge_requests' do
.kbd
- M
+ m
%span
Merge Requests
.badge= number_with_delimiter(cached_assigned_issuables_count(current_user, :merge_requests, :opened))
= nav_link(controller: 'dashboard/snippets') do
- = link_to dashboard_snippets_path, class: 'dashboard-shortcuts-snippets', title: 'Snippets' do
+ = link_to dashboard_snippets_path, class: 'js-dashboard-shortcuts-snippets', title: 'Snippets' do
.kbd
- S
+ e
%span
Snippets
%li.divider