pub struct DockOverlayProps<Tunderlying_viewSignal: Signal<Item = Option<Dom>> = Always<Option<Dom>>, Toverlay_viewsSignal: SignalVec<Item = (DockPoint, Dom)> = Always<(DockPoint, Dom)>, Tshow_scrimSignal: Signal<Item = bool> = Always<bool>, Tshow_overlaySignal: Signal<Item = bool> = Always<bool>, TOnScrimClick: Fn(Click) = fn(_: Click), TApplyFn: FnOnce(DomBuilder<HtmlElement>) -> DomBuilder<HtmlElement> = fn(_: DomBuilder<HtmlElement>) -> DomBuilder<HtmlElement>> {
    pub underlying_view: Tunderlying_viewSignal,
    pub overlay_views: Toverlay_viewsSignal,
    pub show_scrim: Tshow_scrimSignal,
    pub show_overlay: Tshow_overlaySignal,
    pub on_scrim_click: TOnScrimClick,
    pub apply: Option<TApplyFn>,
}
Expand description

Renders an overlay with 9 of dock points for UI elements Elements in the dock positions will hover over the inner view. This can be used to represent dialogs, FABs, status messages etc.

Examples

use dmat_components::components::layouts::dock_overlay::*;
use futures_signals::signal::always;
use futures_signals::signal::Mutable;

let show_overlay = Mutable::new(true);

dock_overlay!({
 .underlying_view(Some(underlying_view))
 .overlay_views(vec![
     (DockPoint::MiddleLeft, card!({.child(text!("Middle Left Dialog!"))})),
     (DockPoint::MiddleCenter, middle_center_dialog(show_overlay.clone())),
     (DockPoint::MiddleRight, html!("span", {.text("Middle Right Dialog!")})),
     (DockPoint::TopLeft, html!("span", {.text("Top Left Dialog!")})),
     (DockPoint::TopCenter, html!("span", {.text("Top Center Dialog!")})),
     (DockPoint::TopRight, html!("span", {.text("Top Right Dialog!")})),
     (DockPoint::BottomLeft, html!("span", {.text("Bottom Left Dialog!")})),
     (DockPoint::BottomCenter, html!("span", {.text("Bottom Center Dialog!")})),
     (DockPoint::BottomRight, html!("span", {.text("Bottom Right Dialog!")})),
 ])
 .show_scrim(true)
 .show_overlay_signal(show_overlay.signal())
})

Fields§

§underlying_view: Tunderlying_viewSignal§overlay_views: Toverlay_viewsSignal§show_scrim: Tshow_scrimSignal§show_overlay: Tshow_overlaySignal§on_scrim_click: TOnScrimClick§apply: Option<TApplyFn>

Implementations§

source§

impl DockOverlayProps

source

pub fn new() -> Self

source§

impl<Tunderlying_viewSignal: Signal<Item = Option<Dom>>, Toverlay_viewsSignal: SignalVec<Item = (DockPoint, Dom)>, Tshow_scrimSignal: Signal<Item = bool>, Tshow_overlaySignal: Signal<Item = bool>, TOnScrimClick: Fn(Click), TApplyFn: FnOnce(DomBuilder<HtmlElement>) -> DomBuilder<HtmlElement>> DockOverlayProps<Tunderlying_viewSignal, Toverlay_viewsSignal, Tshow_scrimSignal, Tshow_overlaySignal, TOnScrimClick, TApplyFn>

source

pub fn underlying_view( self, v: Option<Dom> ) -> DockOverlayProps<Always<Option<Dom>>, Toverlay_viewsSignal, Tshow_scrimSignal, Tshow_overlaySignal, TOnScrimClick, TApplyFn>

source

pub fn underlying_view_signal<Tunderlying_viewSignalNew: Signal<Item = Option<Dom>>>( self, v: Tunderlying_viewSignalNew ) -> DockOverlayProps<Tunderlying_viewSignalNew, Toverlay_viewsSignal, Tshow_scrimSignal, Tshow_overlaySignal, TOnScrimClick, TApplyFn>

source§

impl<Tunderlying_viewSignal: Signal<Item = Option<Dom>>, Toverlay_viewsSignal: SignalVec<Item = (DockPoint, Dom)>, Tshow_scrimSignal: Signal<Item = bool>, Tshow_overlaySignal: Signal<Item = bool>, TOnScrimClick: Fn(Click), TApplyFn: FnOnce(DomBuilder<HtmlElement>) -> DomBuilder<HtmlElement>> DockOverlayProps<Tunderlying_viewSignal, Toverlay_viewsSignal, Tshow_scrimSignal, Tshow_overlaySignal, TOnScrimClick, TApplyFn>

source

pub fn overlay_views( self, v: impl Into<Vec<(DockPoint, Dom)>> ) -> DockOverlayProps<Tunderlying_viewSignal, Always<(DockPoint, Dom)>, Tshow_scrimSignal, Tshow_overlaySignal, TOnScrimClick, TApplyFn>

source

pub fn overlay_views_signal_vec<Toverlay_viewsSignalNew: SignalVec<Item = (DockPoint, Dom)>>( self, v: Toverlay_viewsSignalNew ) -> DockOverlayProps<Tunderlying_viewSignal, Toverlay_viewsSignalNew, Tshow_scrimSignal, Tshow_overlaySignal, TOnScrimClick, TApplyFn>

source§

impl<Tunderlying_viewSignal: Signal<Item = Option<Dom>>, Toverlay_viewsSignal: SignalVec<Item = (DockPoint, Dom)>, Tshow_scrimSignal: Signal<Item = bool>, Tshow_overlaySignal: Signal<Item = bool>, TOnScrimClick: Fn(Click), TApplyFn: FnOnce(DomBuilder<HtmlElement>) -> DomBuilder<HtmlElement>> DockOverlayProps<Tunderlying_viewSignal, Toverlay_viewsSignal, Tshow_scrimSignal, Tshow_overlaySignal, TOnScrimClick, TApplyFn>

source

pub fn show_scrim( self, v: bool ) -> DockOverlayProps<Tunderlying_viewSignal, Toverlay_viewsSignal, Always<bool>, Tshow_overlaySignal, TOnScrimClick, TApplyFn>

source

pub fn show_scrim_signal<Tshow_scrimSignalNew: Signal<Item = bool>>( self, v: Tshow_scrimSignalNew ) -> DockOverlayProps<Tunderlying_viewSignal, Toverlay_viewsSignal, Tshow_scrimSignalNew, Tshow_overlaySignal, TOnScrimClick, TApplyFn>

source§

impl<Tunderlying_viewSignal: Signal<Item = Option<Dom>>, Toverlay_viewsSignal: SignalVec<Item = (DockPoint, Dom)>, Tshow_scrimSignal: Signal<Item = bool>, Tshow_overlaySignal: Signal<Item = bool>, TOnScrimClick: Fn(Click), TApplyFn: FnOnce(DomBuilder<HtmlElement>) -> DomBuilder<HtmlElement>> DockOverlayProps<Tunderlying_viewSignal, Toverlay_viewsSignal, Tshow_scrimSignal, Tshow_overlaySignal, TOnScrimClick, TApplyFn>

source

pub fn show_overlay( self, v: bool ) -> DockOverlayProps<Tunderlying_viewSignal, Toverlay_viewsSignal, Tshow_scrimSignal, Always<bool>, TOnScrimClick, TApplyFn>

source

pub fn show_overlay_signal<Tshow_overlaySignalNew: Signal<Item = bool>>( self, v: Tshow_overlaySignalNew ) -> DockOverlayProps<Tunderlying_viewSignal, Toverlay_viewsSignal, Tshow_scrimSignal, Tshow_overlaySignalNew, TOnScrimClick, TApplyFn>

source§

impl<Tunderlying_viewSignal: Signal<Item = Option<Dom>>, Toverlay_viewsSignal: SignalVec<Item = (DockPoint, Dom)>, Tshow_scrimSignal: Signal<Item = bool>, Tshow_overlaySignal: Signal<Item = bool>, TOnScrimClick: Fn(Click), TApplyFn: FnOnce(DomBuilder<HtmlElement>) -> DomBuilder<HtmlElement>> DockOverlayProps<Tunderlying_viewSignal, Toverlay_viewsSignal, Tshow_scrimSignal, Tshow_overlaySignal, TOnScrimClick, TApplyFn>

source

pub fn on_scrim_click<TOnScrimClickNew: Fn(Click)>( self, v: TOnScrimClickNew ) -> DockOverlayProps<Tunderlying_viewSignal, Toverlay_viewsSignal, Tshow_scrimSignal, Tshow_overlaySignal, TOnScrimClickNew, TApplyFn>

source§

impl<Tunderlying_viewSignal: Signal<Item = Option<Dom>>, Toverlay_viewsSignal: SignalVec<Item = (DockPoint, Dom)>, Tshow_scrimSignal: Signal<Item = bool>, Tshow_overlaySignal: Signal<Item = bool>, TOnScrimClick: Fn(Click), TApplyFn: FnOnce(DomBuilder<HtmlElement>) -> DomBuilder<HtmlElement>> DockOverlayProps<Tunderlying_viewSignal, Toverlay_viewsSignal, Tshow_scrimSignal, Tshow_overlaySignal, TOnScrimClick, TApplyFn>

source

pub fn apply<TApplyFnNew: FnOnce(DomBuilder<HtmlElement>) -> DomBuilder<HtmlElement>>( self, v: TApplyFnNew ) -> DockOverlayProps<Tunderlying_viewSignal, Toverlay_viewsSignal, Tshow_scrimSignal, Tshow_overlaySignal, TOnScrimClick, TApplyFnNew>

Trait Implementations§

source§

impl<Tunderlying_viewSignal: Signal<Item = Option<Dom>>, Toverlay_viewsSignal: SignalVec<Item = (DockPoint, Dom)>, Tshow_scrimSignal: Signal<Item = bool>, Tshow_overlaySignal: Signal<Item = bool>, TOnScrimClick: Fn(Click), TApplyFn: FnOnce(DomBuilder<HtmlElement>) -> DomBuilder<HtmlElement>> DockOverlayPropsTrait for DockOverlayProps<Tunderlying_viewSignal, Toverlay_viewsSignal, Tshow_scrimSignal, Tshow_overlaySignal, TOnScrimClick, TApplyFn>

§

type Tunderlying_viewSignal = Tunderlying_viewSignal

§

type Toverlay_viewsSignal = Toverlay_viewsSignal

§

type Tshow_scrimSignal = Tshow_scrimSignal

§

type Tshow_overlaySignal = Tshow_overlaySignal

§

type TOnScrimClick = TOnScrimClick

§

type TApplyFn = TApplyFn

source§

fn take( self ) -> DockOverlayProps<Tunderlying_viewSignal, Toverlay_viewsSignal, Tshow_scrimSignal, Tshow_overlaySignal, TOnScrimClick, TApplyFn>

Auto Trait Implementations§

§

impl<Tunderlying_viewSignal, Toverlay_viewsSignal, Tshow_scrimSignal, Tshow_overlaySignal, TOnScrimClick, TApplyFn> RefUnwindSafe for DockOverlayProps<Tunderlying_viewSignal, Toverlay_viewsSignal, Tshow_scrimSignal, Tshow_overlaySignal, TOnScrimClick, TApplyFn>where TApplyFn: RefUnwindSafe, TOnScrimClick: RefUnwindSafe, Toverlay_viewsSignal: RefUnwindSafe, Tshow_overlaySignal: RefUnwindSafe, Tshow_scrimSignal: RefUnwindSafe, Tunderlying_viewSignal: RefUnwindSafe,

§

impl<Tunderlying_viewSignal, Toverlay_viewsSignal, Tshow_scrimSignal, Tshow_overlaySignal, TOnScrimClick, TApplyFn> Send for DockOverlayProps<Tunderlying_viewSignal, Toverlay_viewsSignal, Tshow_scrimSignal, Tshow_overlaySignal, TOnScrimClick, TApplyFn>where TApplyFn: Send, TOnScrimClick: Send, Toverlay_viewsSignal: Send, Tshow_overlaySignal: Send, Tshow_scrimSignal: Send, Tunderlying_viewSignal: Send,

§

impl<Tunderlying_viewSignal, Toverlay_viewsSignal, Tshow_scrimSignal, Tshow_overlaySignal, TOnScrimClick, TApplyFn> Sync for DockOverlayProps<Tunderlying_viewSignal, Toverlay_viewsSignal, Tshow_scrimSignal, Tshow_overlaySignal, TOnScrimClick, TApplyFn>where TApplyFn: Sync, TOnScrimClick: Sync, Toverlay_viewsSignal: Sync, Tshow_overlaySignal: Sync, Tshow_scrimSignal: Sync, Tunderlying_viewSignal: Sync,

§

impl<Tunderlying_viewSignal, Toverlay_viewsSignal, Tshow_scrimSignal, Tshow_overlaySignal, TOnScrimClick, TApplyFn> Unpin for DockOverlayProps<Tunderlying_viewSignal, Toverlay_viewsSignal, Tshow_scrimSignal, Tshow_overlaySignal, TOnScrimClick, TApplyFn>where TApplyFn: Unpin, TOnScrimClick: Unpin, Toverlay_viewsSignal: Unpin, Tshow_overlaySignal: Unpin, Tshow_scrimSignal: Unpin, Tunderlying_viewSignal: Unpin,

§

impl<Tunderlying_viewSignal, Toverlay_viewsSignal, Tshow_scrimSignal, Tshow_overlaySignal, TOnScrimClick, TApplyFn> UnwindSafe for DockOverlayProps<Tunderlying_viewSignal, Toverlay_viewsSignal, Tshow_scrimSignal, Tshow_overlaySignal, TOnScrimClick, TApplyFn>where TApplyFn: UnwindSafe, TOnScrimClick: UnwindSafe, Toverlay_viewsSignal: UnwindSafe, Tshow_overlaySignal: UnwindSafe, Tshow_scrimSignal: UnwindSafe, Tunderlying_viewSignal: 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.