Compare commits

...

2 Commits

Author SHA1 Message Date
filipriec_vm
0926bbee46 tests are passing 2026-01-11 10:50:23 +01:00
filipriec_vm
d41182b13b fixes 2026-01-11 10:41:22 +01:00
5 changed files with 22 additions and 9 deletions

View File

@@ -34,7 +34,7 @@ pub trait Component {
fn handle_text( fn handle_text(
&mut self, &mut self,
focus: &Self::Focus, _focus: &Self::Focus,
_ch: char, _ch: char,
) -> Result<Option<Self::Event>, ComponentError> { ) -> Result<Option<Self::Event>, ComponentError> {
Ok(None) Ok(None)

View File

@@ -1,5 +1,3 @@
// path_from_the_root: src/input/action.rs // path_from_the_root: src/input/action.rs
pub trait Action: Clone + PartialEq + Eq + core::fmt::Debug {} pub trait Action: Clone + PartialEq + Eq + core::fmt::Debug {}
impl Action for ComponentAction {}

View File

@@ -7,7 +7,7 @@ pub mod focus;
pub mod input; pub mod input;
pub mod prelude { pub mod prelude {
pub use crate::component::*; pub use crate::component::{Component, ComponentAction, ComponentError};
pub use crate::focus::*; pub use crate::focus::{FocusError, FocusId, FocusManager, FocusQuery, Focusable};
pub use crate::input::*; pub use crate::input::{Action, Bindings, Key, KeyCode, KeyModifiers, MatchResult};
} }

View File

@@ -1,4 +1,6 @@
use tui_orchestrator::input::{Bindings, Key}; extern crate alloc;
use tui_orchestrator::input::{Action, Bindings, Key};
#[derive(Debug, Clone, Copy, PartialEq, Eq, Hash)] #[derive(Debug, Clone, Copy, PartialEq, Eq, Hash)]
#[allow(dead_code)] #[allow(dead_code)]
@@ -8,6 +10,8 @@ enum TestAction {
Open, Open,
} }
impl Action for TestAction {}
#[test] #[test]
fn test_bindings_new() { fn test_bindings_new() {
let _bindings: Bindings<TestAction> = Bindings::new(); let _bindings: Bindings<TestAction> = Bindings::new();

View File

@@ -51,11 +51,22 @@ impl Component for TestComponent {
self.field_b.clear(); self.field_b.clear();
Ok(()) Ok(())
} }
fn handle_text(
&mut self,
focus: &Self::Focus,
ch: char,
) -> Result<Option<Self::Event>, tui_orchestrator::component::error::ComponentError> {
match focus {
Self::Focus::FieldA | Self::Focus::FieldB => Ok(Some(Self::Event::TextTyped(ch))),
_ => Ok(None),
}
}
} }
#[test] #[test]
fn test_component_targets() { fn test_component_targets() {
let mut component = TestComponent { let component = TestComponent {
field_a: alloc::string::String::new(), field_a: alloc::string::String::new(),
field_b: alloc::string::String::new(), field_b: alloc::string::String::new(),
}; };
@@ -109,7 +120,7 @@ fn test_component_on_enter_clears() {
#[test] #[test]
fn test_component_defaults() { fn test_component_defaults() {
let component = TestComponent { let mut component = TestComponent {
field_a: alloc::string::String::new(), field_a: alloc::string::String::new(),
field_b: alloc::string::String::new(), field_b: alloc::string::String::new(),
}; };