Browse Source

fix: add pair with existing property

Tienson Qin 1 year ago
parent
commit
7fb5fb7511

+ 10 - 2
src/main/frontend/components/property.cljs

@@ -392,10 +392,18 @@
   (let [repo (state/get-current-repo)]
   (let [repo (state/get-current-repo)]
     ;; existing property selected or entered
     ;; existing property selected or entered
     (if-let [property (db/entity [:block/original-name property-name])]
     (if-let [property (db/entity [:block/original-name property-name])]
-      (if (and (not (get-in property [:block/schema :public?]))
-               (ldb/built-in? property))
+      (cond
+        (and (not (get-in property [:block/schema :public?]))
+             (ldb/built-in? property))
         (do (notification/show! "This is a private built-in property that can't be used." :error)
         (do (notification/show! "This is a private built-in property that can't be used." :error)
             (pv/exit-edit-property))
             (pv/exit-edit-property))
+
+        (= :default (get-in property [:block/schema :type]))
+        (do
+          (pv/<create-new-block! entity property "")
+          nil)
+
+        :else
         ;; Both conditions necessary so that a class can add its own page properties
         ;; Both conditions necessary so that a class can add its own page properties
         (when (and (contains? (:block/type entity) "class") class-schema?)
         (when (and (contains? (:block/type entity) "class") class-schema?)
           (pv/<add-property! entity property-name "" {:class-schema? class-schema?
           (pv/<add-property! entity property-name "" {:class-schema? class-schema?

+ 2 - 0
src/main/frontend/components/property.css

@@ -56,6 +56,8 @@
     .property-pair {
     .property-pair {
         @apply grid grid-cols-5 gap-1;
         @apply grid grid-cols-5 gap-1;
 
 
+        min-height: 30px;
+
         .jtrigger {
         .jtrigger {
             @apply relative;
             @apply relative;