Accounts don't need to be loaded

This commit is contained in:
2022-04-19 13:27:47 -07:00
parent f73b406abd
commit f51f3450d6
22 changed files with 398 additions and 420 deletions

View File

@@ -52,7 +52,7 @@
[:name :id]]
[:line-items
[:id :debit :credit :location :running-balance
[:account [:id]]]]
[:account [:id :name]]]]
:date]]
:total
:start

View File

@@ -11,7 +11,7 @@
(defn external-ledger-row [{{:keys [client vendor alternate-description status date amount id source external-id line-items] :as i} :row
:keys [selected-client accounts-by-id bank-accounts-by-id]}]
:keys [selected-client bank-accounts-by-id]}]
[:<>
[grid/row {:class (:class i) :id id :checkable? true :entity i}
(when-not selected-client
@@ -28,8 +28,8 @@
[grid/cell {:class "has-text-right"} (nf amount )]]
[:<>
(for [{:keys [debit credit location account id running-balance]} line-items
:let [account (or (accounts-by-id (:id account))
(bank-accounts-by-id (:id account)))]]
:let [account (or (bank-accounts-by-id (:id account))
account)]]
^{:key id}
[grid/row {:checkable? false}
(when-not selected-client
@@ -49,7 +49,6 @@
(defn table [{:keys [id data-page status vendors on-check-changed expense-event]}]
(let [{:keys [data status params]} @(re-frame/subscribe [::data-page/page data-page])
selected-client @(re-frame/subscribe [::subs/client])
accounts-by-id @(re-frame/subscribe [::subs/accounts-by-id selected-client])
bank-accounts-by-id @(re-frame/subscribe [::subs/bank-accounts-by-id])]
[grid/grid {:data-page data-page
:check-boxes? true
@@ -73,6 +72,5 @@
^{:key id}
[external-ledger-row {:row i
:selected-client selected-client
:accounts-by-id accounts-by-id
:bank-accounts-by-id bank-accounts-by-id}])]]]))

View File

@@ -17,8 +17,7 @@
(defn ledger-side-bar [{:keys [data-page]}]
(let [ap @(re-frame/subscribe [::subs/active-page])
user @(re-frame/subscribe [::subs/user])
accounts-by-id @(re-frame/subscribe [::subs/accounts-by-id])
accounts-index @(re-frame/subscribe [::subs/accounts-index])]
client @(re-frame/subscribe [::subs/client])]
[:div
[:ul.menu-list
[:li.menu-item
@@ -61,12 +60,15 @@
[:p.menu-label "Financial Account"]
[:div
[typeahead-v3 {:entities-by-id accounts-by-id
:entity-index accounts-index
:entity->text (fn [x ] (str (:numeric-code x) " - " (:name x)))
:type "typeahead-v3"
:on-change #(re-frame/dispatch [::data-page/filter-changed data-page :account (some-> % (select-keys [:name :id :numeric-code]))])
:value @(re-frame/subscribe [::data-page/filter data-page :account])}]]
[search-backed-typeahead {:search-query (fn [i]
[:search_account
{:query i
:client-id (:id client)}
[:name :id]])
:entity->text (fn [x ] (str (:numeric-code x) " - " (:name x)))
:type "typeahead-v3"
:on-change #(re-frame/dispatch [::data-page/filter-changed data-page :account (some-> % (select-keys [:name :id :numeric-code]))])
:value @(re-frame/subscribe [::data-page/filter data-page :account])}]]
[:p.menu-label "Vendor"]
[:div

View File

@@ -16,8 +16,8 @@
[cemerick.url :as url]
[re-frame.core :as re-frame]))
(defn ledger-row [{{:keys [client vendor alternate-description note status date amount id line-items source original-entity] :as i} :row
:keys [selected-client accounts-by-id bank-accounts-by-id]}]
(defn ledger-row [{{:keys [client vendor alternate-description note date amount id line-items source original-entity] :as i} :row
:keys [selected-client bank-accounts-by-id]}]
[:<>
[grid/row {:class (:class i) :id id}
(when-not selected-client
@@ -73,8 +73,8 @@
)]]]]])]]
[:<>
(for [{:keys [debit credit location account id running-balance]} line-items
:let [account (or (accounts-by-id (:id account))
(bank-accounts-by-id (:id account)))]]
:let [account (or (bank-accounts-by-id (:id account))
account)]]
^{:key id}
[grid/row {}
(when-not selected-client
@@ -92,10 +92,9 @@
#_[grid/cell {:class "has-text-right"} (when running-balance (nf running-balance ))]])]])
(defn table [{:keys [id data-page status vendors on-check-changed expense-event]}]
(let [{:keys [data status]} @(re-frame/subscribe [::data-page/page data-page])
(defn table [{:keys [data-page]}]
(let [{:keys [data]} @(re-frame/subscribe [::data-page/page data-page])
selected-client @(re-frame/subscribe [::subs/client])
accounts-by-id @(re-frame/subscribe [::subs/accounts-by-id selected-client])
bank-accounts-by-id @(re-frame/subscribe [::subs/bank-accounts-by-id])]
[grid/grid {:data-page data-page
:column-count (if selected-client 5 6)}
@@ -113,10 +112,9 @@
[grid/header-cell {:style {:width (action-cell-width 1)}}]
#_[grid/header-cell {:class "has-text-right" :style {:width "10em"}} "Running Balance"]]]
[grid/body
(for [{:keys [client vendor status date amount id line-items] :as i} (:data data)]
(for [{:keys [id] :as i} (:data data)]
^{:key id}
[ledger-row {:row i
:selected-client selected-client
:accounts-by-id accounts-by-id
:bank-accounts-by-id bank-accounts-by-id}])]]]))