diff --git a/frontend/src/app/main/ui/components/search_bar.cljs b/frontend/src/app/main/ui/components/search_bar.cljs index bd75464433..bfd50df0ff 100644 --- a/frontend/src/app/main/ui/components/search_bar.cljs +++ b/frontend/src/app/main/ui/components/search_bar.cljs @@ -13,7 +13,7 @@ [rumext.v2 :as mf])) (mf/defc search-bar* - [{:keys [id class value placeholder icon-id auto-focus on-change on-clear children]}] + [{:keys [id class value placeholder icon-id auto-focus on-change on-clear on-submit children]}] (let [handle-change (mf/use-fn (mf/deps on-change) @@ -31,12 +31,19 @@ handle-key-down (mf/use-fn + (mf/deps on-submit) (fn [event] (let [enter? (kbd/enter? event) esc? (kbd/esc? event) node (dom/get-target event)] - (when ^boolean enter? (dom/blur! node)) + (when ^boolean enter? + (dom/blur! node) + (when (fn? on-submit) + (let [value (dom/get-target-val event)] + (on-submit value event)))) + (when ^boolean esc? (dom/blur! node)))))] + [:span {:class (stl/css-case :search-box true :has-children (some? children))} children diff --git a/frontend/src/app/main/ui/workspace/plugins.cljs b/frontend/src/app/main/ui/workspace/plugins.cljs index 2e3dc355ec..af01a098ce 100644 --- a/frontend/src/app/main/ui/workspace/plugins.cljs +++ b/frontend/src/app/main/ui/workspace/plugins.cljs @@ -191,6 +191,7 @@ [:div {:class (stl/css :modal-content)} [:div {:class (stl/css :top-bar)} [:> search-bar* {:on-change on-url-change + :on-submit on-install :value plugin-url :placeholder (tr "workspace.plugins.search-placeholder") :class (stl/css-case :input-error error?)}]