|
|
@@ -18,45 +18,48 @@
|
|
|
(defn lookup-kv-then-entity
|
|
|
([e k] (lookup-kv-then-entity e k nil))
|
|
|
([^Entity e k default-value]
|
|
|
- (when k
|
|
|
- (case k
|
|
|
- :block/raw-title
|
|
|
- (lookup-entity e :block/title default-value)
|
|
|
-
|
|
|
- :block/properties
|
|
|
- (let [db (.-db e)]
|
|
|
- (if (db-based-graph? db)
|
|
|
- (lookup-entity e :block/properties
|
|
|
- (->> (into {} e)
|
|
|
- (filter (fn [[k _]] (db-property/property? k)))
|
|
|
- (into {})))
|
|
|
- (lookup-entity e :block/properties nil)))
|
|
|
-
|
|
|
- :block/title
|
|
|
- (or
|
|
|
- (get (.-kv e) k)
|
|
|
- (let [result (lookup-entity e k default-value)]
|
|
|
- (or
|
|
|
- (if (string? result)
|
|
|
- (db-content/special-id-ref->page-ref result (:block/refs e))
|
|
|
- result)
|
|
|
- default-value)))
|
|
|
-
|
|
|
- :block/_parent
|
|
|
- (->> (lookup-entity e k default-value)
|
|
|
- (remove (fn [e] (or (:logseq.property/created-from-property e)
|
|
|
- (:block/closed-value-property e))))
|
|
|
- seq)
|
|
|
-
|
|
|
- :block/_raw-parent
|
|
|
- (lookup-entity e :block/_parent default-value)
|
|
|
-
|
|
|
- :property/closed-values
|
|
|
- (->> (lookup-entity e :block/_closed-value-property default-value)
|
|
|
- (sort-by :block/order))
|
|
|
-
|
|
|
- (or (get (.-kv e) k)
|
|
|
- (lookup-entity e k default-value))))))
|
|
|
+ (try
|
|
|
+ (when k
|
|
|
+ (case k
|
|
|
+ :block/raw-title
|
|
|
+ (lookup-entity e :block/title default-value)
|
|
|
+
|
|
|
+ :block/properties
|
|
|
+ (let [db (.-db e)]
|
|
|
+ (if (db-based-graph? db)
|
|
|
+ (lookup-entity e :block/properties
|
|
|
+ (->> (into {} e)
|
|
|
+ (filter (fn [[k _]] (db-property/property? k)))
|
|
|
+ (into {})))
|
|
|
+ (lookup-entity e :block/properties nil)))
|
|
|
+
|
|
|
+ :block/title
|
|
|
+ (or
|
|
|
+ (get (.-kv e) k)
|
|
|
+ (let [result (lookup-entity e k default-value)]
|
|
|
+ (or
|
|
|
+ (if (string? result)
|
|
|
+ (db-content/special-id-ref->page-ref result (:block/refs e))
|
|
|
+ result)
|
|
|
+ default-value)))
|
|
|
+
|
|
|
+ :block/_parent
|
|
|
+ (->> (lookup-entity e k default-value)
|
|
|
+ (remove (fn [e] (or (:logseq.property/created-from-property e)
|
|
|
+ (:block/closed-value-property e))))
|
|
|
+ seq)
|
|
|
+
|
|
|
+ :block/_raw-parent
|
|
|
+ (lookup-entity e :block/_parent default-value)
|
|
|
+
|
|
|
+ :property/closed-values
|
|
|
+ (->> (lookup-entity e :block/_closed-value-property default-value)
|
|
|
+ (sort-by :block/order))
|
|
|
+
|
|
|
+ (or (get (.-kv e) k)
|
|
|
+ (lookup-entity e k default-value))))
|
|
|
+ (catch :default e
|
|
|
+ (js/console.error e)))))
|
|
|
|
|
|
(defn- cache-with-kv
|
|
|
[^js this]
|