diff --git a/CHANGES.md b/CHANGES.md index 81657efec..8e2807b77 100644 --- a/CHANGES.md +++ b/CHANGES.md @@ -10,7 +10,8 @@ - Fix problem editing rotated texts [Taiga #4026](https://tree.taiga.io/project/penpot/issue/4026) - Fix problem with texts for non existing fonts [Taiga #4087](https://tree.taiga.io/project/penpot/issue/4087) - Fix undo after moving layers will wrongly order the layers [Taiga #3344](https://tree.taiga.io/project/penpot/issue/3344) -- Fix Grouping typographies by drag & drop does not work (again) [#2203](https://github.com/penpot/penpot/issues/2203) +- Fix grouping typographies by drag & drop does not work (again) [#2203](https://github.com/penpot/penpot/issues/2203) +- Fix when ungrouping, the items previously grouped should ALWAYS remain selected [Taiga #4064](https://tree.taiga.io/project/penpot/issue/4064) ## 1.15.2-beta diff --git a/frontend/src/app/main/data/workspace/groups.cljs b/frontend/src/app/main/data/workspace/groups.cljs index 2b315fc5e..e2609fcba 100644 --- a/frontend/src/app/main/data/workspace/groups.cljs +++ b/frontend/src/app/main/data/workspace/groups.cljs @@ -154,18 +154,24 @@ is-group? #(or (= :bool (:type %)) (= :group (:type %))) lookup #(get objects %) prepare #(prepare-remove-group it page-id % objects) + selected (wsh/lookup-selected state) + children (into (d/ordered-set) + (mapcat #(->> % + lookup + :shapes) selected)) changes-list (sequence - (comp (map lookup) - (filter is-group?) - (map prepare)) - (wsh/lookup-selected state)) + (comp (map lookup) + (filter is-group?) + (map prepare)) + selected) changes {:redo-changes (vec (mapcat :redo-changes changes-list)) :undo-changes (vec (mapcat :undo-changes changes-list)) :origin it}] - (rx/of (dch/commit-changes changes)))))) + (rx/of (dch/commit-changes changes) + (dws/select-shapes children)))))) (def mask-group (ptk/reify ::mask-group