update all events example

This commit is contained in:
Evan Almloff committed 2022-12-05 20:43:11 -06:00
1 parent f10d47b53d
commit b1db7a6400
1 file changed
+25 -25
+25 -25
View File
@@ -1,6 +1,6 @@
use dioxus::prelude::*; use dioxus::prelude::*;
use dioxus_html::on::{FocusData, KeyboardData, MouseData, WheelData}; use dioxus_html::{FocusData, KeyboardData, MouseData, WheelData};
use std::sync::Arc; use std::rc::Rc;
fn main() { fn main() {
dioxus_tui::launch(app); dioxus_tui::launch(app);
@@ -8,20 +8,20 @@ fn main() {
#[derive(Debug)] #[derive(Debug)]
enum Event { enum Event {
MouseMove(Arc<MouseData>), MouseMove(Rc<MouseData>),
MouseClick(Arc<MouseData>), MouseClick(Rc<MouseData>),
MouseDoubleClick(Arc<MouseData>), MouseDoubleClick(Rc<MouseData>),
MouseDown(Arc<MouseData>), MouseDown(Rc<MouseData>),
MouseUp(Arc<MouseData>), MouseUp(Rc<MouseData>),
Wheel(Arc<WheelData>), Wheel(Rc<WheelData>),
KeyDown(Arc<KeyboardData>), KeyDown(Rc<KeyboardData>),
KeyUp(Arc<KeyboardData>), KeyUp(Rc<KeyboardData>),
KeyPress(Arc<KeyboardData>), KeyPress(Rc<KeyboardData>),
FocusIn(Arc<FocusData>), FocusIn(Rc<FocusData>),
FocusOut(Arc<FocusData>), FocusOut(Rc<FocusData>),
} }
const MAX_EVENTS: usize = 8; const MAX_EVENTS: usize = 8;
@@ -37,7 +37,7 @@ fn app(cx: Scope) -> Element {
// todo: remove // todo: remove
let mut trimmed = format!("{event:?}"); let mut trimmed = format!("{event:?}");
trimmed.truncate(200); trimmed.truncate(200);
cx.render(rsx!(p { "{trimmed}" })) rsx!(p { "{trimmed}" })
}); });
let log_event = move |event: Event| { let log_event = move |event: Event| {
@@ -57,20 +57,20 @@ fn app(cx: Scope) -> Element {
align_items: "center", align_items: "center",
background_color: "hsl(248, 53%, 58%)", background_color: "hsl(248, 53%, 58%)",
onmousemove: move |event| log_event(Event::MouseMove(event.data)), onmousemove: move |event| log_event(Event::MouseMove(event.inner().clone())),
onclick: move |event| log_event(Event::MouseClick(event.data)), onclick: move |event| log_event(Event::MouseClick(event.inner().clone())),
ondblclick: move |event| log_event(Event::MouseDoubleClick(event.data)), ondblclick: move |event| log_event(Event::MouseDoubleClick(event.inner().clone())),
onmousedown: move |event| log_event(Event::MouseDown(event.data)), onmousedown: move |event| log_event(Event::MouseDown(event.inner().clone())),
onmouseup: move |event| log_event(Event::MouseUp(event.data)), onmouseup: move |event| log_event(Event::MouseUp(event.inner().clone())),
onwheel: move |event| log_event(Event::Wheel(event.data)), onwheel: move |event| log_event(Event::Wheel(event.inner().clone())),
onkeydown: move |event| log_event(Event::KeyDown(event.data)), onkeydown: move |event| log_event(Event::KeyDown(event.inner().clone())),
onkeyup: move |event| log_event(Event::KeyUp(event.data)), onkeyup: move |event| log_event(Event::KeyUp(event.inner().clone())),
onkeypress: move |event| log_event(Event::KeyPress(event.data)), onkeypress: move |event| log_event(Event::KeyPress(event.inner().clone())),
onfocusin: move |event| log_event(Event::FocusIn(event.data)), onfocusin: move |event| log_event(Event::FocusIn(event.inner().clone())),
onfocusout: move |event| log_event(Event::FocusOut(event.data)), onfocusout: move |event| log_event(Event::FocusOut(event.inner().clone())),
"Hover, click, type or scroll to see the info down below" "Hover, click, type or scroll to see the info down below"
}, },