From 9ee5a3159c1381312ef6daf0b01681f35d9fead3 Mon Sep 17 00:00:00 2001 From: Andrey Antukh Date: Thu, 9 Dec 2021 16:51:14 +0100 Subject: [PATCH] :lipstick: Add cosmetic changes on ungroup event. --- .../src/app/main/data/workspace/groups.cljs | 28 +++++++++++-------- 1 file changed, 17 insertions(+), 11 deletions(-) diff --git a/frontend/src/app/main/data/workspace/groups.cljs b/frontend/src/app/main/data/workspace/groups.cljs index c5f527359..a6e48c9b2 100644 --- a/frontend/src/app/main/data/workspace/groups.cljs +++ b/frontend/src/app/main/data/workspace/groups.cljs @@ -219,18 +219,24 @@ (ptk/reify ::ungroup-selected ptk/WatchEvent (watch [it state _] - (let [page-id (:current-page-id state) - objects (wsh/lookup-page-objects state page-id) - changes-in-bulk (->> (wsh/lookup-selected state) - (map #(get objects %)) - (filter #(or (= :bool (:type %)) (= :group (:type %)))) - (map #(prepare-remove-group page-id % objects))) - rchanges-in-bulk (into [] (mapcat first) changes-in-bulk) - uchanges-in-bulk (into [] (mapcat second) changes-in-bulk)] - (rx/of (dch/commit-changes {:redo-changes rchanges-in-bulk - :undo-changes uchanges-in-bulk - :origin it})))))) + (let [page-id (:current-page-id state) + objects (wsh/lookup-page-objects state page-id) + is-group? #(or (= :bool (:type %)) (= :group (:type %))) + lookup #(get objects %) + prepare #(prepare-remove-group page-id % objects) + changes (sequence + (comp (map lookup) + (filter is-group?) + (map prepare)) + (wsh/lookup-selected state)) + + rchanges (into [] (mapcat first) changes) + uchanges (into [] (mapcat second) changes)] + + (rx/of (dch/commit-changes {:redo-changes rchanges + :undo-changes uchanges + :origin it})))))) (def mask-group (ptk/reify ::mask-group ptk/WatchEvent