Skip to main content

Render

Trait Render 

Source
pub trait Render {
    // Required method
    fn render(&self, _w: &mut Vec<String>) -> ElementResult<()>;

    // Provided methods
    fn html(&self) -> String { ... }
    fn render_tree(self) -> ElementResult<Html>
       where Self: Sized { ... }
    fn render_tree_into(
        self,
        parent: &mut Element,
        renderables: &mut Renderables,
    ) -> ElementResult<BTreeMap<String, Element>>
       where Self: Sized { ... }
    fn render_node(
        self,
        _parent: &mut Element,
        _map: &mut Hooks,
        _renderables: &mut Renderables,
    ) -> ElementResult<()>
       where Self: Sized { ... }
    fn remove_event_listeners(&self) -> ElementResult<()> { ... }
}
Expand description

Implemented by values that can be rendered both to an HTML string and to live DOM nodes, optionally exposing @name hooks and retained renderables.

Required Methods§

Source

fn render(&self, _w: &mut Vec<String>) -> ElementResult<()>

Renders this value as HTML markup, appending fragments to _w.

Provided Methods§

Source

fn html(&self) -> String

Renders this value to an HTML string by concatenating its markup fragments.

Source

fn render_tree(self) -> ElementResult<Html>
where Self: Sized,

Renders this value into a detached container and returns an Html holding the resulting root elements, hooks and retained renderables.

Source

fn render_tree_into( self, parent: &mut Element, renderables: &mut Renderables, ) -> ElementResult<BTreeMap<String, Element>>
where Self: Sized,

Renders this value’s DOM nodes into the existing parent element, collecting retained renderables and returning the resulting map of @name hook bindings.

Source

fn render_node( self, _parent: &mut Element, _map: &mut Hooks, _renderables: &mut Renderables, ) -> ElementResult<()>
where Self: Sized,

Builds the live DOM nodes for this value under _parent, recording any @name hooks into _map and pushing retained renderables onto _renderables. The default implementation does nothing.

Source

fn remove_event_listeners(&self) -> ElementResult<()>

Releases any retained event-listener closures held by this value and its children. The default implementation does nothing.

Dyn Compatibility§

This trait is dyn compatible.

In older versions of Rust, dyn compatibility was called "object safety".

Implementations on Foreign Types§

Source§

impl Render for &str

Source§

fn render(&self, w: &mut Vec<String>) -> ElementResult<()>

Source§

fn render_node( self, parent: &mut Element, _map: &mut Hooks, _renderables: &mut Renderables, ) -> ElementResult<()>

Source§

impl Render for ()

Source§

fn render(&self, _w: &mut Vec<String>) -> ElementResult<()>

Source§

impl Render for String

Source§

fn render(&self, w: &mut Vec<String>) -> ElementResult<()>

Source§

fn render_node( self, parent: &mut Element, _map: &mut Hooks, _renderables: &mut Renderables, ) -> ElementResult<()>

Source§

impl Render for bool

Source§

fn render(&self, w: &mut Vec<String>) -> ElementResult<()>

Source§

fn render_node( self, parent: &mut Element, _map: &mut Hooks, _renderables: &mut Renderables, ) -> ElementResult<()>

Source§

impl Render for f32

Source§

fn render(&self, w: &mut Vec<String>) -> ElementResult<()>

Source§

fn render_node( self, parent: &mut Element, _map: &mut Hooks, _renderables: &mut Renderables, ) -> ElementResult<()>

Source§

impl Render for f64

Source§

fn render(&self, w: &mut Vec<String>) -> ElementResult<()>

Source§

fn render_node( self, parent: &mut Element, _map: &mut Hooks, _renderables: &mut Renderables, ) -> ElementResult<()>

Source§

impl Render for i8

Source§

fn render(&self, w: &mut Vec<String>) -> ElementResult<()>

Source§

fn render_node( self, parent: &mut Element, _map: &mut Hooks, _renderables: &mut Renderables, ) -> ElementResult<()>

Source§

impl Render for i16

Source§

fn render(&self, w: &mut Vec<String>) -> ElementResult<()>

Source§

fn render_node( self, parent: &mut Element, _map: &mut Hooks, _renderables: &mut Renderables, ) -> ElementResult<()>

Source§

impl Render for i32

Source§

fn render(&self, w: &mut Vec<String>) -> ElementResult<()>

Source§

fn render_node( self, parent: &mut Element, _map: &mut Hooks, _renderables: &mut Renderables, ) -> ElementResult<()>

Source§

impl Render for i64

Source§

fn render(&self, w: &mut Vec<String>) -> ElementResult<()>

Source§

fn render_node( self, parent: &mut Element, _map: &mut Hooks, _renderables: &mut Renderables, ) -> ElementResult<()>

Source§

impl Render for i128

Source§

fn render(&self, w: &mut Vec<String>) -> ElementResult<()>

Source§

fn render_node( self, parent: &mut Element, _map: &mut Hooks, _renderables: &mut Renderables, ) -> ElementResult<()>

Source§

impl Render for u8

Source§

fn render(&self, w: &mut Vec<String>) -> ElementResult<()>

Source§

fn render_node( self, parent: &mut Element, _map: &mut Hooks, _renderables: &mut Renderables, ) -> ElementResult<()>

Source§

impl Render for u16

Source§

fn render(&self, w: &mut Vec<String>) -> ElementResult<()>

Source§

fn render_node( self, parent: &mut Element, _map: &mut Hooks, _renderables: &mut Renderables, ) -> ElementResult<()>

Source§

impl Render for u32

Source§

fn render(&self, w: &mut Vec<String>) -> ElementResult<()>

Source§

fn render_node( self, parent: &mut Element, _map: &mut Hooks, _renderables: &mut Renderables, ) -> ElementResult<()>

Source§

impl Render for u64

Source§

fn render(&self, w: &mut Vec<String>) -> ElementResult<()>

Source§

fn render_node( self, parent: &mut Element, _map: &mut Hooks, _renderables: &mut Renderables, ) -> ElementResult<()>

Source§

impl Render for u128

Source§

fn render(&self, w: &mut Vec<String>) -> ElementResult<()>

Source§

fn render_node( self, parent: &mut Element, _map: &mut Hooks, _renderables: &mut Renderables, ) -> ElementResult<()>

Source§

impl Render for usize

Source§

fn render(&self, w: &mut Vec<String>) -> ElementResult<()>

Source§

fn render_node( self, parent: &mut Element, _map: &mut Hooks, _renderables: &mut Renderables, ) -> ElementResult<()>

Source§

impl<A: Render, B: Render, C: Render, D: Render, E: Render> Render for (A, B, C, D, E)

Source§

fn render(&self, w: &mut Vec<String>) -> ElementResult<()>

Source§

fn render_node( self, parent: &mut Element, map: &mut Hooks, renderables: &mut Renderables, ) -> ElementResult<()>

Source§

impl<A: Render, B: Render, C: Render, D: Render, F: Render, G: Render, H: Render, I: Render, J: Render, K: Render> Render for (A, B, C, D, F, G, H, I, J, K)

Source§

fn render(&self, w: &mut Vec<String>) -> ElementResult<()>

Source§

fn render_node( self, parent: &mut Element, map: &mut Hooks, renderables: &mut Renderables, ) -> ElementResult<()>

Source§

impl<A: Render, B: Render, C: Render, D: Render, F: Render, G: Render, H: Render, I: Render, J: Render> Render for (A, B, C, D, F, G, H, I, J)

Source§

fn render(&self, w: &mut Vec<String>) -> ElementResult<()>

Source§

fn render_node( self, parent: &mut Element, map: &mut Hooks, renderables: &mut Renderables, ) -> ElementResult<()>

Source§

impl<A: Render, B: Render, C: Render, D: Render, F: Render, G: Render, H: Render, I: Render> Render for (A, B, C, D, F, G, H, I)

Source§

fn render(&self, w: &mut Vec<String>) -> ElementResult<()>

Source§

fn render_node( self, parent: &mut Element, map: &mut Hooks, renderables: &mut Renderables, ) -> ElementResult<()>

Source§

impl<A: Render, B: Render, C: Render, D: Render, F: Render, G: Render, H: Render> Render for (A, B, C, D, F, G, H)

Source§

fn render(&self, w: &mut Vec<String>) -> ElementResult<()>

Source§

fn render_node( self, parent: &mut Element, map: &mut Hooks, renderables: &mut Renderables, ) -> ElementResult<()>

Source§

impl<A: Render, B: Render, C: Render, D: Render, F: Render, G: Render> Render for (A, B, C, D, F, G)

Source§

fn render(&self, w: &mut Vec<String>) -> ElementResult<()>

Source§

fn render_node( self, parent: &mut Element, map: &mut Hooks, renderables: &mut Renderables, ) -> ElementResult<()>

Source§

impl<A: Render, B: Render, C: Render, D: Render> Render for (A, B, C, D)

Source§

fn render(&self, w: &mut Vec<String>) -> ElementResult<()>

Source§

fn render_node( self, parent: &mut Element, map: &mut Hooks, renderables: &mut Renderables, ) -> ElementResult<()>

Source§

impl<A: Render, B: Render, C: Render> Render for (A, B, C)

Source§

fn render(&self, w: &mut Vec<String>) -> ElementResult<()>

Source§

fn render_node( self, parent: &mut Element, map: &mut Hooks, renderables: &mut Renderables, ) -> ElementResult<()>

Source§

impl<A: Render, B: Render> Render for (A, B)

Source§

fn render(&self, w: &mut Vec<String>) -> ElementResult<()>

Source§

fn render_node( self, parent: &mut Element, map: &mut Hooks, renderables: &mut Renderables, ) -> ElementResult<()>

Source§

impl<T: Render + Clone> Render for Option<T>

Source§

fn render_node( self, parent: &mut Element, map: &mut Hooks, renderables: &mut Renderables, ) -> ElementResult<()>

Source§

fn render(&self, w: &mut Vec<String>) -> ElementResult<()>

Source§

impl<T: Render + Clone> Render for Vec<T>

Source§

fn render(&self, list: &mut Vec<String>) -> ElementResult<()>

Source§

fn render_node( self, parent: &mut Element, map: &mut Hooks, renderables: &mut Renderables, ) -> ElementResult<()>

Implementors§

Source§

impl Render for Html

Source§

impl<T: Render + Clone + 'static> Render for Element<T>