Просмотр исходного кода

fix: persist enum uuids for built-in props

This is a workaround until a better solution comes
as part of LOG-2871
Gabriel Horner 2 лет назад
Родитель
Сommit
2859d20146
1 измененных файлов с 6 добавлено и 1 удалено
  1. 6 1
      src/main/frontend/db/restore.cljs

+ 6 - 1
src/main/frontend/db/restore.cljs

@@ -76,7 +76,12 @@
                               {:schema (:block/schema property)
                                :original-name (:block/original-name property)})
                    (if property
-                     {:block/schema schema
+                     {:block/schema (if (= :enum (:type schema))
+                                      ;; Need to preserve existing uuids to avoid invalidating existing choices
+                                      (-> schema
+                                          (dissoc :position)
+                                          (assoc-in [:enum-config :values] (get-in property [:block/schema :enum-config :values])))
+                                      schema)
                       :block/original-name (or original-name k-name)
                       :block/name (util/page-name-sanity-lc k-name)
                       :block/uuid (:block/uuid property)