0
Fork 0
mirror of https://github.com/penpot/penpot.git synced 2025-03-12 07:41:43 -05:00

🐛 Fix problem with scroll in viewer mode

This commit is contained in:
alonso.torres 2023-06-23 12:55:49 +02:00
parent 2db5925e60
commit ca1e6c342f
2 changed files with 20 additions and 17 deletions

View file

@ -313,22 +313,25 @@
(mf/use-fn (mf/use-fn
(fn [event] (fn [event]
(let [event (.getBrowserEvent ^js event) (let [event (.getBrowserEvent ^js event)
norm-event ^js (nw/normalize-wheel event) wrapper (dom/get-element-by-class "inspect-svg-wrapper")
mod? (kbd/mod? event) section (dom/get-element-by-class "inspect-svg-container")
shift? (kbd/shift? event) target (.-target event)]
delta (.-pixelY norm-event) (when (or (dom/child? target wrapper) (dom/class? target "inspect-svg-container"))
viewer-section (.target event) (let [norm-event ^js (nw/normalize-wheel event)
scroll-pos (if shift? mod? (kbd/mod? event)
(dom/get-h-scroll-pos viewer-section) shift? (kbd/shift? event)
(dom/get-scroll-pos viewer-section)) delta (.-pixelY norm-event)
new-scroll-pos (+ scroll-pos delta)] scroll-pos (if shift?
(when-not mod? (dom/get-h-scroll-pos section)
(do (dom/get-scroll-pos section))
(dom/prevent-default event) new-scroll-pos (+ scroll-pos delta)]
(dom/stop-propagation event) (when-not mod?
(if shift? (do
(dom/set-h-scroll-pos! viewer-section new-scroll-pos) (dom/prevent-default event)
(dom/set-scroll-pos! viewer-section new-scroll-pos))))))) (dom/stop-propagation event)
(if shift?
(dom/set-h-scroll-pos! section new-scroll-pos)
(dom/set-scroll-pos! section new-scroll-pos)))))))))
on-exit-fullscreen on-exit-fullscreen
(mf/use-callback (mf/use-callback

View file

@ -493,7 +493,7 @@
(.remove ^js class-list class-name)))) (.remove ^js class-list class-name))))
(defn child? [^js node1 ^js node2] (defn child? [^js node1 ^js node2]
(when (some? node1) (when (and (some? node1) (some? node2))
(.contains ^js node2 ^js node1))) (.contains ^js node2 ^js node1)))
(defn get-user-agent [] (defn get-user-agent []