]> saetta.ns0.it Git - rust/zakform/commitdiff
Added macro_rules form_field_file_new.
authorAndrea Zagli <azagli@libero.it>
Thu, 15 Oct 2026 10:05:24 +0000 (12:05 +0200)
committerAndrea Zagli <azagli@libero.it>
Thu, 15 Oct 2026 10:05:24 +0000 (12:05 +0200)
src/macros.rs

index b05381373b34b624b59ac23e48c0753ed36ed4e5..ad3c144739eb1a58a2deea93e3ddc7460c93e7dd 100644 (file)
@@ -64,3 +64,35 @@ macro_rules! form_field_button_new {
                $form.add_field(Box::new(fi));
        };
 }
+
+#[macro_export]
+macro_rules! form_field_file_new {
+    ($form: ident,
+        $name: expr,
+        $label: expr,
+        $accept: expr,
+        $size_max: expr) => {
+               let mut fi = zakform::fields::FieldText::new(&format!("{}_file_tmp_id", $name));
+               fi.set_label("");
+               fi.set_to_load(false);
+               fi.set_to_save(false);
+               fi.set_disabled(true);
+               fi.set_invisible(true);
+               $form.add_field(Box::new(fi));
+
+               let mut fi = zakform::fields::FieldText::new(&format!("{}_filename", $name));
+               fi.set_label("");
+               fi.set_to_load(false);
+               fi.set_to_save(false);
+               fi.set_disabled(true);
+               $form.add_field(Box::new(fi));
+
+               let mut fi = zakform::fields::FieldFile::new(&format!("{}_file", $name));
+               fi.set_label($label);
+               fi.set_to_load(false);
+               fi.set_to_save(false);
+               fi.set_accept($accept);
+               fi.set_size_max($size_max);
+               $form.add_field(Box::new(fi));
+       };
+}