Commit 2cf82d19 authored by Kushal Pandya's avatar Kushal Pandya

Add support for `l`, `e` and `r` keyboard shortcuts in Epic

parent 60ed8eb8
import $ from 'jquery';
import Mousetrap from 'mousetrap';
import Cookies from 'js-cookie';
import ShortcutsIssuable from '~/behaviors/shortcuts/shortcuts_issuable';
export default class ShortcutsEpic extends ShortcutsIssuable {
constructor() {
super();
const $issuableSidebar = $('.js-issuable-update');
Mousetrap.bind('l', () =>
ShortcutsEpic.openSidebarDropdown($issuableSidebar.find('.js-labels-block')),
);
Mousetrap.bind('r', ShortcutsIssuable.replyWithSelectedText);
Mousetrap.bind('e', ShortcutsIssuable.editIssue);
}
static openSidebarDropdown($block) {
if (Cookies.get('collapsed_gutter') === 'true') {
document.dispatchEvent(new Event('toggleSidebarRevealLabelsDropdown'));
} else {
$block.find('.js-sidebar-dropdown-toggle').trigger('click');
}
}
}
...@@ -226,9 +226,17 @@ export default { ...@@ -226,9 +226,17 @@ export default {
}, },
mounted() { mounted() {
eventHub.$on('toggleSidebar', this.toggleSidebar); eventHub.$on('toggleSidebar', this.toggleSidebar);
document.addEventListener(
'toggleSidebarRevealLabelsDropdown',
this.toggleSidebarRevealLabelsDropdown,
);
}, },
beforeDestroy() { beforeDestroy() {
eventHub.$off('toggleSidebar', this.toggleSidebar); eventHub.$off('toggleSidebar', this.toggleSidebar);
document.removeEventListener(
'toggleSidebarRevealLabelsDropdown',
this.toggleSidebarRevealLabelsDropdown,
);
}, },
methods: { methods: {
getDateValidity(startDate, endDate) { getDateValidity(startDate, endDate) {
......
import ZenMode from '~/zen_mode'; import ZenMode from '~/zen_mode';
import initEpicShow from 'ee/epics/epic_show/epic_show_bundle'; import initEpicShow from 'ee/epics/epic_show/epic_show_bundle';
import ShortcutsEpic from 'ee/behaviors/shortcuts/shortcuts_epic';
import '~/notes/index'; import '~/notes/index';
document.addEventListener('DOMContentLoaded', () => { document.addEventListener('DOMContentLoaded', () => {
new ZenMode(); // eslint-disable-line no-new new ZenMode(); // eslint-disable-line no-new
initEpicShow(); initEpicShow();
new ShortcutsEpic(); // eslint-disable-line no-new
}); });
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment