Don't trigger page persistence on simple shape selection.

This commit is contained in:
Andrey Antukh 2017-01-31 16:58:10 +01:00
parent 422f2aed64
commit 3fdce853d0
No known key found for this signature in database
GPG key ID: 4DFEBCB8316A8B95
11 changed files with 133 additions and 141 deletions

View file

@ -36,27 +36,30 @@
(st/emit! (udi/fetch-image id)))
own)}
[own {:keys [id image] :as shape}]
(let [selected (mx/react common/selected-ref)
(let [modifiers (mx/react (common/modifiers-ref id))
selected (mx/react common/selected-ref)
image (mx/react (image-ref image))
selected? (contains? selected id)
on-mouse-down #(common/on-mouse-down % shape selected)]
on-mouse-down #(common/on-mouse-down % shape selected)
shape (assoc shape
:modifiers modifiers
:image image)]
(when image
[:g.shape {:class (when selected? "selected")
:on-mouse-down on-mouse-down}
(image-shape (assoc shape :image image))])))
(image-shape shape)])))
;; --- Image Shape
(mx/defc image-shape
{:mixins [mx/static]}
[shape]
(let [{:keys [id x1 y1 image
width height
tmp-resize-xform
tmp-displacement]} (geom/size shape)
[{:keys [id x1 y1 image modifiers] :as shape}]
(let [{:keys [width height]} (geom/size shape)
{:keys [resize displacement]} modifiers
xfmt (cond-> (or tmp-resize-xform (gmt/matrix))
tmp-displacement (gmt/translate tmp-displacement))
xfmt (cond-> (gmt/matrix)
resize (gmt/multiply resize)
displacement (gmt/multiply displacement))
props {:x x1 :y y1
:id (str "shape-" id)