[][src]Trait augdom::Dom

pub trait Dom: Sized {
    type Nodes: IntoIterator<Item = Self>;
    type MutationRecord;
    type Observer: Stream<Item = Vec<Self::MutationRecord>> + Unpin;
    fn write_xml<W: Write>(&self, writer: &mut XmlWriter<W>);
fn create_element(&self, ty: &str) -> Self;
fn create_text_node(&self, contents: &str) -> Self;
fn get_attribute(&self, name: &str) -> Option<String>;
fn set_attribute(&self, name: &str, value: &str);
fn remove_attribute(&self, name: &str);
fn next_sibling(&self) -> Option<Self>;
fn first_child(&self) -> Option<Self>;
fn append_child(&self, child: &Self);
fn replace_child(&self, new_child: &Self, existing: &Self);
fn remove_child(&self, to_remove: &Self) -> Option<Self>;
fn get_inner_text(&self) -> String;
fn dispatch<E: Event>(&self);
fn query_selector(&self, selectors: &str) -> Option<Self>;
fn query_selector_all(&self, selectors: &str) -> Self::Nodes;
fn observe_mutations(&self) -> Self::Observer; fn outer_html(&self) -> String { ... }
fn pretty_outer_html(&self, indent: usize) -> String { ... } }

A value which implements a subset of the web's document object model.

Associated Types

type Nodes: IntoIterator<Item = Self>

The type returned by query_selector_all.

type MutationRecord

The type returned in batches by Dom::Observer.

type Observer: Stream<Item = Vec<Self::MutationRecord>> + Unpin

The type returned by observe.

Loading content...

Required methods

fn write_xml<W: Write>(&self, writer: &mut XmlWriter<W>)

Write this value as XML via the provided writer. Consider using Dom::outer_html or Dom::pretty_outer_html unless you need the performance.

fn create_element(&self, ty: &str) -> Self

Create a new element within the same tree as the method receiver.

fn create_text_node(&self, contents: &str) -> Self

Create a new text node within the same tree as the method receiver.

fn get_attribute(&self, name: &str) -> Option<String>

Get an attribute from this DOM node.

fn set_attribute(&self, name: &str, value: &str)

Set an attribute on this DOM node.

fn remove_attribute(&self, name: &str)

Ensure the provided attribute has been removed from this DOM node.

fn next_sibling(&self) -> Option<Self>

Returns the next child of this node's parent after this node itself.

fn first_child(&self) -> Option<Self>

Returns the first child of this node.

fn append_child(&self, child: &Self)

Adds a new child to the end of this node's children.

fn replace_child(&self, new_child: &Self, existing: &Self)

Replaces the provided child of this node with a new one.

fn remove_child(&self, to_remove: &Self) -> Option<Self>

Removes the provided child from this node.

fn get_inner_text(&self) -> String

Represents the "rendered" text content of a node and its descendants. It approximates the text the user would get if they highlighted the contents of the element with the cursor and then copied it to the clipboard.

fn dispatch<E: Event>(&self)

Synchronously invokes the affected EventListeners in the appropriate order. The normal event processing rules (including the capturing and optional bubbling phase) also apply to events dispatched manually with dispatchEvent().

fn query_selector(&self, selectors: &str) -> Option<Self>

Returns the first descendant of self which matches the specified selectors.

fn query_selector_all(&self, selectors: &str) -> Self::Nodes

Returns a static (not live) Vec of descendents of self which match the specified selectors.

fn observe_mutations(&self) -> Self::Observer

Return a stream of mutations related to the subtree under this node.

Loading content...

Provided methods

fn outer_html(&self) -> String

Returns a string of serialized XML without newlines or indentation.

fn pretty_outer_html(&self, indent: usize) -> String

Returns a string of "prettified" serialized XML with the provided indentation.

Loading content...

Implementations on Foreign Types

impl Dom for Rc<VirtNode>[src]

type MutationRecord = Mutation

type Nodes = Vec<Self>

type Observer = UnboundedReceiver<Vec<Mutation>>

impl Dom for Node[src]

type MutationRecord = MutationRecord

type Nodes = NodeList

type Observer = Mutations

Loading content...

Implementors

impl Dom for augdom::Node[src]

type MutationRecord = MutationRecord

type Nodes = Vec<Self>

type Observer = MutationObserver

Loading content...