made it possible to change accounts.

This commit is contained in:
Bryce Covert
2020-04-29 08:21:39 -07:00
parent 3f8ce25e7f
commit 8043fb0b81
8 changed files with 246 additions and 120 deletions

View File

@@ -24,17 +24,39 @@
"is-loading"
"")))
(defn start-form [db form data]
(assoc-in db [::forms form] {:error nil
:active? true
:id (random-uuid)
:status nil
:data data}))
(defn start-form
([db form data]
(start-form db form data nil))
([db form data complete-listener]
(assoc-in db [::forms form] {:error nil
:active? true
:id (random-uuid)
:status nil
:data data
:complete-listener complete-listener})))
(defn saved-form [db form data]
(defn ^:depracated saved-form [db form data]
(update-in db [::forms form]
assoc :error nil :status nil :data data))
(defn triggers-saved [form data-key]
(i/->interceptor
:id :triggers-saved
:before (fn [context]
context)
:after (fn [context]
(let [db (i/get-coeffect context :db)
result (get-in (i/get-coeffect context :event) [1 data-key])]
(println (get-in db [::forms form :complete-listener]))
(cond-> context
true
(i/assoc-effect :db (update-in db
[::forms form]
assoc :error nil :status nil :data result))
(get-in db [::forms form :complete-listener])
(i/assoc-effect :dispatch (conj (get-in db [::forms form :complete-listener ])
result)))))))
(defn stop-form [db form]
(update db ::forms dissoc form))
@@ -48,8 +70,6 @@
[form-name]
(re-frame/path [::forms form-name]))
(re-frame/reg-event-db
::change
(fn [db [_ form & path-pairs]]
@@ -140,6 +160,10 @@
[bind-field (-> control
(assoc-in [1 :subscription] data)
(assoc-in [1 :event] change-event))]))
:field-holder (fn [label control]
[:div.field
(when label [:p.help label])
[:div.control control]])
:field (fn [label control]
(let [{:keys [data]} @(re-frame/subscribe [::form id])]
[:div.field