From 28031a247a13d733f13f3772e160df540f71e19d Mon Sep 17 00:00:00 2001 From: "alonso.torres" Date: Mon, 18 Apr 2022 16:41:35 +0200 Subject: [PATCH 1/3] :bug: Fix problem with ctrl+click context menu in mac --- .../src/app/main/ui/components/dropdown.cljs | 17 ++++++++++++----- 1 file changed, 12 insertions(+), 5 deletions(-) diff --git a/frontend/src/app/main/ui/components/dropdown.cljs b/frontend/src/app/main/ui/components/dropdown.cljs index 114617fa5b..507af1f4d3 100644 --- a/frontend/src/app/main/ui/components/dropdown.cljs +++ b/frontend/src/app/main/ui/components/dropdown.cljs @@ -6,7 +6,9 @@ (ns app.main.ui.components.dropdown (:require + [app.config :as cfg] [app.util.dom :as dom] + [app.util.globals :as globals] [app.util.keyboard :as kbd] [goog.events :as events] [goog.object :as gobj] @@ -22,8 +24,13 @@ on-click (fn [event] - (let [target (dom/get-target event)] - (when-not (.-data-no-close ^js target) + (let [target (dom/get-target event) + + ;; MacOS ctrl+click sends two events: context-menu and click. + ;; In order to not have two handlings we ignore ctrl+click for this platform + mac-ctrl-click? (and (cfg/check-platform? :macos) (kbd/ctrl? event))] + (when (and (not mac-ctrl-click?) + (not (.-data-no-close ^js target))) (if ref (let [parent (mf/ref-val ref)] (when-not (or (not parent) (.contains parent target)) @@ -37,9 +44,9 @@ on-mount (fn [] - (let [keys [(events/listen js/document EventType.CLICK on-click) - (events/listen js/document EventType.CONTEXTMENU on-click) - (events/listen js/document EventType.KEYUP on-keyup)]] + (let [keys [(events/listen globals/document EventType.CLICK on-click) + (events/listen globals/document EventType.CONTEXTMENU on-click) + (events/listen globals/document EventType.KEYUP on-keyup)]] #(doseq [key keys] (events/unlistenByKey key))))] From 2707903f8a5539996e198a431133b7ff9d942e4a Mon Sep 17 00:00:00 2001 From: "alonso.torres" Date: Mon, 18 Apr 2022 19:04:24 +0200 Subject: [PATCH 2/3] :bug: Fix start script in local environment --- backend/scripts/start-dev | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/backend/scripts/start-dev b/backend/scripts/start-dev index 3a7c6f0396..210b6cba5d 100755 --- a/backend/scripts/start-dev +++ b/backend/scripts/start-dev @@ -2,7 +2,7 @@ export PENPOT_HOST=devenv export PENPOT_TENANT=dev -export PENPOT_FLAGS="$PENPOT_FLAGS enable-backend-asserts enable-audit-log enable-cors enable-transit-readable-response enable-demo-users" +export PENPOT_FLAGS="$PENPOT_FLAGS enable-backend-asserts enable-audit-log enable-cors enable-transit-readable-response enable-demo-users disable-secure-session-cookies" set -ex From b6f2800aa3c6e8d11210ac340fa101c5ed6574e5 Mon Sep 17 00:00:00 2001 From: "alonso.torres" Date: Tue, 19 Apr 2022 13:21:45 +0200 Subject: [PATCH 3/3] :bug: Fix pinch to zoom on mac --- frontend/src/app/main/ui/workspace/viewport/actions.cljs | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/frontend/src/app/main/ui/workspace/viewport/actions.cljs b/frontend/src/app/main/ui/workspace/viewport/actions.cljs index 111a0fa91f..dd720dd6ab 100644 --- a/frontend/src/app/main/ui/workspace/viewport/actions.cljs +++ b/frontend/src/app/main/ui/workspace/viewport/actions.cljs @@ -379,6 +379,7 @@ (dom/stop-propagation event) (let [pt (->> (dom/get-client-position event) (utils/translate-point-to-viewport viewport zoom)) + ctrl? (kbd/ctrl? event) delta-mode (.-deltaMode ^js event) @@ -394,7 +395,7 @@ delta-x (-> (.-deltaX ^js event) (* unit) (/ zoom))] - (if mod? + (if (or ctrl? mod?) (let [delta (* -1 (+ (.-deltaY ^js event) (.-deltaX ^js event))) scale (-> (+ 1 (/ delta 100)) (mth/clamp 0.77 1.3))] (st/emit! (dw/set-zoom pt scale)))