From 60e74b2ec0d70a9ae1850340748a8fde66c396ed Mon Sep 17 00:00:00 2001 From: Reinis Mazeiks Date: Mon, 23 May 2022 09:35:47 +0300 Subject: [PATCH 1/2] Add missing event types to web (copied from desktop) Related: #416 --- packages/web/src/dom.rs | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/packages/web/src/dom.rs b/packages/web/src/dom.rs index 94d66460f..f321398dc 100644 --- a/packages/web/src/dom.rs +++ b/packages/web/src/dom.rs @@ -305,6 +305,8 @@ fn event_name_from_typ(typ: &str) -> &'static str { "keypress" => "keypress", "keyup" => "keyup", "focus" => "focus", + "focusout" => "focusout", + "focusin" => "focusin", "blur" => "blur", "change" => "change", "input" => "input", @@ -314,6 +316,7 @@ fn event_name_from_typ(typ: &str) -> &'static str { "click" => "click", "contextmenu" => "contextmenu", "doubleclick" => "doubleclick", + "dblclick" => "dblclick", "drag" => "drag", "dragend" => "dragend", "dragenter" => "dragenter", @@ -374,8 +377,8 @@ fn event_name_from_typ(typ: &str) -> &'static str { "volumechange" => "volumechange", "waiting" => "waiting", "toggle" => "toggle", - _ => { - panic!("unsupported event type") + a => { + panic!("unsupported event type {:?}", a); } } } From f792ed7a1771b4fd283ba1ae2499b716563125f4 Mon Sep 17 00:00:00 2001 From: Reinis Mazeiks Date: Mon, 23 May 2022 09:56:45 +0300 Subject: [PATCH 2/2] Update virtual_event_from_websys_event based on `make_synthetic_event` in the `desktop` crate --- packages/web/src/dom.rs | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/packages/web/src/dom.rs b/packages/web/src/dom.rs index f321398dc..ebcdefbcc 100644 --- a/packages/web/src/dom.rs +++ b/packages/web/src/dom.rs @@ -178,7 +178,7 @@ fn virtual_event_from_websys_event( }) } "keydown" | "keypress" | "keyup" => Arc::new(KeyboardData::from(event)), - "focus" | "blur" => Arc::new(FocusData {}), + "focus" | "blur" | "focusout" | "focusin" => 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 @@ -258,9 +258,9 @@ fn virtual_event_from_websys_event( Arc::new(FormData { value, values }) } - "click" | "contextmenu" | "doubleclick" | "drag" | "dragend" | "dragenter" | "dragexit" - | "dragleave" | "dragover" | "dragstart" | "drop" | "mousedown" | "mouseenter" - | "mouseleave" | "mousemove" | "mouseout" | "mouseover" | "mouseup" => { + "click" | "contextmenu" | "dblclick" | "doubleclick" | "drag" | "dragend" | "dragenter" + | "dragexit" | "dragleave" | "dragover" | "dragstart" | "drop" | "mousedown" + | "mouseenter" | "mouseleave" | "mousemove" | "mouseout" | "mouseover" | "mouseup" => { Arc::new(MouseData::from(event)) } "pointerdown" | "pointermove" | "pointerup" | "pointercancel" | "gotpointercapture"