custom element test passing
This commit is contained in:
1 parent
43372c7609
commit
4e582d0374
10 files changed
+155
-57
No files matched your search
@@ -224,14 +224,14 @@ pub fn partial_derive_state(_: TokenStream, input: TokenStream) -> TokenStream {
|
||||
let get_parent_view = {
|
||||
if parent_dependencies.is_empty() {
|
||||
quote! {
|
||||
let raw_parent = tree.parent_id(id).map(|_| ());
|
||||
let raw_parent = tree.parent_id_advanced(id, Self::TRAVERSE_SHADOW_DOM).map(|_| ());
|
||||
}
|
||||
} else {
|
||||
let temps = (0..parent_dependencies.len())
|
||||
.map(|i| format_ident!("__temp{}", i))
|
||||
.collect::<Vec<_>>();
|
||||
quote! {
|
||||
let raw_parent = tree.parent_id(id).and_then(|parent_id| {
|
||||
let raw_parent = tree.parent_id_advanced(id, Self::TRAVERSE_SHADOW_DOM).and_then(|parent_id| {
|
||||
let raw_parent: Option<(#(*const #parent_dependencies,)*)> = (#(&#parent_view,)*).get(parent_id).ok().map(|c| {
|
||||
let (#(#temps,)*) = c;
|
||||
(#(#temps as *const _,)*)
|
||||
@@ -261,14 +261,14 @@ pub fn partial_derive_state(_: TokenStream, input: TokenStream) -> TokenStream {
|
||||
let get_child_view = {
|
||||
if child_dependencies.is_empty() {
|
||||
quote! {
|
||||
let raw_children: Vec<_> = tree.children_ids(id).into_iter().map(|_| ()).collect();
|
||||
let raw_children: Vec<_> = tree.children_ids_advanced(id, Self::TRAVERSE_SHADOW_DOM).into_iter().map(|_| ()).collect();
|
||||
}
|
||||
} else {
|
||||
let temps = (0..child_dependencies.len())
|
||||
.map(|i| format_ident!("__temp{}", i))
|
||||
.collect::<Vec<_>>();
|
||||
quote! {
|
||||
let raw_children: Vec<_> = tree.children_ids(id).into_iter().filter_map(|id| {
|
||||
let raw_children: Vec<_> = tree.children_ids_advanced(id, Self::TRAVERSE_SHADOW_DOM).into_iter().filter_map(|id| {
|
||||
let raw_children: Option<(#(*const #child_dependencies,)*)> = (#(&#child_view,)*).get(id).ok().map(|c| {
|
||||
let (#(#temps,)*) = c;
|
||||
(#(#temps as *const _,)*)
|
||||
@@ -336,7 +336,7 @@ pub fn partial_derive_state(_: TokenStream, input: TokenStream) -> TokenStream {
|
||||
let (#(#split_views,)*) = data;
|
||||
let tree = run_view.tree.clone();
|
||||
let node_types = run_view.node_type.clone();
|
||||
dioxus_native_core::prelude::run_pass(type_id, dependants.clone(), pass_direction, run_view, Self::TRAVERSE_SHADOW_DOM, |id, context| {
|
||||
dioxus_native_core::prelude::run_pass(type_id, dependants.clone(), pass_direction, run_view, |id, context| {
|
||||
let node_data: &NodeType<_> = node_types.get(id).unwrap_or_else(|err| panic!("Failed to get node type {:?}", err));
|
||||
// get all of the states from the tree view
|
||||
// Safety: No node has itself as a parent or child.
|
||||
|
||||
Reference in new issue
Block a user