Commit 2226f52
Add and remove css classes
Changed files (7)
modifiedCargo.lockmodifiedCargo.tomlmodifiedexamples/counter-component/build.shmodifiedexamples/counter-component/dev.shmodifiedexamples/counter-component/src/lib.rsmodifiedsrc/lib.rsmodifiedsrc/prelude.rs
Diff
@@ -404,7 +404,7 @@ dependencies = [ [[package]] name = "kaja-web"-version = "1.0.2"+version = "1.0.3" dependencies = [ "gloo", "gloo-console",@@ -1,6 +1,6 @@ [package] name = "kaja-web"-version = "1.0.2"+version = "1.0.3" edition = "2024" description = "Web framework for Rust targeting the WebAssembly" license = "MIT"@@ -13,7 +13,7 @@ gloo = "0.12.0" gloo-console = "0.4.0" kaja-html-macro = "1.0.3" wasm-bindgen = "0.2.122"-web-sys = { version = "0.3.99", features = ["Document", "HtmlDocument", "Element", "HtmlElement", "HtmlInputElement", "NodeList"] }+web-sys = { version = "0.3.99", features = ["Document", "HtmlDocument", "Element", "HtmlElement", "HtmlInputElement", "NodeList", "CssStyleDeclaration"] } serde = { version = "1.0", features = ["derive"] } serde-wasm-bindgen = "0.5" inventory = "0.3.24"@@ -5,8 +5,7 @@ wasm-pack build \ --release \ --target web \ --out-dir pkg \- --out-name componentexample \- --no-typescript+ --out-name componentexample cp index.html pkg/ cp main.js pkg/@@ -5,8 +5,7 @@ wasm-pack build \ --debug \ --target web \ --out-dir pkg \- --out-name componentexample \- --no-typescript+ --out-name componentexample cp index.html pkg/ cp main.js pkg/@@ -3,8 +3,6 @@ use kaja_web::prelude::*; mod counter; mod main_component; -- #[wasm_bindgen(start)] pub fn init() { std::panic::set_hook(Box::new(console_error_panic_hook::hook));@@ -425,3 +425,29 @@ where let element = html_element.unwrap(); component_binding.render(&element); }++pub fn remove_css_class(element: &HtmlElement, css_class: &str) {+ use js_sys::Array;+ use wasm_bindgen::JsValue;++ let token = {+ let arr = Array::new();+ arr.push(&JsValue::from_str(css_class));+ arr+ };++ element.class_list().remove(&token);+}++pub fn add_css_class(element: &HtmlElement, css_class: &str) {+ use js_sys::Array;+ use wasm_bindgen::JsValue;++ let token = {+ let arr = Array::new();+ arr.push(&JsValue::from_str(css_class));+ arr+ };++ element.class_list().add(&token);+}@@ -1,8 +1,8 @@ pub use crate::{ CallbackRegistration, Component, ComponentStorage, Error, InitComponentFn, InitFn, Result,- get_callback, get_component, get_component_element, get_component_id, get_cookie_value,- get_element, get_elements, get_value, init_callbacks, inner_html, inner_text, rerender,- set_value, try_get_value, try_inner_html, try_inner_text,+ add_css_class, get_callback, get_component, get_component_element, get_component_id,+ get_cookie_value, get_element, get_elements, get_value, init_callbacks, inner_html, inner_text,+ remove_css_class, rerender, set_value, try_get_value, try_inner_html, try_inner_text, }; pub use gloo::console::error;