patternfly_yew/components/menu/
child.rs1use crate::prelude::*;
2use std::rc::Rc;
3use yew::prelude::*;
4
5#[derive(Clone, PartialEq)]
6pub enum MenuChild {
7 Action(Rc<<MenuAction as BaseComponent>::Properties>),
8 Checkbox(Rc<<MenuCheckbox as BaseComponent>::Properties>),
9 Link(Rc<<MenuLink as BaseComponent>::Properties>),
10 Divider(Rc<<ListDivider as BaseComponent>::Properties>),
11 Group(Rc<<MenuGroup as BaseComponent>::Properties>),
12 Loading(Rc<<MenuLoading as BaseComponent>::Properties>),
13 Raw(Rc<<Raw as BaseComponent>::Properties>),
14}
15
16impl From<()> for MenuChild {
17 fn from(_: ()) -> Self {
18 MenuChild::Divider(Rc::new(()))
19 }
20}
21
22impl From<MenuActionProperties> for MenuChild {
23 fn from(props: MenuActionProperties) -> Self {
24 MenuChild::Action(Rc::new(props))
25 }
26}
27
28impl From<MenuLinkProperties> for MenuChild {
29 fn from(props: MenuLinkProperties) -> Self {
30 MenuChild::Link(Rc::new(props))
31 }
32}
33
34impl From<MenuCheckboxProperties> for MenuChild {
35 fn from(props: MenuCheckboxProperties) -> Self {
36 MenuChild::Checkbox(Rc::new(props))
37 }
38}
39
40impl From<MenuGroupProperties> for MenuChild {
41 fn from(props: MenuGroupProperties) -> Self {
42 MenuChild::Group(Rc::new(props))
43 }
44}
45
46impl From<MenuLoadingProperties> for MenuChild {
47 fn from(props: MenuLoadingProperties) -> Self {
48 MenuChild::Loading(Rc::new(props))
49 }
50}
51
52impl From<ChildrenProperties> for MenuChild {
53 fn from(props: ChildrenProperties) -> Self {
54 MenuChild::Raw(Rc::new(props))
55 }
56}