From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: <yew-devel-bounces@lists.proxmox.com> Received: from firstgate.proxmox.com (firstgate.proxmox.com [212.224.123.68]) by lore.proxmox.com (Postfix) with ESMTPS id 63E721FF173 for <inbox@lore.proxmox.com>; Mon, 13 Jan 2025 14:30:08 +0100 (CET) Received: from firstgate.proxmox.com (localhost [127.0.0.1]) by firstgate.proxmox.com (Proxmox) with ESMTP id 4938A2F67E; Mon, 13 Jan 2025 14:29:52 +0100 (CET) From: Shannon Sterz <s.sterz@proxmox.com> To: yew-devel@lists.proxmox.com Date: Mon, 13 Jan 2025 14:29:35 +0100 Message-Id: <20250113132936.258190-2-s.sterz@proxmox.com> X-Mailer: git-send-email 2.39.5 In-Reply-To: <20250113132936.258190-1-s.sterz@proxmox.com> References: <20250113132936.258190-1-s.sterz@proxmox.com> MIME-Version: 1.0 X-SPAM-LEVEL: Spam detection results: 0 AWL -0.032 Adjusted score from AWL reputation of From: address BAYES_00 -1.9 Bayes spam probability is 0 to 1% DMARC_MISSING 0.1 Missing DMARC policy KAM_DMARC_STATUS 0.01 Test Rule for DKIM or SPF Failure with Strict Alignment SPF_HELO_NONE 0.001 SPF: HELO does not publish an SPF Record SPF_PASS -0.001 SPF: sender matches SPF record Subject: [yew-devel] [PATCH yew-widget-toolkit-examples 2/3] demo: apply auto-appliable clippy fixes X-BeenThere: yew-devel@lists.proxmox.com X-Mailman-Version: 2.1.29 Precedence: list List-Id: Yew framework devel list at Proxmox <yew-devel.lists.proxmox.com> List-Unsubscribe: <https://lists.proxmox.com/cgi-bin/mailman/options/yew-devel>, <mailto:yew-devel-request@lists.proxmox.com?subject=unsubscribe> List-Archive: <http://lists.proxmox.com/pipermail/yew-devel/> List-Post: <mailto:yew-devel@lists.proxmox.com> List-Help: <mailto:yew-devel-request@lists.proxmox.com?subject=help> List-Subscribe: <https://lists.proxmox.com/cgi-bin/mailman/listinfo/yew-devel>, <mailto:yew-devel-request@lists.proxmox.com?subject=subscribe> Reply-To: Yew framework devel list at Proxmox <yew-devel@lists.proxmox.com> Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit Errors-To: yew-devel-bounces@lists.proxmox.com Sender: "yew-devel" <yew-devel-bounces@lists.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