[yew-devel] [PATCH yew-comp 11/20] rrd: simplify toggle Msg
Dominik Csapak
d.csapak at proxmox.com
Fri May 30 14:21:53 CEST 2025
by just accepting an idx instead of doing both series separately.
This also prepares that part of the code for more than 2 series.
While at it, fix the typo (Toogle -> Toggle).
Signed-off-by: Dominik Csapak <d.csapak at proxmox.com>
---
src/rrd/graph.rs | 29 ++++++++++++++---------------
1 file changed, 14 insertions(+), 15 deletions(-)
diff --git a/src/rrd/graph.rs b/src/rrd/graph.rs
index 7f02274..e011c21 100644
--- a/src/rrd/graph.rs
+++ b/src/rrd/graph.rs
@@ -125,8 +125,7 @@ pub enum Msg {
PointerEnter,
PointerLeave,
ClearViewRange,
- ToogleSerie0,
- ToogleSerie1,
+ ToggleSeries(u32), // index
}
pub struct PwtRRDGraph {
@@ -719,17 +718,17 @@ impl Component for PwtRRDGraph {
}
true
}
- Msg::ToogleSerie0 => {
- self.serie0_visible = !self.serie0_visible;
- if !(self.serie0_visible || self.serie1_visible) {
- self.serie1_visible = true;
- }
- true
- }
- Msg::ToogleSerie1 => {
- self.serie1_visible = !self.serie1_visible;
- if !(self.serie0_visible || self.serie1_visible) {
- self.serie0_visible = true;
+ Msg::ToggleSeries(idx) => {
+ if idx == 0 {
+ self.serie0_visible = !self.serie0_visible;
+ if !(self.serie0_visible || self.serie1_visible) {
+ self.serie1_visible = true;
+ }
+ } else if idx == 1 {
+ self.serie1_visible = !self.serie1_visible;
+ if !(self.serie0_visible || self.serie1_visible) {
+ self.serie0_visible = true;
+ }
}
true
}
@@ -880,7 +879,7 @@ impl Component for PwtRRDGraph {
Button::new(serie0.label.clone())
.class("pwt-button-elevated")
.icon_class(icon_class0)
- .onclick(ctx.link().callback(|_| Msg::ToogleSerie0)),
+ .onclick(ctx.link().callback(|_| Msg::ToggleSeries(0))),
);
let icon_class1 = classes!(
"pwt-rrd-legend-marker1",
@@ -892,7 +891,7 @@ impl Component for PwtRRDGraph {
Button::new(serie1.label.clone())
.class("pwt-button-elevated")
.icon_class(icon_class1)
- .onclick(ctx.link().callback(|_| Msg::ToogleSerie1)),
+ .onclick(ctx.link().callback(|_| Msg::ToggleSeries(1))),
);
}
}
--
2.39.5
More information about the yew-devel
mailing list