0
Fork 0
mirror of https://github.com/penpot/penpot.git synced 2025-04-16 00:41:25 -05:00

Performane improvements over previous commit.

This commit is contained in:
Andrey Antukh 2016-04-04 20:34:09 +03:00
parent 8c51048f76
commit b5ba75097f
3 changed files with 14 additions and 21 deletions

View file

@ -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")

View file

@ -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")

View file

@ -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