number range match.

This commit is contained in:
Bryce Covert
2020-03-21 12:33:28 -07:00
parent f0ac926700
commit c6d09a07e9
3 changed files with 31 additions and 0 deletions

View File

@@ -59,6 +59,18 @@
(merge-query {:query {:in ['?vendor-id]
:where ['[?e :transaction/vendor ?vendor-id]]}
:args [(:vendor-id args)]})
(:amount-gte args)
(merge-query {:query {:in ['?amount-gte]
:where ['[?e :transaction/amount ?a]
'[(>= ?a ?amount-gte)]]}
:args [(:amount-gte args)]})
(:amount-lte args)
(merge-query {:query {:in ['?amount-lte]
:where ['[?e :transaction/amount ?a]
'[(<= ?a ?amount-lte)]]}
:args [(:amount-lte args)]})
(:start (:date-range args))
(merge-query {:query {:in ['?start-date]
:where ['[?e :transaction/date ?date]

View File

@@ -399,6 +399,8 @@
:vendor_id {:type :id}
:bank_account_id {:type :id}
:date_range {:type :date_range}
:amount_lte {:type :money}
:amount_gte {:type :money}
:start {:type 'Int}
:sort_by {:type 'String}
:asc {:type 'Boolean}

View File

@@ -6,6 +6,7 @@
[auto-ap.routes :as routes]
[auto-ap.views.components.bank-account-filter :refer [bank-account-filter]]
[auto-ap.views.components.date-range-filter :refer [date-range-filter]]
[auto-ap.views.components.number-filter :refer [number-filter]]
[auto-ap.views.components.vendor-filter :refer [vendor-filter]]
[auto-ap.views.components.typeahead :refer [typeahead-entity]]
[auto-ap.views.components.layouts :refer [appearing-side-bar side-bar-layout]]
@@ -94,6 +95,16 @@
{:dispatch [::params-change (::params updated)]
:db updated})))
(re-frame/reg-event-fx
::change-selected-amount-range
(fn [{:keys [db]} [_ key value]]
(let [[key] key
updated (-> db
(assoc-in [::transaction-page :amount-range-filter key] value)
(assoc-in [::params key] value))]
{:dispatch [::params-change (::params updated)]
:db updated})))
(re-frame/reg-event-fx
::change-selected-vendor
(fn [{:keys [db]} [_ vendor]]
@@ -202,6 +213,12 @@
{:on-change-event [::change-selected-date-range]
:value (:date-range-filter @(re-frame/subscribe [::transaction-page]))}]]
[:p.menu-label "Amount"]
[:div
[number-filter
{:on-change-event [::change-selected-amount-range]
:value (:amount-range-filter @(re-frame/subscribe [::transaction-page]))}]]
[:p.menu-label "Vendor"]
[:div
[typeahead-entity {:matches @(re-frame/subscribe [::subs/vendors])