From c17f9da243fcc4070188163685f865fcbe601c1e Mon Sep 17 00:00:00 2001 From: Andrey Antukh Date: Sun, 28 Aug 2016 10:13:44 +0300 Subject: [PATCH] Deactivate path edition mode on mouse down out of area. --- src/uxbox/main/data/shapes.cljs | 1 - src/uxbox/main/ui/workspace/canvas.cljs | 9 ++++++++- src/uxbox/main/ui/workspace/selrect.cljs | 11 ++++++----- 3 files changed, 14 insertions(+), 7 deletions(-) diff --git a/src/uxbox/main/data/shapes.cljs b/src/uxbox/main/data/shapes.cljs index 168b07c6a..0a6d4e6b6 100644 --- a/src/uxbox/main/data/shapes.cljs +++ b/src/uxbox/main/data/shapes.cljs @@ -434,7 +434,6 @@ (defn start-edition-mode [id] {:pre [(uuid? id)]} - (println "start-edition-mode" id) (StartEditionMode. id)) ;; --- Events (implicit) (for selected) diff --git a/src/uxbox/main/ui/workspace/canvas.cljs b/src/uxbox/main/ui/workspace/canvas.cljs index 082500315..795bab7b4 100644 --- a/src/uxbox/main/ui/workspace/canvas.cljs +++ b/src/uxbox/main/ui/workspace/canvas.cljs @@ -138,7 +138,14 @@ zoom (or (:zoom workspace) 1)] (letfn [(on-mouse-down [event] (dom/stop-propagation event) - (rx/push! wb/events-b [:mouse/down]) + + (when (seq (:selected workspace)) + (rs/emit! (uds/deselect-all))) + + (let [opts {:shift? (kbd/shift? event) + :ctrl? (kbd/ctrl? event)}] + (rx/push! wb/events-b [:mouse/down opts])) + (if (:drawing workspace) (rlocks/acquire! :ui/draw) (rlocks/acquire! :ui/selrect))) diff --git a/src/uxbox/main/ui/workspace/selrect.cljs b/src/uxbox/main/ui/workspace/selrect.cljs index dfb8092af..86b2bb52e 100644 --- a/src/uxbox/main/ui/workspace/selrect.cljs +++ b/src/uxbox/main/ui/workspace/selrect.cljs @@ -92,11 +92,12 @@ "Function executed when the selection rect interaction is terminated." [] - (rs/emit! (-> (selrect->rect @position) - (translate-to-canvas) - (uds/select-shapes))) - (rlocks/release! :ui/selrect) - (reset! position nil)) + (let [rect (-> (selrect->rect @position) + (translate-to-canvas))] + (rs/emit! (uds/deselect-all) + (uds/select-shapes rect)) + (rlocks/release! :ui/selrect) + (reset! position nil))) (defn- on-start "Function execution when selrect action is started."