diff --git a/common/src/app/common/types/modifiers.cljc b/common/src/app/common/types/modifiers.cljc index 5a76d4100..6c3b3acde 100644 --- a/common/src/app/common/types/modifiers.cljc +++ b/common/src/app/common/types/modifiers.cljc @@ -309,12 +309,12 @@ (-> (or modifiers (empty)) (update :structure-child conj (scale-content-op value)))) -(defn change-property +(defn change-recursive-property [modifiers property value] (-> (or modifiers (empty)) (update :structure-child conj (change-property-op property value)))) -(defn change-parent-property +(defn change-property [modifiers property value] (-> (or modifiers (empty)) (update :structure-parent conj (change-property-op property value)))) diff --git a/frontend/src/app/main/data/workspace/transforms.cljs b/frontend/src/app/main/data/workspace/transforms.cljs index 2d07e0766..8c4a297b5 100644 --- a/frontend/src/app/main/data/workspace/transforms.cljs +++ b/frontend/src/app/main/data/workspace/transforms.cljs @@ -184,10 +184,10 @@ (ctm/resize scalev resize-origin shape-transform shape-transform-inverse) (cond-> set-fix-width? - (ctm/change-parent-property :layout-item-h-sizing :fix)) + (ctm/change-property :layout-item-h-sizing :fix)) (cond-> set-fix-height? - (ctm/change-parent-property :layout-item-v-sizing :fix)) + (ctm/change-property :layout-item-v-sizing :fix)) (cond-> scale-text (ctm/scale-content (:x scalev)))) @@ -739,6 +739,13 @@ #{} (into (d/ordered-set) (find-all-empty-parents #{}))) + ;; Not move absolute shapes that won't change parent + moving-shapes + (->> moving-shapes + (remove (fn [shape] + (and (ctl/layout-absolute? shape) + (= frame-id (:parent-id shape)))))) + changes (-> (pcb/empty-changes it page-id) (pcb/with-objects objects)