sidebar filtering

This commit is contained in:
2022-04-10 20:42:21 -07:00
parent e897443f7d
commit 53de49d758
6 changed files with 92 additions and 83 deletions

View File

@@ -1,14 +1,17 @@
(ns auto-ap.views.components.invoices.side-bar (ns auto-ap.views.components.invoices.side-bar
(:require [auto-ap.routes :as routes] (:require
[auto-ap.subs :as subs] [auto-ap.routes :as routes]
[auto-ap.views.components.date-range-filter :refer [date-range-filter]] [auto-ap.subs :as subs]
[auto-ap.views.components.number-filter :refer [number-filter]] [auto-ap.views.components.date-range-filter :refer [date-range-filter]]
[auto-ap.views.components.switch-field :refer [switch-field]] [auto-ap.views.components.number-filter :refer [number-filter]]
[auto-ap.views.components.typeahead :refer [typeahead-v3]] [auto-ap.views.components.switch-field :refer [switch-field]]
[auto-ap.views.pages.data-page :as data-page] [auto-ap.views.components.typeahead.vendor
[auto-ap.views.utils :refer [active-when dispatch-event dispatch-value-change]] :refer [search-backed-typeahead]]
[bidi.bidi :as bidi] [auto-ap.views.pages.data-page :as data-page]
[re-frame.core :as re-frame])) [auto-ap.views.utils
:refer [active-when dispatch-event dispatch-value-change]]
[bidi.bidi :as bidi]
[re-frame.core :as re-frame]))
(defn invoice-number-filter [{:keys [data-page]}] (defn invoice-number-filter [{:keys [data-page]}]
[:div.field [:div.field
@@ -59,12 +62,13 @@
[:div [:div
[:p.menu-label "Vendor"] [:p.menu-label "Vendor"]
[:div [:div
[typeahead-v3 {:entities-by-id @(re-frame/subscribe [::subs/vendors-by-id]) [search-backed-typeahead {:search-query (fn [i]
:entity-index @(re-frame/subscribe [::subs/searchable-vendors-index]) [:search_vendor
:on-change #(re-frame/dispatch [::data-page/filter-changed data-page :vendor (some-> % (select-keys [:name :id]))]) {:query i}
:entity->text :name [:name :id]])
:type "typeahead-v3" :type "typeahead-v3"
:value @(re-frame/subscribe [::data-page/filter data-page :vendor])}]] :on-change #(re-frame/dispatch [::data-page/filter-changed data-page :vendor %])
:value @(re-frame/subscribe [::data-page/filter data-page :vendor])}]]
[:p.menu-label "Date Range"] [:p.menu-label "Date Range"]
[:div [:div
[date-range-filter [date-range-filter

View File

@@ -300,9 +300,6 @@
(defn home-content [] (defn home-content []
(let [client-id (-> @(re-frame/subscribe [::subs/client]) :id) (let [client-id (-> @(re-frame/subscribe [::subs/client]) :id)
vendors-by-id @(re-frame/subscribe [::subs/vendors-by-id])
vendors-index @(re-frame/subscribe [::subs/searchable-vendors-index])
accounts-by-id @(re-frame/subscribe [::subs/accounts-by-id]) accounts-by-id @(re-frame/subscribe [::subs/accounts-by-id])
accounts-index @(re-frame/subscribe [::subs/accounts-index]) accounts-index @(re-frame/subscribe [::subs/accounts-index])
chart-options @(re-frame/subscribe [::chart-options])] chart-options @(re-frame/subscribe [::chart-options])]

View File

@@ -5,7 +5,7 @@
[auto-ap.status :as status] [auto-ap.status :as status]
[auto-ap.subs :as subs] [auto-ap.subs :as subs]
[auto-ap.time-utils :refer [next-dom]] [auto-ap.time-utils :refer [next-dom]]
[auto-ap.utils :refer [by dollars=]] [auto-ap.utils :refer [dollars=]]
[auto-ap.views.components.dropdown :refer [drop-down]] [auto-ap.views.components.dropdown :refer [drop-down]]
[auto-ap.views.components.expense-accounts-field [auto-ap.views.components.expense-accounts-field
:as :as
@@ -179,22 +179,21 @@
::changed ::changed
(forms/change-handler ::form (forms/change-handler ::form
(fn [data field value] (fn [data field value]
(let [locations @(re-frame/subscribe [::subs/locations-for-client (:id (:client data))])] (cond (= [:total] field)
(cond (= [:total] field) [[:expense-accounts] (recalculate-amounts (:expense-accounts data) value)]
[[:expense-accounts] (recalculate-amounts (:expense-accounts data) value)]
(and (= [:date] field) (and (= [:date] field)
(:schedule-payment-dom data)) (:schedule-payment-dom data))
[[:scheduled-payment] (date->str (next-dom (str->date value standard) (:schedule-payment-dom data)) standard) ] [[:scheduled-payment] (date->str (next-dom (str->date value standard) (:schedule-payment-dom data)) standard) ]
(and (= [:schedule-when-due] field) value) (and (= [:schedule-when-due] field) value)
[[:scheduled-payment] (:due data)] [[:scheduled-payment] (:due data)]
(and (= [:due] field) (:schedule-when-due data)) (and (= [:due] field) (:schedule-when-due data))
[[:scheduled-payment] value] [[:scheduled-payment] value]
:else :else
[]))))) []))))
(re-frame/reg-event-db (re-frame/reg-event-db
::maybe-change-client ::maybe-change-client
[ (forms/in-form ::form)] [ (forms/in-form ::form)]

View File

@@ -1,14 +1,18 @@
(ns auto-ap.views.pages.ledger.side-bar (ns auto-ap.views.pages.ledger.side-bar
(:require [auto-ap.routes :as routes] (:require
[auto-ap.subs :as subs] [auto-ap.routes :as routes]
[auto-ap.views.components.date-range-filter :refer [date-range-filter]] [auto-ap.subs :as subs]
[auto-ap.views.components.number-filter :refer [number-filter]] [auto-ap.views.components.bank-account-filter
[auto-ap.views.components.bank-account-filter :refer [bank-account-filter]] :refer [bank-account-filter]]
[auto-ap.views.components.typeahead :refer [typeahead-v3]] [auto-ap.views.components.date-range-filter :refer [date-range-filter]]
[auto-ap.views.pages.data-page :as data-page] [auto-ap.views.components.number-filter :refer [number-filter]]
[auto-ap.views.utils :refer [active-when dispatch-value-change]] [auto-ap.views.components.typeahead :refer [typeahead-v3]]
[bidi.bidi :as bidi] [auto-ap.views.components.typeahead.vendor
[re-frame.core :as re-frame])) :refer [search-backed-typeahead]]
[auto-ap.views.pages.data-page :as data-page]
[auto-ap.views.utils :refer [active-when dispatch-value-change]]
[bidi.bidi :as bidi]
[re-frame.core :as re-frame]))
(defn ledger-side-bar [{:keys [data-page]}] (defn ledger-side-bar [{:keys [data-page]}]
(let [ap @(re-frame/subscribe [::subs/active-page]) (let [ap @(re-frame/subscribe [::subs/active-page])
@@ -66,14 +70,13 @@
[:p.menu-label "Vendor"] [:p.menu-label "Vendor"]
[:div [:div
[typeahead-v3 {:entities-by-id @(re-frame/subscribe [::subs/vendors-by-id]) [search-backed-typeahead {:search-query (fn [i]
:entity-index @(re-frame/subscribe [::subs/searchable-vendors-index]) [:search_vendor
:on-change #(re-frame/dispatch [::data-page/filter-changed data-page :vendor (some-> % (select-keys [:name :id]))]) {:query i}
:entity->text :name [:name :id]])
:type "typeahead-v3" :type "typeahead-v3"
:value @(re-frame/subscribe [::data-page/filter data-page :vendor])}]] :on-change #(re-frame/dispatch [::data-page/filter-changed data-page :vendor %])
:value @(re-frame/subscribe [::data-page/filter data-page :vendor])}]]
[:p.menu-label "Date Range"] [:p.menu-label "Date Range"]
[:div [:div

View File

@@ -1,11 +1,13 @@
(ns auto-ap.views.pages.payments.side-bar (ns auto-ap.views.pages.payments.side-bar
(:require [auto-ap.subs :as subs] (:require
[auto-ap.views.components.date-range-filter :refer [date-range-filter]] [auto-ap.subs :as subs]
[auto-ap.views.components.number-filter :refer [number-filter]] [auto-ap.views.components.date-range-filter :refer [date-range-filter]]
[auto-ap.views.components.typeahead :refer [typeahead-v3]] [auto-ap.views.components.number-filter :refer [number-filter]]
[auto-ap.views.pages.data-page :as data-page] [auto-ap.views.components.typeahead.vendor
[auto-ap.views.utils :refer [dispatch-event dispatch-value-change]] :refer [search-backed-typeahead]]
[re-frame.core :as re-frame])) [auto-ap.views.pages.data-page :as data-page]
[auto-ap.views.utils :refer [dispatch-event dispatch-value-change]]
[re-frame.core :as re-frame]))
(defn side-bar [{:keys [data-page]}] (defn side-bar [{:keys [data-page]}]
(let [ap @(re-frame/subscribe [::subs/active-page]) (let [ap @(re-frame/subscribe [::subs/active-page])
@@ -14,13 +16,13 @@
[:div [:div
[:p.menu-label "Vendor"] [:p.menu-label "Vendor"]
[:div [:div
[typeahead-v3 {:entities-by-id @(re-frame/subscribe [::subs/vendors-by-id]) [search-backed-typeahead {:search-query (fn [i]
:entity-index @(re-frame/subscribe [::subs/searchable-vendors-index]) [:search_vendor
:on-change #(re-frame/dispatch [::data-page/filter-changed data-page :vendor (some-> % (select-keys [:name :id]))]) {:query i}
:include-keys [:name :id] [:name :id]])
:entity->text :name :type "typeahead-v3"
:type "typeahead-v3" :on-change #(re-frame/dispatch [::data-page/filter-changed data-page :vendor %])
:value @(re-frame/subscribe [::data-page/filter data-page :vendor])}]] :value @(re-frame/subscribe [::data-page/filter data-page :vendor])}]]
[:p.menu-label "Date Range"] [:p.menu-label "Date Range"]
[:div [:div

View File

@@ -1,17 +1,20 @@
(ns auto-ap.views.pages.transactions.side-bar (ns auto-ap.views.pages.transactions.side-bar
(:require [auto-ap.routes :as routes] (:require
[auto-ap.subs :as subs] [auto-ap.routes :as routes]
[auto-ap.views.components.bank-account-filter [auto-ap.subs :as subs]
:refer [auto-ap.views.components.bank-account-filter
[bank-account-filter]] :refer [bank-account-filter]]
[auto-ap.views.components.date-range-filter :refer [date-range-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.number-filter :refer [number-filter]]
[auto-ap.views.components.switch-field :refer [switch-field]] [auto-ap.views.components.switch-field :refer [switch-field]]
[auto-ap.views.components.typeahead :refer [typeahead-v3]] [auto-ap.views.components.typeahead :refer [typeahead-v3]]
[auto-ap.views.pages.data-page :as data-page] [auto-ap.views.components.typeahead.vendor
[auto-ap.views.utils :refer [active-when dispatch-event dispatch-value-change ->$ account->match-text]] :refer [search-backed-typeahead]]
[bidi.bidi :as bidi] [auto-ap.views.pages.data-page :as data-page]
[re-frame.core :as re-frame])) [auto-ap.views.utils
:refer [account->match-text active-when dispatch-event dispatch-value-change]]
[bidi.bidi :as bidi]
[re-frame.core :as re-frame]))
(defn side-bar [{:keys [data-page]}] (defn side-bar [{:keys [data-page]}]
(let [ap @(re-frame/subscribe [::subs/active-page]) (let [ap @(re-frame/subscribe [::subs/active-page])
@@ -74,12 +77,13 @@
[:p.menu-label "Vendor"] [:p.menu-label "Vendor"]
[:div [:div
[typeahead-v3 {:entities-by-id @(re-frame/subscribe [::subs/vendors-by-id]) [search-backed-typeahead {:search-query (fn [i]
:entity-index @(re-frame/subscribe [::subs/searchable-vendors-index]) [:search_vendor
:on-change #(re-frame/dispatch [::data-page/filter-changed data-page :vendor (some-> % (select-keys [:name :id]))]) {:query i}
:entity->text :name [:name :id]])
:type "typeahead-v3" :type "typeahead-v3"
:value @(re-frame/subscribe [::data-page/filter data-page :vendor])}]] :on-change #(re-frame/dispatch [::data-page/filter-changed data-page :vendor %])
:value @(re-frame/subscribe [::data-page/filter data-page :vendor])}]]