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§
pub fn expanded( self, v: bool ) -> NavigationDrawerProps<Always<bool>, TextendedSignal, TOnExtendedChange, TwidthSignal, TmodalSignal, Tdrawer_contentSignal, Tmain_contentSignal, TApplyFn>
pub fn expanded_signal<TexpandedSignalNew: Signal<Item = bool>>( self, v: TexpandedSignalNew ) -> NavigationDrawerProps<TexpandedSignalNew, TextendedSignal, TOnExtendedChange, TwidthSignal, TmodalSignal, Tdrawer_contentSignal, Tmain_contentSignal, TApplyFn>
pub fn extended( self, v: bool ) -> NavigationDrawerProps<TexpandedSignal, Always<bool>, TOnExtendedChange, TwidthSignal, TmodalSignal, Tdrawer_contentSignal, Tmain_contentSignal, TApplyFn>
pub fn extended_signal<TextendedSignalNew: Signal<Item = bool>>( self, v: TextendedSignalNew ) -> NavigationDrawerProps<TexpandedSignal, TextendedSignalNew, TOnExtendedChange, TwidthSignal, TmodalSignal, Tdrawer_contentSignal, Tmain_contentSignal, TApplyFn>
pub fn on_extended_change<TOnExtendedChangeNew: Fn(bool)>( self, v: TOnExtendedChangeNew ) -> NavigationDrawerProps<TexpandedSignal, TextendedSignal, TOnExtendedChangeNew, TwidthSignal, TmodalSignal, Tdrawer_contentSignal, Tmain_contentSignal, TApplyFn>
sourcepub fn with_scrim(
self,
v: bool
) -> NavigationDrawerProps<TexpandedSignal, TextendedSignal, TOnExtendedChange, TwidthSignal, TmodalSignal, Tdrawer_contentSignal, Tmain_contentSignal, TApplyFn>
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
pub fn width( self, v: DrawerWidth ) -> NavigationDrawerProps<TexpandedSignal, TextendedSignal, TOnExtendedChange, Always<DrawerWidth>, TmodalSignal, Tdrawer_contentSignal, Tmain_contentSignal, TApplyFn>
pub fn width_signal<TwidthSignalNew: Signal<Item = DrawerWidth>>( self, v: TwidthSignalNew ) -> NavigationDrawerProps<TexpandedSignal, TextendedSignal, TOnExtendedChange, TwidthSignalNew, TmodalSignal, Tdrawer_contentSignal, Tmain_contentSignal, TApplyFn>
sourcepub fn retracts(
self,
v: bool
) -> NavigationDrawerProps<TexpandedSignal, TextendedSignal, TOnExtendedChange, TwidthSignal, TmodalSignal, Tdrawer_contentSignal, Tmain_contentSignal, TApplyFn>
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
sourcepub fn modal(
self,
v: bool
) -> NavigationDrawerProps<TexpandedSignal, TextendedSignal, TOnExtendedChange, TwidthSignal, Always<bool>, Tdrawer_contentSignal, Tmain_contentSignal, TApplyFn>
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
sourcepub fn modal_signal<TmodalSignalNew: Signal<Item = bool>>(
self,
v: TmodalSignalNew
) -> NavigationDrawerProps<TexpandedSignal, TextendedSignal, TOnExtendedChange, TwidthSignal, TmodalSignalNew, Tdrawer_contentSignal, Tmain_contentSignal, TApplyFn>
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
sourcepub fn drawer_content(
self,
v: Option<Dom>
) -> NavigationDrawerProps<TexpandedSignal, TextendedSignal, TOnExtendedChange, TwidthSignal, TmodalSignal, Always<Option<Dom>>, Tmain_contentSignal, TApplyFn>
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
sourcepub 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>
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
sourcepub fn main_content(
self,
v: Option<Dom>
) -> NavigationDrawerProps<TexpandedSignal, TextendedSignal, TOnExtendedChange, TwidthSignal, TmodalSignal, Tdrawer_contentSignal, Always<Option<Dom>>, TApplyFn>
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
sourcepub 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>
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