import $ from 'jquery'; import { flatten } from 'lodash'; import Vue from 'vue'; import { InternalEvents } from '~/tracking'; import { FIND_FILE_SHORTCUT_CLICK } from '~/tracking/constants'; import { Mousetrap, addStopCallback } from '~/lib/mousetrap'; import { getCookie, setCookie, parseBoolean } from '~/lib/utils/common_utils'; import { waitForElement } from '~/lib/utils/dom_utils'; import findAndFollowLink from '~/lib/utils/navigation_utility'; import { refreshCurrentPage } from '~/lib/utils/url_utility'; import { helpCenterState } from '~/super_sidebar/constants'; import { keysFor, TOGGLE_KEYBOARD_SHORTCUTS_DIALOG, START_SEARCH, START_SEARCH_PROJECT_FILE, 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, TOGGLE_DUO_CHAT, GO_TO_MILESTONE_LIST, GO_TO_YOUR_SNIPPETS, GO_TO_YOUR_REVIEW_REQUESTS, } from './keybindings'; import { disableShortcuts, shouldDisableShortcuts } from './shortcuts_toggle'; /** * The key used to save and fetch the local Mousetrap instance * attached to a `