update
This commit is contained in:
parent
f7668c5c54
commit
b0c6daf56e
1 changed files with 7 additions and 6 deletions
|
@ -10,14 +10,13 @@ pub fn Hover<T: UIWidget + 'static, I: UIWidget + 'static>(inherit: I, inner: T)
|
||||||
pub struct HoverWrapper(Box<dyn UIWidget>, Box<dyn UIWidget>);
|
pub struct HoverWrapper(Box<dyn UIWidget>, Box<dyn UIWidget>);
|
||||||
|
|
||||||
impl HoverWrapper {
|
impl HoverWrapper {
|
||||||
fn hovered_class(&self) -> String {
|
fn hovered_class(&self) -> Vec<String> {
|
||||||
self.1
|
self.1
|
||||||
.extended_class()
|
.extended_class()
|
||||||
.into_iter()
|
.into_iter()
|
||||||
.filter(|x| !x.is_empty())
|
.filter(|x| !x.is_empty())
|
||||||
.map(|x| format!("hover:{x}"))
|
.map(|x| format!("hover:{x}"))
|
||||||
.collect::<Vec<_>>()
|
.collect::<Vec<_>>()
|
||||||
.join(" ")
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -33,21 +32,23 @@ impl UIWidget for HoverWrapper {
|
||||||
}
|
}
|
||||||
|
|
||||||
fn base_class(&self) -> Vec<String> {
|
fn base_class(&self) -> Vec<String> {
|
||||||
vec![]
|
self.hovered_class()
|
||||||
}
|
}
|
||||||
|
|
||||||
fn extended_class(&self) -> Vec<String> {
|
fn extended_class(&self) -> Vec<String> {
|
||||||
self.base_class()
|
let mut ret = self.base_class();
|
||||||
|
ret.extend_from_slice(&self.0.extended_class());
|
||||||
|
ret
|
||||||
}
|
}
|
||||||
|
|
||||||
fn render_with_class(&self, class: &str) -> Markup {
|
fn render_with_class(&self, class: &str) -> Markup {
|
||||||
if self.0.as_ref().can_inherit() {
|
if self.0.as_ref().can_inherit() {
|
||||||
self.0
|
self.0
|
||||||
.as_ref()
|
.as_ref()
|
||||||
.render_with_class(&format!("{} {class}", self.hovered_class()))
|
.render_with_class(&format!("{} {class}", self.hovered_class().join(" ")))
|
||||||
} else {
|
} else {
|
||||||
html! {
|
html! {
|
||||||
div class=(format!("{} {class}", self.hovered_class())) {
|
div class=(format!("{} {class}", self.hovered_class().join(" "))) {
|
||||||
(self.0.as_ref())
|
(self.0.as_ref())
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
Loading…
Add table
Reference in a new issue