Merge branch 'DioxusLabs:master' into lazy_tui

This commit is contained in:
Demonthos authored and GitHub committed 2022-04-04 12:10:18 -05:00
commit 479c12725f
34 files changed
+212 -92

No files matched your search

+1
View File
@@ -426,6 +426,7 @@ impl<'b> DiffState<'b> {
self.mutations.push_root(root);
let created = self.create_children(new.children);
self.mutations.append_children(created as u32);
self.mutations.pop_root();
}
(_, _) => self.diff_children(old.children, new.children),
};
+8
View File
@@ -185,6 +185,9 @@ pub enum DomEdit<'bump> {
/// The namespace of the attribute.
ns: Option<&'bump str>,
},
/// Manually pop a root node from the stack.
PopRoot {},
}
use fxhash::FxHashSet;
@@ -205,6 +208,11 @@ impl<'a> Mutations<'a> {
self.edits.push(PushRoot { root: id });
}
// Navigation
pub(crate) fn pop_root(&mut self) {
self.edits.push(PopRoot {});
}
pub(crate) fn replace_with(&mut self, root: ElementId, m: u32) {
let root = root.as_u64();
self.edits.push(ReplaceWith { m, root });