This commit is contained in:
Bryce Covert
2020-06-14 08:29:23 -07:00
parent ad4054d820
commit bd17cd3caa
9 changed files with 126 additions and 70 deletions

View File

@@ -9,10 +9,38 @@
[re-frame.core :as re-frame]))
(re-frame/reg-sub
::filters
::specific-filters
(fn [db ]
(::filters db {})))
(re-frame/reg-sub
::filters
:<- [::specific-filters]
:<- [::subs/vendors-by-id]
:<- [::subs/bank-accounts-by-id]
:<- [::subs/accounts-by-id]
:<- [::subs/query-params]
(fn [[specific-filters vendors-by-id bank-accounts-by-id accounts-by-id query-params] ]
(let [url-filters (-> query-params
(select-keys #{:vendor-id
:bank-account-id
:account-id
:date-range}))
url-filters {:vendor (when-let [vendor-id (:vendor-id url-filters)]
{:id (str vendor-id)
:name (get-in vendors-by-id [(str vendor-id) :name] "Loading...")})
:bank-account (when-let [bank-account-id (:bank-account-id url-filters)]
{:id (str bank-account-id)
:name (get-in bank-accounts-by-id [(str bank-account-id) :name] "Loading...")})
:account (when-let [account-id (:account-id url-filters)]
{:id (str account-id)
:numeric-code (get-in accounts-by-id [(str account-id) :numeric-code] "Loading...")
:name (get-in accounts-by-id [(str account-id) :name] "Loading...")})
:date-range (:date-range url-filters)}]
(println url-filters specific-filters)
(merge url-filters specific-filters ))))
(re-frame/reg-sub
::filter
:<- [::filters]
@@ -24,6 +52,7 @@
:<- [::filters]
(fn [filters]
{:vendor-id (:id (:vendor filters))
:account-id (:id (:account filters))
:date-range (:date-range filters)
:bank-account-id (:id (:bank-account filters))}))
@@ -39,7 +68,8 @@
(defn ledger-side-bar []
(let [ap @(re-frame/subscribe [::subs/active-page])
user @(re-frame/subscribe [::subs/user])]
user @(re-frame/subscribe [::subs/user])
accounts @(re-frame/subscribe [::subs/accounts])]
[:div
[:ul.menu-list
[:li.menu-item
@@ -69,10 +99,11 @@
[:div
[:p.menu-label "Bank Account"]
[:div
[bank-account-filter
{:on-change-event [::filter-changed :bank-account]
:value @(re-frame/subscribe [::filter :bank-account])
:bank-accounts @(re-frame/subscribe [::subs/bank-accounts])}]]
[typeahead-entity {:matches @(re-frame/subscribe [::subs/bank-accounts])
:match->text :name
:type "typeahead-entity"
:on-change #(re-frame/dispatch [::filter-changed :bank-account %])
:value @(re-frame/subscribe [::filter :bank-account])}]]
[:p.menu-label "Vendor"]
[:div
@@ -81,6 +112,14 @@
:match->text :name
:type "typeahead-entity"
:value @(re-frame/subscribe [::filter :vendor])}]]
[:p.menu-label "Account"]
[:div
[typeahead-entity {:matches accounts
:match->text (fn [x ] (str (:numeric-code x) " - " (:name x)))
:type "typeahead-entity"
:on-change #(re-frame/dispatch [::filter-changed :account %])
:value @(re-frame/subscribe [::filter :account])}]]
[:p.menu-label "Date Range"]
[:div
[date-range-filter