Просмотр исходного кода

fix: get-pid not works for non-built-in properties in file graphs

Tienson Qin 1 год назад
Родитель
Сommit
54e54ebd63

+ 1 - 1
deps/db/src/logseq/db/frontend/property.cljs

@@ -294,4 +294,4 @@
        (map (fn [[k v]]
               [(:block/original-name (d/entity db k))
                (ref->property-value-contents db v)]))
-       (into {})))
+       (into {})))

+ 1 - 1
deps/db/src/logseq/db/frontend/property/util.cljs

@@ -11,7 +11,7 @@
   [repo db-ident]
   (if (sqlite-util/db-based-graph? repo)
     db-ident
-    (get-in db-property/built-in-properties [db-ident :name])))
+    (get-in db-property/built-in-properties [db-ident :name] (name db-ident))))
 
 (defn built-in-has-ref-value?
   "Given a built-in's db-ident, determine if its property value is a ref"

+ 5 - 0
src/main/frontend/handler/property.cljs

@@ -8,6 +8,7 @@
 
 (defn remove-block-property!
   [repo block-id property-id-or-key]
+  (assert (some? property-id-or-key) "remove-block-property! remove-block-property! is nil")
   (if (config/db-based-graph? repo)
     (let [eid (if (uuid? block-id) [:block/uuid block-id] block-id)]
       (db-property-handler/remove-block-property! eid property-id-or-key))
@@ -15,6 +16,7 @@
 
 (defn set-block-property!
   [repo block-id key v]
+  (assert (some? key) "set-block-property! key is nil")
   (if (config/db-based-graph? repo)
     (let [eid (if (uuid? block-id) [:block/uuid block-id] block-id)]
       (if (or (nil? v) (and (coll? v) (empty? v)))
@@ -25,6 +27,7 @@
 (defn add-page-property!
   "Sanitized page-name, unsanitized key / value"
   [page-entity key value]
+  (assert (some? key) "key is nil")
   (when page-entity
     (let [repo (state/get-current-repo)]
       (if (config/db-based-graph? repo)
@@ -44,12 +47,14 @@
 
 (defn batch-remove-block-property!
   [repo block-ids key]
+  (assert (some? key) "key is nil")
   (if (config/db-based-graph? repo)
     (db-property-handler/batch-remove-property! block-ids key)
     (file-property-handler/batch-remove-block-property! block-ids key)))
 
 (defn batch-set-block-property!
   [repo block-ids key value]
+  (assert (some? key) "key is nil")
   (if (config/db-based-graph? repo)
     (if (nil? value)
       (db-property-handler/batch-remove-property! block-ids key)

+ 1 - 1
src/main/frontend/handler/property/file.cljs

@@ -52,6 +52,6 @@
   (and (seq properties)
        (let [ks (if (config/db-based-graph? (state/get-current-repo))
                   (map #(:block/name (db/entity [:block/uuid %])) (keys properties))
-                  (map (comp keyword string/lower-case name) (keys properties)))
+                  (map (comp keyword string/lower-case name) (remove nil? (keys properties))))
              hidden-properties-set (file-property-handler/hidden-properties)]
          (every? hidden-properties-set ks))))