enhance(ui): refactor the classic select modal with the shui dialog

This commit is contained in:
charlie
2024-10-11 17:49:16 +08:00
parent da20b0ea5f
commit ffb3e138c4
2 changed files with 23 additions and 4 deletions

View File

@@ -8,6 +8,7 @@
[frontend.search :as search]
[frontend.state :as state]
[frontend.ui :as ui]
[logseq.shui.ui :as shui]
[frontend.util :as util]
[frontend.util.text :as text-util]
[rum.core :as rum]
@@ -236,11 +237,17 @@
(rum/defc select-modal < rum/reactive
[]
(when-let [select-type (state/sub [:ui/open-select])]
(let [select-type-config (get (select-config) select-type)]
(state/set-modal!
(let [select-type-config (get (select-config) select-type)
on-chosen' (:on-chosen select-type-config)]
(shui/dialog-open!
#(select (-> select-type-config
(assoc :on-chosen (fn [it]
(on-chosen' it)
(shui/dialog-close! :ls-select-modal)))
(select-keys [:on-chosen :empty-placeholder :prompt-key])
(assoc :items ((:items-fn select-type-config)))))
{:fullscreen? false
:close-btn? false}))
{:id :ls-select-modal
:close-btn? false
:align :top
:content-props {:class "ls-dialog-select"}}))
nil))