From 588552912069482493e053153f1d982df0103945 Mon Sep 17 00:00:00 2001 From: Tienson Qin Date: Sun, 23 Aug 2020 16:22:08 +0800 Subject: [PATCH] Fix selection for referenced blocks --- web/src/main/frontend/components/content.cljs | 15 --------------- web/src/main/frontend/components/hiccup.cljs | 2 +- web/src/main/frontend/components/sidebar.cljs | 13 +++++++++++++ web/src/main/frontend/state.cljs | 6 ------ 4 files changed, 14 insertions(+), 22 deletions(-) diff --git a/web/src/main/frontend/components/content.cljs b/web/src/main/frontend/components/content.cljs index 3c46bab18..9551d4bcf 100644 --- a/web/src/main/frontend/components/content.cljs +++ b/web/src/main/frontend/components/content.cljs @@ -127,21 +127,6 @@ (js/setTimeout #(state/set-selection-blocks! blocks) 200))))))) - (mixins/listen state js/window "click" - (fn [e] - ;; hide context menu - (state/hide-custom-context-menu!) - - ;; enable scroll - (let [main (d/by-id "main-content")] - (d/remove-class! main "overflow-hidden") - (d/add-class! main "overflow-y-auto")) - - (when-not (state/get-selection-start-block) - (editor-handler/clear-selection! e)) - - (state/set-selection-start-block! nil))) - (mixins/listen state js/window "contextmenu" (fn [e] (let [target (gobj/get e "target") diff --git a/web/src/main/frontend/components/hiccup.cljs b/web/src/main/frontend/components/hiccup.cljs index bb1e854d9..9c8749c60 100644 --- a/web/src/main/frontend/components/hiccup.cljs +++ b/web/src/main/frontend/components/hiccup.cljs @@ -1027,7 +1027,7 @@ (when (and (not (state/get-selection-start-block)) (= (gobj/get e "buttons") 1)) - (state/set-selection-start-block! block-id))) + (when block-id (state/set-selection-start-block! block-id)))) :on-mouse-over (fn [e] (util/stop e) (when has-child? diff --git a/web/src/main/frontend/components/sidebar.cljs b/web/src/main/frontend/components/sidebar.cljs index ea4234808..0d41b6782 100644 --- a/web/src/main/frontend/components/sidebar.cljs +++ b/web/src/main/frontend/components/sidebar.cljs @@ -131,6 +131,19 @@ ;; TODO: move this to keyboards (mixins/event-mixin (fn [state] + (mixins/listen state js/window "click" + (fn [e] + ;; hide context menu + (state/hide-custom-context-menu!) + + ;; enable scroll + (let [main (d/by-id "main-content")] + (d/remove-class! main "overflow-hidden") + (d/add-class! main "overflow-y-auto")) + (if-not (state/get-selection-start-block) + (editor-handler/clear-selection! e) + (state/set-selection-start-block! nil)))) + (mixins/on-key-down state { diff --git a/web/src/main/frontend/state.cljs b/web/src/main/frontend/state.cljs index 768a745b1..f50e1a24b 100644 --- a/web/src/main/frontend/state.cljs +++ b/web/src/main/frontend/state.cljs @@ -319,12 +319,6 @@ [] (get @state :selection/start-block)) -(defn clear-selection-region! - [] - (swap! state assoc - :selection/start-block nil - :selection/end-block nil)) - (defn set-selection-blocks! [blocks] (when (seq blocks)