import $ from 'jquery'; import Cookies from 'js-cookie'; import { flatten } from 'lodash'; import Mousetrap from 'mousetrap'; import Vue from 'vue'; import { parseBoolean } from '~/lib/utils/common_utils'; import findAndFollowLink from '~/lib/utils/navigation_utility'; import { refreshCurrentPage, visitUrl } from '~/lib/utils/url_utility'; import { keysFor, TOGGLE_KEYBOARD_SHORTCUTS_DIALOG, START_SEARCH, FOCUS_FILTER_BAR, TOGGLE_PERFORMANCE_BAR, HIDE_APPEARING_CONTENT, TOGGLE_CANARY, TOGGLE_MARKDOWN_PREVIEW, GO_TO_YOUR_TODO_LIST, GO_TO_ACTIVITY_FEED, GO_TO_YOUR_ISSUES, GO_TO_YOUR_MERGE_REQUESTS, GO_TO_YOUR_PROJECTS, GO_TO_YOUR_GROUPS, GO_TO_MILESTONE_LIST, GO_TO_YOUR_SNIPPETS, GO_TO_PROJECT_FIND_FILE, } from './keybindings'; import { disableShortcuts, shouldDisableShortcuts } from './shortcuts_toggle'; const defaultStopCallback = Mousetrap.prototype.stopCallback; Mousetrap.prototype.stopCallback = function customStopCallback(e, element, combo) { if (keysFor(TOGGLE_MARKDOWN_PREVIEW).indexOf(combo) !== -1) { return false; } return defaultStopCallback.call(this, e, element, combo); }; /** * The key used to save and fetch the local Mousetrap instance * attached to a `