瀏覽代碼

fix: edit for :url and :number property vals

Also for :default :many
Gabriel Horner 1 年之前
父節點
當前提交
4b944bbb03
共有 1 個文件被更改,包括 22 次插入11 次删除
  1. 22 11
      src/main/frontend/components/property/value.cljs

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

@@ -64,19 +64,30 @@
 (defn <create-new-block!
   [block property value & {:keys [edit-block?]
                            :or {edit-block? true}}]
-  (p/let [existing-value (get block (:db/ident property))
-          new-block-id (when-not existing-value (db/new-block-id))
-          _ (when-not existing-value
-              (db-property-handler/create-property-text-block!
-               (:db/id block)
-               (:db/id property)
-               value
-               {:new-block-id new-block-id}))]
+  (p/let [block
+          (if (and (= :default (get-in property [:block/schema :type]))
+                   (not (db-property/many? property)))
+            (p/let [existing-value (get block (:db/ident property))
+                    new-block-id (when-not existing-value (db/new-block-id))
+                    _ (when-not existing-value
+                        (db-property-handler/create-property-text-block!
+                         (:db/id block)
+                         (:db/id property)
+                         value
+                         {:new-block-id new-block-id}))]
+              (or existing-value (db/entity [:block/uuid new-block-id])))
+            (p/let [new-block-id (db/new-block-id)
+                    _ (db-property-handler/create-property-text-block!
+                       (:db/id block)
+                       (:db/id property)
+                       value
+                       {:new-block-id new-block-id})]
+              (db/entity [:block/uuid new-block-id])))]
     (p/do!
-     (let [block (or existing-value (db/entity [:block/uuid new-block-id]))]
-       (when edit-block?
-         (editor-handler/edit-block! block :max {:container-id :unknown-container})))
+     (when edit-block?
+       (editor-handler/edit-block! block :max {:container-id :unknown-container}))
      (shui/dialog-close!))))
+    
 
 (defn <add-property!
   "If a class and in a class schema context, add the property to its schema.