summaryrefslogtreecommitdiff
path: root/app
diff options
context:
space:
mode:
authorGeorge Andrinopoulos <geoandri@gmail.com>2017-03-26 23:16:55 +0300
committerGeorge Andrinopoulos <geoandri@gmail.com>2017-04-11 20:30:28 +0300
commit0c3a0b6560912ad044a214dcfd74bca960a1fd24 (patch)
tree6f230b0bfbf971efc667f261af12d5e12fcb656c /app
parent069c54a7d7a1d1d6ec1dc48c4212139eff6735df (diff)
downloadgitlab-ce-0c3a0b6560912ad044a214dcfd74bca960a1fd24.tar.gz
Add keyboard edit shortcut for wiki
Diffstat (limited to 'app')
-rw-r--r--app/assets/javascripts/dispatcher.js3
-rw-r--r--app/assets/javascripts/main.js1
-rw-r--r--app/assets/javascripts/shortcuts_wiki.js32
-rw-r--r--app/views/help/_shortcuts.html.haml17
-rw-r--r--app/views/projects/wikis/_main_links.html.haml2
5 files changed, 53 insertions, 2 deletions
diff --git a/app/assets/javascripts/dispatcher.js b/app/assets/javascripts/dispatcher.js
index f277e1dddc7..d6a019333b7 100644
--- a/app/assets/javascripts/dispatcher.js
+++ b/app/assets/javascripts/dispatcher.js
@@ -33,6 +33,7 @@
/* global Labels */
/* global Shortcuts */
/* global Sidebar */
+/* global ShortcutsWiki */
import Issue from './issue';
@@ -416,7 +417,7 @@ const ShortcutsBlob = require('./shortcuts_blob');
break;
case 'wikis':
new gl.Wikis();
- shortcut_handler = new ShortcutsNavigation();
+ shortcut_handler = new ShortcutsWiki();
new ZenMode();
new gl.GLForm($('.wiki-form'));
break;
diff --git a/app/assets/javascripts/main.js b/app/assets/javascripts/main.js
index c50ec24c818..4ca4bde3c19 100644
--- a/app/assets/javascripts/main.js
+++ b/app/assets/javascripts/main.js
@@ -35,6 +35,7 @@ import './shortcuts_navigation';
import './shortcuts_find_file';
import './shortcuts_issuable';
import './shortcuts_network';
+import './shortcuts_wiki';
// behaviors
import './behaviors/';
diff --git a/app/assets/javascripts/shortcuts_wiki.js b/app/assets/javascripts/shortcuts_wiki.js
new file mode 100644
index 00000000000..f09215fdd6d
--- /dev/null
+++ b/app/assets/javascripts/shortcuts_wiki.js
@@ -0,0 +1,32 @@
+/* eslint-disable func-names, space-before-function-paren, max-len, no-var, one-var, no-restricted-syntax, vars-on-top, no-use-before-define, no-param-reassign, new-cap, no-underscore-dangle, wrap-iife, one-var-declaration-per-line, quotes, prefer-arrow-callback, consistent-return, prefer-template, no-mixed-operators */
+/* global Mousetrap */
+/* global ShortcutsNavigation */
+
+require('mousetrap');
+require('./shortcuts_navigation');
+
+(function() {
+ var extend = function(child, parent) { for (var key in parent) { if (hasProp.call(parent, key)) child[key] = parent[key]; } function ctor() { this.constructor = child; } ctor.prototype = parent.prototype; child.prototype = new ctor(); child.__super__ = parent.prototype; return child; },
+ hasProp = {}.hasOwnProperty;
+
+ this.ShortcutsWiki = (function(superClass) {
+ extend(ShortcutsWiki, superClass);
+
+ function ShortcutsWiki() {
+ ShortcutsWiki.__super__.constructor.call(this);
+ Mousetrap.bind('e', (function(_this) {
+ return function() {
+ _this.editWiki();
+ return false;
+ };
+ })(this));
+ }
+
+ ShortcutsWiki.prototype.editWiki = function() {
+ var $editBtn;
+ $editBtn = $('.wiki-edit');
+ return gl.utils.visitUrl($editBtn.attr('href'));
+ };
+ return ShortcutsWiki;
+ })(ShortcutsNavigation);
+}).call(window);
diff --git a/app/views/help/_shortcuts.html.haml b/app/views/help/_shortcuts.html.haml
index 700c5e61a14..83d03a82a9b 100644
--- a/app/views/help/_shortcuts.html.haml
+++ b/app/views/help/_shortcuts.html.haml
@@ -105,6 +105,23 @@
%td.shortcut
.key esc
%td Go back
+ %tbody
+ %tr
+ %th
+ %th Project File
+ %tr
+ %td.shortcut
+ .key y
+ %td Go to file permalink
+ %tbody.hidden-shortcut.merge_requests{ style: 'display:none' }
+ %tr
+ %th
+ %th Wiki pages
+ %tr
+ %td.shortcut
+ .key e
+ %td Edit wiki page
+ %tr
.col-lg-4
%table.shortcut-mappings
%tbody
diff --git a/app/views/projects/wikis/_main_links.html.haml b/app/views/projects/wikis/_main_links.html.haml
index 86178257af8..71bc33df463 100644
--- a/app/views/projects/wikis/_main_links.html.haml
+++ b/app/views/projects/wikis/_main_links.html.haml
@@ -5,5 +5,5 @@
= link_to namespace_project_wiki_history_path(@project.namespace, @project, @page), class: "btn" do
Page history
- if can?(current_user, :create_wiki, @project) && @page.latest?
- = link_to namespace_project_wiki_edit_path(@project.namespace, @project, @page), class: "btn" do
+ = link_to namespace_project_wiki_edit_path(@project.namespace, @project, @page), class: "btn wiki-edit" do
Edit