Revisions on grid page to make parameters easier to grok
This commit is contained in:
@@ -11,6 +11,12 @@
|
||||
[bidi.bidi :as bidi]
|
||||
[clj-time.coerce :as coerce]))
|
||||
|
||||
;; TODO more filters
|
||||
;; TODO refunds
|
||||
;; TODO expected deposits
|
||||
;; TODO navigate between pages shouldnt copy sort if not applicable
|
||||
;; TODO remove sort button should work
|
||||
|
||||
(defn filters [params]
|
||||
[:form {"hx-trigger" "change delay:1000ms"
|
||||
"hx-get" (bidi/path-for ssr-routes/only-routes
|
||||
@@ -20,17 +26,17 @@
|
||||
[:div
|
||||
(com/field {:label "Starting"}
|
||||
(com/date-input {:name "start-date"
|
||||
:value (:start-date params)
|
||||
:value (:start-date (:parsed-query-params params))
|
||||
:placeholder "Date"}))]
|
||||
[:div
|
||||
(com/field {:label "Ending"}
|
||||
(com/date-input {:name "end-date"
|
||||
:value nil
|
||||
:value (:end-date (:parsed-query-params params))
|
||||
:placeholder "Date"}))]
|
||||
[:div
|
||||
(com/field {:label "Total"}
|
||||
(com/money-input {:name "total-gte"
|
||||
:value nil
|
||||
:value (:total-gte (:parsed-query-params params))
|
||||
:placeholder "Total >="}))]]])
|
||||
|
||||
(def grid-page {:id "sales-table"
|
||||
@@ -38,18 +44,22 @@
|
||||
: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 %))))))))
|
||||
(d-sales/get-graphql
|
||||
{:clients (:clients args)
|
||||
:start (:start (:parsed-query-params args))
|
||||
:sort (:sort (:parsed-query-params args))
|
||||
:per-page (:per-page (:parsed-query-params args))
|
||||
:date-range {:start (some-> args
|
||||
:raw-query-params
|
||||
(get "start-date")
|
||||
(atime/parse atime/iso-date))
|
||||
:end (some-> args
|
||||
:raw-query-params
|
||||
(get "end-date")
|
||||
(atime/parse atime/iso-date))}
|
||||
:total-gte (some-> args :raw-query-params (get "total-gte") not-empty (#(if (string? %) (Double/parseDouble %) (double %)))) }))
|
||||
:breadcrumbs [[:a {:href (bidi/path-for ssr-routes/only-routes
|
||||
:company)}
|
||||
:company)}
|
||||
"POS"]
|
||||
|
||||
[:a {:href (bidi/path-for ssr-routes/only-routes
|
||||
@@ -114,25 +124,6 @@
|
||||
(def table (partial helper/table grid-page))
|
||||
(def page (partial helper/page grid-page))
|
||||
|
||||
#_(defn delete-report [{:keys [form-params identity]}]
|
||||
|
||||
(let [[id-to-delete key] (first (dc/q '[:find ?i ?k
|
||||
:in $ ?i
|
||||
:where [?i :report/key ?k]]
|
||||
(dc/db conn)
|
||||
(some-> (get form-params "id") not-empty Long/parseLong)))
|
||||
report (dc/pull (dc/db conn) r/default-read id-to-delete)]
|
||||
(assert-can-see-client identity (:report/client report))
|
||||
(when id-to-delete
|
||||
(s3/delete-object :bucket-name (:data-bucket env)
|
||||
:key key)
|
||||
@(dc/transact conn [[:db/retractEntity id-to-delete]]))
|
||||
(html-response
|
||||
(row* identity
|
||||
report
|
||||
{:flash? true
|
||||
:delete-after-settle? true}))))
|
||||
|
||||
(def key->handler
|
||||
{:pos-sales (wrap-client-redirect-unauthenticated (wrap-secure page))
|
||||
:pos-sales-table (wrap-client-redirect-unauthenticated (wrap-secure table))})
|
||||
|
||||
Reference in New Issue
Block a user