mirror of https://github.com/logseq/logseq
fix: class properties
parent
1190f55199
commit
bcf2fb9977
|
@ -335,13 +335,16 @@
|
||||||
{:outliner-op :save-block})))))))
|
{:outliner-op :save-block})))))))
|
||||||
|
|
||||||
(defn ^:api get-class-parents
|
(defn ^:api get-class-parents
|
||||||
[tags]
|
[db tags]
|
||||||
(let [tags' (filter ldb/class? tags)]
|
(let [tags' (filter ldb/class? tags)
|
||||||
(set (mapcat ldb/get-class-parents tags'))))
|
result (map
|
||||||
|
(fn [id] (d/entity db id))
|
||||||
|
(set (mapcat ldb/get-class-parents tags')))]
|
||||||
|
(set result)))
|
||||||
|
|
||||||
(defn ^:api get-class-properties
|
(defn ^:api get-class-properties
|
||||||
[class]
|
[db class]
|
||||||
(let [class-parents (get-class-parents [class])]
|
(let [class-parents (get-class-parents db [class])]
|
||||||
(->> (mapcat (fn [class]
|
(->> (mapcat (fn [class]
|
||||||
(:class/schema.properties class)) (concat [class] class-parents))
|
(:class/schema.properties class)) (concat [class] class-parents))
|
||||||
(common-util/distinct-by :db/id)
|
(common-util/distinct-by :db/id)
|
||||||
|
@ -353,7 +356,7 @@
|
||||||
classes (->> (:block/tags block)
|
classes (->> (:block/tags block)
|
||||||
(sort-by :block/name)
|
(sort-by :block/name)
|
||||||
(filter ldb/class?))
|
(filter ldb/class?))
|
||||||
class-parents (get-class-parents classes)
|
class-parents (get-class-parents db classes)
|
||||||
all-classes (->> (concat classes class-parents)
|
all-classes (->> (concat classes class-parents)
|
||||||
(filter (fn [class]
|
(filter (fn [class]
|
||||||
(seq (:class/schema.properties class)))))
|
(seq (:class/schema.properties class)))))
|
||||||
|
|
|
@ -103,7 +103,7 @@
|
||||||
(when class
|
(when class
|
||||||
(let [class (db/sub-block (:db/id class))
|
(let [class (db/sub-block (:db/id class))
|
||||||
config {:container-id (:container-id state)}
|
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))
|
(= :logseq.class/Root (:db/ident class))
|
||||||
(concat [(db/entity :block/tags)]))
|
(concat [(db/entity :block/tags)]))
|
||||||
repo (state/get-current-repo)
|
repo (state/get-current-repo)
|
||||||
|
|
|
@ -792,7 +792,8 @@
|
||||||
(defn- async-load-classes!
|
(defn- async-load-classes!
|
||||||
[block]
|
[block]
|
||||||
(let [repo (state/get-current-repo)
|
(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]
|
(doseq [class classes]
|
||||||
(db-async/<get-block repo (:db/id class) :children? false))
|
(db-async/<get-block repo (:db/id class) :children? false))
|
||||||
classes))
|
classes))
|
||||||
|
|
Loading…
Reference in New Issue