[−][src]Trait seed::app::orders::Orders
Associated Types
Loading content...Required methods
fn proxy<ChildMs: 'static>(
&mut self,
f: impl FnOnce(ChildMs) -> Ms + 'static + Clone
) -> OrdersProxy<ChildMs, Self::AppMs, Self::Mdl, Self::ElC, GMs>
&mut self,
f: impl FnOnce(ChildMs) -> Ms + 'static + Clone
) -> OrdersProxy<ChildMs, Self::AppMs, Self::Mdl, Self::ElC, GMs>
Automatically map message type. It allows you to pass Orders
into child module.
Example
Msg::Child(child_msg) => { child::update(child_msg, &mut model.child, &mut orders.proxy(Msg::Child)); }
fn render(&mut self) -> &mut Self
Schedule web page rerender after model update. It's the default behaviour.
fn force_render_now(&mut self) -> &mut Self
Force web page to rerender immediately after model update.
fn skip(&mut self) -> &mut Self
Don't rerender web page after model update.
fn send_msg(&mut self, msg: Ms) -> &mut Self
Call function update
with the given msg
after model update.
- You can call this function multiple times - messages will be sent in the same order.
fn perform_cmd<C>(&mut self, cmd: C) -> &mut Self where
C: Future<Output = Result<Ms, Ms>> + 'static,
C: Future<Output = Result<Ms, Ms>> + 'static,
Schedule given future cmd
to be executed after model update.
- Result is send to function
update
. - You can call this function multiple times - futures will be scheduled in the same order.
Example
fn write_emoticon_after_delay() -> impl Future<Item=Msg, Error=Msg> { TimeoutFuture::new(2_000) .map(|_| Msg::WriteEmoticon) .map_err(|_| Msg::TimeoutError) } orders.perform_cmd(write_emoticon_after_delay());
fn send_g_msg(&mut self, g_msg: GMs) -> &mut Self
Similar to send_msg
, but calls function sink
with the given global message.
fn perform_g_cmd<C>(&mut self, g_cmd: C) -> &mut Self where
C: Future<Output = Result<GMs, GMs>> + 'static,
C: Future<Output = Result<GMs, GMs>> + 'static,
Similar to perform_cmd
, but result is send to function sink
.
fn clone_app(&self) -> App<Self::AppMs, Self::Mdl, Self::ElC, GMs>
Get app instance. Cloning is cheap because App
contains only Rc
fields.
fn msg_mapper(&self) -> Box<dyn Fn(Ms) -> Self::AppMs>
Get function which maps module's Msg
to app's (root's) one.
Example
let (app, msg_mapper) = (orders.clone_app(), orders.msg_mapper()); app.update(msg_mapper(Msg::AMessage));
fn after_next_render(
&mut self,
callback: impl FnOnce(Option<RenderTimestampDelta>) -> Ms + 'static
) -> &mut Self
&mut self,
callback: impl FnOnce(Option<RenderTimestampDelta>) -> Ms + 'static
) -> &mut Self
Register the callback that will be executed after the next render.
Callback's only parameter is Option<RenderTimestampDelta>
- the difference between
the old render timestamp and the new one.
The parameter has value None
if it's the first rendering.
- It's useful when you want to use DOM API or make animations.
- You can call this function multiple times - callbacks will be executed in the same order.
Note: performance.now() is used under the hood to get timestamps.
Implementors
impl<'a, Ms: 'static, AppMs: 'static, Mdl, ElC: View<AppMs> + 'static, GMs> Orders<Ms, GMs> for OrdersProxy<'a, Ms, AppMs, Mdl, ElC, GMs>
[src]
type AppMs = AppMs
type Mdl = Mdl
type ElC = ElC
fn proxy<ChildMs: 'static>(
&mut self,
f: impl FnOnce(ChildMs) -> Ms + 'static + Clone
) -> OrdersProxy<ChildMs, AppMs, Mdl, ElC, GMs>
[src]
&mut self,
f: impl FnOnce(ChildMs) -> Ms + 'static + Clone
) -> OrdersProxy<ChildMs, AppMs, Mdl, ElC, GMs>
fn render(&mut self) -> &mut Self
[src]
fn force_render_now(&mut self) -> &mut Self
[src]
fn skip(&mut self) -> &mut Self
[src]
fn send_msg(&mut self, msg: Ms) -> &mut Self
[src]
fn perform_cmd<C>(&mut self, cmd: C) -> &mut Self where
C: Future<Output = Result<Ms, Ms>> + 'static,
[src]
C: Future<Output = Result<Ms, Ms>> + 'static,
fn send_g_msg(&mut self, g_msg: GMs) -> &mut Self
[src]
fn perform_g_cmd<C>(&mut self, g_cmd: C) -> &mut Self where
C: Future<Output = Result<GMs, GMs>> + 'static,
[src]
C: Future<Output = Result<GMs, GMs>> + 'static,
fn clone_app(&self) -> App<Self::AppMs, Self::Mdl, Self::ElC, GMs>
[src]
fn msg_mapper(&self) -> Box<dyn Fn(Ms) -> Self::AppMs>
[src]
fn after_next_render(
&mut self,
callback: impl FnOnce(Option<RenderTimestampDelta>) -> Ms + 'static
) -> &mut Self
[src]
&mut self,
callback: impl FnOnce(Option<RenderTimestampDelta>) -> Ms + 'static
) -> &mut Self
impl<Ms: 'static, Mdl, ElC: View<Ms> + 'static, GMs> Orders<Ms, GMs> for OrdersContainer<Ms, Mdl, ElC, GMs>
[src]
type AppMs = Ms
type Mdl = Mdl
type ElC = ElC
fn proxy<ChildMs: 'static>(
&mut self,
f: impl FnOnce(ChildMs) -> Ms + 'static + Clone
) -> OrdersProxy<ChildMs, Ms, Mdl, ElC, GMs>
[src]
&mut self,
f: impl FnOnce(ChildMs) -> Ms + 'static + Clone
) -> OrdersProxy<ChildMs, Ms, Mdl, ElC, GMs>
fn render(&mut self) -> &mut Self
[src]
fn force_render_now(&mut self) -> &mut Self
[src]
fn skip(&mut self) -> &mut Self
[src]
fn send_msg(&mut self, msg: Ms) -> &mut Self
[src]
fn perform_cmd<C>(&mut self, cmd: C) -> &mut Self where
C: Future<Output = Result<Ms, Ms>> + 'static,
[src]
C: Future<Output = Result<Ms, Ms>> + 'static,
fn send_g_msg(&mut self, g_msg: GMs) -> &mut Self
[src]
fn perform_g_cmd<C>(&mut self, g_cmd: C) -> &mut Self where
C: Future<Output = Result<GMs, GMs>> + 'static,
[src]
C: Future<Output = Result<GMs, GMs>> + 'static,
fn clone_app(&self) -> App<Self::AppMs, Self::Mdl, Self::ElC, GMs>
[src]
fn msg_mapper(&self) -> Box<dyn Fn(Ms) -> Self::AppMs>
[src]
fn after_next_render(
&mut self,
callback: impl FnOnce(Option<RenderTimestampDelta>) -> Ms + 'static
) -> &mut Self
[src]
&mut self,
callback: impl FnOnce(Option<RenderTimestampDelta>) -> Ms + 'static
) -> &mut Self