Fixing the style change detection

This commit is contained in:
Pauan 2018-06-26 13:18:05 -10:00
parent 2a22c75c74
commit c119d1b2ed
1 changed files with 6 additions and 7 deletions

View File

@ -70,19 +70,18 @@ fn set_style_raw<A: AsRef<Reference>>(element: &A, name: &str, value: &str, impo
// TODO handle browser prefixes
#[cfg(debug_assertions)]
pub fn set_style<A: AsRef<Reference>>(element: &A, name: &str, value: &str, important: bool) {
assert!(value != "");
#[inline]
fn get_style<A: AsRef<Reference>>(element: &A, name: &str) -> String {
js!( return @{element.as_ref()}.style.getPropertyValue(@{name}); ).try_into().unwrap()
}
let old_value = get_style(element, name);
remove_style(element, name);
set_style_raw(element, name, value, important);
if old_value != value {
set_style_raw(element, name, value, important);
if get_style(element, name) == old_value {
panic!("style is incorrect:\n name: {}\n old value: {}\n new value: {}", name, old_value, value);
}
if get_style(element, name) == "" {
panic!("style is incorrect:\n name: {}\n value: {}", name, value);
}
}