mirror of https://github.com/logseq/logseq
fix: debounce shortcut installation
parent
425cfa298e
commit
a43d737042
|
@ -14,8 +14,7 @@
|
|||
[logseq.api]
|
||||
[frontend.fs.sync :as sync]
|
||||
[frontend.config :as config]
|
||||
[frontend.util :as util]
|
||||
[frontend.modules.shortcut.core :as shortcut]))
|
||||
[frontend.util :as util]))
|
||||
|
||||
(defn set-router!
|
||||
[]
|
||||
|
@ -48,7 +47,6 @@
|
|||
(when-let [node (.getElementById js/document "root")]
|
||||
(set-router!)
|
||||
(rum/mount (page/current-page) node)
|
||||
(shortcut/refresh!)
|
||||
(display-welcome-message)
|
||||
(persist-var/load-vars)
|
||||
(when (and config/dev? (util/electron?))
|
||||
|
|
|
@ -97,7 +97,6 @@
|
|||
(p/finally
|
||||
(fn []
|
||||
;; install after config is restored
|
||||
(shortcut/unlisten-all)
|
||||
(shortcut/refresh!)
|
||||
|
||||
(cond
|
||||
|
|
|
@ -134,7 +134,6 @@
|
|||
(state/set-current-repo! graph)
|
||||
;; load config
|
||||
(repo-config-handler/restore-repo-config! graph)
|
||||
(st/refresh!)
|
||||
(when-not (= :draw (state/get-current-route))
|
||||
(route-handler/redirect-to-home!))
|
||||
(when-let [dir-name (config/get-repo-dir graph)]
|
||||
|
@ -557,7 +556,6 @@
|
|||
|
||||
(defn- refresh-cb []
|
||||
(page-handler/create-today-journal!)
|
||||
(st/refresh!)
|
||||
(file-sync-restart!))
|
||||
|
||||
(defmethod handle :graph/ask-for-re-fresh [_]
|
||||
|
|
|
@ -8,7 +8,8 @@
|
|||
[frontend.util :as util]
|
||||
[goog.events :as events]
|
||||
[goog.ui.KeyboardShortcutHandler.EventType :as EventType]
|
||||
[lambdaisland.glogi :as log])
|
||||
[lambdaisland.glogi :as log]
|
||||
[goog.functions :refer [debounce]])
|
||||
(:import [goog.events KeyCodes KeyHandler KeyNames]
|
||||
[goog.ui KeyboardShortcutHandler]))
|
||||
|
||||
|
@ -175,18 +176,21 @@
|
|||
(listen-all)
|
||||
state)})
|
||||
|
||||
(defn refresh!
|
||||
(defn refresh-internal!
|
||||
"Always use this function to refresh shortcuts"
|
||||
[]
|
||||
(when-not (:ui/shortcut-handler-refreshing? @state/state)
|
||||
(state/set-state! :ui/shortcut-handler-refreshing? true)
|
||||
(log/info :shortcut/refresh @*installed)
|
||||
|
||||
(doseq [id (keys @*installed)]
|
||||
(uninstall-shortcut! id))
|
||||
(install-shortcuts!)
|
||||
(state/pub-event! [:shortcut-handler-refreshed])
|
||||
(state/set-state! :ui/shortcut-handler-refreshing? false)))
|
||||
|
||||
(def refresh! (debounce refresh-internal! 1000))
|
||||
|
||||
(defn- name-with-meta [e]
|
||||
(let [ctrl (.-ctrlKey e)
|
||||
alt (.-altKey e)
|
||||
|
|
Loading…
Reference in New Issue