From 20a7366432fa497da4aaa337d425f7e1d0c6b776 Mon Sep 17 00:00:00 2001 From: "alonso.torres" Date: Tue, 8 Dec 2020 16:05:11 +0100 Subject: [PATCH] :bug: Fixes problems with hover on elements --- frontend/src/app/main/data/workspace/groups.cljs | 14 +++++++++++++- .../src/app/main/data/workspace/selection.cljs | 13 +++++-------- .../src/app/main/ui/workspace/shapes/common.cljs | 4 ++-- .../src/app/main/ui/workspace/shapes/frame.cljs | 4 ++-- .../src/app/main/ui/workspace/shapes/group.cljs | 4 ++-- .../src/app/main/ui/workspace/shapes/path.cljs | 4 ++-- .../src/app/main/ui/workspace/shapes/text.cljs | 4 ++-- 7 files changed, 28 insertions(+), 19 deletions(-) diff --git a/frontend/src/app/main/data/workspace/groups.cljs b/frontend/src/app/main/data/workspace/groups.cljs index 41cf994a6..e5e6b78e1 100644 --- a/frontend/src/app/main/data/workspace/groups.cljs +++ b/frontend/src/app/main/data/workspace/groups.cljs @@ -147,7 +147,19 @@ :id (:id group) :operations [{:type :set :attr :masked-group? - :val true}]} + :val true} + {:type :set + :attr :selrect + :val (-> shapes first :selrect)} + {:type :set + :attr :points + :val (-> shapes first :points)} + {:type :set + :attr :transform + :val (-> shapes first :transform)} + {:type :set + :attr :transform-inverse + :val (-> shapes first :transform-inverse)}]} {:type :reg-objects :page-id page-id :shapes [(:id group)]}]) diff --git a/frontend/src/app/main/data/workspace/selection.cljs b/frontend/src/app/main/data/workspace/selection.cljs index fe9ea3d6f..28a5aa5ff 100644 --- a/frontend/src/app/main/data/workspace/selection.cljs +++ b/frontend/src/app/main/data/workspace/selection.cljs @@ -314,11 +314,8 @@ (defn change-hover-state [id value] - (letfn [(update-hover [items] - (if value - (conj items id) - (disj items id)))] - (ptk/reify ::change-hover-state - ptk/UpdateEvent - (update [_ state] - (update-in state [:workspace-local :hover] (fnil update-hover #{})))))) + (ptk/reify ::change-hover-state + ptk/UpdateEvent + (update [_ state] + (let [hover-value (if value #{id} #{})] + (assoc-in state [:workspace-local :hover] hover-value))))) diff --git a/frontend/src/app/main/ui/workspace/shapes/common.cljs b/frontend/src/app/main/ui/workspace/shapes/common.cljs index 168bd0dd6..af4986035 100644 --- a/frontend/src/app/main/ui/workspace/shapes/common.cljs +++ b/frontend/src/app/main/ui/workspace/shapes/common.cljs @@ -22,6 +22,6 @@ [:> shape-container {:shape shape :on-mouse-down (we/use-mouse-down shape) :on-context-menu (we/use-context-menu shape) - :on-pointer-enter (we/use-pointer-enter shape) - :on-pointer-leave (we/use-pointer-leave shape)} + :on-pointer-over (we/use-pointer-enter shape) + :on-pointer-out (we/use-pointer-leave shape)} [:& component {:shape shape}]]))) diff --git a/frontend/src/app/main/ui/workspace/shapes/frame.cljs b/frontend/src/app/main/ui/workspace/shapes/frame.cljs index d092b48d9..1b6bef2cf 100644 --- a/frontend/src/app/main/ui/workspace/shapes/frame.cljs +++ b/frontend/src/app/main/ui/workspace/shapes/frame.cljs @@ -73,8 +73,8 @@ :class "workspace-frame-label" :transform (text-transform label-pos zoom) :on-click handle-click - :on-pointer-enter handle-pointer-enter - :on-pointer-leave handle-pointer-leave} + :on-pointer-over handle-pointer-enter + :on-pointer-out handle-pointer-leave} (:name frame)])) (defn make-is-moving-ref diff --git a/frontend/src/app/main/ui/workspace/shapes/group.cljs b/frontend/src/app/main/ui/workspace/shapes/group.cljs index 619a9e158..7c6f464cd 100644 --- a/frontend/src/app/main/ui/workspace/shapes/group.cljs +++ b/frontend/src/app/main/ui/workspace/shapes/group.cljs @@ -94,7 +94,7 @@ :height height :on-mouse-down handle-mouse-down :on-context-menu handle-context-menu - :on-pointer-enter handle-pointer-enter - :on-pointer-leave handle-pointer-leave + :on-pointer-over handle-pointer-enter + :on-pointer-out handle-pointer-leave :on-double-click handle-double-click}])]])))) diff --git a/frontend/src/app/main/ui/workspace/shapes/path.cljs b/frontend/src/app/main/ui/workspace/shapes/path.cljs index 420510178..fd9fbe173 100644 --- a/frontend/src/app/main/ui/workspace/shapes/path.cljs +++ b/frontend/src/app/main/ui/workspace/shapes/path.cljs @@ -49,8 +49,8 @@ :pointer-events (when editing? "none") :on-mouse-down handle-mouse-down :on-context-menu handle-context-menu - :on-pointer-enter handle-pointer-enter - :on-pointer-leave handle-pointer-leave + :on-pointer-over handle-pointer-enter + :on-pointer-out handle-pointer-leave :on-double-click handle-double-click} [:& path/path-shape {:shape shape :background? true}]])) diff --git a/frontend/src/app/main/ui/workspace/shapes/text.cljs b/frontend/src/app/main/ui/workspace/shapes/text.cljs index 8d612bb42..d122c694d 100644 --- a/frontend/src/app/main/ui/workspace/shapes/text.cljs +++ b/frontend/src/app/main/ui/workspace/shapes/text.cljs @@ -124,8 +124,8 @@ :style {:fill "transparent"} :on-mouse-down handle-mouse-down :on-context-menu handle-context-menu - :on-pointer-enter handle-pointer-enter - :on-pointer-leave handle-pointer-leave + :on-pointer-over handle-pointer-enter + :on-pointer-out handle-pointer-leave :on-double-click handle-double-click :transform (gsh/transform-matrix shape)}])]))