From 0b38900d7067cb61a19496e279c991e572221392 Mon Sep 17 00:00:00 2001 From: Tienson Qin Date: Fri, 21 Jun 2024 11:31:52 +0800 Subject: [PATCH] fix: blocks->vec-tree --- deps/outliner/src/logseq/outliner/tree.cljs | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/deps/outliner/src/logseq/outliner/tree.cljs b/deps/outliner/src/logseq/outliner/tree.cljs index c5eca5555..9c1417559 100644 --- a/deps/outliner/src/logseq/outliner/tree.cljs +++ b/deps/outliner/src/logseq/outliner/tree.cljs @@ -2,7 +2,8 @@ "Provides tree fns and INode protocol" (:require [logseq.db :as ldb] [logseq.db.frontend.property.util :as db-property-util] - [datascript.core :as d])) + [datascript.core :as d] + [datascript.impl.entity :as de])) (defprotocol INode (-save [this txs-state conn repo date-formatter opts]) @@ -50,7 +51,10 @@ (defn blocks->vec-tree "`blocks` need to be in the same page." [repo db blocks root-id] - (let [[page? root] (get-root-and-page db root-id)] + (let [blocks (map (fn [b] (if (de/entity? b) + (assoc (into {} b) :db/id (:db/id b)) + b)) blocks) + [page? root] (get-root-and-page db root-id)] (if-not root ; custom query blocks (let [result (blocks->vec-tree-aux repo db blocks root)]