Supports vendors not loading

This commit is contained in:
2022-04-11 17:26:03 -07:00
parent e4da1376f8
commit 2e4e693bc6
19 changed files with 412 additions and 657 deletions

View File

@@ -195,102 +195,6 @@
(fn [db]
(:user db)))
(re-frame/reg-sub
::vendors
:<- [::is-admin?]
:<- [::all-vendors]
(fn [[is-admin all-vendors]]
(filter #(or (not (:hidden %))
is-admin) all-vendors)))
(re-frame/reg-sub
::searchable-vendors
:<- [::is-admin?]
:<- [::client]
:<- [::all-vendors]
(fn [[is-admin client all-vendors]]
(cond is-admin
all-vendors
client
(filter (fn [{:keys [hidden usage]}]
(or (not hidden)
(-> (first (filter #(= (:client-id %)
(:id client))
usage))
(:count 0)
(> 0))))
all-vendors)
:else
(filter #(not (:hidden %)) all-vendors))))
(re-frame/reg-sub
::searchable-vendors-index
:<- [::searchable-vendors]
(fn [searchable-vendors]
(doto (MiniSearch. #js {:fields #js ["name" "content"]
:storeFields #js ["id" "name" "content" "usage"]})
(.addAll (clj->js (map (fn [v] {:id (:id v)
:name (:name v)
:content (:name v)
:usage (:usage v)})
searchable-vendors))))))
(re-frame/reg-sub
::all-vendors-index
:<- [::all-vendors]
(fn [all-vendors]
(doto (MiniSearch. #js {:fields #js ["name" "content"]
:storeFields #js ["id" "name" "content" "usage"]})
(.addAll (clj->js (map (fn [v] {:id (:id v)
:name (:name v)
:content (:name v)
:usage (:usage v)})
all-vendors))))))
(re-frame/reg-sub
::all-vendors
(fn [db]
(vals (:vendors db))))
(re-frame/reg-sub
::vendors-by-id
(fn [db]
(:vendors db)))
(re-frame/reg-sub
::vendor-default-account
(fn [db [_ v client]]
(let [accounts (accounts-by-id (:accounts db) client)
vendor (if (map? v)
v
(-> (:vendors db) (get v)))
client-override (->> (:account-overrides vendor)
(filter #(= (:id (:client %)) (:id client))
)
first
:account
:id)
default-id (:id (:default-account vendor))
i (or client-override default-id)]
(accounts i))))
(re-frame/reg-sub
::sorted-vendors
:<- [::vendors]
(fn [vendors]
(sort-by :name vendors)))
(re-frame/reg-sub
::sorted-all-vendors
:<- [::all-vendors]
(fn [all-vendors]
(sort-by :name all-vendors)))
(re-frame/reg-sub
::admin
(fn [db]