enhance(ux): WIP dropdown property editor

pull/11483/head
charlie 2024-08-20 12:49:02 +08:00
parent aa0b0799e5
commit ac2417a9fb
3 changed files with 17 additions and 3 deletions

View File

@ -193,11 +193,20 @@
(rum/defc confirm-inner
[config]
(let [{:keys [deferred outside-cancel?]} config]
(let [{:keys [deferred outside-cancel?]} config
*ok-ref (rum/use-ref nil)]
(rum/use-effect!
(fn []
(js/setTimeout
#(some-> (rum/deref *ok-ref) (.focus)) 128))
[])
(alert-inner
(assoc config
:overlay-props
{:on-click #(when outside-cancel? (close!) (p/reject! deferred nil))}
:footer
[:<>
(base/button
@ -208,6 +217,7 @@
"Cancel")
(base/button
{:key "ok"
:ref *ok-ref
:on-click #(do (close!) (p/resolve! deferred true))
:size :sm
} "OK")]))))

View File

@ -663,10 +663,12 @@
(route-handler/redirect-to-page! (:block/uuid property))
(.preventDefault e)))
:on-context-menu (fn [^js e]
(util/stop e)
(shui/popup-show! (.-target e)
(fn [{:keys [id]}]
(property-v2/dropdown-editor id property))
{:content-props {:class "ls-property-dropdown-editor"}
:align "start"
:as-dropdown? true}))
:on-click (fn [^js e]
(shui/popup-show!

View File

@ -63,5 +63,7 @@
(dropdown-editor-menuitem
{:icon :square-x :title "Remove property" :desc "" :disabled? false
:item-props {:class "opacity-50 focus:opacity-100 focus:!text-red-rx-08"
:on-select #(-> (shui/dialog-confirm! "remove?")
(p/then (fn [] (shui/popup-hide! popup-id))))}})]))
:on-select (fn [^js e]
(util/stop e)
(-> (shui/dialog-confirm! "remove?")
(p/then (fn [] (shui/popup-hide! popup-id)))))}})]))