fix: append isnt backwards
This commit is contained in:
1 parent
cdcd8611e8
commit
df8aa77198
1 file changed
+6
-13
+6
-13
@@ -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)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
Reference in new issue
Block a user