cash flows
This commit is contained in:
@@ -189,14 +189,14 @@
|
||||
|
||||
|
||||
(defn multi-typeahead- [params]
|
||||
[:div.relative {:x-data (doto (hx/json {:baseUrl (if (str/includes? (:url params) "?")
|
||||
(str (:url params) "&q=")
|
||||
(str (:url params) "?q="))
|
||||
:reset_elements (js-fn "function(e) {
|
||||
[:div.relative {:x-data (hx/json {:baseUrl (if (str/includes? (:url params) "?")
|
||||
(str (:url params) "&q=")
|
||||
(str (:url params) "?q="))
|
||||
:reset_elements (js-fn "function(e) {
|
||||
this.elements = [{value: 'all', label:'All'}].concat(e);
|
||||
this.active = -1
|
||||
}")
|
||||
:toggle (js-fn "function(e) {
|
||||
:toggle (js-fn "function(e) {
|
||||
if (e.value == 'all') {
|
||||
if (this.value.size > 0) {
|
||||
this.value = new Set([]);
|
||||
@@ -219,34 +219,33 @@
|
||||
}
|
||||
}
|
||||
}")
|
||||
:all_selected (boolean (= (:value params) :all)),
|
||||
:value (cond
|
||||
(= :all (:value params))
|
||||
["all"]
|
||||
:all_selected (boolean (= (:value params) :all)),
|
||||
:value (cond
|
||||
(= :all (:value params))
|
||||
["all"]
|
||||
|
||||
(sequential? (:value params))
|
||||
(map (fn [v] ((:value-fn params identity) v))
|
||||
(:value params))
|
||||
|
||||
:else
|
||||
[])
|
||||
:tippy nil
|
||||
:lookup (into {}
|
||||
(when (sequential? (:value params))
|
||||
(map (fn [v] [((:value-fn params identity) v)
|
||||
((:content-fn params identity) v)])
|
||||
(:value params))))
|
||||
:x-init (str "$watch('value', v => $dispatch('change')); ")
|
||||
:search ""
|
||||
:active -1
|
||||
:elements (cond-> [{:value "all" :label "All"}]
|
||||
(sequential? (:value params))
|
||||
(into (map (fn [v]
|
||||
{:value ((:value-fn params identity) v)
|
||||
:label ((:content-fn params identity) v)})
|
||||
(:value params))))
|
||||
:x-ref "r"})
|
||||
println)
|
||||
(sequential? (:value params))
|
||||
(map (fn [v] ((:value-fn params identity) v))
|
||||
(:value params))
|
||||
|
||||
:else
|
||||
[])
|
||||
:tippy nil
|
||||
:lookup (into {}
|
||||
(when (sequential? (:value params))
|
||||
(map (fn [v] [((:value-fn params identity) v)
|
||||
((:content-fn params identity) v)])
|
||||
(:value params))))
|
||||
:x-init (str "$watch('value', v => $dispatch('change')); ")
|
||||
:search ""
|
||||
:active -1
|
||||
:elements (cond-> [{:value "all" :label "All"}]
|
||||
(sequential? (:value params))
|
||||
(into (map (fn [v]
|
||||
{:value ((:value-fn params identity) v)
|
||||
:label ((:content-fn params identity) v)})
|
||||
(:value params))))
|
||||
:x-ref "r"})
|
||||
;; :x-modelable "value.value" TODO
|
||||
;; :x-model (:x-model params) TODO
|
||||
:x-init "value=new Set(value || []); "}
|
||||
@@ -351,7 +350,7 @@
|
||||
(update :class #(str % (use-size size) " w-full"))
|
||||
(dissoc :size))]])
|
||||
|
||||
(defn multi-date-input- [{:keys [size] :as params}]
|
||||
(defn multi-calendar-input- [{:keys [size] :as params}]
|
||||
(let [value (str/join ", "
|
||||
(for [v (:value params)
|
||||
:when v]
|
||||
@@ -379,6 +378,30 @@
|
||||
(update :class #(str % (use-size size) " w-full"))
|
||||
(dissoc :size :name :x-model :x-modelable))]]))
|
||||
|
||||
(defn calendar-input- [{:keys [size] :as params}]
|
||||
(let [value (:value params)]
|
||||
[:div.shrink {:x-data (hx/json {:value value
|
||||
:dp nil })
|
||||
:x-modelable "value"
|
||||
:x-model (:x-model params) }
|
||||
[:input {:type "hidden" :name (:name params) :x-model "value"}]
|
||||
[:div
|
||||
(-> params
|
||||
(update :class (fnil hh/add-class "") default-input-classes)
|
||||
(assoc :type "text")
|
||||
(assoc :value value)
|
||||
;; the data-date field has to be bound before the datepicker can be initialized
|
||||
(assoc :x-init "$nextTick(() => { dp = initCalendar($el); ;}); ")
|
||||
(assoc "x-effect" "if(dp) { dp.setDate(value); } ")
|
||||
(assoc ":data-date" "value")
|
||||
(assoc "@htmx:before-history-save" "destroyDatepicker(dp)" )
|
||||
(assoc "@htmx:before-cleanup-element" "destroyDatepicker(dp)" )
|
||||
(assoc "x-destroy" "destroyDatepicker(dp)")
|
||||
(assoc "@change-date.camel" "value = dp.getDate(\"mm/dd/yyyy\");")
|
||||
|
||||
(update :class #(str % (use-size size) " w-full"))
|
||||
(dissoc :size :name :x-model :x-modelable))]]))
|
||||
|
||||
|
||||
|
||||
(defn field-errors- [{:keys [source key]} & rest]
|
||||
|
||||
Reference in New Issue
Block a user