Fix toggle-amount-mode: set up form cursor context for grid re-render
The toggle-amount-mode handler was failing because account-grid-body* uses fc/cursor-map which requires the form cursor context to be set up. Added manual cursor binding in toggle-amount-mode to create a cursor pointing to the transaction/accounts vector and bind it to fc/*current* before rendering the grid.
This commit is contained in:
@@ -23,6 +23,7 @@
|
||||
[auto-ap.ssr.grid-page-helper :as helper]
|
||||
[auto-ap.ssr.transaction.common :refer [grid-page]]
|
||||
[auto-ap.ssr.components.multi-modal :as mm]
|
||||
[auto-ap.cursor :as cursor]
|
||||
[auto-ap.ssr.form-cursor :as fc]
|
||||
[auto-ap.ssr.hx :as hx]
|
||||
[auto-ap.ssr.svg :as svg]
|
||||
@@ -358,13 +359,19 @@
|
||||
(let [snapshot (-> request :multi-form-state :snapshot)
|
||||
old-mode (or (:amount-mode snapshot) "$")
|
||||
new-mode (or (get-in request [:form-params :amount-mode]) "$")
|
||||
total (Math/abs (:transaction/amount snapshot))
|
||||
accounts (convert-accounts-mode (:transaction/accounts snapshot) old-mode new-mode total)]
|
||||
total (Math/abs (or (:transaction/amount snapshot) 0.0))
|
||||
accounts (convert-accounts-mode (:transaction/accounts snapshot) old-mode new-mode total)
|
||||
updated-request (-> request
|
||||
(assoc-in [:multi-form-state :snapshot :transaction/accounts] accounts)
|
||||
(assoc-in [:multi-form-state :snapshot :amount-mode] new-mode))
|
||||
mfs-cursor (cursor/cursor (:multi-form-state updated-request))
|
||||
accounts-cursor (get (get (get mfs-cursor :snapshot) :step-params) :transaction/accounts)]
|
||||
(binding [fc/*form-data* (:multi-form-state updated-request)
|
||||
fc/*form-errors* {}
|
||||
fc/*current* accounts-cursor]
|
||||
(html-response
|
||||
[:div#account-grid-body
|
||||
(account-grid-body* (-> request
|
||||
(assoc-in [:multi-form-state :snapshot :transaction/accounts] accounts)
|
||||
(assoc-in [:multi-form-state :snapshot :amount-mode] new-mode)))])))
|
||||
(account-grid-body* updated-request)]))))
|
||||
|
||||
(defrecord BasicDetailsStep [linear-wizard]
|
||||
mm/ModalWizardStep
|
||||
|
||||
Reference in New Issue
Block a user