This commit is contained in:
2023-08-31 23:24:42 -07:00
parent 1d82ec29e0
commit 7d251c8398
40 changed files with 333 additions and 286 deletions

View File

@@ -5,7 +5,8 @@
[auto-ap.views.utils :refer [parse-jwt]]
[clojure.string :as str]
[goog.crypt.base64 :as base64]
[minisearch :as ms]))
[minisearch :as ms]
[clojure.set :as set]))
(set! *warn-on-infer* true)
#_{:clj-kondo/ignore [:clojure-lsp/unused-public-var :unresolved-symbol]}
@@ -14,8 +15,10 @@
(re-frame/reg-sub
::client
(fn [db]
(get (:clients db) (:client db))))
:<- [::selected-clients]
(fn [selected-clients]
(when (= 1 (count selected-clients))
(first selected-clients))))
(re-frame/reg-sub
::clients
@@ -24,26 +27,32 @@
(sort-by :name (vals (:clients db))))))
(re-frame/reg-sub
::selected-clients
::selected-clients-raw
(fn [db]
(let [selected-clients (:selected-clients db)]
(cond (= :mine selected-clients)
(sort-by :name
(:user/clients (parse-jwt (:user db))))
(:selected-clients db)))
(or (and (sequential? selected-clients)
(empty? selected-clients))
(= :all selected-clients)
(nil? selected-clients))
(sort-by :name
(vals
(:clients db)))
(re-frame/reg-sub
::selected-clients
:<- [::selected-clients-raw]
:<- [::user]
:<- [::clients]
(fn [[selected-clients user clients]]
(cond (= :mine selected-clients)
(sort-by :name
(:user/clients user))
(sequential? selected-clients)
selected-clients
(or (and (sequential? selected-clients)
(empty? selected-clients))
(= :all selected-clients)
(nil? selected-clients))
clients
:else
nil))))
(sequential? selected-clients)
(filter (comp (set selected-clients) js/parseInt :id) clients)
:else
nil)))
(re-frame/reg-sub
::client-refs