From 6e39c26704af07df726c419cbc2996d20d28d66e Mon Sep 17 00:00:00 2001 From: Andrey Antukh Date: Thu, 11 Jan 2024 15:23:13 +0100 Subject: [PATCH] :sparkles: Improve implementation of submit-button* component --- .../src/app/main/ui/components/forms.cljs | 36 +++++++++---------- 1 file changed, 18 insertions(+), 18 deletions(-) diff --git a/frontend/src/app/main/ui/components/forms.cljs b/frontend/src/app/main/ui/components/forms.cljs index 205636950..07ce76ed7 100644 --- a/frontend/src/app/main/ui/components/forms.cljs +++ b/frontend/src/app/main/ui/components/forms.cljs @@ -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)