transaction date range. Need to generalize filter changing.
This commit is contained in:
38
src/cljs/auto_ap/views/components/date_range_filter.cljs
Normal file
38
src/cljs/auto_ap/views/components/date_range_filter.cljs
Normal file
@@ -0,0 +1,38 @@
|
||||
(ns auto-ap.views.components.date-range-filter
|
||||
(:require
|
||||
[clojure.spec.alpha :as s]
|
||||
[auto-ap.entities.invoice :as invoice]
|
||||
[auto-ap.views.components.typeahead :refer [typeahead]]
|
||||
[auto-ap.views.utils :refer [bind-field date-picker]]))
|
||||
|
||||
(defn date-range-filter [{:keys [value on-change-event]}]
|
||||
[:div.field
|
||||
[:div.control
|
||||
[:div.columns.is-variable.is-1
|
||||
[:div.column
|
||||
[bind-field
|
||||
[date-picker {:class-name "input is-fullwidth"
|
||||
:class "input"
|
||||
:format-week-number (fn [] "")
|
||||
:previous-month-button-label ""
|
||||
:placeholder "Start Date mm/dd/yyyy"
|
||||
:next-month-button-label ""
|
||||
:next-month-label ""
|
||||
:event on-change-event
|
||||
:type "date"
|
||||
:field [:start]
|
||||
:subscription value}]]]
|
||||
[:div.column.is-narrow " to "]
|
||||
[:div.column
|
||||
[bind-field
|
||||
[date-picker {:class-name "input is-fullwidth"
|
||||
:class "input"
|
||||
:format-week-number (fn [] "")
|
||||
:previous-month-button-label ""
|
||||
:placeholder "Start Date mm/dd/yyyy"
|
||||
:next-month-button-label ""
|
||||
:event on-change-event
|
||||
:next-month-label ""
|
||||
:type "date"
|
||||
:field [:end]
|
||||
:subscription value}]]]]]])
|
||||
@@ -3,6 +3,7 @@
|
||||
[auto-ap.forms :as forms]
|
||||
[auto-ap.subs :as subs]
|
||||
[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.layouts :refer [appearing-side-bar side-bar-layout]]
|
||||
[auto-ap.views.components.modal :refer [action-modal]]
|
||||
[auto-ap.views.components.paginator :refer [paginator]]
|
||||
@@ -12,7 +13,7 @@
|
||||
[auto-ap.views.pages.transactions.common :refer [transaction-read]]
|
||||
[auto-ap.utils :refer [replace-by]]
|
||||
[auto-ap.views.pages.transactions.manual :as manual]
|
||||
[auto-ap.views.utils :refer [bind-field date->str dispatch-event nf]]
|
||||
[auto-ap.views.utils :refer [bind-field date->str dispatch-event nf date-picker]]
|
||||
[goog.string :as gstring]
|
||||
[re-frame.core :as re-frame]))
|
||||
|
||||
@@ -63,7 +64,7 @@
|
||||
::received
|
||||
(fn [db [_ data]]
|
||||
(-> db
|
||||
(assoc ::transaction-page (first (:transaction-page data)))
|
||||
(update ::transaction-page merge (first (:transaction-page data)))
|
||||
(assoc-in [:status :loading] false))))
|
||||
|
||||
(re-frame/reg-event-db
|
||||
@@ -78,6 +79,17 @@
|
||||
(assoc-in updated [::params :bank-account-id] value))
|
||||
updated))))
|
||||
|
||||
|
||||
(re-frame/reg-event-fx
|
||||
::change-selected-date-range
|
||||
(fn [{:keys [db]} [_ key value]]
|
||||
(let [[key] key
|
||||
updated (-> db
|
||||
(assoc-in [::transaction-page :date-range-filter key] value)
|
||||
(assoc-in [::params :date-range key] value))]
|
||||
{:dispatch [::params-change (::params updated)]
|
||||
:db updated})))
|
||||
|
||||
(re-frame/reg-sub
|
||||
::notification
|
||||
(fn [db]
|
||||
@@ -130,7 +142,12 @@
|
||||
[bank-account-filter
|
||||
{:on-change-event [::change-selected-bank-account]
|
||||
:value (:bank-acount-filter @(re-frame/subscribe [::transaction-page]))
|
||||
:bank-accounts @(re-frame/subscribe [::subs/bank-accounts])}]]]
|
||||
:bank-accounts @(re-frame/subscribe [::subs/bank-accounts])}]]
|
||||
[:p.menu-label "Date Range"]
|
||||
[:div
|
||||
[date-range-filter
|
||||
{:on-change-event [::change-selected-date-range]
|
||||
:value (:date-range-filter @(re-frame/subscribe [::transaction-page]))}]]]
|
||||
:main [transactions-content]
|
||||
:right-side-bar [appearing-side-bar
|
||||
{:visible? transaction-bar-active?}
|
||||
|
||||
@@ -123,7 +123,8 @@
|
||||
[drop-down {:id [::expense-accounts id ]
|
||||
:header [:a.button {:aria-haspopup true
|
||||
:on-click (dispatch-event [::events/toggle-menu [::expense-accounts id]])
|
||||
:tab-index "0"} "i"]}
|
||||
:tab-index "0"}
|
||||
[:span.icon-saving-bank-1]]}
|
||||
[drop-down-contents
|
||||
[:div
|
||||
[:span.dropdown-item description-original ]]]]
|
||||
|
||||
Reference in New Issue
Block a user