From 93726cf8fe126b3ef1de8d7300a48a90e5f537a2 Mon Sep 17 00:00:00 2001 From: "alonso.torres" Date: Tue, 27 Dec 2022 15:56:09 +0100 Subject: [PATCH] :bug: Fix wrong interaction between comments and panning modes --- CHANGES.md | 1 + frontend/src/app/main/data/workspace/comments.cljs | 4 ++++ frontend/src/app/main/ui/comments.cljs | 14 ++++++++++---- .../app/main/ui/workspace/viewport/actions.cljs | 11 +---------- 4 files changed, 16 insertions(+), 14 deletions(-) diff --git a/CHANGES.md b/CHANGES.md index 0515b55b1..59a51a485 100644 --- a/CHANGES.md +++ b/CHANGES.md @@ -25,6 +25,7 @@ - Fix style for team invite in deutsch [Taiga #4614](https://tree.taiga.io/project/penpot/issue/4614) - Fix problem with text edition in Safari [Taiga #4046](https://tree.taiga.io/project/penpot/issue/4046) - Fix show outline with rounded corners on rects [Taiga #4053](https://tree.taiga.io/project/penpot/issue/4053) +- Fix wrong interaction between comments and panning modes [Taiga #4297](https://tree.taiga.io/project/penpot/issue/4297) - Fix bad element positioning on interaction with fixed scroll [Github #2660](https://github.com/penpot/penpot/issues/2660) - Fix display type of component library not persistent [Taiga #4512](https://tree.taiga.io/project/penpot/issue/4512) diff --git a/frontend/src/app/main/data/workspace/comments.cljs b/frontend/src/app/main/data/workspace/comments.cljs index 9c93ec83b..571e59e1f 100644 --- a/frontend/src/app/main/data/workspace/comments.cljs +++ b/frontend/src/app/main/data/workspace/comments.cljs @@ -38,6 +38,10 @@ (->> stream (rx/filter ms/mouse-click?) (rx/switch-map #(rx/take 1 ms/mouse-position)) + (rx/with-latest-from ms/keyboard-space) + (rx/tap prn) + (rx/filter (fn [[_ space]] (not space)) ) + (rx/map first) (rx/map handle-comment-layer-click) (rx/take-until stoper)) (->> stream diff --git a/frontend/src/app/main/ui/comments.cljs b/frontend/src/app/main/ui/comments.cljs index 48281ae40..d8d451307 100644 --- a/frontend/src/app/main/ui/comments.cljs +++ b/frontend/src/app/main/ui/comments.cljs @@ -104,11 +104,17 @@ :on-blur on-blur :on-focus on-focus :on-change on-change}] - (when (or @show-buttons? - (seq @content)) + (when (or @show-buttons? (seq @content)) [:div.buttons - [:input.btn-primary {:type "button" :value "Post" :on-click on-submit :disabled (str/empty-or-nil? @content)}] - [:input.btn-secondary {:type "button" :value "Cancel" :on-click on-cancel}]])])) + [:input.btn-primary + {:type "button" + :value "Post" + :on-click on-submit + :disabled (str/empty-or-nil? @content)}] + [:input.btn-secondary + {:type "button" + :value "Cancel" + :on-click on-cancel}]])])) (mf/defc draft-thread [{:keys [draft zoom on-cancel on-submit position-modifier]}] diff --git a/frontend/src/app/main/ui/workspace/viewport/actions.cljs b/frontend/src/app/main/ui/workspace/viewport/actions.cljs index 70a66fd22..0bf2505fd 100644 --- a/frontend/src/app/main/ui/workspace/viewport/actions.cljs +++ b/frontend/src/app/main/ui/workspace/viewport/actions.cljs @@ -56,7 +56,7 @@ middle-click? (and (not panning) (= 2 (.-which event)))] (cond - middle-click? + (or middle-click? (and left-click? @space?)) (do (dom/prevent-default bevent) (if mod? @@ -85,15 +85,6 @@ (when-not workspace-read-only? (st/emit! (dwdp/handle-area-selection shift?))) - (and @space? mod?) - (let [raw-pt (dom/get-client-position event) - viewport (mf/ref-val viewport-ref) - pt (utils/translate-point-to-viewport viewport zoom raw-pt)] - (st/emit! (dw/start-zooming pt))) - - @space? - (st/emit! (dw/start-panning)) - drawing-tool (when-not workspace-read-only? (st/emit! (dd/start-drawing drawing-tool)))