1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43
// Copyright © 2020 Lukas Wagner //! Seed integration module. //! The user doesn't need to do anything but to add a style into a //! seed component. #[cfg(target_arch = "wasm32")] extern crate seed; #[cfg(target_arch = "wasm32")] use super::super::style::Style; #[cfg(target_arch = "wasm32")] use seed::virtual_dom::{At, AtValue, Attrs, El, UpdateEl}; #[cfg(target_arch = "wasm32")] impl<Ms> UpdateEl<El<Ms>> for Style { fn update(self, el: &mut El<Ms>) { let mut new_attrs = Attrs::empty(); new_attrs.add(At::Class, self); el.attrs.merge(new_attrs); } } // #[cfg(target_arch = "wasm32")] // impl From<Style> for AtValue { // fn from(item: Style) -> Self { // AtValue::Some(item.class_name.clone()) // } // } // this is going to be needed for Seed v0.7.0 // #[cfg(target_arch = "wasm32")] // use seed::virtual_dom::ToClasses; // #[cfg(target_arch = "wasm32")] // impl ToClasses for Style { // fn to_classes(self) -> Option<Vec<String>> { // let mut classes = Vec::new(); // classes.push(self.class_name.clone()); // Some(classes) // } // }