Struct percy_dom::SpecialAttributes
source · pub struct SpecialAttributes {
pub dangerous_inner_html: Option<String>,
/* private fields */
}
Expand description
A specially supported attributes.
Fields§
§dangerous_inner_html: Option<String>
Allows setting the innerHTML of an element.
Danger
Be sure to escape all untrusted input to avoid cross site scripting attacks.
Implementations§
source§impl SpecialAttributes
impl SpecialAttributes
sourcepub fn on_create_element_key(&self) -> Option<&Cow<'static, str>>
pub fn on_create_element_key(&self) -> Option<&Cow<'static, str>>
The key for the on create element function
sourcepub fn set_on_create_element<Key, Func>(&mut self, key: Key, func: Func)where
Key: Into<Cow<'static, str>>,
Func: FnMut(Element) + 'static,
pub fn set_on_create_element<Key, Func>(&mut self, key: Key, func: Func)where Key: Into<Cow<'static, str>>, Func: FnMut(Element) + 'static,
Set the [SpecialAttributes.on_create_element
] function.
Key
The key is used when one virtual-node is being patched over another.
If the new node’s key is different from the old node’s key, the on create element function gets called.
If the keys are the same, the function does not get called.
Examples
use wasm_bindgen::JsValue;
let mut node = VirtualNode::element("div");
// A key can be any `Into<Cow<'static, str>>`.
let key = "some-key";
let on_create_elem = move |elem: web_sys::Element| {
assert_eq!(elem.id(), "");
};
node
.as_velement_mut()
.unwrap()
.special_attributes
.set_on_create_element(key, on_create_elem);
sourcepub fn maybe_call_on_create_element(&self, element: &Element)
pub fn maybe_call_on_create_element(&self, element: &Element)
If an on_create_element
function was set, call it.
source§impl SpecialAttributes
impl SpecialAttributes
sourcepub fn on_remove_element_key(&self) -> Option<&Cow<'static, str>>
pub fn on_remove_element_key(&self) -> Option<&Cow<'static, str>>
The key for the on remove element function
sourcepub fn set_on_remove_element<Key, Func>(&mut self, key: Key, func: Func)where
Key: Into<Cow<'static, str>>,
Func: FnMut(Element) + 'static,
pub fn set_on_remove_element<Key, Func>(&mut self, key: Key, func: Func)where Key: Into<Cow<'static, str>>, Func: FnMut(Element) + 'static,
Set the [SpecialAttributes.on_remove_element
] function.
Key
The key is used when one virtual-node is being patched over another.
If the old node’s key is different from the new node’s key, the on remove element function gets called for the old element.
If the keys are the same, the function does not get called.
Examples
use wasm_bindgen::JsValue;
let mut node = VirtualNode::element("div");
// A key can be any `Into<Cow<'static, str>>`.
let key = "some-key";
let on_remove_elem = move |elem: web_sys::Element| {
assert_eq!(elem.id(), "");
};
node
.as_velement_mut()
.unwrap()
.special_attributes
.set_on_remove_element(key, on_remove_elem);
sourcepub fn maybe_call_on_remove_element(&self, element: &Element)
pub fn maybe_call_on_remove_element(&self, element: &Element)
If an on_remove_element
function was set, call it.
Trait Implementations§
source§impl Default for SpecialAttributes
impl Default for SpecialAttributes
source§fn default() -> SpecialAttributes
fn default() -> SpecialAttributes
source§impl PartialEq<SpecialAttributes> for SpecialAttributes
impl PartialEq<SpecialAttributes> for SpecialAttributes
source§fn eq(&self, other: &SpecialAttributes) -> bool
fn eq(&self, other: &SpecialAttributes) -> bool
self
and other
values to be equal, and is used
by ==
.