|
@@ -91,7 +91,7 @@ fn fun_name(
|
|
|
// Touch
|
|
|
"touchcancel" | "touchend" | "touchmove" | "touchstart" => Touch(de(data)?),
|
|
|
|
|
|
- // Srcoll
|
|
|
+ // Scroll
|
|
|
"scroll" => Scroll(de(data)?),
|
|
|
|
|
|
// Wheel
|
|
@@ -102,7 +102,7 @@ fn fun_name(
|
|
|
| "ended" | "interruptbegin" | "interruptend" | "loadeddata" | "loadedmetadata"
|
|
|
| "loadstart" | "pause" | "play" | "playing" | "progress" | "ratechange" | "seeked"
|
|
|
| "seeking" | "stalled" | "suspend" | "timeupdate" | "volumechange" | "waiting"
|
|
|
- | "error" | "load" | "loadend" | "timeout" => Media(de(data)?),
|
|
|
+ | "loadend" | "timeout" => Media(de(data)?),
|
|
|
|
|
|
// Animation
|
|
|
"animationstart" | "animationend" | "animationiteration" => Animation(de(data)?),
|
|
@@ -113,10 +113,11 @@ fn fun_name(
|
|
|
// Toggle
|
|
|
"toggle" => Toggle(de(data)?),
|
|
|
|
|
|
+ "load" | "error" => Image(de(data)?),
|
|
|
+
|
|
|
// Mounted
|
|
|
"mounted" => Mounted,
|
|
|
|
|
|
- // ImageData => "load" | "error";
|
|
|
// OtherData => "abort" | "afterprint" | "beforeprint" | "beforeunload" | "hashchange" | "languagechange" | "message" | "offline" | "online" | "pagehide" | "pageshow" | "popstate" | "rejectionhandled" | "storage" | "unhandledrejection" | "unload" | "userproximity" | "vrdisplayactivate" | "vrdisplayblur" | "vrdisplayconnect" | "vrdisplaydeactivate" | "vrdisplaydisconnect" | "vrdisplayfocus" | "vrdisplaypointerrestricted" | "vrdisplaypointerunrestricted" | "vrdisplaypresentchange";
|
|
|
other => {
|
|
|
return Err(serde_value::DeserializerError::UnknownVariant(
|
|
@@ -137,6 +138,7 @@ impl HtmlEvent {
|
|
|
|
|
|
#[derive(Deserialize, Serialize, Debug, Clone, PartialEq)]
|
|
|
#[serde(untagged)]
|
|
|
+#[non_exhaustive]
|
|
|
pub enum EventData {
|
|
|
Mouse(MouseData),
|
|
|
Clipboard(ClipboardData),
|
|
@@ -154,6 +156,7 @@ pub enum EventData {
|
|
|
Animation(AnimationData),
|
|
|
Transition(TransitionData),
|
|
|
Toggle(ToggleData),
|
|
|
+ Image(ImageData),
|
|
|
Mounted,
|
|
|
}
|
|
|
|
|
@@ -176,6 +179,7 @@ impl EventData {
|
|
|
EventData::Animation(data) => Rc::new(data) as Rc<dyn Any>,
|
|
|
EventData::Transition(data) => Rc::new(data) as Rc<dyn Any>,
|
|
|
EventData::Toggle(data) => Rc::new(data) as Rc<dyn Any>,
|
|
|
+ EventData::Image(data) => Rc::new(data) as Rc<dyn Any>,
|
|
|
EventData::Mounted => Rc::new(MountedData::new(())) as Rc<dyn Any>,
|
|
|
}
|
|
|
}
|