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
use crate::browser::util::document;
use web_sys::{Element, HtmlElement};
pub trait GetElement {
fn get_element(self) -> Result<Element, String>;
}
impl GetElement for &str {
fn get_element(self) -> Result<Element, String> {
document()
.get_element_by_id(self)
.ok_or_else(|| format!("cannot find element with given id: {}", self))
}
}
impl GetElement for Element {
fn get_element(self) -> Result<Element, String> {
Ok(self)
}
}
impl GetElement for HtmlElement {
fn get_element(self) -> Result<Element, String> {
Ok(self.into())
}
}