the form is pretty good now.

This commit is contained in:
Bryce Covert
2019-04-26 14:50:13 -07:00
parent 48a8e0ce9f
commit 3902900095
2 changed files with 28 additions and 14 deletions

View File

@@ -59,6 +59,22 @@
db
(partition 2 path-pairs))))
(defn change-handler [form customize-fn]
(fn [db [_ & path-pairs]]
(println "CHA" form path-pairs)
(reduce
(fn [db [path value]]
(println "PATH" path "VALUE" value)
(let [updated (assoc-in db (into [::forms form :data] path) value)]
(reduce
(fn [updated [path value ]]
(println "custom PATH" path "custom VALUE" value)
(assoc-in updated (into [::forms form :data] path) value))
updated
(partition 2 (customize-fn (get-in updated [::forms form :data]) path value)))))
db
(partition 2 path-pairs))))
(re-frame/reg-event-db
::save-error
(fn [db [_ form result]]

View File

@@ -53,21 +53,19 @@
(assoc :potential-payment-matches potential-payment-matches)
(update :accounts expense-accounts-field/from-graphql (:amount which) locations))))))
(re-frame/reg-event-fx
(re-frame/reg-event-db
::changed
[(forms/in-form ::form)]
(fn [{{:keys [data]} :db} [_ field value]]
(let [locations @(re-frame/subscribe [::subs/locations-for-client (:id (:client data))])]
(if (and (= [:vendor] field)
value
(expense-accounts-field/can-replace-with-default? (:accounts data)))
{:dispatch [::forms/change ::form
field value
[:accounts] (expense-accounts-field/default-account (:accounts data)
@(re-frame/subscribe [::subs/vendor-default-account value])
(:amount data)
locations)]}
{:dispatch [::forms/change ::form field value]}))))
(forms/change-handler ::form
(fn [data field value]
(let [locations @(re-frame/subscribe [::subs/locations-for-client (:id (:client data))])]
(if (and (= [:vendor] field)
value
(expense-accounts-field/can-replace-with-default? (:accounts data)))
[[:accounts] (expense-accounts-field/default-account (:accounts data)
@(re-frame/subscribe [::subs/vendor-default-account value])
(:amount data)
locations)]
[])))))
(re-frame/reg-event-fx
::saving