[][src]Struct mogwai::view::dom::View

pub struct View<T: IsDomNode> { /* fields omitted */ }

A widget that may contain a bundled network of html elements, callback closures and receivers. This wraps a Javascript DOM node and maintains lists and maps needed to orchestrate user interaction.

Implementations

impl<T: IsDomNode> View<T>[src]

pub fn dom_ref(&self) -> Ref<'_, T>[src]

Return a reference to the underlying DOM element.

pub fn store_view(&mut self, child: View<Node>)[src]

Stores a View without adding its element to the DOM.

NOTE: This is for use by helper libraries like mogwai-hydrator and is not

intended to be called by downsteam users.

pub fn stored_views_len(&self) -> usize[src]

Returns the number of views being stored in this view.

pub fn as_ssr_node(&self) -> SsrNode[src]

Create a server side rendering node from this View. Instead of using this, consider View::html_string.

pub fn html_string(&self) -> String[src]

A string value of this View. This is equivalent to Element.outerHtml in JS.

pub fn wrapping(_element: T) -> View<T>[src]

Create a new View wrapping a T that can be dereferenced to a Node.

Panics

Panics if used outside of a wasm32 target.

pub fn try_cast<To: IsDomNode>(self) -> Result<View<To>, Self>[src]

Attempt to cast the view.

Note

On wasm32 this performs a check on the inner element to determine if the element can be downcast to the desired type. On other compilation targets this function always returns Ok.

pub fn upcast<To: IsDomNode>(self) -> View<To> where
    T: AsRef<To>,
    To: IsDomNode
[src]

Cast the given View to contain the inner DOM node of another type. That type must be dereferencable from the given View.

pub fn downcast<To: IsDomNode + AsRef<Node>>(self) -> Result<View<To>, View<T>>[src]

Attempt to downcast the inner element.

Note

On wasm32 this performs a check on the inner element to determine if the element can be downcast to the desired type. On other compilation targets this function always returns Ok.

pub fn forget(self) -> Result<(), JsValue>[src]

Run this gizmo forever without appending it to anything.

impl<T: IsDomNode + AsRef<Node>> View<T>[src]

pub fn run_in_container(self, container: &Node) -> Result<(), JsValue>[src]

Run this gizmo in a parent container forever, never dropping it.

pub fn run(self) -> Result<(), JsValue>[src]

Run this gizmo in the document body forever, never dropping it.

impl View<Text>[src]

pub fn text(text: &str) -> View<Text>[src]

Create a new text node View.

pub fn rx_text(&mut self, rx: Receiver<String>)[src]

Use the given receiver to update this text node View's text.

Trait Implementations

impl<T: IsDomNode + AsRef<Element>> AttributeView for View<T>[src]

impl<T: Clone + IsDomNode> Clone for View<T>[src]

impl<T: IsDomNode> Default for View<T>[src]

impl<T: IsDomNode> ElementView for View<T>[src]

impl<T: IsDomNode + AsRef<EventTarget>> EventTargetView for View<T>[src]

impl<'_> From<&'_ String> for View<Text>[src]

impl<'a> From<&'a str> for View<Text>[src]

impl<'_> From<(&'_ String, Receiver<String>)> for View<Text>[src]

impl<'_> From<(&'_ str, Receiver<String>)> for View<Text>[src]

impl From<(String, Receiver<String>)> for View<Text>[src]

impl From<Effect<String>> for View<Text>[src]

From instances for View

  • String, str etc get converted into View<Text> - ie text nodes, with their initial inner text set to the input string.
  • Receiver get converted into View<Text> with their inner text initially empty and then later set by the messages sent to the receiver.
  • Effect gets converted into View<Text> with possibly an initial string and updates through the receiver.
  • Any raw DOM element T gets wrapped by a view to make View<T>
  • Gizmo<C> returns its view, a View<<C::as Component>::DomNode>.

impl<T> From<Gizmo<T>> for View<<T as Component>::DomNode> where
    T: Component,
    <T as Component>::DomNode: JsCast + AsRef<Node>, 
[src]

impl From<String> for View<Text>[src]

impl<T: IsDomNode + AsRef<Node>> From<T> for View<T>[src]

impl<T: IsDomNode + AsRef<Node>> From<ViewBuilder<T>> for View<T>[src]

ViewBuilder can be converted into a fresh View.

impl<S: IsDomNode + AsRef<Node>, T: IsDomNode + AsRef<Node>> ParentView<Option<View<S>>> for View<T>[src]

impl<P, C> ParentView<Vec<View<C>, Global>> for View<P> where
    P: IsDomNode + AsRef<Node>,
    C: IsDomNode + AsRef<Node>, 
[src]

impl<S: IsDomNode + AsRef<Node>, T: IsDomNode + AsRef<Node>> ParentView<View<S>> for View<T>[src]

impl<T, C> PatchView<View<C>> for ViewBuilder<T> where
    T: IsDomNode + AsRef<Node>,
    C: IsDomNode + AsRef<Node>, 
[src]

impl<T, C> PatchView<View<C>> for View<T> where
    T: IsDomNode + AsRef<Node>,
    C: IsDomNode + AsRef<Node>, 
[src]

impl<T: IsDomNode> PostBuildView for View<T>[src]

type DomNode = T

The type of the inner DOM node.

impl<T: IsDomNode + AsRef<HtmlElement>> StyleView for View<T>[src]

impl<T: IsDomNode + AsRef<Node>> TryFrom<Option<View<T>>> for View<T>[src]

type Error = ()

The type returned in the event of a conversion error.

Auto Trait Implementations

impl<T> !RefUnwindSafe for View<T>

impl<T> !Send for View<T>

impl<T> !Sync for View<T>

impl<T> Unpin for View<T>

impl<T> !UnwindSafe for View<T>

Blanket Implementations

impl<T> Any for T where
    T: 'static + ?Sized
[src]

impl<T> Borrow<T> for T where
    T: ?Sized
[src]

impl<T> BorrowMut<T> for T where
    T: ?Sized
[src]

impl<T> From<T> for T[src]

impl<T, U> Into<U> for T where
    U: From<T>, 
[src]

impl<T> ToOwned for T where
    T: Clone
[src]

type Owned = T

The resulting type after obtaining ownership.

impl<T, U> TryFrom<U> for T where
    U: Into<T>, 
[src]

type Error = Infallible

The type returned in the event of a conversion error.

impl<T, U> TryInto<U> for T where
    U: TryFrom<T>, 
[src]

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.