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§button_type: ButtonType§style: ButtonStyle§disabled: TdisabledSignal§apply: Option<TApplyFn>

Implementations§

source§

impl ButtonProps

source

pub fn new() -> Self

source§

impl<TcontentSignal: Signal<Item = Dom>, FClickCallback: Fn(Click), TdisabledSignal: Signal<Item = bool>, TApplyFn: FnOnce(DomBuilder<HtmlElement>) -> DomBuilder<HtmlElement>> ButtonProps<TcontentSignal, FClickCallback, TdisabledSignal, TApplyFn>

source

pub fn content( self, v: Dom ) -> ButtonProps<Always<Dom>, FClickCallback, TdisabledSignal, TApplyFn>

source

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>

source

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>

source

pub fn button_type( self, v: ButtonType ) -> 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>

source

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>

source

pub fn disabled( self, v: bool ) -> ButtonProps<TcontentSignal, FClickCallback, Always<bool>, TApplyFn>

source

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>

source

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>

Shorthand for creating a button with a label text

source

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>

§

type TcontentSignal = TcontentSignal

§

type FClickCallback = FClickCallback

§

type TdisabledSignal = TdisabledSignal

§

type TApplyFn = TApplyFn

source§

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> Any for Twhere T: 'static + ?Sized,

source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
source§

impl<T> Borrow<T> for Twhere T: ?Sized,

source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
source§

impl<T> BorrowMut<T> for Twhere T: ?Sized,

source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
source§

impl<T> From<T> for T

source§

fn from(t: T) -> T

Returns the argument unchanged.

source§

impl<T, U> Into<U> for Twhere U: From<T>,

source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

source§

impl<T, U> TryFrom<U> for Twhere U: Into<T>,

§

type Error = Infallible

The type returned in the event of a conversion error.
source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
source§

impl<T, U> TryInto<U> for Twhere U: TryFrom<T>,

§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.