Browse Source

fix: can't edit page text value properties

Tienson Qin 1 year ago
parent
commit
3efc85ca6c
2 changed files with 12 additions and 3 deletions
  1. 8 3
      src/main/frontend/components/block.cljs
  2. 4 0
      src/main/frontend/state.cljs

+ 8 - 3
src/main/frontend/components/block.cljs

@@ -2120,8 +2120,12 @@
       :else
       nil)))
 
-(rum/defc db-properties-cp
-  [config block edit-input-id opts]
+(rum/defcs db-properties-cp <
+  {:init (fn [state]
+           (let [container-id (or (:container-id (first (:rum/args state)))
+                                  (state/get-next-container-id))]
+             (assoc state ::initial-container-id container-id)))}
+  [state config block edit-input-id opts]
   (property-component/properties-area block
                                       edit-input-id
                                       (merge
@@ -2130,7 +2134,8 @@
                                         :block-cp blocks-container
                                         :properties-cp db-properties-cp
                                         :editor-box (get config :editor-box)
-                                        :container-id (:container-id config)
+                                        :container-id (or (:container-id config)
+                                                          (::initial-container-id state))
                                         :id (:id config)}
                                        opts)))
 

+ 4 - 0
src/main/frontend/state.cljs

@@ -2364,3 +2364,7 @@ Similar to re-frame subscriptions"
 (defn get-current-container-id
   []
   @(:ui/container-id @state))
+
+(defn get-next-container-id
+  []
+  (swap! (:ui/container-id @state) inc))