diff options
author | Eric Eastwood <contact@ericeastwood.com> | 2017-01-25 21:13:01 -0600 |
---|---|---|
committer | Eric Eastwood <contact@ericeastwood.com> | 2017-02-06 16:57:52 -0600 |
commit | 584b86da3408826f776ee5e179af91ab61459a46 (patch) | |
tree | 33059ba30ec961c2b5dde50d80d932b8bd747185 /app/assets/javascripts/shortcuts_blob.js.es6 | |
parent | 572fb0be9b1d45437b7c0ed1000399657f471ec7 (diff) | |
download | gitlab-ce-584b86da3408826f776ee5e179af91ab61459a46.tar.gz |
Add keyboard shortcut to move to file permalink8082-permalink-to-file
Fix https://gitlab.com/gitlab-org/gitlab-ce/issues/8082
Diffstat (limited to 'app/assets/javascripts/shortcuts_blob.js.es6')
-rw-r--r-- | app/assets/javascripts/shortcuts_blob.js.es6 | 29 |
1 files changed, 29 insertions, 0 deletions
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; |