almost perfect user experience
This commit is contained in:
@@ -55,11 +55,6 @@
|
||||
;; as to which one to generate.
|
||||
|
||||
|
||||
;; TODO lots of escaping concerns (urls in javascript), all these weird name filters
|
||||
|
||||
;; TODO better generation of names?
|
||||
|
||||
|
||||
(defn filters [request]
|
||||
[:form {"hx-trigger" "change delay:500ms, keyup changed from:.hot-filter delay:1000ms"
|
||||
"hx-get" (bidi/path-for ssr-routes/only-routes
|
||||
@@ -411,7 +406,7 @@
|
||||
;; TODO dialog is no longer closeable
|
||||
(defn dialog* [& {:keys [entity form-params form-errors]}]
|
||||
(com/modal
|
||||
{:modal-class "max-w-4xl"}
|
||||
{:modal-class "max-w-2xl"}
|
||||
(com/modal-card
|
||||
{}
|
||||
[:div.flex [:div.p-2 "Transaction Rule"]]
|
||||
@@ -516,14 +511,14 @@
|
||||
:placeholder "Search..."
|
||||
:url (bidi/path-for ssr-routes/only-routes :vendor-search)
|
||||
:id (str "form-vendor-search")
|
||||
:class "w-96"
|
||||
:value (fc/field-value)
|
||||
:value-fn (some-fn :db/id identity)
|
||||
:content-fn (some-fn :vendor/name #(pull-attr (dc/db conn) :vendor/name %))})]))
|
||||
|
||||
(fc/with-field :transaction-rule/accounts
|
||||
(list
|
||||
(com/data-grid {:headers [(com/data-grid-header {}
|
||||
"Account")
|
||||
(com/data-grid {:headers [(com/data-grid-header {} "Account")
|
||||
(com/data-grid-header {:class "w-32"} "Location")
|
||||
(com/data-grid-header {:class "w-16"} "%")
|
||||
(com/data-grid-header {:class "w-16"})]
|
||||
@@ -531,24 +526,33 @@
|
||||
(when @fc/*current*
|
||||
(doall (for [tra fc/*current*]
|
||||
(fc/with-cursor tra
|
||||
(transaction-rule-account-row* entity tra))))))
|
||||
(transaction-rule-account-row* entity tra)))))
|
||||
(com/data-grid-row
|
||||
{:class "new-row"}
|
||||
(com/data-grid-cell {:colspan 4
|
||||
:class "bg-gray-100"}
|
||||
[:div.flex.justify-center
|
||||
|
||||
(com/a-button {:hx-get (bidi/path-for ssr-routes/only-routes
|
||||
:admin-transaction-rule-new-account)
|
||||
:color :secondary
|
||||
:hx-include "#edit-form"
|
||||
:hx-ext "rename-params"
|
||||
:hx-rename-params-ex (cheshire/generate-string {"transaction-rule/client" "client-id"
|
||||
"index" "index"})
|
||||
:hx-vals (hiccup/raw "js:{index: countRows(\"#transaction-rule-account-table\")}")
|
||||
:hx-target "#edit-form .new-row"
|
||||
:hx-swap "beforebegin"}
|
||||
"New account")])))
|
||||
(com/errors {:errors (fc/field-errors)})))
|
||||
(com/a-button {:hx-get (bidi/path-for ssr-routes/only-routes
|
||||
:admin-transaction-rule-new-account)
|
||||
:hx-include "#edit-form"
|
||||
:hx-ext "rename-params"
|
||||
:hx-rename-params-ex (cheshire/generate-string {"transaction-rule/client" "client-id"
|
||||
"index" "index"})
|
||||
:hx-vals (hiccup/raw "js:{index: countRows(\"#transaction-rule-account-table\")}")
|
||||
:hx-target "#transaction-rule-account-table tbody"
|
||||
:hx-swap "beforeend"}
|
||||
"New account")
|
||||
|
||||
(fc/with-field :transaction-rule/transaction-approval-status
|
||||
(com/validated-field {:label "Approval status"
|
||||
:errors (fc/field-errors)}
|
||||
(com/radio {:options (ref->radio-options "transaction-approval-status")
|
||||
:value (fc/field-value)
|
||||
:name (fc/field-name)
|
||||
:size :small
|
||||
:orientation :horizontal})))
|
||||
|
||||
[:div#form-errors (when (:errors fc/*form-errors*)
|
||||
@@ -568,7 +572,7 @@
|
||||
(let [index (or index 0) ;; TODO schema decode is not working
|
||||
transaction-rule {:transaction-rule/client (dc/pull (dc/db conn) '[:client/name :client/locations :db/id]
|
||||
client-id)
|
||||
:transaction-rule/accounts (conj (into [] (repeat (inc index) {} ))
|
||||
:transaction-rule/accounts (conj (into [] (repeat index {} ))
|
||||
{:db/id (str (java.util.UUID/randomUUID))
|
||||
:transaction-rule-account/location "Shared"})}]
|
||||
(html-response
|
||||
@@ -582,7 +586,6 @@
|
||||
|
||||
|
||||
;; TODO check to see if it should be called "Shared" or "shared" for the value
|
||||
;; TODO blank location is being allowed
|
||||
;; TODO hydrate nested types more easily. make it easy to hydrate so you don't do weird sometimes pulls
|
||||
;; TODO is it possible to make it easy to get a virtual cursor in the case of adding a new row? setting up
|
||||
;; fake data doesn't feel right - maybe have a "prelude" that's dynamic
|
||||
|
||||
Reference in New Issue
Block a user