Undoes old way of doing forms in favor of context version. Much easier

This commit is contained in:
2022-07-17 17:32:47 -07:00
parent a17f587ff3
commit b6962c5bfa
17 changed files with 782 additions and 1393 deletions

View File

@@ -23,7 +23,8 @@
[reagent.core :as reagent]
[vimsical.re-frame.fx.track :as track]
[vimsical.re-frame.cofx.inject :as inject]
[auto-ap.views.pages.ledger.report-table :as rtable]))
[auto-ap.views.pages.ledger.report-table :as rtable]
[auto-ap.forms.builder :as form-builder]))
(defn data-params->query-params [params]
(when params
@@ -36,11 +37,6 @@
:to-numeric-code (:to-numeric-code params)
:date-range (:date-range params)}))
(re-frame/reg-sub
::can-submit
(fn [_]
true))
(re-frame/reg-sub
::ledger-list-active?
@@ -183,53 +179,46 @@ NOTE: Please review the transactions we may have question for you here: https://
:event-fn (fn [params] [::ledger-params-change params])}}))
(def balance-sheet-form (forms/vertical-form {:can-submit [::can-submit]
:change-event [::change]
:submit-event [::report-requested]
:id ::form}))
(defn report-form []
(let [{:keys [form-inline raw-field]} balance-sheet-form
{:keys [data]} @(re-frame/subscribe [::forms/form ::form])]
(form-inline {}
[:div
[:div.report-controls
[:div.level
[:div.level-left
[:div.level-item
[:div.control
[:p.help "Date"]
(raw-field
[date-picker {:output :cljs-date
:type "date"
:field [:date]}])]]
[:div.level-item
[:div.control
[:div.mt-3]
[switch-field {:id "include-comparison"
:checked (:include-comparison data)
:on-change (fn [e]
(re-frame/dispatch [::change [:include-comparison] (.-checked (.-target e))]))
:label "Include comparison"
:type "checkbox"}]]]
[:div.level-item
(let [{:keys [data]} @(re-frame/subscribe [::forms/form ::form])]
[form-builder/builder {:change-event [::change]
:submit-event [::report-requested]
:id ::form}
[:div
[:div.report-controls
[:div.level
[:div.level-left
[:div.level-item
[:div.control
[form-builder/field
"Date"
[date-picker {:output :cljs-date
:type "date"
:field [:date]}]]]]
[:div.level-item
[form-builder/field
[:div.mt-5]
[switch-field {:id "include-comparison"
:field [:include-comparison]
:label "Include compariison"
:type "checkbox"}]]]
[:div.level-item
(when (boolean (:include-comparison data))
[:div.control
[:p.help "Comparison Date"]
(raw-field
[date-picker {:output :cljs-date
:type "date"
:field [:comparison-date]}])])]]
[:div.level-right
[:div.buttons
(when (boolean (:include-comparison data))
[form-builder/field
"Comparison Date"
[date-picker {:output :cljs-date
:type "date"
:field [:comparison-date]}]])]]
[:div.level-right
[:div.buttons
(when @(re-frame/subscribe [::subs/is-admin?])
[:button.button.is-secondary {:on-click (dispatch-event [::export-pdf])} "Export"])
[:button.button.is-primary "Run"]]]]]])))
(when @(re-frame/subscribe [::subs/is-admin?])
[:button.button.is-secondary {:on-click (dispatch-event [::export-pdf])} "Export"])
[:button.button.is-primary "Run"]]]]]]]))
(defn balance-sheet-report [{:keys [args report-data]}]
(let [pnl-data (concat (->> (:balance-sheet-accounts report-data)
(let [pnl-data (concat (->> (:balance-sheet-accounts report-data)
(map (fn [b]
(assoc b
:period (:date args)