From 18c378f1b98a6207e8564bc38633672c4e85c619 Mon Sep 17 00:00:00 2001 From: Tienson Qin Date: Mon, 4 Jul 2022 23:22:36 +0800 Subject: [PATCH] fix: filter out blank blocks during search --- src/main/frontend/components/editor.cljs | 33 ++++++++++++------------ 1 file changed, 17 insertions(+), 16 deletions(-) diff --git a/src/main/frontend/components/editor.cljs b/src/main/frontend/components/editor.cljs index e700146283..44ff312fd8 100644 --- a/src/main/frontend/components/editor.cljs +++ b/src/main/frontend/components/editor.cljs @@ -165,24 +165,25 @@ (reset! result matched-blocks))) state)} [state _edit-block input id q format] - (let [result (rum/react (get state ::result)) + (let [result (->> (rum/react (get state ::result)) + (remove (fn [b] (string/blank? (:block/content (db-model/query-block-by-uuid (:block/uuid b))))))) chosen-handler (editor-handler/block-on-chosen-handler input id q format) non-exist-block-handler (editor-handler/block-non-exist-handler input)] - (when result - (ui/auto-complete - result - {:on-chosen chosen-handler - :on-enter non-exist-block-handler - :empty-placeholder [:div.text-gray-500.pl-4.pr-4 "Search for a block"] - :item-render (fn [{:block/keys [page uuid]}] ;; content returned from search engine is normalized - (let [page (or (:block/original-name page) - (:block/name page)) - repo (state/sub :git/current-repo) - format (db/get-page-format page) - block (db-model/query-block-by-uuid uuid) - content (:block/content block)] - [:.py-2 (search/block-search-result-item repo uuid format content q :block)])) - :class "black"})))) + (ui/auto-complete + result + {:on-chosen chosen-handler + :on-enter non-exist-block-handler + :empty-placeholder [:div.text-gray-500.pl-4.pr-4 "Search for a block"] + :item-render (fn [{:block/keys [page uuid]}] ;; content returned from search engine is normalized + (let [page (or (:block/original-name page) + (:block/name page)) + repo (state/sub :git/current-repo) + format (db/get-page-format page) + block (db-model/query-block-by-uuid uuid) + content (:block/content block)] + (when-not (string/blank? content) + [:.py-2 (search/block-search-result-item repo uuid format content q :block)]))) + :class "black"}))) (rum/defcs block-search < rum/reactive {:will-unmount (fn [state]