sidebar filtering
This commit is contained in:
@@ -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
|
||||||
|
|||||||
@@ -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])]
|
||||||
|
|||||||
@@ -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)]
|
||||||
|
|||||||
@@ -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
|
||||||
|
|||||||
@@ -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
|
||||||
|
|||||||
@@ -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])}]]
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user