From cbc5ab5696a64fe10d5a37d25cc6e87d8d44481f Mon Sep 17 00:00:00 2001 From: toasted-nutbread Date: Mon, 18 Jan 2021 15:23:49 -0500 Subject: Hotkey help controller (#1272) * Create HotkeyHelpController * Expose getAllTemplates * Update hotkeys on the context page * Update hotkeys on the display pages * Fix display issue where a hotkey used to be defined but no longer is --- ext/bg/js/context-main.js | 16 ++++++++++++++++ 1 file changed, 16 insertions(+) (limited to 'ext/bg/js') diff --git a/ext/bg/js/context-main.js b/ext/bg/js/context-main.js index 839b534e..65853514 100644 --- a/ext/bg/js/context-main.js +++ b/ext/bg/js/context-main.js @@ -16,6 +16,7 @@ */ /* global + * HotkeyHelpController * api */ @@ -35,6 +36,8 @@ class DisplayController { const optionsFull = await api.optionsGetFull(); this._optionsFull = optionsFull; + this._setupHotkeys(); + const optionsPageUrl = optionsFull.global.useSettingsV2 ? '/bg/settings2.html' : manifest.options_ui.page; this._setupButtonEvents('.action-open-settings', 'openSettingsPage', chrome.runtime.getURL(optionsPageUrl)); @@ -99,6 +102,19 @@ class DisplayController { } } + async _setupHotkeys() { + const hotkeyHelpController = new HotkeyHelpController(); + await hotkeyHelpController.prepare(); + + const {profiles, profileCurrent} = this._optionsFull; + const primaryProfile = (profileCurrent >= 0 && profileCurrent < profiles.length) ? profiles[profileCurrent] : null; + if (primaryProfile !== null) { + hotkeyHelpController.setOptions(primaryProfile.options); + } + + hotkeyHelpController.setupNode(document.documentElement); + } + _updateProfileSelect(profiles, profileCurrent) { const select = document.querySelector('#profile-select'); const optionGroup = document.querySelector('#profile-select-option-group'); -- cgit v1.2.3