diff options
| author | unwox <me@unwox.com> | 2025-09-07 20:22:47 +0600 |
|---|---|---|
| committer | unwox <me@unwox.com> | 2025-09-07 22:16:39 +0600 |
| commit | 88d1725520afde9fe10a3daa1ad5c1c0a552f041 (patch) | |
| tree | 04069377658ac0b6c2fa903e0d2b42e8f2221031 /forms.fnl | |
| parent | 4b0373bb42e21153f63d33f3546be9095d495f27 (diff) | |
small fixes
Diffstat (limited to 'forms.fnl')
| -rw-r--r-- | forms.fnl | 60 |
1 files changed, 30 insertions, 30 deletions
@@ -1,8 +1,8 @@ -(import-macros {:compile-html <>} :macros) +(import-macros {:compile-html HTML} :macros) (local lib (require :lib)) (local required-marker - (<> [:span {:class "form-required-marker"} " (обяз.)"])) + (HTML [:span {:class "form-required-marker"} " (обяз.)"])) (fn textarea-input [name label required? minlength maxlength help] (local minlength (or minlength 0)) @@ -16,7 +16,7 @@ "Некорректная длина текста.")) :html (fn [value error] - (<> + (HTML [:div {:class "form-row"} [:label {:class "form-label" :for name} label (if required? required-marker "")] @@ -25,8 +25,8 @@ :maxlength (tostring maxlength) :required required?}) (or value "")] - (if error (<> [:div {:class "form-error"} error]) "") - (if help (<> [:div {:class "form-help"} help]) "")]))}) + (if error (HTML [:div {:class "form-error"} error]) "") + (if help (HTML [:div {:class "form-help"} help]) "")]))}) (fn text-input [name label required? minlength maxlength help] (local minlength (or minlength 0)) @@ -40,7 +40,7 @@ "Некорректная длина текста.")) :html (fn [value error] - (<> + (HTML [:div {:class "form-row"} [:label {:class "form-label" :for name} label (if required? required-marker "")] @@ -49,8 +49,8 @@ :maxlength (tostring maxlength) :required required? :value value})] - (if error (<> [:div {:class "form-error"} error]) "") - (if help (<> [:div {:class "form-help"} help]) "")]))}) + (if error (HTML [:div {:class "form-error"} error]) "") + (if help (HTML [:div {:class "form-help"} help]) "")]))}) (fn password-input [name label required? minlength maxlength help] (local minlength (or minlength 0)) @@ -64,7 +64,7 @@ "Некорректная длина текста.")) :html (fn [value error] - (<> + (HTML [:div {:class "form-row"} [:label {:class "form-label" :for name} label (if required? required-marker "")] @@ -73,8 +73,8 @@ :maxlength (tostring maxlength) :required required? :value value})] - (if error (<> [:div {:class "form-error"} error]) "") - (if help (<> [:div {:class "form-help"} help]) "")]))}) + (if error (HTML [:div {:class "form-error"} error]) "") + (if help (HTML [:div {:class "form-help"} help]) "")]))}) (fn url-input [name label required? help] {: name : label : required? : help @@ -85,14 +85,14 @@ "Некорректная длина ссылки.")) :html (fn [value error] - (<> + (HTML [:div {:class "form-row"} [:label {:class "form-label" :for name} label (if required? required-marker "")] [:input (fn [] {:type "url" :name name :id name :class "form-input" :required required? :value value})] - (if error (<> [:div {:class "form-error"} error]) "") - (if help (<> [:div {:class "form-help"} help]) "")]))}) + (if error (HTML [:div {:class "form-error"} error]) "") + (if help (HTML [:div {:class "form-help"} help]) "")]))}) (fn number-input [name label required? min max help] (local min (or min 0)) @@ -106,15 +106,15 @@ "Некорректное число.")) :html (fn [value error] - (<> + (HTML [:div {:class "form-row"} [:label {:class "form-label" :for name} label (if required? required-marker "")] [:input (fn [] {:type "number" :name name :id name :class "form-input" :required required? :min (tostring min) :max (tostring max) :value (tostring value)})] - (if error (<> [:div {:class "form-error"} error]) "") - (if help (<> [:div {:class "form-help"} help]) "")]))}) + (if error (HTML [:div {:class "form-error"} error]) "") + (if help (HTML [:div {:class "form-help"} help]) "")]))}) (fn checkbox-input [name label required? help] {: name : label : required? : help @@ -122,14 +122,14 @@ (fn [value] (= value "on")) :html (fn [value error] - (<> + (HTML [:div {:class "form-row"} [:input (fn [] {:type "checkbox" :name name :id name :class "form-input" :required required? :checked (or (= value "on") (= value true))})] [:label {:class "form-label" :for name} label (if required? required-marker "")] - (if error (<> [:div {:class "form-error"} error]) "") - (if help (<> [:div {:class "form-help"} help]) "")]))}) + (if error (HTML [:div {:class "form-error"} error]) "") + (if help (HTML [:div {:class "form-help"} help]) "")]))}) (fn file-input [name label required? accept thumbnail-width help] {:type "file" : name : label : required? : help @@ -145,21 +145,21 @@ (local empty-value? (lib.empty? value)) (local required? (and empty-value? required?)) - (<> + (HTML [:div {:class "form-row"} [:div {:class "d-flex gap-1"} (if (and value (lib.ends-with? value ".jpg")) - (<> [:img {:class "form-file-img" :src (.. "/static/files/" value)}]) + (HTML [:img {:class "form-file-img" :src (.. "/static/files/" value)}]) "") [:div {} [:label {:class "form-label" :for name} label (if required? required-marker "")] [:input (fn [] {:type "file" :name name :id name :class "form-input" :required required? :accept accept})]]] (if (not empty-value?) - (<> [:input {:type "hidden" :name (.. name "_previous") :value value}]) + (HTML [:input {:type "hidden" :name (.. name "_previous") :value value}]) "") - (if error (<> [:div {:class "form-error"} error]) "") - (if help (<> [:div {:class "form-help"} help]) "")]))}) + (if error (HTML [:div {:class "form-error"} error]) "") + (if help (HTML [:div {:class "form-help"} help]) "")]))}) (fn select-input [name label required? options help] {: name : label : required? : options : help @@ -172,7 +172,7 @@ (if exists? nil "Некорректное значение.")) :html (fn [value error] - (<> + (HTML [:div {:class "form-row"} [:label {:class "form-label" :for name} label (if required? required-marker "")] [:select (fn [] {:name name :id name @@ -180,7 +180,7 @@ [:option [:selected "selected"] ""] (table.concat (icollect [_ option (ipairs options)] - (<> + (HTML [:option (fn [] {:value option.value :selected (= value option.value)}) option.label])))] @@ -188,18 +188,18 @@ (if help [:div {:class "form-help"} help] "")]))}) (fn render-form [form data errors] - (<> + (HTML [:form {:class "form" :enctype "multipart/form-data" :method "POST"} (table.concat (lib.append (icollect [_ group (ipairs form)] - (<> + (HTML [:div {:class "form-group"} [:h3 {:class "form-subheader"} group.title] (table.concat (icollect [_ field (ipairs group.fields)] (field.html (. data field.name) (. errors field.name))))])) - (<> [:button {:type "submit"} "Сохранить"])))])) + (HTML [:button {:type "submit"} "Сохранить"])))])) (fn convert-values-from-html [form data db] (each [_ group (ipairs form)] |
