浏览代码

fix: disallow cutting blocks when find in page

Tienson Qin 3 年之前
父节点
当前提交
fac1180a07

+ 1 - 1
src/main/electron/listener.cljs

@@ -127,7 +127,7 @@
   (js/window.apis.on "foundInPage"
                      (fn [data]
                        (let [data' (bean/->clj data)]
-                         (state/set-state! [:ui/find-in-search :matches] data')
+                         (state/set-state! [:ui/find-in-page :matches] data')
                          true)))
 
   (js/window.apis.on "loginCallback"

+ 5 - 5
src/main/frontend/components/find_in_page.cljs

@@ -25,7 +25,7 @@
   (when (and (= (.-code e) "Enter")
              (not (state/editing?)))
     (let [shift? (.-shiftKey e)]
-      (state/set-state! [:ui/find-in-search :backward?] shift?)
+      (state/set-state! [:ui/find-in-page :backward?] shift?)
       (search-handler/electron-find-in-page!))))
 
 (rum/defc search-inner <
@@ -50,7 +50,7 @@
       :placeholder "Find in page"
       :on-change (fn [e]
                    (let [value (util/evalue e)]
-                     (state/set-state! [:ui/find-in-search :q] value)
+                     (state/set-state! [:ui/find-in-page :q] value)
                      (if (string/blank? value)
                        (search-handler/electron-exit-find-in-page!)
                        (debounced-search))))}]]
@@ -62,7 +62,7 @@
    (ui/button
      (ui/icon "caret-up" {:style {:font-size 18}})
      :on-click (fn []
-                 (state/set-state! [:ui/find-in-search :backward?] true)
+                 (state/set-state! [:ui/find-in-page :backward?] true)
                  (search-handler/electron-find-in-page!))
      :intent "link"
      :small? true)
@@ -70,7 +70,7 @@
    (ui/button
      (ui/icon "caret-down" {:style {:font-size 18}})
      :on-click (fn []
-                 (state/set-state! [:ui/find-in-search :backward?] false)
+                 (state/set-state! [:ui/find-in-page :backward?] false)
                  (search-handler/electron-find-in-page!))
      :intent "link"
      :small? true)
@@ -84,6 +84,6 @@
 
 (rum/defc search < rum/reactive
   []
-  (let [{:keys [active?] :as opt} (state/sub :ui/find-in-search)]
+  (let [{:keys [active?] :as opt} (state/sub :ui/find-in-page)]
     (when active?
       (search-inner opt))))

+ 3 - 2
src/main/frontend/handler/editor.cljs

@@ -2907,8 +2907,9 @@
 
 (defn- cut-blocks-and-clear-selections!
   [copy?]
-  (cut-selection-blocks copy?)
-  (clear-selection!))
+  (when-not (get-in @state/state [:ui/find-in-page :active?])
+    (cut-selection-blocks copy?)
+    (clear-selection!)))
 
 (defn shortcut-copy-selection
   [_e]

+ 3 - 3
src/main/frontend/handler/search.cljs

@@ -54,7 +54,7 @@
    (electron-find-in-page! nil))
   ([on-success]
    (when (util/electron?)
-     (let [{:keys [active? backward? q]} (:ui/find-in-search @state/state)
+     (let [{:keys [active? backward? q]} (:ui/find-in-page @state/state)
            option (cond->
                     {}
 
@@ -63,7 +63,7 @@
 
                     backward?
                     (assoc :forward false))]
-       (when-not active? (state/set-state! [:ui/find-in-search :active?] true))
+       (when-not active? (state/set-state! [:ui/find-in-page :active?] true))
        (when-not (string/blank? q)
          (ipc/ipc "find-in-page" q option)
          (when on-success
@@ -75,7 +75,7 @@
   (when (util/electron?)
     (ipc/ipc "clear-find-in-page")
     (when clear-state?
-      (state/set-state! :ui/find-in-search nil))))
+      (state/set-state! :ui/find-in-page nil))))
 
 (defn clear-search!
   ([]

+ 1 - 1
src/main/frontend/state.cljs

@@ -232,7 +232,7 @@
 
      :encryption/graph-parsing?             false
 
-     :ui/find-in-search                     nil
+     :ui/find-in-page                     nil
      })))
 
 ;; block uuid -> {content(String) -> ast}