From: Shannon Sterz <s.sterz@proxmox.com>
To: yew-devel@lists.proxmox.com
Subject: [yew-devel] [PATCH yew-widget-toolkit-examples 2/3] demo: apply auto-appliable clippy fixes
Date: Mon, 13 Jan 2025 14:29:35 +0100 [thread overview]
Message-ID: <20250113132936.258190-2-s.sterz@proxmox.com> (raw)
In-Reply-To: <20250113132936.258190-1-s.sterz@proxmox.com>
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
next prev parent reply other threads:[~2025-01-13 13:30 UTC|newest]
Thread overview: 4+ messages / expand[flat|nested] mbox.gz Atom feed top
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 [this message]
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
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20250113132936.258190-2-s.sterz@proxmox.com \
--to=s.sterz@proxmox.com \
--cc=yew-devel@lists.proxmox.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
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.