From b5ba75097f99adcd157b2d6c2893959bfd65f8ea Mon Sep 17 00:00:00 2001 From: Andrey Antukh Date: Mon, 4 Apr 2016 20:34:09 +0300 Subject: [PATCH] Performane improvements over previous commit. --- src/uxbox/ui/shapes/circle.cljs | 3 +-- src/uxbox/ui/shapes/icon.cljs | 14 ++++++-------- src/uxbox/ui/shapes/text.cljs | 18 +++++++----------- 3 files changed, 14 insertions(+), 21 deletions(-) diff --git a/src/uxbox/ui/shapes/circle.cljs b/src/uxbox/ui/shapes/circle.cljs index 772e270e7f..ba34d7e1d0 100644 --- a/src/uxbox/ui/shapes/circle.cljs +++ b/src/uxbox/ui/shapes/circle.cljs @@ -25,8 +25,7 @@ (let [{:keys [id x y width height group]} shape selected (rum/react uusc/selected-shapes-l) selected? (contains? selected id) - drawing? (rum/react uusc/drawing-state-l) - on-mouse-down #(uusi/on-mouse-down % shape selected drawing?) + on-mouse-down #(uusi/on-mouse-down % shape selected) on-mouse-up #(uusi/on-mouse-up % shape)] (html [:g.shape {:class (when selected? "selected") diff --git a/src/uxbox/ui/shapes/icon.cljs b/src/uxbox/ui/shapes/icon.cljs index f419edb92e..48d97aadc3 100644 --- a/src/uxbox/ui/shapes/icon.cljs +++ b/src/uxbox/ui/shapes/icon.cljs @@ -16,14 +16,13 @@ ;; --- Icon Component (defn on-mouse-down - [event {:keys [id group] :as shape} selected drawing?] - (let [selected? (contains? selected id)] + [event {:keys [id group] :as shape} selected] + (let [selected? (contains? selected id) + drawing? @uusc/drawing-state-l] (when-not (:blocked shape) (cond - drawing? - nil - - (and group (:locked (ush/resolve-parent shape))) + (or drawing? + (and group (:locked (ush/resolve-parent shape)))) nil (and (not selected?) (empty? selected)) @@ -62,9 +61,8 @@ [own shape] (let [{:keys [id x y width height group]} shape selected (rum/react uusc/selected-shapes-l) - drawing? (rum/react uusc/drawing-state-l) selected? (contains? selected id) - on-mouse-down #(on-mouse-down % shape selected drawing?) + on-mouse-down #(on-mouse-down % shape selected) on-mouse-up #(on-mouse-up % shape)] (html [:g.shape {:class (when selected? "selected") diff --git a/src/uxbox/ui/shapes/text.cljs b/src/uxbox/ui/shapes/text.cljs index ecc0b8b579..5e882bd1b8 100644 --- a/src/uxbox/ui/shapes/text.cljs +++ b/src/uxbox/ui/shapes/text.cljs @@ -19,18 +19,15 @@ (:import goog.events.EventType)) (defn on-mouse-down - [event own {:keys [id group] :as shape} selected drawing?] + [event own {:keys [id group] :as shape} selected] (let [selected? (contains? selected id) - local (:rum/local own)] + local (:rum/local own) + drawing? @uusc/drawing-state-l] (when-not (:blocked shape) (cond - drawing? - nil - - (:edition @local) - nil - - (and group (:locked (ush/resolve-parent shape))) + (or drawing? + (:edition @local) + (and group (:locked (ush/resolve-parent shape)))) nil (and (not selected?) (empty? selected)) @@ -111,8 +108,7 @@ (let [{:keys [id x1 y1 content group]} shape selected (rum/react uusc/selected-shapes-l) selected? (and (contains? selected id) (= (count selected) 1)) - drawing? (rum/react uusc/drawing-state-l) - on-mouse-down #(on-mouse-down % own shape selected drawing?) + on-mouse-down #(on-mouse-down % own shape selected) on-mouse-up #(on-mouse-up % shape) local (:rum/local own)] (html