diff options
author | George Andrinopoulos <geoandri@gmail.com> | 2017-03-26 23:16:55 +0300 |
---|---|---|
committer | George Andrinopoulos <geoandri@gmail.com> | 2017-04-11 20:30:28 +0300 |
commit | 0c3a0b6560912ad044a214dcfd74bca960a1fd24 (patch) | |
tree | 6f230b0bfbf971efc667f261af12d5e12fcb656c /app | |
parent | 069c54a7d7a1d1d6ec1dc48c4212139eff6735df (diff) | |
download | gitlab-ce-0c3a0b6560912ad044a214dcfd74bca960a1fd24.tar.gz |
Add keyboard edit shortcut for wiki
Diffstat (limited to 'app')
-rw-r--r-- | app/assets/javascripts/dispatcher.js | 3 | ||||
-rw-r--r-- | app/assets/javascripts/main.js | 1 | ||||
-rw-r--r-- | app/assets/javascripts/shortcuts_wiki.js | 32 | ||||
-rw-r--r-- | app/views/help/_shortcuts.html.haml | 17 | ||||
-rw-r--r-- | app/views/projects/wikis/_main_links.html.haml | 2 |
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 |