From c738110391bed1727f1763c81e4516c97dfc558b Mon Sep 17 00:00:00 2001 From: squidfunk Date: Thu, 26 Mar 2020 19:48:07 +0100 Subject: [PATCH] Only emit global keyboard events when not in editable element --- .../javascripts/integrations/keyboard/index.ts | 17 +++++++++-------- 1 file changed, 9 insertions(+), 8 deletions(-) diff --git a/src/assets/javascripts/integrations/keyboard/index.ts b/src/assets/javascripts/integrations/keyboard/index.ts index 0cb6e91e3..3c2cea1fb 100644 --- a/src/assets/javascripts/integrations/keyboard/index.ts +++ b/src/assets/javascripts/integrations/keyboard/index.ts @@ -92,6 +92,14 @@ export function setupKeyboard(): Observable { mode: getToggle("search") ? "search" : "global", ...key })), + filter(({ mode }) => { + if (mode === "global") { + const active = getActiveElement() + if (typeof active !== "undefined") + return !isSusceptibleToKeyboard(active) + } + return true + }), share() ) @@ -150,14 +158,7 @@ export function setupKeyboard(): Observable { /* Setup global keyboard handlers */ keyboard$ .pipe( - filter(({ mode }) => { - if (mode === "global") { - const active = getActiveElement() - if (typeof active !== "undefined") - return !isSusceptibleToKeyboard(active) - } - return false - }), + filter(({ mode }) => mode === "global"), withLatestFrom(useComponent("search-query")) ) .subscribe(([key, query]) => {