Struct dmat_components::components::tabs::TabsProps
source · 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<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>
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§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>
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>
pub fn active_tab( self, v: Option<usize> ) -> TabsProps<TtabsSignal, Always<Option<usize>>, TClickHandler, TApplyFn>
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>
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>
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>
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>
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>
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
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> 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