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

Method textinput

src/elements/textedit.rs:283–318  ·  view source on GitHub ↗
(&self, event: &mut TextEvent)

Source from the content-addressed store, hash-verified

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