From affbc6fb7e8acc11df83a8e1d511f48790d8b49e Mon Sep 17 00:00:00 2001 From: charlie Date: Fri, 13 Sep 2024 20:18:04 +0800 Subject: [PATCH] fix(ux): boring hidden bug about the global `Enter` event --- src/main/frontend/handler/search.cljs | 8 +++++--- src/main/frontend/modules/shortcut/before.cljs | 8 ++++---- 2 files changed, 9 insertions(+), 7 deletions(-) diff --git a/src/main/frontend/handler/search.cljs b/src/main/frontend/handler/search.cljs index 39a6ecb7e..c9d0eeb63 100644 --- a/src/main/frontend/handler/search.cljs +++ b/src/main/frontend/handler/search.cljs @@ -83,10 +83,12 @@ (defn loop-find-in-page! [backward?] - (when (and (get-in @state/state [:ui/find-in-page :active?]) + (if (and (get-in @state/state [:ui/find-in-page :active?]) (not (state/editing?))) - (state/set-state! [:ui/find-in-page :backward?] backward?) - (debounced-search))) + (do (state/set-state! [:ui/find-in-page :backward?] backward?) + (debounced-search)) + ;; return false to skip prevent default event behavior (Enter key) + false)) (defn electron-exit-find-in-page! [& {:keys [clear-state?] diff --git a/src/main/frontend/modules/shortcut/before.cljs b/src/main/frontend/modules/shortcut/before.cljs index 138c078ed..bde0c8b12 100644 --- a/src/main/frontend/modules/shortcut/before.cljs +++ b/src/main/frontend/modules/shortcut/before.cljs @@ -7,10 +7,10 @@ (defn prevent-default-behavior [f] (fn [e] - (f e) - ;; return false to prevent default browser behavior - ;; and stop event from bubbling - (.preventDefault e) + (when-not (false? (f e)) + ;; return false to skip prevent default browser behavior + ;; and stop event from bubbling + (.preventDefault e)) false)) (defn enable-when-not-editing-mode!