really improved vendor dialog code.

This commit is contained in:
Bryce Covert
2020-04-18 09:16:32 -07:00
parent 9204e18b98
commit ec10e6b823
13 changed files with 211 additions and 335 deletions

View File

@@ -213,35 +213,8 @@
(fn [x]
(assoc-in x more value)))))
(re-frame/reg-event-fx
::save-vendor
(fn [{:keys [db]} _]
(let [edited-vendor (get-in db [:user-editing-vendor])]
(assoc {} :graphql
{:token (-> db :user)
:query-obj {:venia/operation {:operation/type :mutation
:operation/name "UpsertVendor"}
:venia/queries [{:query/data [:upsert-vendor
{:vendor (dissoc edited-vendor :default-account)}
vendor-query]}]}
:on-success [::save-complete]
:on-error [::save-error]}))))
(re-frame/reg-event-db
::save-error
(fn [db [_ vendor]]
(-> db
(assoc-in [:modal-state :auto-ap.views.main/user-editing-vendor :error] true)
(assoc-in [:modal-state :auto-ap.views.main/user-editing-vendor :saving?] false))))
(re-frame/reg-event-fx
::save-complete
(fn [{:keys [db]} [_ vendor]]
{:dispatch [::modal-completed :auto-ap.views.main/user-editing-vendor ]
:db (-> db
(dissoc :user-editing-vendor)
(assoc-in [:vendors (:id (:upsert-vendor vendor))] (:upsert-vendor vendor)))}))
(re-frame/reg-event-db
::page-failed
(fn [db [_ result]]