diff --git a/common/src/app/common/geom/shapes/grid_layout/layout_data.cljc b/common/src/app/common/geom/shapes/grid_layout/layout_data.cljc index a5338211a..a1fc3072e 100644 --- a/common/src/app/common/geom/shapes/grid_layout/layout_data.cljc +++ b/common/src/app/common/geom/shapes/grid_layout/layout_data.cljc @@ -329,6 +329,7 @@ (->> (:shapes cell) (map #(vector % cell))))) (:layout-grid-cells parent)) + children (->> children (remove #(ctl/layout-absolute? (second %)))) children-map (into {} (map #(vector (:id (second %)) %)) diff --git a/common/src/app/common/geom/shapes/grid_layout/positions.cljc b/common/src/app/common/geom/shapes/grid_layout/positions.cljc index 58362a6b5..5e7c3454c 100644 --- a/common/src/app/common/geom/shapes/grid_layout/positions.cljc +++ b/common/src/app/common/geom/shapes/grid_layout/positions.cljc @@ -154,9 +154,10 @@ (gpt/add (gpt/to-vec from-h to-h)) (gpt/add (gpt/to-vec from-v to-v)))] - (-> (ctm/empty) - (ctm/add-modifiers fill-modifiers) - (ctm/move position-delta)))) + (cond-> (ctm/empty) + (not (ctl/layout-absolute? child)) + (-> (ctm/add-modifiers fill-modifiers) + (ctm/move position-delta))))) (defn line-value diff --git a/common/src/app/common/geom/shapes/modifiers.cljc b/common/src/app/common/geom/shapes/modifiers.cljc index 9d3df9ed4..4bf1974e5 100644 --- a/common/src/app/common/geom/shapes/modifiers.cljc +++ b/common/src/app/common/geom/shapes/modifiers.cljc @@ -300,13 +300,13 @@ transformed-parent-bounds (delay (gtr/transform-bounds @(get bounds parent-id) modifiers)) children-modifiers - (if flex-layout? + (if (or flex-layout? grid-layout?) (->> (:shapes parent) (filter #(ctl/layout-absolute? objects %))) (:shapes parent)) children-layout - (when flex-layout? + (when (or flex-layout? grid-layout?) (->> (:shapes parent) (remove #(ctl/layout-absolute? objects %))))] diff --git a/frontend/src/app/main/data/workspace/modifiers.cljs b/frontend/src/app/main/data/workspace/modifiers.cljs index bf9d8c728..4428173b2 100644 --- a/frontend/src/app/main/data/workspace/modifiers.cljs +++ b/frontend/src/app/main/data/workspace/modifiers.cljs @@ -184,6 +184,7 @@ (update :shapes #(d/removev selected %)) (ctl/assign-cells)) + selected (->> selected (remove #(ctl/layout-absolute? objects %))) frame (-> frame (update :shapes d/concat-vec selected) (cond-> (some? cell)