mirror of
https://github.com/penpot/penpot.git
synced 2025-04-01 17:41:50 -05:00
✨ Improve implementation of submit-button* component
This commit is contained in:
parent
6c2f9b7bd3
commit
6e39c26704
1 changed files with 18 additions and 18 deletions
|
@ -287,20 +287,18 @@
|
|||
|
||||
(mf/defc submit-button*
|
||||
{::mf/wrap-props false}
|
||||
[props]
|
||||
[{:keys [on-click children label form class-name name disabled] :as props}]
|
||||
(let [form (or (unchecked-get props "form")
|
||||
(mf/use-ctx form-ctx))
|
||||
|
||||
label (unchecked-get props "label")
|
||||
on-click (unchecked-get props "onClick")
|
||||
children (unchecked-get props "children")
|
||||
|
||||
class (d/nilv (unchecked-get props "className") "btn-primary btn-large")
|
||||
name (d/nilv (unchecked-get props "name") "submit")
|
||||
|
||||
disabled? (or (and (some? form) (not (:valid @form)))
|
||||
(true? (unchecked-get props "disabled")))
|
||||
new-klass (dm/str class " " (if disabled? (stl/css :btn-disabled) ""))
|
||||
(true? disabled))
|
||||
|
||||
class (dm/str (d/nilv class-name "btn-primary btn-large")
|
||||
" "
|
||||
(if disabled? (stl/css :btn-disabled) ""))
|
||||
|
||||
name (d/nilv name "submit")
|
||||
|
||||
on-key-down
|
||||
(mf/use-fn
|
||||
|
@ -309,14 +307,16 @@
|
|||
(when (and (kbd/enter? event) (fn? on-click))
|
||||
(on-click event))))
|
||||
|
||||
props (-> (obj/clone props)
|
||||
(obj/unset! "children")
|
||||
(obj/set! "disabled" disabled?)
|
||||
(obj/set! "onKeyDown" on-key-down)
|
||||
(obj/set! "name" name)
|
||||
(obj/set! "label" mf/undefined)
|
||||
(obj/set! "className" new-klass)
|
||||
(obj/set! "type" "submit"))]
|
||||
props
|
||||
(-> (obj/clone props)
|
||||
(obj/set! "children" mf/undefined)
|
||||
(obj/set! "disabled" disabled?)
|
||||
(obj/set! "onKeyDown" on-key-down)
|
||||
(obj/set! "name" name)
|
||||
(obj/set! "label" mf/undefined)
|
||||
(obj/set! "className" class)
|
||||
(obj/set! "type" "submit"))
|
||||
]
|
||||
|
||||
[:> "button" props
|
||||
(if (some? children)
|
||||
|
|
Loading…
Add table
Reference in a new issue