fix: prefer step-params over snapshot for row-count and existing-row

This commit is contained in:
2026-05-27 23:49:59 -07:00
parent a7ac7eae35
commit cbb9bc750d

View File

@@ -186,9 +186,11 @@
Caller must establish Alpine x-data with simpleAccountId in scope." Caller must establish Alpine x-data with simpleAccountId in scope."
[request] [request]
(let [snapshot (-> request :multi-form-state :snapshot) (let [snapshot (-> request :multi-form-state :snapshot)
step-params (-> request :multi-form-state :step-params)
client-id (or (-> request :entity :transaction/client :db/id) client-id (or (-> request :entity :transaction/client :db/id)
(:transaction/client snapshot)) (:transaction/client snapshot))
existing-row (first (:transaction/accounts snapshot)) existing-row (first (or (seq (:transaction/accounts step-params))
(seq (:transaction/accounts snapshot))))
account-val (:transaction-account/account existing-row) account-val (:transaction-account/account existing-row)
location-val (or (:transaction-account/location existing-row) "Shared") location-val (or (:transaction-account/location existing-row) "Shared")
account-id (when (nat-int? account-val) account-id (when (nat-int? account-val)
@@ -501,7 +503,10 @@
Must be called within a fc/start-form + fc/with-field :step-params context." Must be called within a fc/start-form + fc/with-field :step-params context."
[mode request] [mode request]
(let [snapshot (-> request :multi-form-state :snapshot) (let [snapshot (-> request :multi-form-state :snapshot)
row-count (count (:transaction/accounts snapshot))] step-params (-> request :multi-form-state :step-params)
all-accounts (or (seq (:transaction/accounts step-params))
(seq (:transaction/accounts snapshot)))
row-count (count all-accounts)]
[:div#manual-coding-section [:div#manual-coding-section
(com/hidden {:name "mode" :value (name mode)}) (com/hidden {:name "mode" :value (name mode)})
[:div {:hx-trigger "change" [:div {:hx-trigger "change"
@@ -522,7 +527,7 @@
:content-fn (fn [c] (pull-attr (dc/db conn) :vendor/name c))})]))] :content-fn (fn [c] (pull-attr (dc/db conn) :vendor/name c))})]))]
(if (= mode :simple) (if (= mode :simple)
[:div {:x-data (hx/json {:simpleAccountId [:div {:x-data (hx/json {:simpleAccountId
(-> snapshot :transaction/accounts first (-> (first all-accounts)
:transaction-account/account)})} :transaction-account/account)})}
(simple-mode-fields* request)] (simple-mode-fields* request)]
[:div [:div