mirror of
https://github.com/penpot/penpot.git
synced 2025-06-05 21:41:38 +02:00
Performane improvements over previous commit.
This commit is contained in:
parent
8c51048f76
commit
b5ba75097f
3 changed files with 14 additions and 21 deletions
|
@ -25,8 +25,7 @@
|
||||||
(let [{:keys [id x y width height group]} shape
|
(let [{:keys [id x y width height group]} shape
|
||||||
selected (rum/react uusc/selected-shapes-l)
|
selected (rum/react uusc/selected-shapes-l)
|
||||||
selected? (contains? selected id)
|
selected? (contains? selected id)
|
||||||
drawing? (rum/react uusc/drawing-state-l)
|
on-mouse-down #(uusi/on-mouse-down % shape selected)
|
||||||
on-mouse-down #(uusi/on-mouse-down % shape selected drawing?)
|
|
||||||
on-mouse-up #(uusi/on-mouse-up % shape)]
|
on-mouse-up #(uusi/on-mouse-up % shape)]
|
||||||
(html
|
(html
|
||||||
[:g.shape {:class (when selected? "selected")
|
[:g.shape {:class (when selected? "selected")
|
||||||
|
|
|
@ -16,14 +16,13 @@
|
||||||
;; --- Icon Component
|
;; --- Icon Component
|
||||||
|
|
||||||
(defn on-mouse-down
|
(defn on-mouse-down
|
||||||
[event {:keys [id group] :as shape} selected drawing?]
|
[event {:keys [id group] :as shape} selected]
|
||||||
(let [selected? (contains? selected id)]
|
(let [selected? (contains? selected id)
|
||||||
|
drawing? @uusc/drawing-state-l]
|
||||||
(when-not (:blocked shape)
|
(when-not (:blocked shape)
|
||||||
(cond
|
(cond
|
||||||
drawing?
|
(or drawing?
|
||||||
nil
|
(and group (:locked (ush/resolve-parent shape))))
|
||||||
|
|
||||||
(and group (:locked (ush/resolve-parent shape)))
|
|
||||||
nil
|
nil
|
||||||
|
|
||||||
(and (not selected?) (empty? selected))
|
(and (not selected?) (empty? selected))
|
||||||
|
@ -62,9 +61,8 @@
|
||||||
[own shape]
|
[own shape]
|
||||||
(let [{:keys [id x y width height group]} shape
|
(let [{:keys [id x y width height group]} shape
|
||||||
selected (rum/react uusc/selected-shapes-l)
|
selected (rum/react uusc/selected-shapes-l)
|
||||||
drawing? (rum/react uusc/drawing-state-l)
|
|
||||||
selected? (contains? selected id)
|
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)]
|
on-mouse-up #(on-mouse-up % shape)]
|
||||||
(html
|
(html
|
||||||
[:g.shape {:class (when selected? "selected")
|
[:g.shape {:class (when selected? "selected")
|
||||||
|
|
|
@ -19,18 +19,15 @@
|
||||||
(:import goog.events.EventType))
|
(:import goog.events.EventType))
|
||||||
|
|
||||||
(defn on-mouse-down
|
(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)
|
(let [selected? (contains? selected id)
|
||||||
local (:rum/local own)]
|
local (:rum/local own)
|
||||||
|
drawing? @uusc/drawing-state-l]
|
||||||
(when-not (:blocked shape)
|
(when-not (:blocked shape)
|
||||||
(cond
|
(cond
|
||||||
drawing?
|
(or drawing?
|
||||||
nil
|
|
||||||
|
|
||||||
(:edition @local)
|
(:edition @local)
|
||||||
nil
|
(and group (:locked (ush/resolve-parent shape))))
|
||||||
|
|
||||||
(and group (:locked (ush/resolve-parent shape)))
|
|
||||||
nil
|
nil
|
||||||
|
|
||||||
(and (not selected?) (empty? selected))
|
(and (not selected?) (empty? selected))
|
||||||
|
@ -111,8 +108,7 @@
|
||||||
(let [{:keys [id x1 y1 content group]} shape
|
(let [{:keys [id x1 y1 content group]} shape
|
||||||
selected (rum/react uusc/selected-shapes-l)
|
selected (rum/react uusc/selected-shapes-l)
|
||||||
selected? (and (contains? selected id) (= (count selected) 1))
|
selected? (and (contains? selected id) (= (count selected) 1))
|
||||||
drawing? (rum/react uusc/drawing-state-l)
|
on-mouse-down #(on-mouse-down % own shape selected)
|
||||||
on-mouse-down #(on-mouse-down % own shape selected drawing?)
|
|
||||||
on-mouse-up #(on-mouse-up % shape)
|
on-mouse-up #(on-mouse-up % shape)
|
||||||
local (:rum/local own)]
|
local (:rum/local own)]
|
||||||
(html
|
(html
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue