Made admin clients easier to work with.

This commit is contained in:
2022-07-14 12:58:06 -07:00
parent 24da451c50
commit 99fe24ddae
12 changed files with 2849 additions and 260 deletions

View File

@@ -105,8 +105,6 @@
(re-frame/reg-event-db
::save-error
(fn [db [_ form result]]
(println result)
(-> db
(assoc-in [::forms form :status] :error)
(assoc-in [::forms form :error] (or (:message (first result))
@@ -153,7 +151,7 @@
(assoc-in [::forms id :error] nil)))
(defn vertical-form [{:keys [can-submit id change-event submit-event ]}]
(defn vertical-form [{:keys [can-submit id change-event submit-event fullwidth?] :or {fullwidth? true}}]
{:form
(fn [{:keys [title] :as params} & children]
(let [{:keys [data active? error]} @(re-frame/subscribe [::form id])
@@ -190,13 +188,15 @@
(assoc-in [1 :event] change-event))]))
:field-holder (fn [label control]
[:div.field
(when label [:p.help label])
(when label (if fullwidth? [:p.help label]
[:label.label label]))
[:div.control control]])
:field ^{:key "field"}
(fn [label control]
(let [{:keys [data]} @(re-frame/subscribe [::form id])]
[:div.field
(when label [:p.help label])
(when label (if fullwidth? [:p.help label]
[:label.label label]))
[:div.control [bind-field (-> control
(assoc-in [1 :subscription] data)
(assoc-in [1 :event] change-event))]]]))
@@ -210,8 +210,9 @@
(let [error (:error @(re-frame/subscribe [::form id]))
status @(re-frame/subscribe [::status/single id])
can-submit @(re-frame/subscribe can-submit)]
[:button.button.is-medium.is-primary.is-fullwidth {:disabled (or (status/disabled-for status)
[:button.button.is-medium.is-primary {:disabled (or (status/disabled-for status)
(not can-submit))
:class (status/class-for status) }
:class (cond-> (status/class-for status)
fullwidth? (conj "is-fullwidth")) }
child]))})