Skip to content

Commit

Permalink
Use Callback instead of Out when dealing with events
Browse files Browse the repository at this point in the history
  • Loading branch information
lpotthast committed Mar 9, 2024
1 parent e3c2622 commit cccdb79
Show file tree
Hide file tree
Showing 2 changed files with 7 additions and 8 deletions.
10 changes: 5 additions & 5 deletions leptonic/src/atoms/button.rs
Original file line number Diff line number Diff line change
Expand Up @@ -10,16 +10,16 @@ use crate::{
press::{PressEvent, UsePressInput},
},
utils::aria::{AriaExpanded, AriaHasPopup},
OptMaybeSignal, Out,
OptMaybeSignal,
};

use super::AttributeExt;

#[component]
pub fn Button(
#[prop(into, optional)] on_press: Option<Out<PressEvent>>,
#[prop(into, optional)] on_hover_start: Option<Out<HoverStartEvent>>,
#[prop(into, optional)] on_hover_end: Option<Out<HoverEndEvent>>,
#[prop(into, optional)] on_press: Option<Callback<PressEvent>>,
#[prop(into, optional)] on_hover_start: Option<Callback<HoverStartEvent>>,
#[prop(into, optional)] on_hover_end: Option<Callback<HoverEndEvent>>,
#[prop(into, optional)] disabled: OptMaybeSignal<bool>,
#[prop(into, optional)] id: Option<AttributeValue>,
#[prop(into, optional)] class: Option<AttributeValue>,
Expand All @@ -41,7 +41,7 @@ pub fn Button(
use_press_input: UsePressInput {
disabled: disabled.or(false),
on_press: Callback::new(move |e| match on_press {
Some(on_press) => on_press.set(e),
Some(on_press) => Callback::call(&on_press, e),
None => {}
}),
on_press_up: None,
Expand Down
5 changes: 2 additions & 3 deletions leptonic/src/components/button.rs
Original file line number Diff line number Diff line change
Expand Up @@ -12,9 +12,8 @@ use crate::{
hover::{HoverEndEvent, HoverStartEvent},
press::PressEvent,
},
prelude::Consumer,
utils::aria::{AriaExpanded, AriaHasPopup},
OptMaybeSignal, Out,
OptMaybeSignal,
};

#[derive(Debug, Default, Clone, Copy, PartialEq, Eq)]
Expand Down Expand Up @@ -97,7 +96,7 @@ impl Display for ButtonSize {

#[component]
pub fn Button(
#[prop(into)] on_press: Out<PressEvent>,
#[prop(into)] on_press: Callback<PressEvent>,
#[prop(into, optional)] variant: OptMaybeSignal<ButtonVariant>,
#[prop(into, optional)] color: OptMaybeSignal<ButtonColor>,
#[prop(into, optional)] size: OptMaybeSignal<ButtonSize>,
Expand Down

0 comments on commit cccdb79

Please sign in to comment.