Browse Source

fix: :number values in property can't be deleted in table view

fixed https://github.com/logseq/db-test/issues/382
Tienson Qin 3 months ago
parent
commit
45709f9435
1 changed files with 11 additions and 9 deletions
  1. 11 9
      src/main/frontend/components/property/value.cljs

+ 11 - 9
src/main/frontend/components/property/value.cljs

@@ -1236,12 +1236,16 @@
         set-property-value! (fn [value & {:keys [exit-editing?]
                                           :or {exit-editing? true}}]
                               (p/do!
-                               (when (and (not (string/blank? value))
-                                          (not= (string/trim (str number-value))
-                                                (string/trim (str value))))
-                                 (db-property-handler/set-block-property! (:db/id block)
-                                                                          (:db/ident property)
-                                                                          value))
+                               (if (string/blank? value)
+                                 (db-property-handler/remove-block-property! (:db/id block) (:db/ident property))
+                                 (when (not= (string/trim (str number-value))
+                                             (string/trim (str value)))
+                                   (db-property-handler/set-block-property! (:db/id block)
+                                                                            (:db/ident property)
+                                                                            value)))
+
+                               (set-value! (str (db-property/property-value-content
+                                                 (get (db/entity (:db/id block)) (:db/ident property)))))
 
                                (when exit-editing?
                                  (set-editing! false))))]
@@ -1266,9 +1270,7 @@
                       (reset! *value (util/evalue e)))
          :on-blur (fn [_e]
                     (p/do!
-                     (set-property-value! value)
-                     (when (not= value (db-property/property-value-content (db/entity (:db/id value-block))))
-                       (set-value! (db-property/property-value-content value-block)))))
+                     (set-property-value! value)))
          :on-key-down (fn [e]
                         (let [input (rum/deref *input-ref)
                               pos (cursor/pos input)