diff options
Diffstat (limited to 'rocie-macros/src/form/parse.rs')
| -rw-r--r-- | rocie-macros/src/form/parse.rs | 18 |
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}"), }; |
