diff options
Diffstat (limited to 'svgbob/src/buffer/fragment_buffer/fragment_tree.rs')
-rw-r--r-- | svgbob/src/buffer/fragment_buffer/fragment_tree.rs | 25 |
1 files changed, 24 insertions, 1 deletions
diff --git a/svgbob/src/buffer/fragment_buffer/fragment_tree.rs b/svgbob/src/buffer/fragment_buffer/fragment_tree.rs index 7006f2a..4615e75 100644 --- a/svgbob/src/buffer/fragment_buffer/fragment_tree.rs +++ b/svgbob/src/buffer/fragment_buffer/fragment_tree.rs @@ -102,7 +102,30 @@ impl FragmentTree { fn into_nodes<MSG>(self) -> Vec<Node<MSG>> { let mut nodes = vec![]; let mut fragment_node: Node<MSG> = self.fragment.into(); - fragment_node = fragment_node.add_attributes(vec![classes(self.css_tag)]); + let css_tag_len = self.css_tag.len(); + if css_tag_len > 0 { + if let Some(ex_classes) = fragment_node + .get_attributes() + .unwrap() + .iter() + .find(|att| att.name() == &"class") + { + println!("existing classes: {:#?}", ex_classes); + println!("css tags: {:#?}", self.css_tag); + } + } + fragment_node = fragment_node.merge_attributes(vec![classes(self.css_tag)]); + + if css_tag_len > 0 { + if let Some(ex_classes) = fragment_node + .get_attributes() + .unwrap() + .iter() + .find(|att| att.name() == &"class") + { + println!("AFTER merged: {:#?}", ex_classes); + } + } nodes.push(fragment_node); for child in self.enclosing { nodes.extend(child.into_nodes()) |