diff --git a/deps/outliner/src/logseq/outliner/property.cljs b/deps/outliner/src/logseq/outliner/property.cljs index d1d49ca01a..596d741a60 100644 --- a/deps/outliner/src/logseq/outliner/property.cljs +++ b/deps/outliner/src/logseq/outliner/property.cljs @@ -121,10 +121,11 @@ (conj (outliner-core/block-with-updated-at (merge {:db/ident db-ident} changed-property-attrs))) - (or (not= (:logseq.property/type schema) (:logseq.property/type property)) - (and (:db/cardinality schema) (not= (:db/cardinality schema) (keyword (name (:db/cardinality property))))) - (and (= :default (:logseq.property/type schema)) (not= :db.type/ref (:db/valueType property))) - (seq (:property/closed-values property))) + (and (seq schema) + (or (not= (:logseq.property/type schema) (:logseq.property/type property)) + (and (:db/cardinality schema) (not= (:db/cardinality schema) (keyword (name (:db/cardinality property))))) + (and (= :default (:logseq.property/type schema)) (not= :db.type/ref (:db/valueType property))) + (seq (:property/closed-values property)))) (concat (update-datascript-schema property schema))) tx-data (concat property-tx-data (when (seq properties) diff --git a/src/main/frontend/components/property/config.cljs b/src/main/frontend/components/property/config.cljs index e6b11c73b0..65e1b250c7 100644 --- a/src/main/frontend/components/property/config.cljs +++ b/src/main/frontend/components/property/config.cljs @@ -188,9 +188,11 @@ :variant (if dirty? :default :secondary) :on-click (fn [] (set-saving! true) - (-> [(db-property-handler/set-block-property! - (:db/id property) - :logseq.property/icon (:icon form-data)) + (-> [(db-property-handler/upsert-property! + (:db/ident property) + {} + {:property-name title + :properties {:logseq.property/icon (:icon form-data)}}) (when (not= description (:description (rum/deref *form-data))) (set-property-description! property description))] (p/all)