fix: append isnt backwards

This commit is contained in:
Jonathan Kelley committed 2021-08-24 12:51:53 -04:00
1 parent cdcd8611e8
commit df8aa77198
1 file changed
+6 -13
+6 -13
View File
@@ -124,8 +124,6 @@ impl WebsysDom {
} }
fn append_children(&mut self, many: u32) { fn append_children(&mut self, many: u32) {
log::debug!("Called [`append_child`]");
let root: Node = self let root: Node = self
.stack .stack
.list .list
@@ -133,9 +131,11 @@ impl WebsysDom {
.unwrap() .unwrap()
.clone(); .clone();
for _ in 0..many { for child in self
let child = self.stack.pop(); .stack
.list
.drain((self.stack.list.len() - many as usize)..)
{
if child.dyn_ref::<web_sys::Text>().is_some() { if child.dyn_ref::<web_sys::Text>().is_some() {
if self.last_node_was_text { if self.last_node_was_text {
let comment_node = self let comment_node = self
@@ -143,20 +143,17 @@ impl WebsysDom {
.create_comment("dioxus") .create_comment("dioxus")
.dyn_into::<Node>() .dyn_into::<Node>()
.unwrap(); .unwrap();
self.stack.top().append_child(&comment_node).unwrap(); root.append_child(&comment_node).unwrap();
} }
self.last_node_was_text = true; self.last_node_was_text = true;
} else { } else {
self.last_node_was_text = false; self.last_node_was_text = false;
} }
root.append_child(&child).unwrap(); root.append_child(&child).unwrap();
} }
} }
fn replace_with(&mut self, m: u32, root: u64) { fn replace_with(&mut self, m: u32, root: u64) {
log::debug!("Called [`replace_with`]");
let mut new_nodes = vec![]; let mut new_nodes = vec![];
for _ in 0..m { for _ in 0..m {
new_nodes.push(self.stack.pop()); new_nodes.push(self.stack.pop());
@@ -198,8 +195,6 @@ impl WebsysDom {
} }
fn remove(&mut self, root: u64) { fn remove(&mut self, root: u64) {
log::debug!("Called [`remove`]");
let node = self.nodes[root as usize].as_ref().unwrap(); let node = self.nodes[root as usize].as_ref().unwrap();
if let Some(element) = node.dyn_ref::<Element>() { if let Some(element) = node.dyn_ref::<Element>() {
element.remove(); element.remove();
@@ -211,7 +206,6 @@ impl WebsysDom {
} }
fn remove_all_children(&mut self) { fn remove_all_children(&mut self) {
log::debug!("Called [`remove_all_children`]");
todo!() todo!()
} }
@@ -255,7 +249,6 @@ impl WebsysDom {
self.nodes[id] = Some(el); self.nodes[id] = Some(el);
// let nid = self.node_counter.?next(); // let nid = self.node_counter.?next();
// let nid = self.nodes.insert(el).data().as_ffi(); // let nid = self.nodes.insert(el).data().as_ffi();
// log::debug!("Called [`create_element`]: {}, {:?}", tag, nid);
// ElementId::new(nid) // ElementId::new(nid)
} }