From c5c55a810fbdb06b1759b02e5d2c3b5d0c4e39d0 Mon Sep 17 00:00:00 2001 From: Andrea Zagli Date: Fri, 16 Oct 2026 11:03:53 +0200 Subject: [PATCH] macro_rules now return the created FormField. --- src/macros.rs | 35 +++++++++++++++++++++-------------- 1 file changed, 21 insertions(+), 14 deletions(-) diff --git a/src/macros.rs b/src/macros.rs index ac8d8b2..e717412 100644 --- a/src/macros.rs +++ b/src/macros.rs @@ -14,12 +14,13 @@ macro_rules! form_field_text_new { $name: expr, $label: expr, $maxlen: expr, - $dbtype: path) => { + $dbtype: path) => {{ let mut fi = zakform::fields::FieldText::new($name); zakform::form_field_new!(fi, $label, $dbtype); fi.set_maxlen($maxlen); $form.add_field(Box::new(fi)); - }; + $form.get_field($name).unwrap() + }}; } #[macro_export] @@ -29,13 +30,14 @@ macro_rules! form_field_text_area_new { $label: expr, $maxlen: expr, $rows: expr, - $dbtype: path) => { + $dbtype: path) => {{ let mut fi = zakform::fields::FieldText::new($name); zakform::form_field_new!(fi, $label, $dbtype); fi.set_maxlen($maxlen); fi.set_rows($rows); $form.add_field(Box::new(fi)); - }; + $form.get_field($name).unwrap() + }}; } #[macro_export] @@ -44,12 +46,13 @@ macro_rules! form_field_check_new { $name: expr, $label: expr, $text: expr, - $dbtype: path) => { + $dbtype: path) => {{ let mut fi = zakform::fields::FieldText::new($name); zakform::form_field_new!(fi, $label, $dbtype); fi.set_text($text); $form.add_field(Box::new(fi)); - }; + $form.get_field($name).unwrap() + }}; } #[macro_export] @@ -58,12 +61,13 @@ macro_rules! form_field_radio_new { $name: expr, $label: expr, $dbtype: path, - $($opt_value: expr, $opt_label: expr),*,) => { + $($opt_value: expr, $opt_label: expr),*,) => {{ let mut fi = zakform::fields::FieldRadio::new($name); zakform::form_field_new!(fi, $label, $dbtype); $(fi.add_option(zakform::fields::FOption{ value: String::from($opt_value), label: String::from($opt_label) });)* $form.add_field(Box::new(fi)); - }; + $form.get_field($name).unwrap() + }}; } #[macro_export] @@ -72,12 +76,13 @@ macro_rules! form_field_select_new { $name: expr, $label: expr, $dbtype: path, - $($opt_value: expr, $opt_label: expr),*,) => { + $($opt_value: expr, $opt_label: expr),*,) => {{ let mut fi = zakform::fields::FieldSelect::new($name); zakform::form_field_new!(fi, $label, $dbtype); $(fi.add_option(zakform::fields::FOption{ value: String::from($opt_value), label: String::from($opt_label) });)* $form.add_field(Box::new(fi)); - }; + $form.get_field($name).unwrap() + }}; } #[macro_export] @@ -85,14 +90,15 @@ macro_rules! form_field_button_new { ($form: ident, $name: expr, $label: expr, - $class: expr) => { + $class: expr) => {{ let mut fi = zakform::fields::FieldButton::new($name); fi.set_label($label); fi.set_class($class); fi.set_to_load(false); fi.set_to_save(false); $form.add_field(Box::new(fi)); - }; + $form.get_field($name).unwrap() + }}; } #[macro_export] @@ -101,7 +107,7 @@ macro_rules! form_field_file_new { $name: expr, $label: expr, $accept: expr, - $size_max: expr) => { + $size_max: expr) => {{ let mut fi = zakform::fields::FieldText::new(&format!("{}_file_tmp_id", $name)); fi.set_label(""); fi.set_to_load(false); @@ -124,5 +130,6 @@ macro_rules! form_field_file_new { fi.set_accept($accept); fi.set_size_max($size_max); $form.add_field(Box::new(fi)); - }; + $form.get_field(&format!("{}_file", $name)).unwrap() + }}; } -- 2.55.0