MapMessage

Struct MapMessage 

Source
pub struct MapMessage<V, State, ParentAction, ChildAction, Context, F = fn(&mut State, ChildAction) -> ParentAction> { /* private fields */ }
Expand description

View type for map_message and map_action. Most users will want to use map_action (the latter).

This view maps a child View<State,ChildAction,_> to View<State,ParentAction,_>, whilst allowing the kind of MessageResult to be changed.

Trait Implementations§

Source§

impl<V, State, ParentAction, ChildAction, Context, F> Debug for MapMessage<V, State, ParentAction, ChildAction, Context, F>
where V: Debug,

Source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
Source§

impl<V, State, ParentAction, ChildAction, Context, F> View<State, ParentAction, Context> for MapMessage<V, State, ParentAction, ChildAction, Context, F>
where V: View<State, ChildAction, Context>, State: 'static, ParentAction: 'static, ChildAction: 'static, F: Fn(&mut State, MessageResult<ChildAction>) -> MessageResult<ParentAction> + 'static, Context: ViewPathTracker + 'static,

Source§

type ViewState = <V as View<State, ChildAction, Context>>::ViewState

State that is used over the lifetime of the retained representation of the view. Read more
Source§

type Element = <V as View<State, ChildAction, Context>>::Element

The element type which this view operates on.
Source§

fn build( &self, ctx: &mut Context, app_state: &mut State, ) -> (Self::Element, Self::ViewState)

Create the corresponding Element value.
Source§

fn rebuild( &self, prev: &Self, view_state: &mut Self::ViewState, ctx: &mut Context, element: Mut<'_, Self::Element>, app_state: &mut State, )

Update element based on the difference between self and prev.
Source§

fn teardown( &self, view_state: &mut Self::ViewState, ctx: &mut Context, element: Mut<'_, Self::Element>, )

Handle element being removed from the tree. Read more
Source§

fn message( &self, view_state: &mut Self::ViewState, message: &mut MessageContext, element: Mut<'_, Self::Element>, app_state: &mut State, ) -> MessageResult<ParentAction>

Route message to id_path, if that is still a valid path.
Source§

impl<V, State, ParentAction, ChildAction, F, Context> ViewMarker for MapMessage<V, State, ParentAction, ChildAction, Context, F>

Auto Trait Implementations§

§

impl<V, State, ParentAction, ChildAction, Context, F> Freeze for MapMessage<V, State, ParentAction, ChildAction, Context, F>
where F: Freeze, V: Freeze,

§

impl<V, State, ParentAction, ChildAction, Context, F> RefUnwindSafe for MapMessage<V, State, ParentAction, ChildAction, Context, F>

§

impl<V, State, ParentAction, ChildAction, Context, F> Send for MapMessage<V, State, ParentAction, ChildAction, Context, F>
where F: Send, V: Send,

§

impl<V, State, ParentAction, ChildAction, Context, F> Sync for MapMessage<V, State, ParentAction, ChildAction, Context, F>
where F: Sync, V: Sync,

§

impl<V, State, ParentAction, ChildAction, Context, F> Unpin for MapMessage<V, State, ParentAction, ChildAction, Context, F>
where F: Unpin, V: Unpin,

§

impl<V, State, ParentAction, ChildAction, Context, F> UnwindSafe for MapMessage<V, State, ParentAction, ChildAction, Context, F>
where F: UnwindSafe, V: UnwindSafe,

Blanket Implementations§

Source§

impl<T> Any for T
where T: 'static + ?Sized,

Source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
Source§

impl<T> AnyDebug for T
where T: Any + Debug,

Source§

fn type_name(&self) -> &'static str

Returns the type_name of this value’s concrete type. Read more
Source§

impl<State, Action, Context, DynamicElement, V> AnyView<State, Action, Context, DynamicElement> for V
where DynamicElement: AnyElement<<V as View<State, Action, Context>>::Element, Context>, Context: ViewPathTracker, V: View<State, Action, Context> + 'static, <V as View<State, Action, Context>>::ViewState: 'static,

Source§

fn as_any(&self) -> &(dyn Any + 'static)

Get an Any reference to self.
Source§

fn dyn_build( &self, ctx: &mut Context, app_state: &mut State, ) -> (DynamicElement, AnyViewState)

Type erased View::build.
Source§

fn dyn_rebuild( &self, dyn_state: &mut AnyViewState, ctx: &mut Context, prev: &dyn AnyView<State, Action, Context, DynamicElement>, element: <DynamicElement as ViewElement>::Mut<'_>, app_state: &mut State, )

Type erased View::rebuild.
Source§

fn dyn_teardown<'el>( &self, dyn_state: &mut AnyViewState, ctx: &mut Context, element: <DynamicElement as ViewElement>::Mut<'el>, ) -> <DynamicElement as ViewElement>::Mut<'el>

Source§

fn dyn_message( &self, dyn_state: &mut AnyViewState, message: &mut MessageContext, element: <DynamicElement as ViewElement>::Mut<'_>, app_state: &mut State, ) -> MessageResult<Action>

Type erased View::message.
Source§

impl<T> Borrow<T> for T
where T: ?Sized,

Source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
Source§

impl<T> BorrowMut<T> for T
where 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> Instrument for T

Source§

fn instrument(self, span: Span) -> Instrumented<Self>

Instruments this type with the provided Span, returning an Instrumented wrapper. Read more
Source§

fn in_current_span(self) -> Instrumented<Self>

Instruments this type with the current Span, returning an Instrumented wrapper. Read more
Source§

impl<T, U> Into<U> for T
where 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 T
where U: Into<T>,

Source§

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 T
where U: TryFrom<T>,

Source§

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.
Source§

impl<State, Action, Context, V, Element> ViewSequence<State, Action, Context, Element> for V
where Context: ViewPathTracker, V: View<State, Action, Context> + ViewMarker, Element: SuperElement<<V as View<State, Action, Context>>::Element, Context>, <V as View<State, Action, Context>>::Element: ViewElement,

Source§

const ELEMENTS_COUNT: Count = const ELEMENTS_COUNT: Count = Count::One;

The class of sequence this is, grouped based on how many elements it may contain. This is useful for making bounds based on the expected number of child elements.
Source§

type SeqState = <V as View<State, Action, Context>>::ViewState

The associated state of this sequence. The main purposes of this are: Read more
Source§

fn seq_build( &self, ctx: &mut Context, elements: &mut AppendVec<Element>, app_state: &mut State, ) -> <V as ViewSequence<State, Action, Context, Element>>::SeqState

Build the associated widgets into elements and initialize all states.
Source§

fn seq_rebuild( &self, prev: &V, seq_state: &mut <V as ViewSequence<State, Action, Context, Element>>::SeqState, ctx: &mut Context, elements: &mut impl ElementSplice<Element>, app_state: &mut State, )

Update the associated widgets.
Source§

fn seq_teardown( &self, seq_state: &mut <V as ViewSequence<State, Action, Context, Element>>::SeqState, ctx: &mut Context, elements: &mut impl ElementSplice<Element>, )

Update the associated widgets.
Source§

fn seq_message( &self, seq_state: &mut <V as ViewSequence<State, Action, Context, Element>>::SeqState, message: &mut MessageContext, elements: &mut impl ElementSplice<Element>, app_state: &mut State, ) -> MessageResult<Action>

Propagate a message. Read more
Source§

impl<T> WithSubscriber for T

Source§

fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self>
where S: Into<Dispatch>,

Attaches the provided Subscriber to this type, returning a WithDispatch wrapper. Read more
Source§

fn with_current_subscriber(self) -> WithDispatch<Self>

Attaches the current default Subscriber to this type, returning a WithDispatch wrapper. Read more
Source§

impl<State, Action, Context, V> PhantomView<State, Action, Context> for V
where V: View<State, Action, Context, Element = NoElement>, Context: ViewPathTracker,