From 7abb3cc79c6d4905d7529a72638b9182761b24f6 Mon Sep 17 00:00:00 2001 From: Jonathan Kelley Date: Mon, 3 Jan 2022 02:15:39 -0500 Subject: [PATCH] publish: dioxus web --- packages/web/src/dom.rs | 40 ++++++++++++++-------------------------- 1 file changed, 14 insertions(+), 26 deletions(-) diff --git a/packages/web/src/dom.rs b/packages/web/src/dom.rs index 534bb7d7c..ec632ac01 100644 --- a/packages/web/src/dom.rs +++ b/packages/web/src/dom.rs @@ -85,18 +85,6 @@ impl WebsysDom { } } - // pub fn apply_refs(&mut self, refs: &[NodeRefMutation]) { - // for item in refs { - // if let Some(bla) = &item.element { - // let node = self.nodes[item.element_id.as_u64() as usize] - // .as_ref() - // .unwrap() - // .clone(); - // bla.set(Arc::new(node)).unwrap(); - // } - // } - // } - pub fn process_edits(&mut self, edits: &mut Vec) { for edit in edits.drain(..) { match edit { @@ -483,16 +471,16 @@ fn virtual_event_from_websys_event(event: web_sys::Event) -> Arc Arc::new(ClipboardEvent {}), + "copy" | "cut" | "paste" => Arc::new(ClipboardData {}), "compositionend" | "compositionstart" | "compositionupdate" => { let evt: &web_sys::CompositionEvent = event.dyn_ref().unwrap(); - Arc::new(CompositionEvent { + Arc::new(CompositionData { data: evt.data().unwrap_or_default(), }) } "keydown" | "keypress" | "keyup" => { let evt: &web_sys::KeyboardEvent = event.dyn_ref().unwrap(); - Arc::new(KeyboardEvent { + Arc::new(KeyboardData { alt_key: evt.alt_key(), char_code: evt.char_code(), key: evt.key(), @@ -506,7 +494,7 @@ fn virtual_event_from_websys_event(event: web_sys::Event) -> Arc Arc::new(FocusEvent {}), + "focus" | "blur" => Arc::new(FocusData {}), // todo: these handlers might get really slow if the input box gets large and allocation pressure is heavy // don't have a good solution with the serialized event problem @@ -549,13 +537,13 @@ fn virtual_event_from_websys_event(event: web_sys::Event) -> Arc { let evt: &web_sys::MouseEvent = event.dyn_ref().unwrap(); - Arc::new(MouseEvent { + Arc::new(MouseData { alt_key: evt.alt_key(), button: evt.button(), buttons: evt.buttons(), @@ -573,7 +561,7 @@ fn virtual_event_from_websys_event(event: web_sys::Event) -> Arc { let evt: &web_sys::PointerEvent = event.dyn_ref().unwrap(); - Arc::new(PointerEvent { + Arc::new(PointerData { alt_key: evt.alt_key(), button: evt.button(), buttons: evt.buttons(), @@ -599,10 +587,10 @@ fn virtual_event_from_websys_event(event: web_sys::Event) -> Arc Arc::new(SelectionEvent {}), + "select" => Arc::new(SelectionData {}), "touchcancel" | "touchend" | "touchmove" | "touchstart" => { let evt: &web_sys::TouchEvent = event.dyn_ref().unwrap(); - Arc::new(TouchEvent { + Arc::new(TouchData { alt_key: evt.alt_key(), ctrl_key: evt.ctrl_key(), meta_key: evt.meta_key(), @@ -612,7 +600,7 @@ fn virtual_event_from_websys_event(event: web_sys::Event) -> Arc Arc::new(()), "wheel" => { let evt: &web_sys::WheelEvent = event.dyn_ref().unwrap(); - Arc::new(WheelEvent { + Arc::new(WheelData { delta_x: evt.delta_x(), delta_y: evt.delta_y(), delta_z: evt.delta_z(), @@ -621,7 +609,7 @@ fn virtual_event_from_websys_event(event: web_sys::Event) -> Arc { let evt: &web_sys::AnimationEvent = event.dyn_ref().unwrap(); - Arc::new(AnimationEvent { + Arc::new(AnimationData { elapsed_time: evt.elapsed_time(), animation_name: evt.animation_name(), pseudo_element: evt.pseudo_element(), @@ -629,7 +617,7 @@ fn virtual_event_from_websys_event(event: web_sys::Event) -> Arc { let evt: &web_sys::TransitionEvent = event.dyn_ref().unwrap(); - Arc::new(TransitionEvent { + Arc::new(TransitionData { elapsed_time: evt.elapsed_time(), property_name: evt.property_name(), pseudo_element: evt.pseudo_element(), @@ -638,8 +626,8 @@ fn virtual_event_from_websys_event(event: web_sys::Event) -> Arc Arc::new(MediaEvent {}), - "toggle" => Arc::new(ToggleEvent {}), + | "timeupdate" | "volumechange" | "waiting" => Arc::new(MediaData {}), + "toggle" => Arc::new(ToggleData {}), _ => Arc::new(()), } }