supports date filter.

This commit is contained in:
Bryce Covert
2019-05-03 13:51:47 -07:00
parent 34751fe77a
commit 36f5321454
2 changed files with 66 additions and 34 deletions

View File

@@ -3,36 +3,62 @@
[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]]))
[auto-ap.views.utils :refer [bind-field date-picker date->str local-now standard]]
[cljs-time.core :as t]
[re-frame.core :as re-frame]))
(defn dispatch-change [on-change-event start end]
(fn [_]
(re-frame/dispatch (into on-change-event [[:start] start]) )
(re-frame/dispatch (into on-change-event [[:end] end]))))
(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}]]]]]])
[:div
[:div.field.has-addons
[:p.control [:a.button.is-small {:on-click
(dispatch-change on-change-event
(date->str (t/minus (local-now) (t/period :days 7)) standard)
(date->str (local-now) standard))}
"Week" ]]
[:p.control [:a.button.is-small {:on-click
(dispatch-change on-change-event
(date->str (t/minus (local-now) (t/period :months 1)) standard)
(date->str (local-now) standard))}
"Month" ]]
[:p.control [:a.button.is-small {:on-click
(dispatch-change on-change-event
(date->str (t/minus (local-now) (t/period :years 1)) standard)
(date->str (local-now) standard))}
"Year"]]
[:p.control [:a.button.is-small {:on-click
(dispatch-change on-change-event
nil
nil)}
"All"]]]
[:div.field.has-addons
[:div.control
[bind-field
[date-picker {:class-name "input is-fullwidth"
:class "input"
:format-week-number (fn [] "")
:previous-month-button-label ""
:placeholder-text "Start"
:next-month-button-label ""
:next-month-label ""
:event on-change-event
:type "date"
:field [:start]
:subscription value}]]]
[:div.control
[bind-field
[date-picker {:class-name "input is-fullwidth"
:class "input"
:format-week-number (fn [] "")
:previous-month-button-label ""
:placeholder-text "End"
:next-month-button-label ""
:event on-change-event
:next-month-label ""
:type "date"
:field [:end]
:subscription value}]]]]])