pub struct TabsProps<TtabsSignal: SignalVec<Item = Dom> = Always<Dom>, Tactive_tabSignal: Signal<Item = Option<usize>> = Always<Option<usize>>, TClickHandler: Fn(usize) = fn(_: usize), TApplyFn: FnOnce(DomBuilder<HtmlElement>) -> DomBuilder<HtmlElement> = fn(_: DomBuilder<HtmlElement>) -> DomBuilder<HtmlElement>> {
    pub tabs: TtabsSignal,
    pub active_tab: Tactive_tabSignal,
    pub tab_click_handler: TClickHandler,
    pub apply: Option<TApplyFn>,
}
Expand description

Navigation tabs

Example

use dmat_components::components::tabs::*;
use dominator::{clone, html, Dom};
use futures_signals::signal::Mutable;

fn tabs_example() -> Dom {
    let active_tab_index = Mutable::new(0);
    tabs!({
     .active_tab_signal(active_tab_index.signal())
     .tab_click_handler(clone!(active_tab_signal => move |idx| active_tab_index.set(idx)))
     .tabs(vec![
         html!("div", {
             .text("About")
         }),
         html!("div", {
             .text("Components")
         }),
         html!("div", {
             .text("Visualization Components")
         }),
     ]))
}

Fields§

§tabs: TtabsSignal§active_tab: Tactive_tabSignal§tab_click_handler: TClickHandler§apply: Option<TApplyFn>

Implementations§

source§

impl TabsProps

source

pub fn new() -> Self

source§

impl<TtabsSignal: SignalVec<Item = Dom>, Tactive_tabSignal: Signal<Item = Option<usize>>, TClickHandler: Fn(usize), TApplyFn: FnOnce(DomBuilder<HtmlElement>) -> DomBuilder<HtmlElement>> TabsProps<TtabsSignal, Tactive_tabSignal, TClickHandler, TApplyFn>

source

pub fn tabs( self, v: impl Into<Vec<Dom>> ) -> TabsProps<Always<Dom>, Tactive_tabSignal, TClickHandler, TApplyFn>

source

pub fn tabs_signal_vec<TtabsSignalNew: SignalVec<Item = Dom>>( self, v: TtabsSignalNew ) -> TabsProps<TtabsSignalNew, Tactive_tabSignal, TClickHandler, TApplyFn>

source§

impl<TtabsSignal: SignalVec<Item = Dom>, Tactive_tabSignal: Signal<Item = Option<usize>>, TClickHandler: Fn(usize), TApplyFn: FnOnce(DomBuilder<HtmlElement>) -> DomBuilder<HtmlElement>> TabsProps<TtabsSignal, Tactive_tabSignal, TClickHandler, TApplyFn>

source

pub fn active_tab( self, v: Option<usize> ) -> TabsProps<TtabsSignal, Always<Option<usize>>, TClickHandler, TApplyFn>

source

pub fn active_tab_signal<Tactive_tabSignalNew: Signal<Item = Option<usize>>>( self, v: Tactive_tabSignalNew ) -> TabsProps<TtabsSignal, Tactive_tabSignalNew, TClickHandler, TApplyFn>

source§

impl<TtabsSignal: SignalVec<Item = Dom>, Tactive_tabSignal: Signal<Item = Option<usize>>, TClickHandler: Fn(usize), TApplyFn: FnOnce(DomBuilder<HtmlElement>) -> DomBuilder<HtmlElement>> TabsProps<TtabsSignal, Tactive_tabSignal, TClickHandler, TApplyFn>

source

pub fn tab_click_handler<TClickHandlerNew: Fn(usize)>( self, v: TClickHandlerNew ) -> TabsProps<TtabsSignal, Tactive_tabSignal, TClickHandlerNew, TApplyFn>

source§

impl<TtabsSignal: SignalVec<Item = Dom>, Tactive_tabSignal: Signal<Item = Option<usize>>, TClickHandler: Fn(usize), TApplyFn: FnOnce(DomBuilder<HtmlElement>) -> DomBuilder<HtmlElement>> TabsProps<TtabsSignal, Tactive_tabSignal, TClickHandler, TApplyFn>

source

pub fn apply<TApplyFnNew: FnOnce(DomBuilder<HtmlElement>) -> DomBuilder<HtmlElement>>( self, v: TApplyFnNew ) -> TabsProps<TtabsSignal, Tactive_tabSignal, TClickHandler, TApplyFnNew>

Trait Implementations§

source§

impl<TtabsSignal: SignalVec<Item = Dom>, Tactive_tabSignal: Signal<Item = Option<usize>>, TClickHandler: Fn(usize), TApplyFn: FnOnce(DomBuilder<HtmlElement>) -> DomBuilder<HtmlElement>> TabsPropsTrait for TabsProps<TtabsSignal, Tactive_tabSignal, TClickHandler, TApplyFn>

§

type TtabsSignal = TtabsSignal

§

type Tactive_tabSignal = Tactive_tabSignal

§

type TClickHandler = TClickHandler

§

type TApplyFn = TApplyFn

source§

fn take( self ) -> TabsProps<TtabsSignal, Tactive_tabSignal, TClickHandler, TApplyFn>

Auto Trait Implementations§

§

impl<TtabsSignal, Tactive_tabSignal, TClickHandler, TApplyFn> RefUnwindSafe for TabsProps<TtabsSignal, Tactive_tabSignal, TClickHandler, TApplyFn>where TApplyFn: RefUnwindSafe, TClickHandler: RefUnwindSafe, Tactive_tabSignal: RefUnwindSafe, TtabsSignal: RefUnwindSafe,

§

impl<TtabsSignal, Tactive_tabSignal, TClickHandler, TApplyFn> Send for TabsProps<TtabsSignal, Tactive_tabSignal, TClickHandler, TApplyFn>where TApplyFn: Send, TClickHandler: Send, Tactive_tabSignal: Send, TtabsSignal: Send,

§

impl<TtabsSignal, Tactive_tabSignal, TClickHandler, TApplyFn> Sync for TabsProps<TtabsSignal, Tactive_tabSignal, TClickHandler, TApplyFn>where TApplyFn: Sync, TClickHandler: Sync, Tactive_tabSignal: Sync, TtabsSignal: Sync,

§

impl<TtabsSignal, Tactive_tabSignal, TClickHandler, TApplyFn> Unpin for TabsProps<TtabsSignal, Tactive_tabSignal, TClickHandler, TApplyFn>where TApplyFn: Unpin, TClickHandler: Unpin, Tactive_tabSignal: Unpin, TtabsSignal: Unpin,

§

impl<TtabsSignal, Tactive_tabSignal, TClickHandler, TApplyFn> UnwindSafe for TabsProps<TtabsSignal, Tactive_tabSignal, TClickHandler, TApplyFn>where TApplyFn: UnwindSafe, TClickHandler: UnwindSafe, Tactive_tabSignal: UnwindSafe, TtabsSignal: 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.