all lists on 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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.
Service provided by Proxmox Server Solutions GmbH | Privacy | Legal