fix: class properties

pull/11468/head
Tienson Qin 2024-08-12 11:11:40 +08:00
parent 1190f55199
commit bcf2fb9977
3 changed files with 12 additions and 8 deletions

View File

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

View File

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

View File

@ -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/<get-block repo (:db/id class) :children? false))
classes))