Makes an okay experience of editing vendors through a wizard

This commit is contained in:
2023-11-01 23:06:18 -07:00
parent 3211635dce
commit 99e4f05769
12 changed files with 683 additions and 23 deletions

View File

@@ -55,7 +55,6 @@
[:a {:class (-> (hh/add-class (or (:class params) "") default-input-classes)
(hh/add-class "cursor-pointer"))
"@click.prevent" "open = !open; popper.update()"
"@keydown.enter.prevent.stop" "open = !open; popper.update()"
"@keydown.down.prevent.stop" "open = true; popper.update()"
"@keydown.backspace" "value = {value: '', label: '' }"
:tabindex 0
@@ -101,7 +100,7 @@
"placeholder" (:placeholder params)
"@keydown.down.prevent" "active ++; active = active >= elements.length - 1 ? elements.length - 1 : active"
"@keydown.up.prevent" "active --; active = active < 0 ? 0 : active"
"@keydown.enter.prevent" "open = false; value = elements.length > 0 ? $data.elements[active] : {'value': '', label: ''};"
"@keydown.enter.prevent.stop" "open = false; value = elements.length > 0 ? $data.elements[active] : {'value': '', label: ''};"
"x-init" "$watch('search', s => { if($el.value.length > 2) {fetch(baseUrl + s).then(data=>data.json()).then(data => {elements = data; active=-1}) }})"}]
[:div.dropdown-options {:class "rounded-b-lg overflow-hidden"}
[:template {:x-for "(element, index) in elements"}
@@ -131,7 +130,9 @@
(dissoc :error?)
(assoc :type "text")
(update
:class (fnil hh/add-class "") default-input-classes)
:class #(-> ""
(hh/add-class default-input-classes)
(hh/add-class %)))
(update :class #(str % (use-size size))))])
(defn money-input- [{:keys [size] :as params}]
@@ -204,5 +205,10 @@
[:input {:type "hidden" :value value :name name}])
(defn checkbox- [params & rest]
[:input (merge params {:type "checkbox" :class (hh/add-class default-checkbox-classes (:class params ""))})
rest])
(if (seq rest)
[:label {:class "text-sm text-gray-800 dark:text-gray-300"}
[:input (merge params {:type "checkbox" :class (hh/add-class default-checkbox-classes (:class params ""))})]
[:span.ml-2
rest]]
[:input (merge params {:type "checkbox" :class (hh/add-class default-checkbox-classes (:class params ""))})
]))