fix: disable shortcuts for rename dialog

This commit is contained in:
Weihua Lu
2021-05-17 20:08:32 +08:00
parent f6310ba436
commit b656d2d58f
2 changed files with 22 additions and 1 deletions

View File

@@ -39,6 +39,7 @@
[frontend.context.i18n :as i18n]
[reitit.frontend.easy :as rfe]
[frontend.text :as text]
[frontend.modules.shortcut.core :as shortcut]
[frontend.handler.block :as block-handler]))
(defn- get-page-name
@@ -156,6 +157,7 @@
(t :cancel)]]]])))
(rum/defcs rename-page-dialog-inner <
(shortcut/disable-all-shortcuts)
(rum/local "" ::input)
[state title page-name close-fn]
(let [input (get state ::input)]

View File

@@ -50,7 +50,7 @@
install-id (medley/random-uuid)
data {install-id
{:group handler-id
:dispath-fn f
:dispatch-fn f
:handler handler}}]
(events/listen handler EventType/SHORTCUT_TRIGGERED f)
@@ -97,3 +97,22 @@
(-> (get state :shortcut-key)
uninstall-shortcut!)
(dissoc state :shortcut-key))})
(defn unlisten-all []
(doseq [{:keys [handler]} (vals @*installed)]
(.removeAllListeners handler)))
(defn listen-all []
(doseq [{:keys [handler dispatch-fn]} (vals @*installed)]
(events/listen handler EventType/SHORTCUT_TRIGGERED dispatch-fn)))
(defn disable-all-shortcuts []
{:did-mount
(fn [state]
(unlisten-all)
state)
:will-unmount
(fn [state]
(listen-all)
state)})