From 584b86da3408826f776ee5e179af91ab61459a46 Mon Sep 17 00:00:00 2001 From: Eric Eastwood Date: Wed, 25 Jan 2017 21:13:01 -0600 Subject: Add keyboard shortcut to move to file permalink Fix https://gitlab.com/gitlab-org/gitlab-ce/issues/8082 --- app/assets/javascripts/shortcuts_blob.js.es6 | 29 ++++++++++++++++++++++++++++ 1 file changed, 29 insertions(+) create mode 100644 app/assets/javascripts/shortcuts_blob.js.es6 (limited to 'app/assets/javascripts/shortcuts_blob.js.es6') diff --git a/app/assets/javascripts/shortcuts_blob.js.es6 b/app/assets/javascripts/shortcuts_blob.js.es6 new file mode 100644 index 00000000000..bfe90aef71e --- /dev/null +++ b/app/assets/javascripts/shortcuts_blob.js.es6 @@ -0,0 +1,29 @@ +/* global Mousetrap */ +/* global Shortcuts */ + +require('./shortcuts'); + +const defaults = { + skipResetBindings: false, + fileBlobPermalinkUrl: null, +}; + +class ShortcutsBlob extends Shortcuts { + constructor(opts) { + const options = Object.assign({}, defaults, opts); + super(options.skipResetBindings); + this.options = options; + + Mousetrap.bind('y', this.moveToFilePermalink.bind(this)); + } + + moveToFilePermalink() { + if (this.options.fileBlobPermalinkUrl) { + const hash = gl.utils.getLocationHash(); + const hashUrlString = hash ? `#${hash}` : ''; + gl.utils.visitUrl(`${this.options.fileBlobPermalinkUrl}${hashUrlString}`); + } + } +} + +module.exports = ShortcutsBlob; -- cgit v1.2.1