Restore keyboard shortcuts for "Activity" and "Charts"

This commit is contained in:
Kushal Pandya 2017-03-06 23:52:57 +00:00 committed by Alfredo Sumaran
parent 6902f9502b
commit 6a2516f978
10 changed files with 108 additions and 9 deletions

View file

@ -16,6 +16,9 @@ require('./shortcuts');
Mousetrap.bind('g p', function() {
return ShortcutsNavigation.findAndFollowLink('.shortcuts-project');
});
Mousetrap.bind('g e', function() {
return ShortcutsNavigation.findAndFollowLink('.shortcuts-project-activity');
});
Mousetrap.bind('g f', function() {
return ShortcutsNavigation.findAndFollowLink('.shortcuts-tree');
});
@ -28,6 +31,9 @@ require('./shortcuts');
Mousetrap.bind('g n', function() {
return ShortcutsNavigation.findAndFollowLink('.shortcuts-network');
});
Mousetrap.bind('g g', function() {
return ShortcutsNavigation.findAndFollowLink('.shortcuts-repository-charts');
});
Mousetrap.bind('g i', function() {
return ShortcutsNavigation.findAndFollowLink('.shortcuts-issues');
});

View file

@ -128,6 +128,12 @@
.key p
%td
Go to the project's home page
%tr
%td.shortcut
.key g
.key e
%td
Go to the project's activity feed
%tr
%td.shortcut
.key g
@ -152,6 +158,12 @@
.key n
%td
Go to network graph
%tr
%td.shortcut
.key g
.key g
%td
Go to repository charts
%tr
%td.shortcut
.key g

View file

@ -71,18 +71,30 @@
%span
Snippets
-# Global shortcut to network page for compatibility
-# Shortcut to Project > Activity
%li.hidden
= link_to activity_project_path(@project), title: 'Activity', class: 'shortcuts-project-activity' do
%span
Activity
-# Shortcut to Repository > Graph (formerly, Network)
- if project_nav_tab? :network
%li.hidden
= link_to namespace_project_network_path(@project.namespace, @project, current_ref), title: 'Network', class: 'shortcuts-network' do
Network
Graph
-# Shortcut to create a new issue
-# Shortcut to Repository > Charts (formerly, top-nav item "Graphs")
- unless @project.empty_repo?
%li.hidden
= link_to charts_namespace_project_graph_path(@project.namespace, @project, current_ref), title: 'Charts', class: 'shortcuts-repository-charts' do
Charts
-# Shortcut to Issues > New Issue
%li.hidden
= link_to new_namespace_project_issue_path(@project.namespace, @project), class: 'shortcuts-new-issue' do
Create a new issue
-# Shortcut to builds page
-# Shortcut to Pipelines > Jobs
- if project_nav_tab? :builds
%li.hidden
= link_to project_builds_path(@project), title: 'Jobs', class: 'shortcuts-builds' do

View file

@ -0,0 +1,4 @@
---
title: Restore keyboard shortcuts for "Activity" and "Charts"
merge_request: 9680
author:

View file

@ -42,10 +42,12 @@ You can see GitLab's keyboard shortcuts by using 'shift + ?'
| Keyboard Shortcut | Description |
| ----------------- | ----------- |
| <kbd>g</kbd> + <kbd>p</kbd> | Go to the project's home page |
| <kbd>g</kbd> + <kbd>e</kbd> | Go to the project's activity feed |
| <kbd>g</kbd> + <kbd>f</kbd> | Go to files |
| <kbd>g</kbd> + <kbd>c</kbd> | Go to commits |
| <kbd>g</kbd> + <kbd>b</kbd> | Go to jobs |
| <kbd>g</kbd> + <kbd>n</kbd> | Go to network graph |
| <kbd>g</kbd> + <kbd>g</kbd> | Go to repository charts |
| <kbd>g</kbd> + <kbd>i</kbd> | Go to issues |
| <kbd>g</kbd> + <kbd>m</kbd> | Go to merge requests |
| <kbd>g</kbd> + <kbd>s</kbd> | Go to snippets |

View file

@ -7,8 +7,9 @@ Feature: Project Active Tab
Scenario: On Project Home
Given I visit my project's home page
Then the active main tab should be Home
And no other main tabs should be active
Then the active sub tab should be Home
And no other sub tabs should be active
And the active main tab should be Project
Scenario: On Project Repository
Given I visit my project's files page
@ -34,9 +35,18 @@ Feature: Project Active Tab
Scenario: On Project Home/Show
Given I visit my project's home page
Then the active main tab should be Home
Then the active sub tab should be Home
And no other sub tabs should be active
And the active main tab should be Project
And no other main tabs should be active
Scenario: On Project Home/Activity
Given I visit my project's home page
And I click the "Activity" tab
Then the active sub tab should be Activity
And no other sub tabs should be active
And the active main tab should be Project
# Sub Tabs: Settings
Scenario: On Project Settings/Integrations
@ -93,6 +103,13 @@ Feature: Project Active Tab
And no other sub tabs should be active
And the active main tab should be Repository
Scenario: On Project Repository/Charts
Given I visit my project's commits page
And I click the "Charts" tab
Then the active sub tab should be Charts
And no other sub tabs should be active
And the active main tab should be Repository
Scenario: On Project Repository/Branches
Given I visit my project's commits page
And I click the "Branches" tab

View file

@ -24,6 +24,12 @@ Feature: Project Shortcuts
Then the active sub tab should be Graph
And the active main tab should be Repository
@javascript
Scenario: Navigate to repository charts tab
Given I press "g" and "g"
Then the active sub tab should be Charts
And the active main tab should be Repository
@javascript
Scenario: Navigate to issues tab
Given I press "g" and "i"
@ -47,4 +53,11 @@ Feature: Project Shortcuts
@javascript
Scenario: Navigate to project home
Given I press "g" and "p"
Then the active main tab should be Home
Then the active sub tab should be Home
And the active main tab should be Project
@javascript
Scenario: Navigate to project feed
Given I press "g" and "e"
Then the active sub tab should be Activity
And the active main tab should be Project

View file

@ -39,6 +39,12 @@ class Spinach::Features::ProjectActiveTab < Spinach::FeatureSteps
click_link('Pages')
end
step 'I click the "Activity" tab' do
page.within '.sub-nav' do
click_link('Activity')
end
end
step 'the active sub nav should be Members' do
ensure_active_sub_nav('Members')
end
@ -55,6 +61,10 @@ class Spinach::Features::ProjectActiveTab < Spinach::FeatureSteps
ensure_active_sub_nav('Pages')
end
step 'the active sub tab should be Activity' do
ensure_active_sub_tab('Activity')
end
# Sub Tabs: Commits
step 'I click the "Compare" tab' do
@ -71,6 +81,12 @@ class Spinach::Features::ProjectActiveTab < Spinach::FeatureSteps
click_link('Tags')
end
step 'I click the "Charts" tab' do
page.within '.sub-nav' do
click_link('Charts')
end
end
step 'the active sub tab should be Compare' do
ensure_active_sub_tab('Compare')
end

View file

@ -34,4 +34,9 @@ class Spinach::Features::ProjectShortcuts < Spinach::FeatureSteps
find('body').native.send_key('g')
find('body').native.send_key('w')
end
step 'I press "g" and "e"' do
find('body').native.send_key('g')
find('body').native.send_key('e')
end
end

View file

@ -4,7 +4,7 @@ module SharedProjectTab
include Spinach::DSL
include SharedActiveTab
step 'the active main tab should be Home' do
step 'the active main tab should be Project' do
ensure_active_main_tab('Project')
end
@ -47,4 +47,16 @@ module SharedProjectTab
step 'the active sub tab should be Commits' do
ensure_active_sub_tab('Commits')
end
step 'the active sub tab should be Home' do
ensure_active_sub_tab('Home')
end
step 'the active sub tab should be Activity' do
ensure_active_sub_tab('Activity')
end
step 'the active sub tab should be Charts' do
ensure_active_sub_tab('Charts')
end
end