fix: filter out blank blocks during search

This commit is contained in:
Tienson Qin
2022-07-04 23:22:36 +08:00
parent 6d0be829a1
commit 18c378f1b9

View File

@@ -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]