fix: load blocks to memory db when node reference or embed

This commit is contained in:
Tienson Qin
2025-03-05 02:25:53 +08:00
parent 55622659e1
commit 4e2cecec5f
2 changed files with 14 additions and 8 deletions

View File

@@ -409,8 +409,9 @@
(defmethod handle-action :open-page [_ state _event]
(when-let [page-name (get-highlighted-page-uuid-or-name state)]
(let [page (db/get-page page-name)]
(route-handler/redirect-to-page! (:block/uuid page)))
(let [page-uuid (get (db/get-page page-name) :block/uuid
(when (uuid? page-name) page-name))]
(route-handler/redirect-to-page! page-uuid))
(shui/dialog-close! :ls-dialog-cmdk)))
(defmethod handle-action :open-block [_ state _event]

View File

@@ -1738,12 +1738,17 @@
(p/let [block (state/get-edit-block)
nodes (search/block-search (state/get-current-repo) q {:built-in? false
:enable-snippet? false})
matched (keep (fn [b]
(when-let [id (:block/uuid b)]
(when-not (= id (:block/uuid block)) ; avoid block self-reference
(assoc (db/entity [:block/uuid id])
:block/title (:block/title b)))))
nodes)]
matched (p/all
(keep (fn [b]
(when-let [id (:block/uuid b)]
(when-not (= id (:block/uuid block)) ; avoid block self-reference
(p/let [e (db/entity [:block/uuid id])
e' (or e
(p/let [result (db-async/<get-block (state/get-current-repo) id {:children? false})]
(:block result)))]
(when e'
(assoc e' :block/title (:block/title b)))))))
nodes))]
(-> (concat matched
(when nlp-pages?
(map (fn [title] {:block/title title :nlp-date? true})