MCPcopy Create free account
hub / github.com/angular-rust/ux-components / new

Method new

src/elements/dropdown_button.rs:55–105  ·  view source on GitHub ↗
(widget: &DropdownButton<T>)

Source from the content-addressed store, hash-verified

53
54impl DropdownButtonElement {
55 pub fn new<T: Default>(widget: &DropdownButton<T>) -> Self {
56 let id = widget.key.id();
57 let node = LayoutSystem::new_node(style::Style { ..default() }, vec![]).unwrap();
58
59 //create the base control
60 let component = WidgetComponent::get(widget.key.id());
61
62 let height: f32 = 110.0;
63
64 let list = ListElement::new(&ListProperties {
65 parent: Some(id),
66 x: 0.0,
67 // y: widget.h + 1.0,
68 // w: component.w - 1.0,
69 h: height,
70 // options: options.options.list,
71 // internal_visible: widget.visible,
72 ..Default::default()
73 });
74
75 // list.onselect.listen(onselected);
76 // list.component.onmousedown.listen(ondeselect);
77
78 let label = LabelElement::new(&LabelProperties {
79 parent: Some(id),
80 x: 5.0,
81 y: 0.0,
82 // w: component.w - 10.0,
83 // h: component.h,
84 // options: options.options.label,
85 // internal_visible: widget.visible,
86 // text: widget.text.clone(),
87 // text_size: widget.text_size,
88 // align: widget.align,
89 // align_vertical: widget.align_vertical,
90 ..Default::default()
91 });
92
93 list.set_visible(false);
94
95 Self {
96 height: 110.0,
97 component,
98 label,
99 list,
100 onselect: Signal::new(),
101 state: Default::default(),
102 renderer: WidgetRenderFactory::global().get::<Self>(),
103 node,
104 }
105 }
106
107 fn ondeselect(&self, e: &MouseEvent, c: &dyn Element) {
108 if !self.list.contains(e.x as f32, e.y as f32) {

Callers

nothing calls this directly

Calls 2

idMethod · 0.45
set_visibleMethod · 0.45

Tested by

no test coverage detected