Fix tests

This commit is contained in:
Evan Simkowitz 2023-08-23 17:58:43 -04:00
parent af9875f9b1
commit 56095116e2
No known key found for this signature in database
GPG key ID: 17F88C71AA49179F
7 changed files with 43 additions and 71 deletions

View file

@ -1,6 +1,7 @@
use dioxus::html::geometry::euclid::Vector3D;
use dioxus::prelude::*;
use dioxus_desktop::DesktopContext;
use dioxus_html::PointInteraction;
pub(crate) fn check_app_exits(app: Component) {
use dioxus_desktop::tao::window::WindowBuilder;

View file

@ -1,5 +1,6 @@
use dioxus::core::RenderReturn;
use dioxus::prelude::*;
use dioxus_html::PointInteraction;
use dioxus_tui::DioxusElementToNodeId;
use dioxus_tui::Query;
use dioxus_tui::Size;
@ -15,21 +16,21 @@ fn app(cx: Scope) -> Element {
let mapping: DioxusElementToNodeId = cx.consume_context().unwrap();
// disable templates so that every node has an id and can be queried
cx.render(rsx! {
div{
div {
width: "100%",
background_color: "hsl({hue}, 70%, {brightness}%)",
onmousemove: move |evt| {
if let RenderReturn::Ready(node) = cx.root_node() {
if let Some(id) = node.root_ids.borrow().get(0).cloned() {
let node = tui_query.get(mapping.get_node_id(id).unwrap());
let Size{width, height} = node.size().unwrap();
let Size { width, height } = node.size().unwrap();
let pos = evt.inner().element_coordinates();
hue.set((pos.x as f32/width as f32)*255.0);
brightness.set((pos.y as f32/height as f32)*100.0);
hue.set((pos.x as f32 / width as f32) * 255.0);
brightness.set((pos.y as f32 / height as f32) * 100.0);
}
}
},
"hsl({hue}, 70%, {brightness}%)",
"hsl({hue}, 70%, {brightness}%)"
}
})
}

View file

@ -1,5 +1,6 @@
use dioxus::{events::MouseData, prelude::*};
use dioxus_core::Event;
use dioxus_html::PointInteraction;
use std::convert::TryInto;
use std::fmt::Write;
use std::rc::Rc;
@ -52,15 +53,9 @@ fn app(cx: Scope) -> Element {
};
cx.render(rsx! {
div {
width: "100%",
height: "100%",
flex_direction: "column",
div { width: "100%", height: "100%", flex_direction: "column",
div {
width: "100%",
height: "50%",
flex_direction: "row",
div { width: "100%", height: "50%", flex_direction: "row",
div {
border_width: "1px",
width: "50%",
@ -71,7 +66,7 @@ fn app(cx: Scope) -> Element {
onmouseenter: move |m| q1_color.set([get_brightness(m.inner()), 0, 0]),
onmousedown: move |m| q1_color.set([get_brightness(m.inner()), 0, 0]),
onmouseup: move |m| q1_color.set([get_brightness(m.inner()), 0, 0]),
onwheel: move |w| q1_color.set([q1_color[0] + (10.0*w.delta().strip_units().y) as i32, 0, 0]),
onwheel: move |w| q1_color.set([q1_color[0] + (10.0 * w.delta().strip_units().y) as i32, 0, 0]),
onmouseleave: move |_| q1_color.set([200; 3]),
onmousemove: update_data,
"click me"
@ -85,17 +80,14 @@ fn app(cx: Scope) -> Element {
onmouseenter: move |m| q2_color.set([get_brightness(m.inner()); 3]),
onmousedown: move |m| q2_color.set([get_brightness(m.inner()); 3]),
onmouseup: move |m| q2_color.set([get_brightness(m.inner()); 3]),
onwheel: move |w| q2_color.set([q2_color[0] + (10.0*w.delta().strip_units().y) as i32;3]),
onwheel: move |w| q2_color.set([q2_color[0] + (10.0 * w.delta().strip_units().y) as i32; 3]),
onmouseleave: move |_| q2_color.set([200; 3]),
onmousemove: update_data,
"click me"
}
}
div {
width: "100%",
height: "50%",
flex_direction: "row",
div { width: "100%", height: "50%", flex_direction: "row",
div {
width: "50%",
height: "100%",
@ -105,7 +97,7 @@ fn app(cx: Scope) -> Element {
onmouseenter: move |m| q3_color.set([0, get_brightness(m.inner()), 0]),
onmousedown: move |m| q3_color.set([0, get_brightness(m.inner()), 0]),
onmouseup: move |m| q3_color.set([0, get_brightness(m.inner()), 0]),
onwheel: move |w| q3_color.set([0, q3_color[1] + (10.0*w.delta().strip_units().y) as i32, 0]),
onwheel: move |w| q3_color.set([0, q3_color[1] + (10.0 * w.delta().strip_units().y) as i32, 0]),
onmouseleave: move |_| q3_color.set([200; 3]),
onmousemove: update_data,
"click me"
@ -119,16 +111,16 @@ fn app(cx: Scope) -> Element {
onmouseenter: move |m| q4_color.set([0, 0, get_brightness(m.inner())]),
onmousedown: move |m| q4_color.set([0, 0, get_brightness(m.inner())]),
onmouseup: move |m| q4_color.set([0, 0, get_brightness(m.inner())]),
onwheel: move |w| q4_color.set([0, 0, q4_color[2] + (10.0*w.delta().strip_units().y) as i32]),
onwheel: move |w| q4_color.set([0, 0, q4_color[2] + (10.0 * w.delta().strip_units().y) as i32]),
onmouseleave: move |_| q4_color.set([200; 3]),
onmousemove: update_data,
"click me"
}
},
div {"Page coordinates: {page_coordinates}"},
div {"Element coordinates: {element_coordinates}"},
div {"Buttons: {buttons}"},
div {"Modifiers: {modifiers}"},
}
div { "Page coordinates: {page_coordinates}" }
div { "Element coordinates: {element_coordinates}" }
div { "Buttons: {buttons}" }
div { "Modifiers: {modifiers}" }
}
})
}

View file

@ -1,6 +1,7 @@
use crossterm::event::{Event, KeyCode, KeyEvent, KeyModifiers, MouseButton, MouseEvent};
use dioxus::prelude::*;
use dioxus_html::input_data::keyboard_types::Code;
use dioxus_html::PointInteraction;
use dioxus_tui::TuiContext;
use std::future::Future;
use std::pin::Pin;
@ -63,7 +64,7 @@ fn key_down() {
onkeydown: move |evt| {
assert_eq!(evt.data.code(), Code::KeyA);
tui_ctx.quit();
},
}
}
})
}
@ -95,9 +96,11 @@ fn mouse_down() {
width: "100%",
height: "100%",
onmousedown: move |evt| {
assert!(evt.data.held_buttons().contains(dioxus_html::input_data::MouseButton::Primary));
assert!(
evt.data.held_buttons().contains(dioxus_html::input_data::MouseButton::Primary)
);
tui_ctx.quit();
},
}
}
})
}
@ -131,13 +134,9 @@ fn mouse_up() {
modifiers: KeyModifiers::NONE,
}));
cx.render(rsx! {
div {
width: "100%",
height: "100%",
onmouseup: move |_| {
div { width: "100%", height: "100%", onmouseup: move |_| {
tui_ctx.quit();
},
}
} }
})
}
}
@ -170,13 +169,9 @@ fn mouse_enter() {
modifiers: KeyModifiers::NONE,
}));
cx.render(rsx! {
div {
width: "50%",
height: "50%",
onmouseenter: move |_| {
div { width: "50%", height: "50%", onmouseenter: move |_| {
tui_ctx.quit();
},
}
} }
})
}
}
@ -209,13 +204,9 @@ fn mouse_exit() {
modifiers: KeyModifiers::NONE,
}));
cx.render(rsx! {
div {
width: "50%",
height: "50%",
onmouseenter: move |_| {
div { width: "50%", height: "50%", onmouseenter: move |_| {
tui_ctx.quit();
},
}
} }
})
}
}
@ -248,13 +239,9 @@ fn mouse_move() {
modifiers: KeyModifiers::NONE,
}));
cx.render(rsx! {
div {
width: "100%",
height: "100%",
onmousemove: move |_|{
div { width: "100%", height: "100%", onmousemove: move |_| {
tui_ctx.quit();
},
}
} }
})
}
}
@ -293,7 +280,7 @@ fn wheel() {
onwheel: move |evt| {
assert!(evt.data.delta().strip_units().y > 0.0);
tui_ctx.quit();
},
}
}
})
}
@ -327,13 +314,9 @@ fn click() {
modifiers: KeyModifiers::NONE,
}));
cx.render(rsx! {
div {
width: "100%",
height: "100%",
onclick: move |_|{
div { width: "100%", height: "100%", onclick: move |_| {
tui_ctx.quit();
},
}
} }
})
}
}
@ -366,13 +349,9 @@ fn context_menu() {
modifiers: KeyModifiers::NONE,
}));
cx.render(rsx! {
div {
width: "100%",
height: "100%",
oncontextmenu: move |_|{
div { width: "100%", height: "100%", oncontextmenu: move |_| {
tui_ctx.quit();
},
}
} }
})
}
}

View file

@ -36,6 +36,7 @@ pub use transit::*;
pub use elements::*;
pub use events::*;
pub use global_attributes::*;
pub use point_interaction::PointInteraction;
pub use render_template::*;
mod eval;

View file

@ -14,8 +14,8 @@ use dioxus_html::input_data::keyboard_types::{Code, Key, Location, Modifiers};
use dioxus_html::input_data::{
MouseButton as DioxusMouseButton, MouseButtonSet as DioxusMouseButtons,
};
use dioxus_html::point_interaction::{PointData, PointInteraction};
use dioxus_html::{event_bubbles, FocusData, KeyboardData, MouseData, WheelData};
use dioxus_html::point_interaction::PointData;
use dioxus_html::{event_bubbles, FocusData, KeyboardData, MouseData, PointInteraction, WheelData};
use std::any::Any;
use std::collections::HashMap;
use std::{

View file

@ -1,8 +1,6 @@
use std::collections::HashMap;
use dioxus_html::{
input_data::keyboard_types::Key, point_interaction::PointInteraction, KeyboardData, MouseData,
};
use dioxus_html::{input_data::keyboard_types::Key, KeyboardData, MouseData, PointInteraction};
use dioxus_native_core::{
custom_element::CustomElement,
node::{OwnedAttributeDiscription, OwnedAttributeValue},