progress on ssr sales.
This commit is contained in:
@@ -64,10 +64,7 @@
|
|||||||
per-page (or per-page 30)
|
per-page (or per-page 30)
|
||||||
[entities total] ((:fetch-page grid-spec)
|
[entities total] ((:fetch-page grid-spec)
|
||||||
user
|
user
|
||||||
{:start start
|
params)]
|
||||||
:per-page per-page
|
|
||||||
:clients clients
|
|
||||||
:sort sort})]
|
|
||||||
(com/data-grid-card {:id (:id grid-spec)
|
(com/data-grid-card {:id (:id grid-spec)
|
||||||
:title (:title grid-spec)
|
:title (:title grid-spec)
|
||||||
:route (:route grid-spec)
|
:route (:route grid-spec)
|
||||||
@@ -162,7 +159,7 @@
|
|||||||
|
|
||||||
(defn params->query-string [q]
|
(defn params->query-string [q]
|
||||||
(-> q
|
(-> q
|
||||||
(dissoc :client :session :client-selection :clients)
|
(dissoc :client :session :client-selection :clients :query-params)
|
||||||
(update :sort sort->query)
|
(update :sort sort->query)
|
||||||
(url/map->query)))
|
(url/map->query)))
|
||||||
|
|
||||||
@@ -177,6 +174,7 @@
|
|||||||
hx-sort (assoc :sort (parse-sort grid-spec hx-sort))
|
hx-sort (assoc :sort (parse-sort grid-spec hx-sort))
|
||||||
q-sort (assoc :sort (parse-sort grid-spec q-sort))
|
q-sort (assoc :sort (parse-sort grid-spec q-sort))
|
||||||
(not-empty q-toggle-sort) (update :sort #(toggle-sort grid-spec % q-toggle-sort) )
|
(not-empty q-toggle-sort) (update :sort #(toggle-sort grid-spec % q-toggle-sort) )
|
||||||
|
(seq query-params) (assoc :query-params query-params)
|
||||||
(:session request) (assoc :session (:session request))
|
(:session request) (assoc :session (:session request))
|
||||||
(:client-selection (:session request)) (assoc :client-selection (:client-selection (:session request)))
|
(:client-selection (:session request)) (assoc :client-selection (:client-selection (:session request)))
|
||||||
(:clients request) (assoc :clients (:clients request))
|
(:clients request) (assoc :clients (:clients request))
|
||||||
@@ -193,15 +191,19 @@
|
|||||||
:headers {"hx-push-url" (str "?" query-string)})))
|
:headers {"hx-push-url" (str "?" query-string)})))
|
||||||
|
|
||||||
(defn page [grid-spec {:keys [identity] :as request}]
|
(defn page [grid-spec {:keys [identity] :as request}]
|
||||||
(base-page
|
(let [params (extract-params grid-spec request)]
|
||||||
request
|
(base-page
|
||||||
(com/page {:nav (:nav grid-spec)
|
request
|
||||||
:client-selection (:client-selection (:session request))
|
(com/page {:nav (:nav grid-spec)
|
||||||
:clients (:clients request)
|
:page-specific (when-let [page-specific-nav (:page-specific-nav grid-spec)]
|
||||||
:client (:client request)
|
(page-specific-nav params))
|
||||||
:identity (:identity request)}
|
:client-selection (:client-selection (:session request))
|
||||||
(apply com/breadcrumbs {} (:breadcrumbs grid-spec))
|
:clients (:clients request)
|
||||||
(table* grid-spec
|
:client (:client request)
|
||||||
identity
|
:identity (:identity request)}
|
||||||
(extract-params grid-spec request)))
|
(apply com/breadcrumbs {} (:breadcrumbs grid-spec))
|
||||||
(:title grid-spec)))
|
(table* grid-spec
|
||||||
|
identity
|
||||||
|
params
|
||||||
|
))
|
||||||
|
(:title grid-spec))))
|
||||||
|
|||||||
@@ -11,13 +11,44 @@
|
|||||||
[bidi.bidi :as bidi]
|
[bidi.bidi :as bidi]
|
||||||
[clj-time.coerce :as coerce]))
|
[clj-time.coerce :as coerce]))
|
||||||
|
|
||||||
(def grid-page {:id "sales-table"
|
(defn filters [params]
|
||||||
:nav (com/main-aside-nav)
|
[:form {"hx-trigger" "change delay:1000ms"
|
||||||
:id-fn :db/id
|
"hx-get" (bidi/path-for ssr-routes/only-routes
|
||||||
:fetch-page (fn [user args]
|
:pos-sales-table)
|
||||||
(d-sales/get-graphql (-> args
|
"hx-target" "#sales-table"}
|
||||||
(assoc :date-range {:start (coerce/to-date-time #inst "2023-05-01")}))))
|
[:div.space-y-6
|
||||||
:breadcrumbs [[:a {:href (bidi/path-for ssr-routes/only-routes
|
[:div
|
||||||
|
(com/field {:label "Starting"}
|
||||||
|
(com/date-input {:name "start-date"
|
||||||
|
:value (:start-date params)
|
||||||
|
:placeholder "Date"}))]
|
||||||
|
[:div
|
||||||
|
(com/field {:label "Ending"}
|
||||||
|
(com/date-input {:name "end-date"
|
||||||
|
:value nil
|
||||||
|
:placeholder "Date"}))]
|
||||||
|
[:div
|
||||||
|
(com/field {:label "Total"}
|
||||||
|
(com/money-input {:name "total-gte"
|
||||||
|
:value nil
|
||||||
|
:placeholder "Total >="}))]]])
|
||||||
|
|
||||||
|
(def grid-page {:id "sales-table"
|
||||||
|
:nav (com/main-aside-nav)
|
||||||
|
:page-specific-nav filters
|
||||||
|
:id-fn :db/id
|
||||||
|
:fetch-page (fn [user args]
|
||||||
|
(d-sales/get-graphql (-> args
|
||||||
|
(assoc :date-range {:start (some-> args
|
||||||
|
:query-params
|
||||||
|
(get "start-date")
|
||||||
|
(atime/parse atime/iso-date))
|
||||||
|
:end (some-> args
|
||||||
|
:query-params
|
||||||
|
(get "end-date")
|
||||||
|
(atime/parse atime/iso-date))}
|
||||||
|
:total-gte (some-> args :query-params (get "total-gte") (#(if (string? %) (Double/parseDouble %) (double %))))))))
|
||||||
|
:breadcrumbs [[:a {:href (bidi/path-for ssr-routes/only-routes
|
||||||
:company)}
|
:company)}
|
||||||
"POS"]
|
"POS"]
|
||||||
|
|
||||||
@@ -40,7 +71,7 @@
|
|||||||
:request-method :delete))
|
:request-method :delete))
|
||||||
:hx-target "closest tr"}
|
:hx-target "closest tr"}
|
||||||
svg/trash))]))
|
svg/trash))]))
|
||||||
:headers [
|
:headers [
|
||||||
{:key "client"
|
{:key "client"
|
||||||
:name "Client"
|
:name "Client"
|
||||||
:sort-key "client"
|
:sort-key "client"
|
||||||
|
|||||||
Reference in New Issue
Block a user