Makes accounts not loaded.

This commit is contained in:
2022-04-19 15:05:05 -07:00
parent f51f3450d6
commit cae28589d2
7 changed files with 169 additions and 175 deletions

View File

@@ -2,78 +2,24 @@
(:require
[re-frame.core :as re-frame]
[auto-ap.subs :as subs]
[auto-ap.views.utils :refer [active-when dispatch-value-change]]))
[auto-ap.views.utils :refer [dispatch-value-change]]
[auto-ap.views.pages.data-page :as data-page]))
(re-frame/reg-sub
::specific-filters
(fn [db ]
(::filters db nil)))
(re-frame/reg-sub
::filters
:<- [::specific-filters]
:<- [::subs/query-params]
(fn [[specific-filters query-params] ]
(let [url-filters (-> query-params
(select-keys #{:name-like :code-like})
(update :name-like #(some-> % str))
(update :code-like #(some-> % str)))]
(merge url-filters specific-filters ))))
(re-frame/reg-sub
::filter
:<- [::filters]
(fn [filters [_ which]]
(get filters which)))
(re-frame/reg-sub
::settled-filters
(fn [db ]
(::settled-filters db)))
(re-frame/reg-sub
::filter-params
:<- [::settled-filters]
:<- [::filters]
:<- [::subs/active-page]
(fn [[settled-filters filters ap ]]
(let [filters (or settled-filters filters)]
{:name-like (:name-like filters)
:code-like (:code-like filters)})))
(re-frame/reg-event-fx
::filters-settled
(fn [{:keys [db]} [_ & params]]
{:db (assoc db ::settled-filters @(re-frame/subscribe [::filters]))}))
(re-frame/reg-event-fx
::filter-changed
(fn [{:keys [db]} [_ & params]]
(let [[a b c] params
[which val] (if (= 3 (count params))
[(into [a] b) c]
[[a] b])]
{:db (assoc-in db (into [::filters] which) val)
:dispatch-debounce {:event [::filters-settled]
:time 800
:key ::filters}})))
(defn accounts-side-bar []
(defn accounts-side-bar [{:keys [data-page]}]
[:div
[:p.menu-label "Name"]
[:div.field
[:div.control [:input.input {:placeholder "Food Cost"
:value @(re-frame/subscribe [::filter :name-like])
:on-change (dispatch-value-change [::filter-changed :name-like])} ]]]
:value @(re-frame/subscribe [::data-page/filter data-page :name-like])
:on-change (dispatch-value-change [::data-page/filter-changed data-page :name-like])} ]]]
[:p.menu-label "Code"]
[:div.field
[:div.control [:input.input {:placeholder "11000"
:value @(re-frame/subscribe [::filter :code-like])
:on-change (dispatch-value-change [::filter-changed :code-like])}]]]])
:value @(re-frame/subscribe [::data-page/filter data-page :numeric-code])
:on-change (dispatch-value-change [::data-page/filter-changed data-page :numeric-code])}]]]])

View File

@@ -0,0 +1,36 @@
(ns auto-ap.views.pages.admin.accounts.table
(:require
[auto-ap.status :as status]
[auto-ap.views.components.buttons :as buttons]
[auto-ap.views.components.grid :as grid]
[auto-ap.views.pages.admin.accounts.form :as account-form]
[auto-ap.views.utils :refer [action-cell-width]]
[re-frame.core :as re-frame]
[auto-ap.views.pages.data-page :as data-page]))
(defn accounts-table [{:keys [data-page]}]
(let [{:keys [data]} @(re-frame/subscribe [::data-page/page data-page])]
[:div
[grid/grid {:data-page data-page
:column-count 5}
[grid/controls data]
[grid/table {:fullwidth true}
[grid/header
[grid/row {}
[grid/header-cell {} "Code"]
[grid/header-cell {} "Name"]
[grid/header-cell {} "Type"]
[grid/header-cell {} "Location"]
[grid/header-cell {:style {:width (action-cell-width 1)}} ]]]
[grid/body
(for [{:keys [id numeric-code name type location class] :as account} (:data data)]
^{:key id}
[grid/row {:class (:class account) :id id}
[grid/cell {} numeric-code]
[grid/cell {} name]
[grid/cell {} type]
[grid/cell {} location]
[grid/cell {}
[buttons/fa-icon {:event [::account-form/editing account [::edit-completed]]
:icon "fa-pencil"}]]])]]]]))