//! Convert a serialized event to an event trigger use dioxus_html::*; use serde::{Deserialize, Serialize}; use crate::element::DesktopElement; #[derive(Deserialize, Serialize, Debug, Clone)] pub struct IpcMessage { method: String, params: serde_json::Value, } impl IpcMessage { pub(crate) fn method(&self) -> &str { self.method.as_str() } pub(crate) fn params(self) -> serde_json::Value { self.params } } pub(crate) struct SerializedHtmlEventConverter; impl HtmlEventConverter for SerializedHtmlEventConverter { fn convert_animation_data(&self, event: &PlatformEventData) -> AnimationData { event .downcast::() .cloned() .unwrap() .into() } fn convert_clipboard_data(&self, event: &PlatformEventData) -> ClipboardData { event .downcast::() .cloned() .unwrap() .into() } fn convert_composition_data(&self, event: &PlatformEventData) -> CompositionData { event .downcast::() .cloned() .unwrap() .into() } fn convert_drag_data(&self, event: &PlatformEventData) -> DragData { event .downcast::() .cloned() .unwrap() .into() } fn convert_focus_data(&self, event: &PlatformEventData) -> FocusData { event .downcast::() .cloned() .unwrap() .into() } fn convert_form_data(&self, event: &PlatformEventData) -> FormData { event .downcast::() .cloned() .unwrap() .into() } fn convert_image_data(&self, event: &PlatformEventData) -> ImageData { event .downcast::() .cloned() .unwrap() .into() } fn convert_keyboard_data(&self, event: &PlatformEventData) -> KeyboardData { event .downcast::() .cloned() .unwrap() .into() } fn convert_media_data(&self, event: &PlatformEventData) -> MediaData { event .downcast::() .cloned() .unwrap() .into() } fn convert_mounted_data(&self, event: &PlatformEventData) -> MountedData { event.downcast::().cloned().unwrap().into() } fn convert_mouse_data(&self, event: &PlatformEventData) -> MouseData { event .downcast::() .cloned() .unwrap() .into() } fn convert_pointer_data(&self, event: &PlatformEventData) -> PointerData { event .downcast::() .cloned() .unwrap() .into() } fn convert_scroll_data(&self, event: &PlatformEventData) -> ScrollData { event .downcast::() .cloned() .unwrap() .into() } fn convert_selection_data(&self, event: &PlatformEventData) -> SelectionData { event .downcast::() .cloned() .unwrap() .into() } fn convert_toggle_data(&self, event: &PlatformEventData) -> ToggleData { event .downcast::() .cloned() .unwrap() .into() } fn convert_touch_data(&self, event: &PlatformEventData) -> TouchData { event .downcast::() .cloned() .unwrap() .into() } fn convert_transition_data(&self, event: &PlatformEventData) -> TransitionData { event .downcast::() .cloned() .unwrap() .into() } fn convert_wheel_data(&self, event: &PlatformEventData) -> WheelData { event .downcast::() .cloned() .unwrap() .into() } }