mirror of
https://github.com/logseq/logseq.git
synced 2026-05-01 09:26:28 +00:00
fix(ui): incorrect scrollable container for the blocks list within the preview page modal
This commit is contained in:
@@ -819,43 +819,47 @@
|
|||||||
[visible? set-visible!] (rum/use-state nil)
|
[visible? set-visible!] (rum/use-state nil)
|
||||||
;; set-visible! (fn debug-visible [v] (js/console.warn "debug: visible" v) (set-visible! v))
|
;; set-visible! (fn debug-visible [v] (js/console.warn "debug: visible" v) (set-visible! v))
|
||||||
_ #_:clj-kondo/ignore (rum/defc preview-render []
|
_ #_:clj-kondo/ignore (rum/defc preview-render []
|
||||||
(rum/use-effect!
|
(let [[ready? set-ready!] (rum/use-state false)]
|
||||||
(fn []
|
|
||||||
(let [el-popup (rum/deref *el-popup)
|
|
||||||
focus! #(js/setTimeout (fn [] (.focus el-popup)))]
|
|
||||||
(focus!)
|
|
||||||
#(set-visible! false)))
|
|
||||||
[])
|
|
||||||
|
|
||||||
(when-let [source (or (db/get-alias-source-page (state/get-current-repo) (:db/id page-entity))
|
(rum/use-effect!
|
||||||
|
(fn []
|
||||||
|
(let [el-popup (rum/deref *el-popup)
|
||||||
|
focus! #(js/setTimeout (fn [] (.focus el-popup)))]
|
||||||
|
(set-ready! true)
|
||||||
|
(focus!)
|
||||||
|
(fn [] (set-visible! false))))
|
||||||
|
[])
|
||||||
|
|
||||||
|
(when-let [source (or (db/get-alias-source-page (state/get-current-repo) (:db/id page-entity))
|
||||||
page-entity)]
|
page-entity)]
|
||||||
[:div.tippy-wrapper.as-page
|
[:div.tippy-wrapper.as-page
|
||||||
{:ref *el-popup
|
{:ref *el-popup
|
||||||
:tab-index -1
|
:tab-index -1
|
||||||
:style {:width 600
|
:style {:width 600
|
||||||
:text-align "left"
|
:text-align "left"
|
||||||
:font-weight 500
|
:font-weight 500
|
||||||
:padding-bottom 64}
|
:padding-bottom 64}
|
||||||
:on-mouse-enter (fn []
|
:on-mouse-enter (fn []
|
||||||
(when-let [timer1 (rum/deref *timer1)]
|
(when-let [timer1 (rum/deref *timer1)]
|
||||||
(js/clearTimeout timer1)))
|
(js/clearTimeout timer1)))
|
||||||
:on-mouse-leave (fn []
|
:on-mouse-leave (fn []
|
||||||
;; check the top popup whether is the preview popup
|
;; check the top popup whether is the preview popup
|
||||||
(when (ui/last-shui-preview-popup?)
|
(when (ui/last-shui-preview-popup?)
|
||||||
(rum/set-ref! *timer1
|
(rum/set-ref! *timer1
|
||||||
(js/setTimeout #(set-visible! false) 500))))}
|
(js/setTimeout #(set-visible! false) 500))))}
|
||||||
(let [page-cp (state/get-page-blocks-cp)]
|
(when-let [page-cp (and ready? (state/get-page-blocks-cp))]
|
||||||
(page-cp {:repo (state/get-current-repo)
|
(page-cp {:repo (state/get-current-repo)
|
||||||
:page-name (str (:block/uuid source))
|
:page-name (str (:block/uuid source))
|
||||||
:sidebar? sidebar?
|
:sidebar? sidebar?
|
||||||
:preview? true}))]))]
|
:scroll-container (some-> (rum/deref *el-popup) (.closest ".ls-preview-popup"))
|
||||||
|
:preview? true}))])))]
|
||||||
|
|
||||||
(rum/use-effect!
|
(rum/use-effect!
|
||||||
(fn []
|
(fn []
|
||||||
(if (some-> (rum/deref *el-wrap) (.closest "[data-radix-popper-content-wrapper]"))
|
(if (some-> (rum/deref *el-wrap) (.closest "[data-radix-popper-content-wrapper]"))
|
||||||
(set-in-popup! true)
|
(set-in-popup! true)
|
||||||
(set-in-popup! false)))
|
(set-in-popup! false)))
|
||||||
[])
|
[])
|
||||||
|
|
||||||
[:span {:ref *el-wrap}
|
[:span {:ref *el-wrap}
|
||||||
(if (boolean? in-popup?)
|
(if (boolean? in-popup?)
|
||||||
|
|||||||
Reference in New Issue
Block a user