[−][src]Crate mt_dom
mt-dom is a generic virtual dom implementation which doesn't specify the types of the data that is being processed. It's up to the library user to specify those types
The goal of this library is to provide virtual dom diffing functionality and return a portable patches which the user can then use to apply those patches in their respective UI elements.
mt-dom is not limited to be used in html base virtual-dom implementation, but can also be use for native UI elements.
Structs
Attribute | These are the plain attributes of an element |
Callback | A generic sized representation of a function that can be attached to a Node. The callback will essentially be owned by the element |
Element | Represents an element of the virtual node
An element has a generic tag, this tag could be a static str tag, such as usage in html dom.
Example of which are |
Enums
AttValue | Attribute Value which can be a plain attribute or a callback |
Node | represents a node in a virtual dom A node could be an element which can contain one or more children of nodes. A node could also be just a text node which contains a string |
Patch | A Patch encodes an operation that modifies a real DOM element or native UI element |
Functions
attr | Create an attribute |
attr_ns | Create an attribute with namespace |
diff_with_key | calculate the difference of 2 nodes the supplied key will be taken into account that if the 2 keys differ, the element will be replaced without having to traverse the children nodes |
element | create a virtual node with tag, attrs and children |
element_ns | create a virtual node with namespace, tag, attrs and children |
on | create an attribute from callback |
text | Create a textnode element |