Skip to content

Commit 39cd428

Browse files
committed
fix: remove unused
1 parent d83c4f1 commit 39cd428

File tree

4 files changed

+47
-99
lines changed

4 files changed

+47
-99
lines changed

crates/core/src/dom/component/template.rs

Lines changed: 15 additions & 37 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,3 @@
1-
#![allow(unused)]
21
use std::{any::TypeId, cell::RefCell, collections::hash_map, collections::HashMap, rc::Rc};
32

43
use wasm_bindgen::JsCast;
@@ -17,15 +16,11 @@ thread_local! {
1716

1817
/// if the template is already registered, return the dom template
1918
/// if not, create the dom template and add it
20-
pub fn register_template<MSG>(
21-
type_id: TypeId,
22-
parent_node: Rc<Option<DomNode>>,
23-
vdom_template: &vdom::Node<MSG>,
24-
) -> DomNode {
19+
pub fn register_template<MSG>(type_id: TypeId, vdom_template: &vdom::Node<MSG>) -> DomNode {
2520
if let Some(template) = lookup_template(type_id) {
2621
template
2722
} else {
28-
let template = create_dom_node_no_listeners(parent_node, vdom_template);
23+
let template = create_dom_node_no_listeners(vdom_template);
2924
add_template(type_id, &template);
3025
template
3126
}
@@ -123,42 +118,30 @@ pub fn clear_time_spent() {
123118
TIME_SPENT.with_borrow_mut(|values| values.clear())
124119
}
125120

126-
pub(crate) fn create_dom_node_no_listeners<MSG>(
127-
parent_node: Rc<Option<DomNode>>,
128-
vnode: &vdom::Node<MSG>,
129-
) -> DomNode {
121+
pub(crate) fn create_dom_node_no_listeners<MSG>(vnode: &vdom::Node<MSG>) -> DomNode {
130122
match vnode {
131-
vdom::Node::Element(element_node) => {
132-
create_element_node_no_listeners(parent_node, element_node)
133-
}
134-
vdom::Node::Leaf(leaf_node) => create_leaf_node_no_listeners(parent_node, leaf_node),
123+
vdom::Node::Element(element_node) => create_element_node_no_listeners(element_node),
124+
vdom::Node::Leaf(leaf_node) => create_leaf_node_no_listeners(leaf_node),
135125
}
136126
}
137127

138-
fn create_fragment_node_no_listeners<MSG>(
139-
parent_node: Rc<Option<DomNode>>,
140-
nodes: &[vdom::Node<MSG>],
141-
) -> DomNode {
128+
fn create_fragment_node_no_listeners<MSG>(nodes: &[vdom::Node<MSG>]) -> DomNode {
142129
let fragment = document().create_document_fragment();
143130
let dom_node = DomNode {
144131
inner: DomInner::Fragment {
145132
fragment,
146133
children: Rc::new(RefCell::new(vec![])),
147134
},
148135
};
149-
let dom_node_rc = Rc::new(Some(dom_node.clone()));
150136
let children = nodes
151137
.iter()
152-
.map(|node| create_dom_node_no_listeners(Rc::clone(&dom_node_rc), node))
138+
.map(|node| create_dom_node_no_listeners(node))
153139
.collect();
154140
dom_node.append_children(children);
155141
dom_node
156142
}
157143

158-
fn create_leaf_node_no_listeners<MSG>(
159-
parent_node: Rc<Option<DomNode>>,
160-
leaf: &Leaf<MSG>,
161-
) -> DomNode {
144+
fn create_leaf_node_no_listeners<MSG>(leaf: &Leaf<MSG>) -> DomNode {
162145
match leaf {
163146
Leaf::Text(txt) => DomNode {
164147
inner: DomInner::Text(document().create_text_node(txt)),
@@ -175,11 +158,11 @@ fn create_leaf_node_no_listeners<MSG>(
175158
doctype is only used in rendering"
176159
);
177160
}
178-
Leaf::Fragment(nodes) => create_fragment_node_no_listeners(parent_node, nodes),
161+
Leaf::Fragment(nodes) => create_fragment_node_no_listeners(nodes),
179162
// NodeList that goes here is only possible when it is the root_node,
180163
// since node_list as children will be unrolled into as child_elements of the parent
181164
// We need to wrap this node_list into doc_fragment since root_node is only 1 element
182-
Leaf::NodeList(node_list) => create_fragment_node_no_listeners(parent_node, node_list),
165+
Leaf::NodeList(node_list) => create_fragment_node_no_listeners(node_list),
183166
Leaf::StatefulComponent(_lc) => {
184167
unreachable!("Component should not be created here")
185168
}
@@ -190,10 +173,7 @@ fn create_leaf_node_no_listeners<MSG>(
190173
}
191174
}
192175

193-
fn create_element_node_no_listeners<MSG>(
194-
parent_node: Rc<Option<DomNode>>,
195-
elm: &vdom::Element<MSG>,
196-
) -> DomNode {
176+
fn create_element_node_no_listeners<MSG>(elm: &vdom::Element<MSG>) -> DomNode {
197177
let document = document();
198178
let element = if let Some(namespace) = elm.namespace() {
199179
document
@@ -224,11 +204,10 @@ fn create_element_node_no_listeners<MSG>(
224204
has_mount_callback: elm.has_mount_callback(),
225205
},
226206
};
227-
let dom_node_rc = Rc::new(Some(dom_node.clone()));
228207
let children = elm
229208
.children()
230209
.iter()
231-
.map(|child| create_dom_node_no_listeners(Rc::clone(&dom_node_rc), child))
210+
.map(|child| create_dom_node_no_listeners(child))
232211
.collect();
233212
dom_node.append_children(children);
234213
dom_node
@@ -279,7 +258,6 @@ where
279258
{
280259
pub(crate) fn create_stateless_component_with_template(
281260
&self,
282-
parent_node: Rc<Option<DomNode>>,
283261
comp: &StatelessModel<APP::MSG>,
284262
) -> DomNode {
285263
#[cfg(feature = "with-trace")]
@@ -292,7 +270,7 @@ where
292270
//TODO: something is wrong with the chain of elements here
293271
//from base node to it's children
294272
// disabling template for stateless component for now
295-
let template = register_template(comp.type_id, parent_node, &vdom_template);
273+
let template = register_template(comp.type_id, &vdom_template);
296274
let real_comp_view = comp_view.unwrap_template_ref();
297275
#[cfg(feature = "with-trace")]
298276
let t2 = crate::dom::now();
@@ -324,7 +302,7 @@ where
324302
log::warn!(
325303
"template and skip_diff is not found, fallback to no template and skip_diff"
326304
);
327-
self.create_stateless_component(parent_node, comp)
305+
self.create_stateless_component(comp)
328306
}
329307
}
330308
}
@@ -339,7 +317,7 @@ where
339317
let patches =
340318
self.create_patches_with_skip_diff(&vdom_template, &real_view, &skip_diff);
341319
let type_id = TypeId::of::<APP>();
342-
let dom_template = register_template(type_id, Rc::new(None), &vdom_template);
320+
let dom_template = register_template(type_id, &vdom_template);
343321
let dom_patches = self
344322
.convert_patches(&dom_template, &patches)
345323
.expect("convert patches");

crates/core/src/dom/dom_node.rs

Lines changed: 25 additions & 54 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,3 @@
1-
#![allow(unused)]
21
use crate::dom::component::StatelessModel;
32
use crate::dom::DomAttr;
43
use crate::dom::GroupedDomAttrValues;
@@ -259,7 +258,7 @@ impl DomNode {
259258
DomInner::Element {
260259
element, children, ..
261260
} => {
262-
for mut child in for_append.into_iter() {
261+
for child in for_append.into_iter() {
263262
if let Some(symbol) = child.as_symbol() {
264263
element
265264
.insert_adjacent_html(intern("beforeend"), symbol)
@@ -276,7 +275,7 @@ impl DomNode {
276275
DomInner::Fragment {
277276
fragment, children, ..
278277
} => {
279-
for mut child in for_append.into_iter() {
278+
for child in for_append.into_iter() {
280279
fragment
281280
.append_child(&child.as_node())
282281
.expect("append child");
@@ -353,7 +352,7 @@ impl DomNode {
353352
}
354353

355354
/// Replace the child `child` DomNode with a replacement DomNode `replacement`
356-
pub(crate) fn replace_child(&self, target_child: &DomNode, mut replacement: DomNode) {
355+
pub(crate) fn replace_child(&self, target_child: &DomNode, replacement: DomNode) {
357356
match &self.inner {
358357
DomInner::Element { children, .. } => {
359358
let mut child_index = None;
@@ -648,22 +647,14 @@ where
648647
APP: Application + 'static,
649648
{
650649
/// Create a dom node
651-
pub fn create_dom_node(
652-
&self,
653-
parent_node: Rc<Option<DomNode>>,
654-
node: &vdom::Node<APP::MSG>,
655-
) -> DomNode {
650+
pub fn create_dom_node(&self, node: &vdom::Node<APP::MSG>) -> DomNode {
656651
match node {
657-
vdom::Node::Element(elm) => self.create_element_node(parent_node, elm),
658-
vdom::Node::Leaf(leaf) => self.create_leaf_node(parent_node, leaf),
652+
vdom::Node::Element(elm) => self.create_element_node(elm),
653+
vdom::Node::Leaf(leaf) => self.create_leaf_node(leaf),
659654
}
660655
}
661656

662-
fn create_element_node(
663-
&self,
664-
parent_node: Rc<Option<DomNode>>,
665-
elm: &vdom::Element<APP::MSG>,
666-
) -> DomNode {
657+
fn create_element_node(&self, elm: &vdom::Element<APP::MSG>) -> DomNode {
667658
let document = document();
668659
let element = if let Some(namespace) = elm.namespace() {
669660
document
@@ -688,21 +679,16 @@ where
688679
};
689680
let dom_attrs = attrs.iter().map(|a| self.convert_attr(a));
690681
dom_node.set_dom_attrs(dom_attrs).expect("set dom attrs");
691-
let dom_node_rc = Rc::new(Some(dom_node.clone()));
692682
let children: Vec<DomNode> = elm
693683
.children()
694684
.iter()
695-
.map(|child| self.create_dom_node(Rc::clone(&dom_node_rc), child))
685+
.map(|child| self.create_dom_node(child))
696686
.collect();
697687
dom_node.append_children(children);
698688
dom_node
699689
}
700690

701-
fn create_leaf_node(
702-
&self,
703-
parent_node: Rc<Option<DomNode>>,
704-
leaf: &vdom::Leaf<APP::MSG>,
705-
) -> DomNode {
691+
fn create_leaf_node(&self, leaf: &vdom::Leaf<APP::MSG>) -> DomNode {
706692
match leaf {
707693
Leaf::Text(txt) => DomNode {
708694
inner: DomInner::Text(document().create_text_node(txt)),
@@ -713,30 +699,28 @@ where
713699
Leaf::Comment(comment) => DomNode {
714700
inner: DomInner::Comment(document().create_comment(comment)),
715701
},
716-
Leaf::Fragment(nodes) => self.create_fragment_node(parent_node, nodes),
702+
Leaf::Fragment(nodes) => self.create_fragment_node(nodes),
717703
// NodeList that goes here is only possible when it is the root_node,
718704
// since node_list as children will be unrolled into as child_elements of the parent
719705
// We need to wrap this node_list into doc_fragment since root_node is only 1 element
720-
Leaf::NodeList(nodes) => self.create_fragment_node(parent_node, nodes),
706+
Leaf::NodeList(nodes) => self.create_fragment_node(nodes),
721707
Leaf::StatefulComponent(comp) => {
722708
//TODO: also put the children and attributes here
723709
DomNode {
724710
inner: DomInner::StatefulComponent {
725711
comp: Rc::clone(&comp.comp),
726-
dom_node: Rc::new(
727-
self.create_stateful_component(Rc::clone(&parent_node), comp),
728-
),
712+
dom_node: Rc::new(self.create_stateful_component(comp)),
729713
},
730714
}
731715
}
732716
Leaf::StatelessComponent(comp) => {
733717
#[cfg(feature = "use-template")]
734718
{
735-
self.create_stateless_component_with_template(parent_node, comp)
719+
self.create_stateless_component_with_template(comp)
736720
}
737721
#[cfg(not(feature = "use-template"))]
738722
{
739-
self.create_stateless_component(parent_node, comp)
723+
self.create_stateless_component(comp)
740724
}
741725
}
742726
Leaf::TemplatedView(view) => {
@@ -748,7 +732,6 @@ where
748732

749733
fn create_fragment_node<'a>(
750734
&self,
751-
parent_node: Rc<Option<DomNode>>,
752735
nodes: impl IntoIterator<Item = &'a vdom::Node<APP::MSG>>,
753736
) -> DomNode {
754737
let fragment = document().create_document_fragment();
@@ -758,10 +741,9 @@ where
758741
children: Rc::new(RefCell::new(vec![])),
759742
},
760743
};
761-
let dom_node_rc = Rc::new(Some(dom_node.clone()));
762744
let children = nodes
763745
.into_iter()
764-
.map(|node| self.create_dom_node(Rc::clone(&dom_node_rc), node))
746+
.map(|node| self.create_dom_node(node))
765747
.collect();
766748
dom_node.append_children(children);
767749
dom_node
@@ -786,20 +768,13 @@ where
786768
/// The attributes affects the Stateful component state.
787769
/// The attributes can be diff and send the patches to the StatefulComponent
788770
/// - Changes to the attributes will call on attribute_changed of the StatefulComponent
789-
fn create_stateful_component(
790-
&self,
791-
parent_node: Rc<Option<DomNode>>,
792-
comp: &StatefulModel<APP::MSG>,
793-
) -> DomNode {
794-
let comp_node = self.create_dom_node(
795-
Rc::clone(&parent_node),
796-
&crate::html::div(
797-
[crate::html::attributes::class("component")]
798-
.into_iter()
799-
.chain(comp.attrs.clone()),
800-
[],
801-
),
802-
);
771+
fn create_stateful_component(&self, comp: &StatefulModel<APP::MSG>) -> DomNode {
772+
let comp_node = self.create_dom_node(&crate::html::div(
773+
[crate::html::attributes::class("component")]
774+
.into_iter()
775+
.chain(comp.attrs.clone()),
776+
[],
777+
));
803778

804779
let dom_attrs: Vec<DomAttr> = comp.attrs.iter().map(|a| self.convert_attr(a)).collect();
805780
for dom_attr in dom_attrs.into_iter() {
@@ -813,21 +788,17 @@ where
813788
let created_children = comp
814789
.children
815790
.iter()
816-
.map(|child| self.create_dom_node(Rc::clone(&parent_node), child))
791+
.map(|child| self.create_dom_node(child))
817792
.collect();
818793
comp.comp.borrow_mut().append_children(created_children);
819794
comp_node
820795
}
821796

822797
#[allow(unused)]
823-
pub(crate) fn create_stateless_component(
824-
&self,
825-
parent_node: Rc<Option<DomNode>>,
826-
comp: &StatelessModel<APP::MSG>,
827-
) -> DomNode {
798+
pub(crate) fn create_stateless_component(&self, comp: &StatelessModel<APP::MSG>) -> DomNode {
828799
let comp_view = &comp.view;
829800
let real_comp_view = comp_view.unwrap_template_ref();
830-
self.create_dom_node(parent_node, real_comp_view)
801+
self.create_dom_node(real_comp_view)
831802
}
832803
}
833804

crates/core/src/dom/dom_patch.rs

Lines changed: 4 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -10,7 +10,6 @@ use crate::vdom::EventCallback;
1010
use crate::vdom::TreePath;
1111
use crate::vdom::{Attribute, AttributeValue, Patch, PatchType};
1212
use indexmap::IndexMap;
13-
use std::rc::Rc;
1413
use wasm_bindgen::closure::Closure;
1514
use wasm_bindgen::JsValue;
1615

@@ -260,7 +259,7 @@ where
260259
PatchType::InsertBeforeNode { nodes } => {
261260
let nodes = nodes
262261
.iter()
263-
.map(|for_insert| self.create_dom_node(Rc::new(None), for_insert))
262+
.map(|for_insert| self.create_dom_node(for_insert))
264263
.collect();
265264
DomPatch {
266265
patch_path,
@@ -272,7 +271,7 @@ where
272271
PatchType::InsertAfterNode { nodes } => {
273272
let nodes = nodes
274273
.iter()
275-
.map(|for_insert| self.create_dom_node(Rc::new(None), for_insert))
274+
.map(|for_insert| self.create_dom_node(for_insert))
276275
.collect();
277276
DomPatch {
278277
patch_path,
@@ -306,7 +305,7 @@ where
306305
PatchType::ReplaceNode { replacement } => {
307306
let replacement = replacement
308307
.iter()
309-
.map(|node| self.create_dom_node(Rc::new(None), node))
308+
.map(|node| self.create_dom_node(node))
310309
.collect();
311310
DomPatch {
312311
patch_path,
@@ -360,7 +359,7 @@ where
360359
PatchType::AppendChildren { children } => {
361360
let children = children
362361
.iter()
363-
.map(|for_insert| self.create_dom_node(Rc::new(None), for_insert))
362+
.map(|for_insert| self.create_dom_node(for_insert))
364363
.collect();
365364

366365
DomPatch {

0 commit comments

Comments
 (0)