web_tools/optimistic/
html_element.rs1use web_sys::wasm_bindgen::JsCast;
2
3pub trait OptimisticHtmlElement {
5 fn focus(&self);
7}
8
9#[cfg(feature = "yew")]
10impl OptimisticHtmlElement for yew::prelude::NodeRef {
11 fn focus(&self) {
12 if let Some(element) = self.cast::<web_sys::HtmlElement>() {
13 let _ = element.focus();
14 }
15 }
16}
17
18impl OptimisticHtmlElement for web_sys::Node {
19 fn focus(&self) {
20 if let Some(element) = self.dyn_ref::<web_sys::HtmlElement>() {
21 let _ = element.focus();
22 }
23 }
24}