mirror of
https://github.com/logseq/logseq.git
synced 2026-05-03 10:26:35 +00:00
fix(whiteboard): cleanup click outside events correctly
This commit is contained in:
@@ -122,7 +122,9 @@
|
||||
(defn use-click-outside
|
||||
"Returns a function that can be used to register a callback
|
||||
that will be called when the user clicks outside the given dom node"
|
||||
[handler]
|
||||
[handler & {:keys [capture? event]
|
||||
:or {capture? false
|
||||
event "click"}}] ;; could be "mousedown" or "click"
|
||||
(let [[ref set-ref] (rum/use-state nil)]
|
||||
(rum/use-effect!
|
||||
(fn []
|
||||
@@ -130,7 +132,7 @@
|
||||
(when (and ref
|
||||
(not (.. ref (contains (.-target e)))))
|
||||
(handler e)))]
|
||||
(js/document.addEventListener "click" listener)
|
||||
#(.removeEventListener js/document "click" listener)))
|
||||
(js/document.addEventListener event listener capture?)
|
||||
#(js/document.removeEventListener event listener capture?)))
|
||||
[ref])
|
||||
set-ref))
|
||||
|
||||
Reference in New Issue
Block a user