mirror of
https://github.com/penpot/penpot.git
synced 2025-08-07 14:38:33 +02:00
🐛 Fix unexpected internal error on frame hidding.
Because of incorrect use of hooks.
This commit is contained in:
parent
1e709ee166
commit
e25da8c6d3
1 changed files with 15 additions and 17 deletions
|
@ -43,20 +43,6 @@
|
||||||
(recur (first ids) (rest ids))
|
(recur (first ids) (rest ids))
|
||||||
false))))))
|
false))))))
|
||||||
|
|
||||||
(defn use-mouse-over
|
|
||||||
[{:keys [id] :as shape}]
|
|
||||||
(mf/use-callback
|
|
||||||
(mf/deps shape)
|
|
||||||
(fn []
|
|
||||||
(st/emit! (dws/change-hover-state id true)))))
|
|
||||||
|
|
||||||
(defn use-mouse-out
|
|
||||||
[{:keys [id] :as shape}]
|
|
||||||
(mf/use-callback
|
|
||||||
(mf/deps shape)
|
|
||||||
(fn []
|
|
||||||
(st/emit! (dws/change-hover-state id false)))))
|
|
||||||
|
|
||||||
(defn frame-wrapper-factory
|
(defn frame-wrapper-factory
|
||||||
[shape-wrapper]
|
[shape-wrapper]
|
||||||
(let [frame-shape (frame/frame-shape shape-wrapper)]
|
(let [frame-shape (frame/frame-shape shape-wrapper)]
|
||||||
|
@ -93,7 +79,19 @@
|
||||||
(fn [event]
|
(fn [event]
|
||||||
(dom/prevent-default event)
|
(dom/prevent-default event)
|
||||||
(st/emit! dw/deselect-all
|
(st/emit! dw/deselect-all
|
||||||
(dw/select-shape (:id shape)))))]
|
(dw/select-shape (:id shape)))))
|
||||||
|
|
||||||
|
on-mouse-over
|
||||||
|
(mf/use-callback
|
||||||
|
(mf/deps (:id shape))
|
||||||
|
(fn []
|
||||||
|
(st/emit! (dws/change-hover-state (:id shape) true))))
|
||||||
|
|
||||||
|
on-mouse-out
|
||||||
|
(mf/use-callback
|
||||||
|
(mf/deps (:id shape))
|
||||||
|
(fn []
|
||||||
|
(st/emit! (dws/change-hover-state (:id shape) false))))]
|
||||||
|
|
||||||
(when-not (:hidden shape)
|
(when-not (:hidden shape)
|
||||||
[:g {:class (when selected? "selected")
|
[:g {:class (when selected? "selected")
|
||||||
|
@ -115,8 +113,8 @@
|
||||||
")")
|
")")
|
||||||
;; User may also select the frame with single click in the label
|
;; User may also select the frame with single click in the label
|
||||||
:on-click on-double-click
|
:on-click on-double-click
|
||||||
:on-mouse-over (use-mouse-over shape)
|
:on-mouse-over on-mouse-over
|
||||||
:on-mouse-out (use-mouse-out shape)}
|
:on-mouse-out on-mouse-out}
|
||||||
(:name shape)]
|
(:name shape)]
|
||||||
[:*
|
[:*
|
||||||
[:& frame-shape
|
[:& frame-shape
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue