pub struct NavigationDrawerProps<TexpandedSignal: Signal<Item = bool> = Always<bool>, TextendedSignal: Signal<Item = bool> = Always<bool>, TOnExtendedChange: Fn(bool) = fn(_: bool), TwidthSignal: Signal<Item = DrawerWidth> = Always<DrawerWidth>, TmodalSignal: Signal<Item = bool> = Always<bool>, Tdrawer_contentSignal: Signal<Item = Option<Dom>> = Always<Option<Dom>>, Tmain_contentSignal: Signal<Item = Option<Dom>> = Always<Option<Dom>>, TApplyFn: FnOnce(DomBuilder<HtmlElement>) -> DomBuilder<HtmlElement> = fn(_: DomBuilder<HtmlElement>) -> DomBuilder<HtmlElement>> {
    pub expanded: TexpandedSignal,
    pub extended: TextendedSignal,
    pub on_extended_change: Option<TOnExtendedChange>,
    pub with_scrim: bool,
    pub width: TwidthSignal,
    pub retracts: bool,
    pub modal: TmodalSignal,
    pub drawer_content: Tdrawer_contentSignal,
    pub main_content: Tmain_contentSignal,
    pub apply: Option<TApplyFn>,
}
Expand description

Navigation drawer: https://material.io/components/navigation-drawer

Examples

use dominator::{Dom, html};
use dmat_components::components::*;

fn retracting(modal: bool) -> Dom {
  navigation_drawer!({
      .expanded_signal(expanded.signal_cloned())
      .with_scrim(true)
      .drawer_content(Some(html!("div", {
          .children(&mut[mock_view_select(), toggle_button(&expanded, "Close")])
      })))
      .retracts(true)
      .modal(modal)
      .main_content(Some(html!("div", {
           .children(&mut[
              html!("div", {
                  .text(lipsum(100).as_str())
              }),
              toggle_button(&expanded, "Show")
          ])
      })))
  })
}

Fields§

§expanded: TexpandedSignal§extended: TextendedSignal§on_extended_change: Option<TOnExtendedChange>§with_scrim: bool§width: TwidthSignal§retracts: bool§modal: TmodalSignal§drawer_content: Tdrawer_contentSignal§main_content: Tmain_contentSignal§apply: Option<TApplyFn>

Implementations§

source§

impl NavigationDrawerProps

source

pub fn new() -> Self

source§

impl<TexpandedSignal: Signal<Item = bool>, TextendedSignal: Signal<Item = bool>, TOnExtendedChange: Fn(bool), TwidthSignal: Signal<Item = DrawerWidth>, TmodalSignal: Signal<Item = bool>, Tdrawer_contentSignal: Signal<Item = Option<Dom>>, Tmain_contentSignal: Signal<Item = Option<Dom>>, TApplyFn: FnOnce(DomBuilder<HtmlElement>) -> DomBuilder<HtmlElement>> NavigationDrawerProps<TexpandedSignal, TextendedSignal, TOnExtendedChange, TwidthSignal, TmodalSignal, Tdrawer_contentSignal, Tmain_contentSignal, TApplyFn>

source

pub fn expanded( self, v: bool ) -> NavigationDrawerProps<Always<bool>, TextendedSignal, TOnExtendedChange, TwidthSignal, TmodalSignal, Tdrawer_contentSignal, Tmain_contentSignal, TApplyFn>

source

pub fn expanded_signal<TexpandedSignalNew: Signal<Item = bool>>( self, v: TexpandedSignalNew ) -> NavigationDrawerProps<TexpandedSignalNew, TextendedSignal, TOnExtendedChange, TwidthSignal, TmodalSignal, Tdrawer_contentSignal, Tmain_contentSignal, TApplyFn>

source§

impl<TexpandedSignal: Signal<Item = bool>, TextendedSignal: Signal<Item = bool>, TOnExtendedChange: Fn(bool), TwidthSignal: Signal<Item = DrawerWidth>, TmodalSignal: Signal<Item = bool>, Tdrawer_contentSignal: Signal<Item = Option<Dom>>, Tmain_contentSignal: Signal<Item = Option<Dom>>, TApplyFn: FnOnce(DomBuilder<HtmlElement>) -> DomBuilder<HtmlElement>> NavigationDrawerProps<TexpandedSignal, TextendedSignal, TOnExtendedChange, TwidthSignal, TmodalSignal, Tdrawer_contentSignal, Tmain_contentSignal, TApplyFn>

source

pub fn extended( self, v: bool ) -> NavigationDrawerProps<TexpandedSignal, Always<bool>, TOnExtendedChange, TwidthSignal, TmodalSignal, Tdrawer_contentSignal, Tmain_contentSignal, TApplyFn>

source

pub fn extended_signal<TextendedSignalNew: Signal<Item = bool>>( self, v: TextendedSignalNew ) -> NavigationDrawerProps<TexpandedSignal, TextendedSignalNew, TOnExtendedChange, TwidthSignal, TmodalSignal, Tdrawer_contentSignal, Tmain_contentSignal, TApplyFn>

source§

impl<TexpandedSignal: Signal<Item = bool>, TextendedSignal: Signal<Item = bool>, TOnExtendedChange: Fn(bool), TwidthSignal: Signal<Item = DrawerWidth>, TmodalSignal: Signal<Item = bool>, Tdrawer_contentSignal: Signal<Item = Option<Dom>>, Tmain_contentSignal: Signal<Item = Option<Dom>>, TApplyFn: FnOnce(DomBuilder<HtmlElement>) -> DomBuilder<HtmlElement>> NavigationDrawerProps<TexpandedSignal, TextendedSignal, TOnExtendedChange, TwidthSignal, TmodalSignal, Tdrawer_contentSignal, Tmain_contentSignal, TApplyFn>

source

pub fn on_extended_change<TOnExtendedChangeNew: Fn(bool)>( self, v: TOnExtendedChangeNew ) -> NavigationDrawerProps<TexpandedSignal, TextendedSignal, TOnExtendedChangeNew, TwidthSignal, TmodalSignal, Tdrawer_contentSignal, Tmain_contentSignal, TApplyFn>

source§

impl<TexpandedSignal: Signal<Item = bool>, TextendedSignal: Signal<Item = bool>, TOnExtendedChange: Fn(bool), TwidthSignal: Signal<Item = DrawerWidth>, TmodalSignal: Signal<Item = bool>, Tdrawer_contentSignal: Signal<Item = Option<Dom>>, Tmain_contentSignal: Signal<Item = Option<Dom>>, TApplyFn: FnOnce(DomBuilder<HtmlElement>) -> DomBuilder<HtmlElement>> NavigationDrawerProps<TexpandedSignal, TextendedSignal, TOnExtendedChange, TwidthSignal, TmodalSignal, Tdrawer_contentSignal, Tmain_contentSignal, TApplyFn>

source

pub fn with_scrim( self, v: bool ) -> NavigationDrawerProps<TexpandedSignal, TextendedSignal, TOnExtendedChange, TwidthSignal, TmodalSignal, Tdrawer_contentSignal, Tmain_contentSignal, TApplyFn>

If true, a scrim will be rendered on top of the contained UI when the drawer is expanded

source§

impl<TexpandedSignal: Signal<Item = bool>, TextendedSignal: Signal<Item = bool>, TOnExtendedChange: Fn(bool), TwidthSignal: Signal<Item = DrawerWidth>, TmodalSignal: Signal<Item = bool>, Tdrawer_contentSignal: Signal<Item = Option<Dom>>, Tmain_contentSignal: Signal<Item = Option<Dom>>, TApplyFn: FnOnce(DomBuilder<HtmlElement>) -> DomBuilder<HtmlElement>> NavigationDrawerProps<TexpandedSignal, TextendedSignal, TOnExtendedChange, TwidthSignal, TmodalSignal, Tdrawer_contentSignal, Tmain_contentSignal, TApplyFn>

source

pub fn width( self, v: DrawerWidth ) -> NavigationDrawerProps<TexpandedSignal, TextendedSignal, TOnExtendedChange, Always<DrawerWidth>, TmodalSignal, Tdrawer_contentSignal, Tmain_contentSignal, TApplyFn>

source

pub fn width_signal<TwidthSignalNew: Signal<Item = DrawerWidth>>( self, v: TwidthSignalNew ) -> NavigationDrawerProps<TexpandedSignal, TextendedSignal, TOnExtendedChange, TwidthSignalNew, TmodalSignal, Tdrawer_contentSignal, Tmain_contentSignal, TApplyFn>

source§

impl<TexpandedSignal: Signal<Item = bool>, TextendedSignal: Signal<Item = bool>, TOnExtendedChange: Fn(bool), TwidthSignal: Signal<Item = DrawerWidth>, TmodalSignal: Signal<Item = bool>, Tdrawer_contentSignal: Signal<Item = Option<Dom>>, Tmain_contentSignal: Signal<Item = Option<Dom>>, TApplyFn: FnOnce(DomBuilder<HtmlElement>) -> DomBuilder<HtmlElement>> NavigationDrawerProps<TexpandedSignal, TextendedSignal, TOnExtendedChange, TwidthSignal, TmodalSignal, Tdrawer_contentSignal, Tmain_contentSignal, TApplyFn>

source

pub fn retracts( self, v: bool ) -> NavigationDrawerProps<TexpandedSignal, TextendedSignal, TOnExtendedChange, TwidthSignal, TmodalSignal, Tdrawer_contentSignal, Tmain_contentSignal, TApplyFn>

Determines if the drawer will collapse and extend based on mouse hover

source§

impl<TexpandedSignal: Signal<Item = bool>, TextendedSignal: Signal<Item = bool>, TOnExtendedChange: Fn(bool), TwidthSignal: Signal<Item = DrawerWidth>, TmodalSignal: Signal<Item = bool>, Tdrawer_contentSignal: Signal<Item = Option<Dom>>, Tmain_contentSignal: Signal<Item = Option<Dom>>, TApplyFn: FnOnce(DomBuilder<HtmlElement>) -> DomBuilder<HtmlElement>> NavigationDrawerProps<TexpandedSignal, TextendedSignal, TOnExtendedChange, TwidthSignal, TmodalSignal, Tdrawer_contentSignal, Tmain_contentSignal, TApplyFn>

source

pub fn modal( self, v: bool ) -> NavigationDrawerProps<TexpandedSignal, TextendedSignal, TOnExtendedChange, TwidthSignal, Always<bool>, Tdrawer_contentSignal, Tmain_contentSignal, TApplyFn>

Determines if the drawer overlays the held UI, or if it is render side by side with it

source

pub fn modal_signal<TmodalSignalNew: Signal<Item = bool>>( self, v: TmodalSignalNew ) -> NavigationDrawerProps<TexpandedSignal, TextendedSignal, TOnExtendedChange, TwidthSignal, TmodalSignalNew, Tdrawer_contentSignal, Tmain_contentSignal, TApplyFn>

Determines if the drawer overlays the held UI, or if it is render side by side with it

source§

impl<TexpandedSignal: Signal<Item = bool>, TextendedSignal: Signal<Item = bool>, TOnExtendedChange: Fn(bool), TwidthSignal: Signal<Item = DrawerWidth>, TmodalSignal: Signal<Item = bool>, Tdrawer_contentSignal: Signal<Item = Option<Dom>>, Tmain_contentSignal: Signal<Item = Option<Dom>>, TApplyFn: FnOnce(DomBuilder<HtmlElement>) -> DomBuilder<HtmlElement>> NavigationDrawerProps<TexpandedSignal, TextendedSignal, TOnExtendedChange, TwidthSignal, TmodalSignal, Tdrawer_contentSignal, Tmain_contentSignal, TApplyFn>

source

pub fn drawer_content( self, v: Option<Dom> ) -> NavigationDrawerProps<TexpandedSignal, TextendedSignal, TOnExtendedChange, TwidthSignal, TmodalSignal, Always<Option<Dom>>, Tmain_contentSignal, TApplyFn>

The content of the navigation drawer

source

pub fn drawer_content_signal<Tdrawer_contentSignalNew: Signal<Item = Option<Dom>>>( self, v: Tdrawer_contentSignalNew ) -> NavigationDrawerProps<TexpandedSignal, TextendedSignal, TOnExtendedChange, TwidthSignal, TmodalSignal, Tdrawer_contentSignalNew, Tmain_contentSignal, TApplyFn>

The content of the navigation drawer

source§

impl<TexpandedSignal: Signal<Item = bool>, TextendedSignal: Signal<Item = bool>, TOnExtendedChange: Fn(bool), TwidthSignal: Signal<Item = DrawerWidth>, TmodalSignal: Signal<Item = bool>, Tdrawer_contentSignal: Signal<Item = Option<Dom>>, Tmain_contentSignal: Signal<Item = Option<Dom>>, TApplyFn: FnOnce(DomBuilder<HtmlElement>) -> DomBuilder<HtmlElement>> NavigationDrawerProps<TexpandedSignal, TextendedSignal, TOnExtendedChange, TwidthSignal, TmodalSignal, Tdrawer_contentSignal, Tmain_contentSignal, TApplyFn>

source

pub fn main_content( self, v: Option<Dom> ) -> NavigationDrawerProps<TexpandedSignal, TextendedSignal, TOnExtendedChange, TwidthSignal, TmodalSignal, Tdrawer_contentSignal, Always<Option<Dom>>, TApplyFn>

The main view which the drawer is attached to

source

pub fn main_content_signal<Tmain_contentSignalNew: Signal<Item = Option<Dom>>>( self, v: Tmain_contentSignalNew ) -> NavigationDrawerProps<TexpandedSignal, TextendedSignal, TOnExtendedChange, TwidthSignal, TmodalSignal, Tdrawer_contentSignal, Tmain_contentSignalNew, TApplyFn>

The main view which the drawer is attached to

source§

impl<TexpandedSignal: Signal<Item = bool>, TextendedSignal: Signal<Item = bool>, TOnExtendedChange: Fn(bool), TwidthSignal: Signal<Item = DrawerWidth>, TmodalSignal: Signal<Item = bool>, Tdrawer_contentSignal: Signal<Item = Option<Dom>>, Tmain_contentSignal: Signal<Item = Option<Dom>>, TApplyFn: FnOnce(DomBuilder<HtmlElement>) -> DomBuilder<HtmlElement>> NavigationDrawerProps<TexpandedSignal, TextendedSignal, TOnExtendedChange, TwidthSignal, TmodalSignal, Tdrawer_contentSignal, Tmain_contentSignal, TApplyFn>

source

pub fn apply<TApplyFnNew: FnOnce(DomBuilder<HtmlElement>) -> DomBuilder<HtmlElement>>( self, v: TApplyFnNew ) -> NavigationDrawerProps<TexpandedSignal, TextendedSignal, TOnExtendedChange, TwidthSignal, TmodalSignal, Tdrawer_contentSignal, Tmain_contentSignal, TApplyFnNew>

Trait Implementations§

source§

impl<TexpandedSignal: Signal<Item = bool>, TextendedSignal: Signal<Item = bool>, TOnExtendedChange: Fn(bool), TwidthSignal: Signal<Item = DrawerWidth>, TmodalSignal: Signal<Item = bool>, Tdrawer_contentSignal: Signal<Item = Option<Dom>>, Tmain_contentSignal: Signal<Item = Option<Dom>>, TApplyFn: FnOnce(DomBuilder<HtmlElement>) -> DomBuilder<HtmlElement>> NavigationDrawerPropsTrait for NavigationDrawerProps<TexpandedSignal, TextendedSignal, TOnExtendedChange, TwidthSignal, TmodalSignal, Tdrawer_contentSignal, Tmain_contentSignal, TApplyFn>

§

type TexpandedSignal = TexpandedSignal

§

type TextendedSignal = TextendedSignal

§

type TOnExtendedChange = TOnExtendedChange

§

type TwidthSignal = TwidthSignal

§

type TmodalSignal = TmodalSignal

§

type Tdrawer_contentSignal = Tdrawer_contentSignal

§

type Tmain_contentSignal = Tmain_contentSignal

§

type TApplyFn = TApplyFn

source§

fn take( self ) -> NavigationDrawerProps<TexpandedSignal, TextendedSignal, TOnExtendedChange, TwidthSignal, TmodalSignal, Tdrawer_contentSignal, Tmain_contentSignal, TApplyFn>

Auto Trait Implementations§

§

impl<TexpandedSignal, TextendedSignal, TOnExtendedChange, TwidthSignal, TmodalSignal, Tdrawer_contentSignal, Tmain_contentSignal, TApplyFn> RefUnwindSafe for NavigationDrawerProps<TexpandedSignal, TextendedSignal, TOnExtendedChange, TwidthSignal, TmodalSignal, Tdrawer_contentSignal, Tmain_contentSignal, TApplyFn>where TApplyFn: RefUnwindSafe, TOnExtendedChange: RefUnwindSafe, Tdrawer_contentSignal: RefUnwindSafe, TexpandedSignal: RefUnwindSafe, TextendedSignal: RefUnwindSafe, Tmain_contentSignal: RefUnwindSafe, TmodalSignal: RefUnwindSafe, TwidthSignal: RefUnwindSafe,

§

impl<TexpandedSignal, TextendedSignal, TOnExtendedChange, TwidthSignal, TmodalSignal, Tdrawer_contentSignal, Tmain_contentSignal, TApplyFn> Send for NavigationDrawerProps<TexpandedSignal, TextendedSignal, TOnExtendedChange, TwidthSignal, TmodalSignal, Tdrawer_contentSignal, Tmain_contentSignal, TApplyFn>where TApplyFn: Send, TOnExtendedChange: Send, Tdrawer_contentSignal: Send, TexpandedSignal: Send, TextendedSignal: Send, Tmain_contentSignal: Send, TmodalSignal: Send, TwidthSignal: Send,

§

impl<TexpandedSignal, TextendedSignal, TOnExtendedChange, TwidthSignal, TmodalSignal, Tdrawer_contentSignal, Tmain_contentSignal, TApplyFn> Sync for NavigationDrawerProps<TexpandedSignal, TextendedSignal, TOnExtendedChange, TwidthSignal, TmodalSignal, Tdrawer_contentSignal, Tmain_contentSignal, TApplyFn>where TApplyFn: Sync, TOnExtendedChange: Sync, Tdrawer_contentSignal: Sync, TexpandedSignal: Sync, TextendedSignal: Sync, Tmain_contentSignal: Sync, TmodalSignal: Sync, TwidthSignal: Sync,

§

impl<TexpandedSignal, TextendedSignal, TOnExtendedChange, TwidthSignal, TmodalSignal, Tdrawer_contentSignal, Tmain_contentSignal, TApplyFn> Unpin for NavigationDrawerProps<TexpandedSignal, TextendedSignal, TOnExtendedChange, TwidthSignal, TmodalSignal, Tdrawer_contentSignal, Tmain_contentSignal, TApplyFn>where TApplyFn: Unpin, TOnExtendedChange: Unpin, Tdrawer_contentSignal: Unpin, TexpandedSignal: Unpin, TextendedSignal: Unpin, Tmain_contentSignal: Unpin, TmodalSignal: Unpin, TwidthSignal: Unpin,

§

impl<TexpandedSignal, TextendedSignal, TOnExtendedChange, TwidthSignal, TmodalSignal, Tdrawer_contentSignal, Tmain_contentSignal, TApplyFn> UnwindSafe for NavigationDrawerProps<TexpandedSignal, TextendedSignal, TOnExtendedChange, TwidthSignal, TmodalSignal, Tdrawer_contentSignal, Tmain_contentSignal, TApplyFn>where TApplyFn: UnwindSafe, TOnExtendedChange: UnwindSafe, Tdrawer_contentSignal: UnwindSafe, TexpandedSignal: UnwindSafe, TextendedSignal: UnwindSafe, Tmain_contentSignal: UnwindSafe, TmodalSignal: UnwindSafe, TwidthSignal: 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.