From 18ada6f49fe627d05d72b557833cac7820f21782 Mon Sep 17 00:00:00 2001 From: Andrey Antukh Date: Tue, 5 Apr 2016 18:39:40 +0300 Subject: [PATCH] Add the ability to zoom using mouse wheel. --- src/uxbox/ui/workspace/canvas.cljs | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) diff --git a/src/uxbox/ui/workspace/canvas.cljs b/src/uxbox/ui/workspace/canvas.cljs index 5e869f9448..3e8eda04a1 100644 --- a/src/uxbox/ui/workspace/canvas.cljs +++ b/src/uxbox/ui/workspace/canvas.cljs @@ -99,12 +99,20 @@ (on-mouse-up [event] (dom/stop-propagation event) (uuc/release-action! "ui.shape" - "ui.selrect"))] + "ui.selrect")) + (on-wheel [event] + (when (kbd/ctrl? event) + (dom/prevent-default event) + (dom/stop-propagation event) + (if (pos? (.-deltaY event)) + (rs/emit! (dw/increase-zoom)) + (rs/emit! (dw/decrease-zoom)))))] (html [:svg.viewport {:width uuwb/viewport-width :height uuwb/viewport-height :ref "viewport" :class (when drawing? "drawing") + :on-wheel on-wheel :on-mouse-down on-mouse-down :on-mouse-up on-mouse-up} [:g.zoom {:transform (str "scale(" zoom ", " zoom ")")}