1
0
Эх сурвалжийг харах

fix: include proprety values when loading page entity

Tienson Qin 5 сар өмнө
parent
commit
e78b1afa76

+ 2 - 3
deps/db/src/logseq/db/common/sqlite.cljs

@@ -159,8 +159,7 @@
       (assoc :db/id (:db/id entity))))
 
 (defn ^:large-vars/cleanup-todo get-block-and-children
-  [db id {:keys [children? children-only? nested-children? including-property-vals? properties children-props]
-          :or {including-property-vals? true}}]
+  [db id {:keys [children? children-only? nested-children? properties children-props]}]
   (let [block (d/entity db (if (uuid? id)
                              [:block/uuid id]
                              id))
@@ -205,7 +204,7 @@
                          (entity->map block))
                 block' (cond->
                         (mark-block-fully-loaded block')
-                         including-property-vals?
+                         true
                          (update-vals (fn [v]
                                         (cond
                                           (de/entity? v)

+ 1 - 2
src/main/frontend/components/block.cljs

@@ -926,8 +926,7 @@
                (reset! *result page)
                :else
                (p/let [result (db-async/<get-block (state/get-current-repo) page-id-or-name {:children? false
-                                                                                             :skip-refresh? true
-                                                                                             :including-property-vals? false})]
+                                                                                             :skip-refresh? true})]
                  (reset! *result result)))
 
              (assoc state :*entity *result)))}

+ 7 - 4
src/main/frontend/components/property/value.cljs

@@ -1091,7 +1091,7 @@
 
        (contains? #{:node :class :property :page} type)
        (when-let [reference (state/get-component :block/reference)]
-         (reference {:table-view? table-view?} (:block/uuid value)))
+         (when value (reference {:table-view? table-view?} (:block/uuid value))))
 
        (and (map? value) (some? (db-property/property-value-content value)))
        (let [content (str (db-property/property-value-content value))]
@@ -1348,11 +1348,14 @@
          self-value-or-embedded? (fn [v]
                                    (or (= (:db/id v) (:db/id block))
                                        ;; property value self embedded
-                                       (= (:db/id (:block/link v)) (:db/id block))))]
-     (if (and (or (and (entity-map? v) (self-value-or-embedded? v))
+                                       (and (:db/id block) (= (:db/id (:block/link v)) (:db/id block)))))]
+     (if (and (or (and (entity-map? v)
+                       (self-value-or-embedded? v))
                   (and (coll? v) (every? entity-map? v)
                        (some self-value-or-embedded? v))
-                  (and (= p-block (:db/id block)) (= p-property (:db/id property))))
+                  (and (:db/id block)
+                       (= p-block (:db/id block))
+                       (= p-property (:db/id property))))
               (not= :logseq.class/Tag (:db/ident block)))
        [:div.flex.flex-row.items-center.gap-1
         [:div.warning "Self reference"]