diff --git a/packages/core/src/mutations.rs b/packages/core/src/mutations.rs index 27976c157..e11ef4922 100644 --- a/packages/core/src/mutations.rs +++ b/packages/core/src/mutations.rs @@ -26,7 +26,7 @@ pub struct Mutations<'a> { /// Any templates encountered while diffing the DOM. /// /// These must be loaded into a cache before applying the edits - pub templates: Vec>, + pub templates: Vec>, /// Any mutations required to patch the renderer to match the layout of the VirtualDom pub edits: Vec>, diff --git a/packages/interpreter/src/sledgehammer_bindings.rs b/packages/interpreter/src/sledgehammer_bindings.rs index bf9818f00..6726b48f6 100644 --- a/packages/interpreter/src/sledgehammer_bindings.rs +++ b/packages/interpreter/src/sledgehammer_bindings.rs @@ -288,7 +288,7 @@ mod js { #[cfg(not(feature = "web"))] #[bindgen] mod js { - const JS_FILE: &str = "./src/interpreter.js"; + const JS_FILE: &str = "./packages/interpreter/src/interpreter.js"; fn mount_to_root() { "{AppendChildren(root, stack.length-1);}" @@ -329,10 +329,10 @@ mod js { fn create_text_node(text: &str, id: u32) { "{node = document.createTextNode($text$); nodes[$id$] = node; stack.push(node);}" } - fn create_element(element: &str) { + fn create_element(element: &'static str) { "{stack.push(document.createElement($element$))}" } - fn create_element_ns(element: &str, ns: &str) { + fn create_element_ns(element: &'static str, ns: &'static str) { "{stack.push(document.createElementNS($ns$, $element$))}" } fn create_placeholder(id: u32) { @@ -343,6 +343,7 @@ mod js { } fn new_event_listener(event_name: &str, id: u32, bubbles: u8) { r#" + bubbles = bubbles == 1; node = nodes[id]; if(node.listening){ node.listening += 1; @@ -352,10 +353,10 @@ mod js { node.setAttribute('data-dioxus-id', `\${id}`); // if this is a mounted listener, we send the event immediately - if (edit.name === "mounted") { + if (event_name === "mounted") { window.ipc.postMessage( serializeIpcMessage("user_event", { - name: edit.name, + name: event_name, element: edit.id, data: null, bubbles, diff --git a/packages/liveview/src/main.js b/packages/liveview/src/main.js index ce6c736c7..4ca557127 100644 --- a/packages/liveview/src/main.js +++ b/packages/liveview/src/main.js @@ -1,3 +1,5 @@ +const config = new InterpreterConfig(false); + function main() { let root = window.document.getElementById("main"); if (root != null) { diff --git a/packages/liveview/src/pool.rs b/packages/liveview/src/pool.rs index 1c4b2e51c..a74c183df 100644 --- a/packages/liveview/src/pool.rs +++ b/packages/liveview/src/pool.rs @@ -248,7 +248,7 @@ pub async fn run(mut vdom: VirtualDom, ws: impl LiveViewSocket) -> Result<(), Li } fn add_template( - template: &Template, + template: &Template<'static>, channel: &mut Channel, templates: &mut FxHashMap, max_template_count: &mut u16, @@ -262,7 +262,7 @@ fn add_template( *max_template_count += 1 } -fn create_template_node(channel: &mut Channel, v: &TemplateNode) { +fn create_template_node(channel: &mut Channel, v: &'static TemplateNode<'static>) { use TemplateNode::*; match v { Element {