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

Method new

src/elements/textedit.rs:68–124  ·  view source on GitHub ↗
(widget: &TextEditProperties)

Source from the content-addressed store, hash-verified

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

Callers

nothing calls this directly

Calls 3

idMethod · 0.45
cloneMethod · 0.45
refreshMethod · 0.45

Tested by

no test coverage detected