diff --git a/deps/outliner/src/logseq/outliner/property.cljs b/deps/outliner/src/logseq/outliner/property.cljs index dbb4978f1..8ca61b005 100644 --- a/deps/outliner/src/logseq/outliner/property.cljs +++ b/deps/outliner/src/logseq/outliner/property.cljs @@ -335,13 +335,16 @@ {:outliner-op :save-block}))))))) (defn ^:api get-class-parents - [tags] - (let [tags' (filter ldb/class? tags)] - (set (mapcat ldb/get-class-parents tags')))) + [db tags] + (let [tags' (filter ldb/class? tags) + result (map + (fn [id] (d/entity db id)) + (set (mapcat ldb/get-class-parents tags')))] + (set result))) (defn ^:api get-class-properties - [class] - (let [class-parents (get-class-parents [class])] + [db class] + (let [class-parents (get-class-parents db [class])] (->> (mapcat (fn [class] (:class/schema.properties class)) (concat [class] class-parents)) (common-util/distinct-by :db/id) @@ -353,7 +356,7 @@ classes (->> (:block/tags block) (sort-by :block/name) (filter ldb/class?)) - class-parents (get-class-parents classes) + class-parents (get-class-parents db classes) all-classes (->> (concat classes class-parents) (filter (fn [class] (seq (:class/schema.properties class))))) diff --git a/src/main/frontend/components/objects.cljs b/src/main/frontend/components/objects.cljs index 080349ba8..e35caf501 100644 --- a/src/main/frontend/components/objects.cljs +++ b/src/main/frontend/components/objects.cljs @@ -103,7 +103,7 @@ (when class (let [class (db/sub-block (:db/id class)) config {:container-id (:container-id state)} - properties (cond->> (outliner-property/get-class-properties class) + properties (cond->> (outliner-property/get-class-properties (db/get-db) class) (= :logseq.class/Root (:db/ident class)) (concat [(db/entity :block/tags)])) repo (state/get-current-repo) diff --git a/src/main/frontend/components/property.cljs b/src/main/frontend/components/property.cljs index df5001a0a..47f2160c5 100644 --- a/src/main/frontend/components/property.cljs +++ b/src/main/frontend/components/property.cljs @@ -792,7 +792,8 @@ (defn- async-load-classes! [block] (let [repo (state/get-current-repo) - classes (concat (:block/tags block) (outliner-property/get-class-parents (:block/tags block)))] + db (db/get-db repo) + classes (concat (:block/tags block) (outliner-property/get-class-parents db (:block/tags block)))] (doseq [class classes] (db-async/