summary refs log tree commit diff stats
path: root/rocie-macros/src/form/parse.rs
diff options
context:
space:
mode:
Diffstat (limited to 'rocie-macros/src/form/parse.rs')
-rw-r--r--rocie-macros/src/form/parse.rs18
1 files changed, 18 insertions, 0 deletions
diff --git a/rocie-macros/src/form/parse.rs b/rocie-macros/src/form/parse.rs
index 59a82c1..2cf8799 100644
--- a/rocie-macros/src/form/parse.rs
+++ b/rocie-macros/src/form/parse.rs
@@ -86,6 +86,15 @@ impl Parse for ParsedChild {
                     auto_complete,
                 }
             }
+            variant if variant == format_ident!("Textarea") => {
+                let name = parse_key_value!(input, name as Ident);
+                let label = parse_key_value!(input, label as LitStr);
+
+                input.parse::<Token![/]>()?;
+                input.parse::<Token![>]>()?;
+
+                ParsedChild::Textarea { name, label }
+            }
             variant if variant == format_ident!("Select") => {
                 let name = parse_key_value!(input, name as Ident);
                 let rust_type = parse_key_value!(input, rust_type as Type);
@@ -130,6 +139,15 @@ impl Parse for ParsedChild {
 
                 ParsedChild::Show { when, children }
             }
+            variant if variant == format_ident!("Checkbox") => {
+                let name = parse_key_value!(input, name as Ident);
+                let label = parse_key_value!(input, label as LitStr);
+
+                input.parse::<Token![/]>()?;
+                input.parse::<Token![>]>()?;
+
+                ParsedChild::Checkbox { name, label }
+            }
             _ => panic!("Unknown form child variant: {variant}"),
         };