pub struct DomApi {
pub event_dispatcher: EventDispatcher,
pub timer_queue: TimerQueue,
pub console_output: Vec<String>,
pub navigation_requests: Vec<String>,
/* private fields */
}Expand description
Bridge between JS VM and DOM tree
Fields§
§event_dispatcher: EventDispatcherEvent dispatcher
timer_queue: TimerQueueTimer queue
console_output: Vec<String>Console output
Navigation requests (URLs to load)
Implementations§
Source§impl DomApi
impl DomApi
pub fn new() -> Self
Sourcepub fn get_node_mut(&mut self, id: NodeId) -> Option<&mut DomNode>
pub fn get_node_mut(&mut self, id: NodeId) -> Option<&mut DomNode>
Get a mutable node by ID
Sourcepub fn node_count(&self) -> usize
pub fn node_count(&self) -> usize
Total number of nodes
Sourcepub fn get_element_by_id(&self, element_id: &str) -> Option<NodeId>
pub fn get_element_by_id(&self, element_id: &str) -> Option<NodeId>
document.getElementById(id) -> NodeId or None
Sourcepub fn create_element(&mut self, tag: &str) -> NodeId
pub fn create_element(&mut self, tag: &str) -> NodeId
document.createElement(tag) -> NodeId
Sourcepub fn create_text_node(&mut self, text: &str) -> NodeId
pub fn create_text_node(&mut self, text: &str) -> NodeId
document.createTextNode(text) -> NodeId
Sourcepub fn query_selector(&self, selector: &str) -> Option<NodeId>
pub fn query_selector(&self, selector: &str) -> Option<NodeId>
Simple querySelector by tag name (first match)
Sourcepub fn get_attribute(&self, node_id: NodeId, name: &str) -> Option<String>
pub fn get_attribute(&self, node_id: NodeId, name: &str) -> Option<String>
element.getAttribute(name)
Sourcepub fn set_attribute(&mut self, node_id: NodeId, name: &str, value: &str)
pub fn set_attribute(&mut self, node_id: NodeId, name: &str, value: &str)
element.setAttribute(name, value)
Sourcepub fn append_child(&mut self, parent_id: NodeId, child_id: NodeId) -> bool
pub fn append_child(&mut self, parent_id: NodeId, child_id: NodeId) -> bool
element.appendChild(child)
Sourcepub fn remove_child(&mut self, parent_id: NodeId, child_id: NodeId) -> bool
pub fn remove_child(&mut self, parent_id: NodeId, child_id: NodeId) -> bool
element.removeChild(child)
Sourcepub fn get_text_content(&self, node_id: NodeId) -> String
pub fn get_text_content(&self, node_id: NodeId) -> String
element.textContent (getter)
Sourcepub fn set_text_content(&mut self, node_id: NodeId, text: &str)
pub fn set_text_content(&mut self, node_id: NodeId, text: &str)
element.textContent = value (setter)
Sourcepub fn get_inner_html(&self, node_id: NodeId) -> String
pub fn get_inner_html(&self, node_id: NodeId) -> String
element.innerHTML (getter)
Sourcepub fn set_inner_html(&mut self, node_id: NodeId, html: &str)
pub fn set_inner_html(&mut self, node_id: NodeId, html: &str)
element.innerHTML = value (setter)
Sourcepub fn set_style_property(&mut self, node_id: NodeId, name: &str, value: &str)
pub fn set_style_property(&mut self, node_id: NodeId, name: &str, value: &str)
element.style.setProperty(name, value)
Sourcepub fn get_style_property(&self, node_id: NodeId, name: &str) -> Option<String>
pub fn get_style_property(&self, node_id: NodeId, name: &str) -> Option<String>
element.style.getPropertyValue(name)
Sourcepub fn add_event_listener(
&mut self,
node_id: NodeId,
event_type: EventType,
callback_id: usize,
)
pub fn add_event_listener( &mut self, node_id: NodeId, event_type: EventType, callback_id: usize, )
addEventListener(node, type, callback_id)
Sourcepub fn remove_event_listener(
&mut self,
node_id: NodeId,
event_type: EventType,
callback_id: usize,
)
pub fn remove_event_listener( &mut self, node_id: NodeId, event_type: EventType, callback_id: usize, )
removeEventListener(node, type, callback_id)
Sourcepub fn console_log(&mut self, message: &str)
pub fn console_log(&mut self, message: &str)
console.log(args…)
Sourcepub fn console_error(&mut self, message: &str)
pub fn console_error(&mut self, message: &str)
console.error(args…)
Sourcepub fn window_alert(&mut self, message: &str)
pub fn window_alert(&mut self, message: &str)
window.alert(message) – stub
Sourcepub fn register_element_id(&mut self, node_id: NodeId, element_id: &str)
pub fn register_element_id(&mut self, node_id: NodeId, element_id: &str)
Register a node’s element ID in the lookup map