ui_init: Initialize hotkey handlers after other libraries are initialized.

This gives us some time to render and fetch data before allowing
user to start using hotkeys. It avoids error being thrown when
hotkeys are used when the app is still loading.
This commit is contained in:
Aman Agrawal 2022-10-23 04:58:08 +00:00 committed by Tim Abbott
parent e66f125ee6
commit 2d31b52927
2 changed files with 15 additions and 11 deletions

View File

@ -998,12 +998,6 @@ export function process_keydown(e) {
return process_hotkey(e, hotkey); return process_hotkey(e, hotkey);
} }
$(document).on("keydown", (e) => {
if (process_keydown(e)) {
e.preventDefault();
}
});
export function process_keypress(e) { export function process_keypress(e) {
const hotkey = get_keypress_hotkey(e); const hotkey = get_keypress_hotkey(e);
if (!hotkey) { if (!hotkey) {
@ -1012,8 +1006,16 @@ export function process_keypress(e) {
return process_hotkey(e, hotkey); return process_hotkey(e, hotkey);
} }
export function initialize() {
$(document).on("keydown", (e) => {
if (process_keydown(e)) {
e.preventDefault();
}
});
$(document).on("keypress", (e) => { $(document).on("keypress", (e) => {
if (process_keypress(e)) { if (process_keypress(e)) {
e.preventDefault(); e.preventDefault();
} }
}); });
}

View File

@ -35,6 +35,7 @@ import * as emojisets from "./emojisets";
import * as gear_menu from "./gear_menu"; import * as gear_menu from "./gear_menu";
import * as giphy from "./giphy"; import * as giphy from "./giphy";
import * as hashchange from "./hashchange"; import * as hashchange from "./hashchange";
import * as hotkey from "./hotkey";
import * as hotspots from "./hotspots"; import * as hotspots from "./hotspots";
import * as i18n from "./i18n"; import * as i18n from "./i18n";
import * as invite from "./invite"; import * as invite from "./invite";
@ -687,6 +688,7 @@ export function initialize_everything() {
user_status_ui.initialize(); user_status_ui.initialize();
fenced_code.initialize(generated_pygments_data); fenced_code.initialize(generated_pygments_data);
message_edit_history.initialize(); message_edit_history.initialize();
hotkey.initialize();
$("#app-loading").addClass("loaded"); $("#app-loading").addClass("loaded");
} }