From 637f0934f97419b17424d5fe5a11b0a018371624 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Andr=C3=A9s=20Moya?= Date: Tue, 31 Mar 2020 15:25:29 +0200 Subject: [PATCH] :tada: Auto select pasted objects --- frontend/src/uxbox/main/data/workspace.cljs | 12 +++++++++++- 1 file changed, 11 insertions(+), 1 deletion(-) diff --git a/frontend/src/uxbox/main/data/workspace.cljs b/frontend/src/uxbox/main/data/workspace.cljs index 7a4124330..9d0289cba 100644 --- a/frontend/src/uxbox/main/data/workspace.cljs +++ b/frontend/src/uxbox/main/data/workspace.cljs @@ -2056,6 +2056,8 @@ (rx/ignore))))))) +(declare select-pasted-objs) + (defn- paste-impl [{:keys [selected objects] :as data}] (letfn [(prepare-changes [state delta] @@ -2129,7 +2131,8 @@ rchanges)] (rx/of (commit-changes (vec rchanges) (vec (reverse uchanges)) - {:commit-local? true}))))))) + {:commit-local? true}) + (select-pasted-objs rchanges))))))) (def paste (ptk/reify ::paste @@ -2144,6 +2147,13 @@ (js/console.error "Clipboard blocked:" err) (rx/empty))))))) +(defn select-pasted-objs + [rchanges] + (ptk/reify ::select-pasted-objs + ptk/UpdateEvent + (update [_ state] + (assoc-in state [:workspace-local :selected] + (map #(get-in % [:obj :id]) rchanges))))) ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ;; Page Changes Reactions