[yew-devel] [PATCH yew-widget-toolkit 3/7] touch: fab: rename on_click to on_activate

Dominik Csapak d.csapak at proxmox.com
Tue Jun 24 14:19:21 CEST 2025


to be consistent with buttons, etc.

Signed-off-by: Dominik Csapak <d.csapak at proxmox.com>
---
 src/touch/fab.rs      | 18 +++++++++---------
 src/touch/fab_menu.rs | 25 ++++++++++++-------------
 2 files changed, 21 insertions(+), 22 deletions(-)

diff --git a/src/touch/fab.rs b/src/touch/fab.rs
index 1cf06ec..72637c7 100644
--- a/src/touch/fab.rs
+++ b/src/touch/fab.rs
@@ -4,7 +4,7 @@ use yew::html::{IntoEventCallback, IntoPropValue};
 use yew::prelude::*;
 use yew::virtual_dom::{Key, VComp, VNode};
 
-use crate::props::{AsClassesMut, EventSubscriber, WidgetBuilder};
+use crate::props::{AsClassesMut, WidgetBuilder};
 use crate::widget::Button;
 
 /// Favorite action button.
@@ -31,7 +31,7 @@ pub struct Fab {
 
     /// Click callback
     #[prop_or_default]
-    pub on_click: Option<Callback<MouseEvent>>,
+    pub on_activate: Option<Callback<MouseEvent>>,
 }
 
 impl AsClassesMut for Fab {
@@ -104,9 +104,9 @@ impl Fab {
         self.text = text.into_prop_value();
     }
 
-    /// Builder style method to set the on_click callback.
-    pub fn on_click(mut self, cb: impl IntoEventCallback<MouseEvent>) -> Self {
-        self.on_click = cb.into_event_callback();
+    /// Builder style method to set the on_activate callback.
+    pub fn on_activate(mut self, cb: impl IntoEventCallback<MouseEvent>) -> Self {
+        self.on_activate = cb.into_event_callback();
         self
     }
 }
@@ -141,11 +141,11 @@ impl Component for PwtFab {
         button
             .class(class)
             .attribute("style", props.style.clone())
-            .onclick(Callback::from({
-                let on_click = props.on_click.clone();
+            .on_activate(Callback::from({
+                let on_activate = props.on_activate.clone();
                 move |event: MouseEvent| {
-                    if let Some(on_click) = &on_click {
-                        on_click.emit(event);
+                    if let Some(on_activate) = &on_activate {
+                        on_activate.emit(event);
                     }
                 }
             }))
diff --git a/src/touch/fab_menu.rs b/src/touch/fab_menu.rs
index afa48bb..4ad1234 100644
--- a/src/touch/fab_menu.rs
+++ b/src/touch/fab_menu.rs
@@ -204,7 +204,7 @@ impl Component for PwtFabMenu {
 
         let main_button = Fab::new(main_icon_class)
             .class(props.main_button_class.clone())
-            .on_click(ctx.link().callback(|_| Msg::Toggle));
+            .on_activate(ctx.link().callback(|_| Msg::Toggle));
 
         container.add_child(main_button);
 
@@ -213,20 +213,19 @@ impl Component for PwtFabMenu {
                 log::error!("FabMenu only supports 5 child buttons.");
                 break;
             }
-            let orig_on_click = child.on_click.clone();
+            let orig_on_activate = child.on_activate.clone();
             let link = ctx.link().clone();
 
-            let child_button =
-                child
-                    .clone()
-                    .small()
-                    .class("pwt-fab-menu-item")
-                    .on_click(move |event| {
-                        link.send_message(Msg::Toggle);
-                        if let Some(on_click) = &orig_on_click {
-                            on_click.emit(event);
-                        }
-                    });
+            let child_button = child
+                .clone()
+                .small()
+                .class("pwt-fab-menu-item")
+                .on_activate(move |event| {
+                    link.send_message(Msg::Toggle);
+                    if let Some(on_activate) = &orig_on_activate {
+                        on_activate.emit(event);
+                    }
+                });
             container.add_child(child_button);
         }
 
-- 
2.39.5





More information about the yew-devel mailing list