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

Method new

src/elements/text_field.rs:68–125  ·  view source on GitHub ↗
(widget: &TextField)

Source from the content-addressed store, hash-verified

66
67impl TextFieldElement {
68 pub fn new(widget: &TextField) -> Self {
69 let id = widget.key.id();
70 let node = LayoutSystem::new_node(style::Style { ..default() }, vec![]).unwrap();
71
72 let component = WidgetComponent::get(widget.key.id());
73
74 // let filter = options.filter;
75
76 let label = LabelElement::new(&LabelProperties {
77 parent: Some(id),
78 x: 2.0,
79 y: 0.0,
80 // w: component.w,
81 // h: component.h,
82 // options: options.options.label,
83 mouse_input: false,
84 // depth: widget.depth + 0.001,
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 // bounds_wrap: widget.bounds_wrap,
91 ..Default::default()
92 });
93
94 // let edit = widget.text.clone();
95 let edit = String::new();
96 let index = edit.len() as i32;
97
98 // let display_char = widget.display_char;
99 let display_char = None;
100
101 let instance = Self {
102 component,
103 filter: None, // TODO: DV
104 state: RefCell::new(TextFieldState {
105 index,
106 composition_length: 0,
107 composition_start: 0,
108 composition: String::new(),
109 edit: edit.clone(),
110 display: String::new(),
111 display_char,
112 text: String::new(),
113 }),
114 label,
115 onchange: Signal::new(),
116 onchangeindex: Signal::new(),
117 oncommit: Signal::new(),
118 renderer: WidgetRenderFactory::global().get::<Self>(),
119 node,
120 };
121
122 instance.refresh(edit, false, true);
123
124 instance
125 }

Callers

nothing calls this directly

Calls 3

idMethod · 0.45
cloneMethod · 0.45
refreshMethod · 0.45

Tested by

no test coverage detected