public inbox for yew-devel@lists.proxmox.com
 help / color / mirror / Atom feed
* [yew-devel] [PATCH yew-widget-toolkit-examples 1/3] demo: run rustfmt
@ 2025-01-13 13:29 Shannon Sterz
  2025-01-13 13:29 ` [yew-devel] [PATCH yew-widget-toolkit-examples 2/3] demo: apply auto-appliable clippy fixes Shannon Sterz
                   ` (2 more replies)
  0 siblings, 3 replies; 4+ messages in thread
From: Shannon Sterz @ 2025-01-13 13:29 UTC (permalink / raw)
  To: yew-devel

Signed-off-by: Shannon Sterz <s.sterz@proxmox.com>
---
 demo/src/datatable.rs | 11 +++++++----
 demo/src/i18n.rs      | 10 +++++-----
 2 files changed, 12 insertions(+), 9 deletions(-)

diff --git a/demo/src/datatable.rs b/demo/src/datatable.rs
index f009124..ce6b882 100644
--- a/demo/src/datatable.rs
+++ b/demo/src/datatable.rs
@@ -130,10 +130,13 @@ pub fn DataTableDemo() -> Html {
                         )
                         .with_right_field(
                             "Striped",
-                            Checkbox::new().name("striped").checked(*striped).on_change({
-                                let striped = striped.clone();
-                                move |v| striped.set(v)
-                            }),
+                            Checkbox::new()
+                                .name("striped")
+                                .checked(*striped)
+                                .on_change({
+                                    let striped = striped.clone();
+                                    move |v| striped.set(v)
+                                }),
                         )
                         .with_right_field(
                             "Hover",
diff --git a/demo/src/i18n.rs b/demo/src/i18n.rs
index 796c8fe..058c1f3 100644
--- a/demo/src/i18n.rs
+++ b/demo/src/i18n.rs
@@ -17,15 +17,15 @@ pub fn I18NDemo() -> Html {
     Panel::new()
         .class("pwt-flex-fit")
         .border(false)
-        .title(pgettext!("This is a panel title", "Internationalization with gettext"))
+        .title(pgettext!(
+            "This is a panel title",
+            "Internationalization with gettext"
+        ))
         .with_tool(LanguageSelector::new())
         .with_child(
             Container::new()
                 .margin(2)
-                .with_child(
-                    Button::new(tr!("Add Message"))
-                        .onclick(button_callback),
-                ),
+                .with_child(Button::new(tr!("Add Message")).onclick(button_callback)),
         )
         .with_child(Container::new().margin(2).with_child(ngettext!(
             "You have one new message",
-- 
2.39.5



_______________________________________________
yew-devel mailing list
yew-devel@lists.proxmox.com
https://lists.proxmox.com/cgi-bin/mailman/listinfo/yew-devel


^ permalink raw reply	[flat|nested] 4+ messages in thread

* [yew-devel] [PATCH yew-widget-toolkit-examples 2/3] demo: apply auto-appliable clippy fixes
  2025-01-13 13:29 [yew-devel] [PATCH yew-widget-toolkit-examples 1/3] demo: run rustfmt Shannon Sterz
@ 2025-01-13 13:29 ` Shannon Sterz
  2025-01-13 13:29 ` [yew-devel] [PATCH yew-widget-toolkit-examples 3/3] mobile2: remove needless borrows Shannon Sterz
  2025-01-14 10:19 ` [yew-devel] applied: [PATCH yew-widget-toolkit-examples 1/3] demo: run rustfmt Dietmar Maurer
  2 siblings, 0 replies; 4+ messages in thread
From: Shannon Sterz @ 2025-01-13 13:29 UTC (permalink / raw)
  To: yew-devel

this makes the code more idiomatic and concise.

Signed-off-by: Shannon Sterz <s.sterz@proxmox.com>
---
 demo/src/examples/drag_drop.rs               | 13 +++++--------
 demo/src/examples/widgetcolumn_grid.rs       |  7 +++----
 demo/src/examples/wizard.rs                  | 12 +++++++++---
 demo/src/fields.rs                           |  6 +++---
 demo/src/gestures.rs                         |  4 ++--
 demo/src/list/mod.rs                         | 12 +++++++-----
 demo/src/main.rs                             |  4 ++--
 demo/src/movie.rs                            |  5 +----
 demo/src/navigation_drawer.rs                |  4 ++--
 demo/src/seven_guis/circle_drawer.rs         |  2 +-
 demo/src/seven_guis/flight_booker.rs         | 20 ++++++++------------
 demo/src/seven_guis/temperature_converter.rs |  7 ++-----
 demo/src/tree.rs                             |  2 +-
 13 files changed, 46 insertions(+), 52 deletions(-)

diff --git a/demo/src/examples/drag_drop.rs b/demo/src/examples/drag_drop.rs
index f0a55a2..7577992 100644
--- a/demo/src/examples/drag_drop.rs
+++ b/demo/src/examples/drag_drop.rs
@@ -40,15 +40,12 @@ impl Component for DragDropList {
     fn update(&mut self, _ctx: &yew::Context<Self>, msg: Self::Message) -> bool {
         match msg {
             Msg::Drop => {
-                match (self.hover_index, self.index_dragged) {
-                    (Some(mut target), Some(source)) => {
-                        let item = self.items.remove(source);
-                        if source < target {
-                            target -= 1;
-                        }
-                        self.items.insert(target, item);
+                if let (Some(mut target), Some(source)) = (self.hover_index, self.index_dragged) {
+                    let item = self.items.remove(source);
+                    if source < target {
+                        target -= 1;
                     }
-                    _ => {}
+                    self.items.insert(target, item);
                 }
                 self.hover_index = None;
                 self.index_dragged = None;
diff --git a/demo/src/examples/widgetcolumn_grid.rs b/demo/src/examples/widgetcolumn_grid.rs
index 2d633b6..749fe89 100644
--- a/demo/src/examples/widgetcolumn_grid.rs
+++ b/demo/src/examples/widgetcolumn_grid.rs
@@ -55,13 +55,12 @@ impl Component for WidgetColumnGrid {
                         let mut list: Vec<AttrValue> =
                             vec!["Foo".into(), "Bar".into(), "Baz".into()];
                         list.retain(|entry| {
-                            store
+                            !store
                                 .read()
                                 .iter()
-                                .find(|el| &el.selection == entry.as_str())
-                                .is_none()
+                                .any(|el| &el.selection == entry.as_str())
                         });
-                        if rec.selection != "" {
+                        if !rec.selection.is_empty() {
                             list.push(rec.selection.clone().into());
                         }
 
diff --git a/demo/src/examples/wizard.rs b/demo/src/examples/wizard.rs
index 09a4ac5..a6d3348 100644
--- a/demo/src/examples/wizard.rs
+++ b/demo/src/examples/wizard.rs
@@ -37,6 +37,12 @@ pub struct Wizard {
     on_close: Option<Callback<()>>,
 }
 
+impl Default for Wizard {
+    fn default() -> Self {
+        Self::new()
+    }
+}
+
 impl Wizard {
     pub fn new() -> Self {
         yew::props!(Wizard {})
@@ -307,9 +313,9 @@ impl Component for PwtWizard {
     }
 }
 
-impl Into<VNode> for Wizard {
-    fn into(self) -> VNode {
-        let comp = VComp::new::<PwtWizard>(Rc::new(self), None);
+impl From<Wizard> for VNode {
+    fn from(val: Wizard) -> Self {
+        let comp = VComp::new::<PwtWizard>(Rc::new(val), None);
         VNode::from(comp)
     }
 }
diff --git a/demo/src/fields.rs b/demo/src/fields.rs
index d466afe..432c176 100644
--- a/demo/src/fields.rs
+++ b/demo/src/fields.rs
@@ -157,7 +157,7 @@ fn user_search_columns() -> Rc<Vec<DataTableHeader<UserEntry>>> {
             .show_menu(false)
             .justify("flex-start")
             .render(|item: &UserEntry| html!(item.first_name))
-            .sorter(|a: &UserEntry, b: &UserEntry| a.first_name.cmp(&b.first_name))
+            .sorter(|a: &UserEntry, b: &UserEntry| a.first_name.cmp(b.first_name))
             .sort_order(true)
             .into(),
         DataTableColumn::new(tr!("Last Name"))
@@ -165,7 +165,7 @@ fn user_search_columns() -> Rc<Vec<DataTableHeader<UserEntry>>> {
             .show_menu(false)
             .justify("flex-start")
             .render(|item: &UserEntry| html!(item.last_name))
-            .sorter(|a: &UserEntry, b: &UserEntry| a.last_name.cmp(&b.last_name))
+            .sorter(|a: &UserEntry, b: &UserEntry| a.last_name.cmp(b.last_name))
             .sort_order(true)
             .into(),
         DataTableColumn::new(tr!("Country"))
@@ -173,7 +173,7 @@ fn user_search_columns() -> Rc<Vec<DataTableHeader<UserEntry>>> {
             .show_menu(false)
             .justify("flex-start")
             .render(|item: &UserEntry| html!(item.country))
-            .sorter(|a: &UserEntry, b: &UserEntry| a.country.cmp(&b.country))
+            .sorter(|a: &UserEntry, b: &UserEntry| a.country.cmp(b.country))
             .sort_order(true)
             .into(),
     ])
diff --git a/demo/src/gestures.rs b/demo/src/gestures.rs
index 5f10c5f..eb2c8bc 100644
--- a/demo/src/gestures.rs
+++ b/demo/src/gestures.rs
@@ -62,8 +62,8 @@ impl Component for GestureDetectorDemo {
             );
 
         let detector = GestureDetector::new(content)
-            .on_drag_start(ctx.link().callback(|_| Msg::Log(format!("DRAG START"))))
-            .on_drag_end(ctx.link().callback(|_| Msg::Log(format!("DRAG END"))))
+            .on_drag_start(ctx.link().callback(|_| Msg::Log("DRAG START".to_string())))
+            .on_drag_end(ctx.link().callback(|_| Msg::Log("DRAG END".to_string())))
             .on_drag_update(ctx.link().callback(|event: GestureDragEvent| {
                 Msg::Log(format!("DRAG UPDATE {} {}", event.x(), event.y(),))
             }))
diff --git a/demo/src/list/mod.rs b/demo/src/list/mod.rs
index afa008d..2a75f1f 100644
--- a/demo/src/list/mod.rs
+++ b/demo/src/list/mod.rs
@@ -95,25 +95,27 @@ pub fn ListDemo() -> Html {
         .router(true)
         .tab_bar_style(TabBarStyle::MaterialPrimary)
         .with_item_builder(
-            TabBarItem::new().key(format!("simple")).label("Simple"),
+            TabBarItem::new().key("simple".to_string()).label("Simple"),
             |_| list_simple(),
         )
         .with_item_builder(
             TabBarItem::new()
-                .key(format!("variable"))
+                .key("variable".to_string())
                 .label("Variable Size"),
             |_| html! {<VariableListDemo/>},
         )
         .with_item_builder(
-            TabBarItem::new().key(format!("column")).label("Columns"),
+            TabBarItem::new().key("column".to_string()).label("Columns"),
             |_| list_columns(),
         )
         .with_item_builder(
-            TabBarItem::new().key(format!("cards")).label("Cards"),
+            TabBarItem::new().key("cards".to_string()).label("Cards"),
             |_| list_cards(),
         )
         .with_item_builder(
-            TabBarItem::new().key(format!("dynamic")).label("Dynamic"),
+            TabBarItem::new()
+                .key("dynamic".to_string())
+                .label("Dynamic"),
             |_| html! {<DynamicListDemo/>},
         );
 
diff --git a/demo/src/main.rs b/demo/src/main.rs
index 40f57f2..b7091d3 100644
--- a/demo/src/main.rs
+++ b/demo/src/main.rs
@@ -114,7 +114,7 @@ fn register_submenu(
 
 #[function_component]
 fn MainMenu() -> Html {
-    let selection = use_selection(|| Selection::new());
+    let selection = use_selection(Selection::new);
 
     let mut content = SelectionView::new()
         .selection(selection.clone())
@@ -419,7 +419,7 @@ fn RoutedApp() -> Html {
 fn main() {
     wasm_logger::init(wasm_logger::Config::default());
 
-    static THEMES: &'static [&'static str] = &["Crisp", "Desktop", "Material"];
+    static THEMES: &[&str] = &["Crisp", "Desktop", "Material"];
     pwt::state::set_available_themes(THEMES);
 
     pwt::state::set_available_languages(vec![
diff --git a/demo/src/movie.rs b/demo/src/movie.rs
index a640eca..628210a 100644
--- a/demo/src/movie.rs
+++ b/demo/src/movie.rs
@@ -123,10 +123,7 @@ pub fn MovieDemo() -> Html {
         store
     });
 
-    let selection = use_selection(|| {
-        let selection = Selection::new().multiselect(true);
-        selection
-    });
+    let selection = use_selection(|| Selection::new().multiselect(true));
 
     Mask::new(
         DataTable::new(columns, (*store).clone())
diff --git a/demo/src/navigation_drawer.rs b/demo/src/navigation_drawer.rs
index fc8f203..e4cff66 100644
--- a/demo/src/navigation_drawer.rs
+++ b/demo/src/navigation_drawer.rs
@@ -66,7 +66,7 @@ pub fn NavigationDrawerDemo() -> Html {
         )
         .with_item(MenuItem::new("Entry 6").key("id8"));
 
-    let selection = use_selection(|| Selection::new());
+    let selection = use_selection(Selection::new);
 
     let drawer = NavigationDrawer::new(menu)
         .class(Overflow::Auto) // allow to shrink
@@ -91,7 +91,7 @@ pub fn NavigationDrawerDemo() -> Html {
         .gap(4)
         .with_child(html! {
         <p>{"This view is generated by using the NavigationDrawer on_select() callback."}</p>})
-        .with_child((&*content).clone());
+        .with_child((*content).clone());
 
     let content2 = Container::new()
         .padding(2)
diff --git a/demo/src/seven_guis/circle_drawer.rs b/demo/src/seven_guis/circle_drawer.rs
index dbb99e2..26196fd 100644
--- a/demo/src/seven_guis/circle_drawer.rs
+++ b/demo/src/seven_guis/circle_drawer.rs
@@ -215,7 +215,7 @@ fn random_radius() -> usize {
     use std::cell::RefCell;
 
     thread_local! {
-        static SEED: RefCell<usize> = RefCell::new(13456374);
+        static SEED: RefCell<usize> = const { RefCell::new(13456374) };
     }
 
     let rand = SEED.with(|cell| {
diff --git a/demo/src/seven_guis/flight_booker.rs b/demo/src/seven_guis/flight_booker.rs
index 9ab3767..834edbc 100644
--- a/demo/src/seven_guis/flight_booker.rs
+++ b/demo/src/seven_guis/flight_booker.rs
@@ -123,20 +123,16 @@ impl Component for FlightBooker {
             let start_date = js_sys::Date::parse(date_str);
             if start_date.is_nan() {
                 enable_book = false;
-            } else {
-                if self.with_return_flight {
-                    if let Some(date_str) = &self.return_date {
-                        let return_date = js_sys::Date::parse(date_str);
-                        if return_date.is_nan() {
-                            enable_book = false;
-                        } else {
-                            if return_date < start_date {
-                                enable_book = false;
-                            }
-                        }
-                    } else {
+            } else if self.with_return_flight {
+                if let Some(date_str) = &self.return_date {
+                    let return_date = js_sys::Date::parse(date_str);
+                    if return_date.is_nan() {
+                        enable_book = false;
+                    } else if return_date < start_date {
                         enable_book = false;
                     }
+                } else {
+                    enable_book = false;
                 }
             }
         } else {
diff --git a/demo/src/seven_guis/temperature_converter.rs b/demo/src/seven_guis/temperature_converter.rs
index 2982e1f..dd5ae71 100644
--- a/demo/src/seven_guis/temperature_converter.rs
+++ b/demo/src/seven_guis/temperature_converter.rs
@@ -38,11 +38,8 @@ impl Component for TemperatureConverter {
     }
 
     fn view(&self, ctx: &Context<Self>) -> Html {
-        let celsius = self.celsius.map(|c| c.to_string()).unwrap_or(String::new());
-        let fahrenheit = self
-            .fahrenheit
-            .map(|f| f.to_string())
-            .unwrap_or(String::new());
+        let celsius = self.celsius.map(|c| c.to_string()).unwrap_or_default();
+        let fahrenheit = self.fahrenheit.map(|f| f.to_string()).unwrap_or_default();
 
         let body = InputPanel::new()
             .padding(2)
diff --git a/demo/src/tree.rs b/demo/src/tree.rs
index 61423fd..628ae3a 100644
--- a/demo/src/tree.rs
+++ b/demo/src/tree.rs
@@ -233,7 +233,7 @@ pub fn TreeDemo() -> Html {
         test1();
     }
 
-    let store = use_tree_store(|| create_tree_store());
+    let store = use_tree_store(create_tree_store);
 
     let header0 = DataTableColumn::row_number();
 
-- 
2.39.5



_______________________________________________
yew-devel mailing list
yew-devel@lists.proxmox.com
https://lists.proxmox.com/cgi-bin/mailman/listinfo/yew-devel


^ permalink raw reply	[flat|nested] 4+ messages in thread

* [yew-devel] [PATCH yew-widget-toolkit-examples 3/3] mobile2: remove needless borrows
  2025-01-13 13:29 [yew-devel] [PATCH yew-widget-toolkit-examples 1/3] demo: run rustfmt Shannon Sterz
  2025-01-13 13:29 ` [yew-devel] [PATCH yew-widget-toolkit-examples 2/3] demo: apply auto-appliable clippy fixes Shannon Sterz
@ 2025-01-13 13:29 ` Shannon Sterz
  2025-01-14 10:19 ` [yew-devel] applied: [PATCH yew-widget-toolkit-examples 1/3] demo: run rustfmt Dietmar Maurer
  2 siblings, 0 replies; 4+ messages in thread
From: Shannon Sterz @ 2025-01-13 13:29 UTC (permalink / raw)
  To: yew-devel

this fixes the clippy lint `needless_borrow` [1].

[1]:
https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrow

Signed-off-by: Shannon Sterz <s.sterz@proxmox.com>
---
 mobile2/src/main.rs | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/mobile2/src/main.rs b/mobile2/src/main.rs
index cf44a2b..5abff6c 100644
--- a/mobile2/src/main.rs
+++ b/mobile2/src/main.rs
@@ -43,7 +43,7 @@ enum Route {
 }
 
 fn switch(path: &str) -> Vec<Html> {
-    let route = Route::recognize(&path).unwrap_or_default();
+    let route = Route::recognize(path).unwrap_or_default();
     match route {
         Route::Home | Route::HomeAlias => vec![html! {<Home/>}],
         Route::Settings => vec![html! {<Settings/>}],
@@ -51,7 +51,7 @@ fn switch(path: &str) -> Vec<Html> {
             html! {<Settings/>},
             // fixme: we cannot use Switch here, because that render NotFound during page stack transitions
             // html! { <Switch<SubSettings> render={switch_subsettings} />},
-            SubSettings::switch(SubSettings::recognize(&path).unwrap_or_default()),
+            SubSettings::switch(SubSettings::recognize(path).unwrap_or_default()),
         ],
         Route::Favorite => vec![html! {<Favorite/>}],
         Route::Profile => vec![html! {<Profile/>}],
-- 
2.39.5



_______________________________________________
yew-devel mailing list
yew-devel@lists.proxmox.com
https://lists.proxmox.com/cgi-bin/mailman/listinfo/yew-devel


^ permalink raw reply	[flat|nested] 4+ messages in thread

* [yew-devel] applied: [PATCH yew-widget-toolkit-examples 1/3] demo: run rustfmt
  2025-01-13 13:29 [yew-devel] [PATCH yew-widget-toolkit-examples 1/3] demo: run rustfmt Shannon Sterz
  2025-01-13 13:29 ` [yew-devel] [PATCH yew-widget-toolkit-examples 2/3] demo: apply auto-appliable clippy fixes Shannon Sterz
  2025-01-13 13:29 ` [yew-devel] [PATCH yew-widget-toolkit-examples 3/3] mobile2: remove needless borrows Shannon Sterz
@ 2025-01-14 10:19 ` Dietmar Maurer
  2 siblings, 0 replies; 4+ messages in thread
From: Dietmar Maurer @ 2025-01-14 10:19 UTC (permalink / raw)
  To: Yew framework devel list at Proxmox, Shannon Sterz

applied all 3 patches


_______________________________________________
yew-devel mailing list
yew-devel@lists.proxmox.com
https://lists.proxmox.com/cgi-bin/mailman/listinfo/yew-devel


^ permalink raw reply	[flat|nested] 4+ messages in thread

end of thread, other threads:[~2025-01-14 10:20 UTC | newest]

Thread overview: 4+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2025-01-13 13:29 [yew-devel] [PATCH yew-widget-toolkit-examples 1/3] demo: run rustfmt Shannon Sterz
2025-01-13 13:29 ` [yew-devel] [PATCH yew-widget-toolkit-examples 2/3] demo: apply auto-appliable clippy fixes Shannon Sterz
2025-01-13 13:29 ` [yew-devel] [PATCH yew-widget-toolkit-examples 3/3] mobile2: remove needless borrows Shannon Sterz
2025-01-14 10:19 ` [yew-devel] applied: [PATCH yew-widget-toolkit-examples 1/3] demo: run rustfmt Dietmar Maurer

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox
Service provided by Proxmox Server Solutions GmbH | Privacy | Legal