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

Method textinput

src/elements/text_field.rs:284–319  ·  view source on GitHub ↗
(&self, event: &mut TextEvent)

Source from the content-addressed store, hash-verified

282 }
283
284 fn textinput(&self, event: &mut TextEvent) {
285 // self.base.textinput(event);
286
287 let index = self.state.borrow().index;
288 let bef_str = self.before(index as usize);
289 let aft_str = self.after(index as usize);
290 let new_str = format!("{}{}{}", bef_str, event.text, aft_str);
291
292 match event.event_type {
293 TextEventType::Edit => {
294 let mut state = self.state.borrow_mut();
295 state.composition = event.text.clone();
296 state.composition_start = event.start;
297 state.composition_length = event.length;
298
299 self.refresh(state.edit.clone(), true, false);
300 }
301 TextEventType::Input => {
302 let mut state = self.state.borrow_mut();
303 state.composition = String::new();
304 state.composition_start = 0;
305 state.composition_length = 0;
306
307 if let Some(ref filter) = self.filter {
308 if !filter(event.text.clone(), new_str.clone(), state.edit.clone()) {
309 return;
310 }
311 }
312
313 let index = state.index;
314 self.state.borrow_mut().index = index + event.text.len() as i32;
315 self.refresh(new_str, true, true);
316 }
317 _ => {}
318 }
319 }
320
321 fn keydown(&self, event: &mut KeyEvent) {
322 let state = self.state.borrow();

Callers

nothing calls this directly

Calls 4

beforeMethod · 0.45
afterMethod · 0.45
cloneMethod · 0.45
refreshMethod · 0.45

Tested by

no test coverage detected