mirror of https://github.com/logseq/logseq
feat: find-in-page add results
parent
b6b9f5e665
commit
b677d6f819
|
@ -1,10 +1,16 @@
|
|||
(ns electron.find-in-page
|
||||
(:require [electron.window :as win]))
|
||||
(:require [electron.utils :as utils]
|
||||
[cljs-bean.core :as bean]))
|
||||
|
||||
(defn find!
|
||||
[^js window search option]
|
||||
(when window
|
||||
(.findInPage ^js (.-webContents window) search option)))
|
||||
(let [contents ^js (.-webContents window)]
|
||||
(.findInPage contents search option)
|
||||
(.on contents "found-in-page"
|
||||
(fn [_event result]
|
||||
(utils/send-to-renderer window "foundInPage" (bean/->clj result))))
|
||||
true)))
|
||||
|
||||
(defn clear!
|
||||
[^js window]
|
||||
|
|
|
@ -159,7 +159,3 @@
|
|||
(.off win "enter-full-screen")
|
||||
(.off win "leave-full-screen")))
|
||||
#()))
|
||||
|
||||
(defn get-active-window
|
||||
[]
|
||||
(.getFocusedWindow BrowserWindow))
|
||||
|
|
|
@ -124,6 +124,12 @@
|
|||
:on-error error-f}]
|
||||
(repo-handler/persist-db! repo handlers))))
|
||||
|
||||
(js/window.apis.on "foundInPage"
|
||||
(fn [data]
|
||||
(let [data' (bean/->clj data)]
|
||||
(state/set-state! [:ui/find-in-search :matches] data')
|
||||
true)))
|
||||
|
||||
(js/window.apis.on "loginCallback"
|
||||
(fn [code]
|
||||
(user/login-callback code)))
|
||||
|
|
|
@ -42,8 +42,8 @@
|
|||
:node (gdom/getElement "search-in-page")
|
||||
:on-hide (fn []
|
||||
(search-handler/electron-exit-find-in-page!)))))
|
||||
[{:keys [q backward?]}]
|
||||
[:div#search-in-page.flex.flex-row.absolute.top-2.right-4.shadow-lg.px-2.py-1.faster-fade-in
|
||||
[{:keys [matches]}]
|
||||
[:div#search-in-page.flex.flex-row.absolute.top-2.right-4.shadow-lg.px-2.py-1.faster-fade-in.items-center
|
||||
[:div.flex
|
||||
[:input#search-in-page-input.form-input.block.w-48.sm:text-sm.sm:leading-5.my-2.border-none.mr-4.outline-none
|
||||
{:auto-focus true
|
||||
|
@ -51,7 +51,14 @@
|
|||
:on-change (fn [e]
|
||||
(let [value (util/evalue e)]
|
||||
(state/set-state! [:ui/find-in-search :q] value)
|
||||
(debounced-search)))}]]
|
||||
(if (string/blank? value)
|
||||
(search-handler/electron-exit-find-in-page!)
|
||||
(debounced-search))))}]]
|
||||
[:div.px-4.text-sm.opacity-80
|
||||
(:activeMatchOrdinal matches 0)
|
||||
"/"
|
||||
(:matches matches 0)]
|
||||
|
||||
(ui/button
|
||||
(ui/icon "caret-up" {:style {:font-size 18}})
|
||||
:on-click (fn []
|
||||
|
|
Loading…
Reference in New Issue