Struct dmat_components::components::button::ButtonProps
source · pub struct ButtonProps<TcontentSignal: Signal<Item = Dom> = Always<Dom>, FClickCallback: Fn(Click) = fn(_: Click), TdisabledSignal: Signal<Item = bool> = Always<bool>, TApplyFn: FnOnce(DomBuilder<HtmlElement>) -> DomBuilder<HtmlElement> = fn(_: DomBuilder<HtmlElement>) -> DomBuilder<HtmlElement>> {
pub content: Option<TcontentSignal>,
pub click_handler: FClickCallback,
pub button_type: ButtonType,
pub style: ButtonStyle,
pub disabled: TdisabledSignal,
pub apply: Option<TApplyFn>,
}
Expand description
A button. You click it, things happen.
Example
use dmat_components::components::button::*;
use dominator::{clone, html, Dom};
use futures_signals::signal::Mutable;
fn counter() {
let counter_state = Mutable::new(0);
button!({
.on_click(clone!(counter_state => move |_| {
counter_state.set(counter_state.get() + 1);
}
})
}
Fields§
§content: Option<TcontentSignal>
§click_handler: FClickCallback
§style: ButtonStyle
§disabled: TdisabledSignal
§apply: Option<TApplyFn>
Implementations§
source§impl ButtonProps
impl ButtonProps
source§impl<TcontentSignal: Signal<Item = Dom>, FClickCallback: Fn(Click), TdisabledSignal: Signal<Item = bool>, TApplyFn: FnOnce(DomBuilder<HtmlElement>) -> DomBuilder<HtmlElement>> ButtonProps<TcontentSignal, FClickCallback, TdisabledSignal, TApplyFn>
impl<TcontentSignal: Signal<Item = Dom>, FClickCallback: Fn(Click), TdisabledSignal: Signal<Item = bool>, TApplyFn: FnOnce(DomBuilder<HtmlElement>) -> DomBuilder<HtmlElement>> ButtonProps<TcontentSignal, FClickCallback, TdisabledSignal, TApplyFn>
pub fn content( self, v: Dom ) -> ButtonProps<Always<Dom>, FClickCallback, TdisabledSignal, TApplyFn>
pub fn content_signal<TcontentSignalNew: Signal<Item = Dom>>( self, v: TcontentSignalNew ) -> ButtonProps<TcontentSignalNew, FClickCallback, TdisabledSignal, TApplyFn>
source§impl<TcontentSignal: Signal<Item = Dom>, FClickCallback: Fn(Click), TdisabledSignal: Signal<Item = bool>, TApplyFn: FnOnce(DomBuilder<HtmlElement>) -> DomBuilder<HtmlElement>> ButtonProps<TcontentSignal, FClickCallback, TdisabledSignal, TApplyFn>
impl<TcontentSignal: Signal<Item = Dom>, FClickCallback: Fn(Click), TdisabledSignal: Signal<Item = bool>, TApplyFn: FnOnce(DomBuilder<HtmlElement>) -> DomBuilder<HtmlElement>> ButtonProps<TcontentSignal, FClickCallback, TdisabledSignal, TApplyFn>
pub fn click_handler<FClickCallbackNew: Fn(Click)>( self, v: FClickCallbackNew ) -> ButtonProps<TcontentSignal, FClickCallbackNew, TdisabledSignal, TApplyFn>
source§impl<TcontentSignal: Signal<Item = Dom>, FClickCallback: Fn(Click), TdisabledSignal: Signal<Item = bool>, TApplyFn: FnOnce(DomBuilder<HtmlElement>) -> DomBuilder<HtmlElement>> ButtonProps<TcontentSignal, FClickCallback, TdisabledSignal, TApplyFn>
impl<TcontentSignal: Signal<Item = Dom>, FClickCallback: Fn(Click), TdisabledSignal: Signal<Item = bool>, TApplyFn: FnOnce(DomBuilder<HtmlElement>) -> DomBuilder<HtmlElement>> ButtonProps<TcontentSignal, FClickCallback, TdisabledSignal, TApplyFn>
source§impl<TcontentSignal: Signal<Item = Dom>, FClickCallback: Fn(Click), TdisabledSignal: Signal<Item = bool>, TApplyFn: FnOnce(DomBuilder<HtmlElement>) -> DomBuilder<HtmlElement>> ButtonProps<TcontentSignal, FClickCallback, TdisabledSignal, TApplyFn>
impl<TcontentSignal: Signal<Item = Dom>, FClickCallback: Fn(Click), TdisabledSignal: Signal<Item = bool>, TApplyFn: FnOnce(DomBuilder<HtmlElement>) -> DomBuilder<HtmlElement>> ButtonProps<TcontentSignal, FClickCallback, TdisabledSignal, TApplyFn>
pub fn style( self, v: ButtonStyle ) -> ButtonProps<TcontentSignal, FClickCallback, TdisabledSignal, TApplyFn>
source§impl<TcontentSignal: Signal<Item = Dom>, FClickCallback: Fn(Click), TdisabledSignal: Signal<Item = bool>, TApplyFn: FnOnce(DomBuilder<HtmlElement>) -> DomBuilder<HtmlElement>> ButtonProps<TcontentSignal, FClickCallback, TdisabledSignal, TApplyFn>
impl<TcontentSignal: Signal<Item = Dom>, FClickCallback: Fn(Click), TdisabledSignal: Signal<Item = bool>, TApplyFn: FnOnce(DomBuilder<HtmlElement>) -> DomBuilder<HtmlElement>> ButtonProps<TcontentSignal, FClickCallback, TdisabledSignal, TApplyFn>
pub fn disabled( self, v: bool ) -> ButtonProps<TcontentSignal, FClickCallback, Always<bool>, TApplyFn>
pub fn disabled_signal<TdisabledSignalNew: Signal<Item = bool>>( self, v: TdisabledSignalNew ) -> ButtonProps<TcontentSignal, FClickCallback, TdisabledSignalNew, TApplyFn>
source§impl<TcontentSignal: Signal<Item = Dom>, FClickCallback: Fn(Click), TdisabledSignal: Signal<Item = bool>, TApplyFn: FnOnce(DomBuilder<HtmlElement>) -> DomBuilder<HtmlElement>> ButtonProps<TcontentSignal, FClickCallback, TdisabledSignal, TApplyFn>
impl<TcontentSignal: Signal<Item = Dom>, FClickCallback: Fn(Click), TdisabledSignal: Signal<Item = bool>, TApplyFn: FnOnce(DomBuilder<HtmlElement>) -> DomBuilder<HtmlElement>> ButtonProps<TcontentSignal, FClickCallback, TdisabledSignal, TApplyFn>
pub fn apply<TApplyFnNew: FnOnce(DomBuilder<HtmlElement>) -> DomBuilder<HtmlElement>>( self, v: TApplyFnNew ) -> ButtonProps<TcontentSignal, FClickCallback, TdisabledSignal, TApplyFnNew>
source§impl<TcontentSignal: Signal<Item = Dom>, FClickCallback: Fn(Click), TdisabledSignal: Signal<Item = bool>, TApplyFn: FnOnce(DomBuilder<HtmlElement>) -> DomBuilder<HtmlElement>> ButtonProps<TcontentSignal, FClickCallback, TdisabledSignal, TApplyFn>
impl<TcontentSignal: Signal<Item = Dom>, FClickCallback: Fn(Click), TdisabledSignal: Signal<Item = bool>, TApplyFn: FnOnce(DomBuilder<HtmlElement>) -> DomBuilder<HtmlElement>> ButtonProps<TcontentSignal, FClickCallback, TdisabledSignal, TApplyFn>
Shorthand for creating a button with a label text
pub fn label( self, v: impl AsRef<str> ) -> ButtonProps<Always<Dom>, FClickCallback, TdisabledSignal, TApplyFn>
Trait Implementations§
source§impl<TcontentSignal: Signal<Item = Dom>, FClickCallback: Fn(Click), TdisabledSignal: Signal<Item = bool>, TApplyFn: FnOnce(DomBuilder<HtmlElement>) -> DomBuilder<HtmlElement>> ButtonPropsTrait for ButtonProps<TcontentSignal, FClickCallback, TdisabledSignal, TApplyFn>
impl<TcontentSignal: Signal<Item = Dom>, FClickCallback: Fn(Click), TdisabledSignal: Signal<Item = bool>, TApplyFn: FnOnce(DomBuilder<HtmlElement>) -> DomBuilder<HtmlElement>> ButtonPropsTrait for ButtonProps<TcontentSignal, FClickCallback, TdisabledSignal, TApplyFn>
type TcontentSignal = TcontentSignal
type FClickCallback = FClickCallback
type TdisabledSignal = TdisabledSignal
type TApplyFn = TApplyFn
fn take( self ) -> ButtonProps<TcontentSignal, FClickCallback, TdisabledSignal, TApplyFn>
Auto Trait Implementations§
impl<TcontentSignal, FClickCallback, TdisabledSignal, TApplyFn> RefUnwindSafe for ButtonProps<TcontentSignal, FClickCallback, TdisabledSignal, TApplyFn>where FClickCallback: RefUnwindSafe, TApplyFn: RefUnwindSafe, TcontentSignal: RefUnwindSafe, TdisabledSignal: RefUnwindSafe,
impl<TcontentSignal, FClickCallback, TdisabledSignal, TApplyFn> Send for ButtonProps<TcontentSignal, FClickCallback, TdisabledSignal, TApplyFn>where FClickCallback: Send, TApplyFn: Send, TcontentSignal: Send, TdisabledSignal: Send,
impl<TcontentSignal, FClickCallback, TdisabledSignal, TApplyFn> Sync for ButtonProps<TcontentSignal, FClickCallback, TdisabledSignal, TApplyFn>where FClickCallback: Sync, TApplyFn: Sync, TcontentSignal: Sync, TdisabledSignal: Sync,
impl<TcontentSignal, FClickCallback, TdisabledSignal, TApplyFn> Unpin for ButtonProps<TcontentSignal, FClickCallback, TdisabledSignal, TApplyFn>where FClickCallback: Unpin, TApplyFn: Unpin, TcontentSignal: Unpin, TdisabledSignal: Unpin,
impl<TcontentSignal, FClickCallback, TdisabledSignal, TApplyFn> UnwindSafe for ButtonProps<TcontentSignal, FClickCallback, TdisabledSignal, TApplyFn>where FClickCallback: UnwindSafe, TApplyFn: UnwindSafe, TcontentSignal: UnwindSafe, TdisabledSignal: UnwindSafe,
Blanket Implementations§
source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere T: ?Sized,
source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more