From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: <pdm-devel-bounces@lists.proxmox.com> Received: from firstgate.proxmox.com (firstgate.proxmox.com [IPv6:2a01:7e0:0:424::9]) by lore.proxmox.com (Postfix) with ESMTPS id 9771D1FF17C for <inbox@lore.proxmox.com>; Wed, 30 Apr 2025 09:30:13 +0200 (CEST) Received: from firstgate.proxmox.com (localhost [127.0.0.1]) by firstgate.proxmox.com (Proxmox) with ESMTP id AE39E1BA1D; Wed, 30 Apr 2025 09:30:10 +0200 (CEST) From: Dominik Csapak <d.csapak@proxmox.com> To: pdm-devel@lists.proxmox.com Date: Wed, 30 Apr 2025 09:29:36 +0200 Message-Id: <20250430072936.447054-3-d.csapak@proxmox.com> X-Mailer: git-send-email 2.39.5 In-Reply-To: <20250430072936.447054-1-d.csapak@proxmox.com> References: <20250430072936.447054-1-d.csapak@proxmox.com> MIME-Version: 1.0 X-SPAM-LEVEL: Spam detection results: 0 AWL 0.022 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: [pdm-devel] [PATCH datacenter-manager 1/1] ui: adapt to deprecation of `to_fa_icon` X-BeenThere: pdm-devel@lists.proxmox.com X-Mailman-Version: 2.1.29 Precedence: list List-Id: Proxmox Datacenter Manager development discussion <pdm-devel.lists.proxmox.com> List-Unsubscribe: <https://lists.proxmox.com/cgi-bin/mailman/options/pdm-devel>, <mailto:pdm-devel-request@lists.proxmox.com?subject=unsubscribe> List-Archive: <http://lists.proxmox.com/pipermail/pdm-devel/> List-Post: <mailto:pdm-devel@lists.proxmox.com> List-Help: <mailto:pdm-devel-request@lists.proxmox.com?subject=help> List-Subscribe: <https://lists.proxmox.com/cgi-bin/mailman/listinfo/pdm-devel>, <mailto:pdm-devel-request@lists.proxmox.com?subject=subscribe> Reply-To: Proxmox Datacenter Manager development discussion <pdm-devel@lists.proxmox.com> Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit Errors-To: pdm-devel-bounces@lists.proxmox.com Sender: "pdm-devel" <pdm-devel-bounces@lists.proxmox.com> this is deprecated in proxmox-yew-comp, so use the From implementation to convert to Fa or Classes. Signed-off-by: Dominik Csapak <d.csapak@proxmox.com> --- ui/src/dashboard/guest_panel.rs | 2 +- ui/src/dashboard/mod.rs | 15 +++++++-------- ui/src/dashboard/remote_panel.rs | 6 +++--- ui/src/dashboard/subscription_info.rs | 2 +- ui/src/pve/remote.rs | 4 ++-- ui/src/pve/utils.rs | 12 +++++------- ui/src/remotes/node_url_list.rs | 4 ++-- ui/src/widget/migrate_window.rs | 6 +++--- ui/src/widget/pve_node_selector.rs | 4 ++-- ui/src/widget/resource_tree.rs | 13 ++++--------- 10 files changed, 30 insertions(+), 38 deletions(-) diff --git a/ui/src/dashboard/guest_panel.rs b/ui/src/dashboard/guest_panel.rs index d885056..8d130c3 100644 --- a/ui/src/dashboard/guest_panel.rs +++ b/ui/src/dashboard/guest_panel.rs @@ -63,7 +63,7 @@ fn columns(guest_type: GuestType) -> Rc<Vec<DataTableHeader<StatusRow>>> { .width("3em") .render(move |item: &StatusRow| { match item { - StatusRow::State(state, _) => state.to_fa_icon(), + StatusRow::State(state, _) => (*state).into(), StatusRow::All(_) => match guest_type { GuestType::Qemu => Fa::new("desktop"), GuestType::Lxc => Fa::new("cubes"), diff --git a/ui/src/dashboard/mod.rs b/ui/src/dashboard/mod.rs index 7b7ec81..23ff6b7 100644 --- a/ui/src/dashboard/mod.rs +++ b/ui/src/dashboard/mod.rs @@ -81,26 +81,25 @@ impl PdmDashboard { } fn create_node_panel(&self, icon: &str, title: String, status: &NodeStatusCount) -> Panel { - let (status_icon, text) = match status { + let (status_icon, text): (Fa, String) = match status { NodeStatusCount { online, offline, .. } if *offline > 0 => ( - Status::Error.to_fa_icon(), + Status::Error.into(), tr!("{0} of {1} nodes are offline", offline, online), ), NodeStatusCount { unknown, .. } if *unknown > 0 => ( - Status::Warning.to_fa_icon(), + Status::Warning.into(), tr!("{0} nodes have an unknown status", unknown), ), // FIXME, get more detailed status about the failed remotes (name, type, error)? NodeStatusCount { online, .. } if self.status.failed_remotes > 0 => ( - Status::Unknown.to_fa_icon(), + Status::Unknown.into(), tr!("{0} of an unknown number of nodes online", online), ), - NodeStatusCount { online, .. } => ( - Status::Success.to_fa_icon(), - tr!("{0} nodes online", online), - ), + NodeStatusCount { online, .. } => { + (Status::Success.into(), tr!("{0} nodes online", online)) + } }; Panel::new() .flex(1.0) diff --git a/ui/src/dashboard/remote_panel.rs b/ui/src/dashboard/remote_panel.rs index 2c1dd75..7471fb6 100644 --- a/ui/src/dashboard/remote_panel.rs +++ b/ui/src/dashboard/remote_panel.rs @@ -60,17 +60,17 @@ impl Component for PdmRemotePanel { let (remote_icon, remote_text, failure) = match (status.failed_remotes, status.remotes) { (0, 0) => ( - Status::Warning.to_fa_icon(), + Fa::from(Status::Warning), tr!("No remotes configured."), false, ), (0, _) => ( - Status::Success.to_fa_icon(), + Fa::from(Status::Success), tr!("Could reach all remotes."), false, ), (failed, _) => ( - Status::Error.to_fa_icon(), + Fa::from(Status::Error), tr!("{0} remotes failed to reach.", failed), true, ), diff --git a/ui/src/dashboard/subscription_info.rs b/ui/src/dashboard/subscription_info.rs index 7fb26d4..9677c15 100644 --- a/ui/src/dashboard/subscription_info.rs +++ b/ui/src/dashboard/subscription_info.rs @@ -88,7 +88,7 @@ a list of available options. ", .class(AlignItems::Center) .class(FlexFit) .padding(4) - .with_child(status.to_fa_icon().large_4x().padding(4)) + .with_child(Fa::from(status).large_4x().padding(4)) .with_child( Column::new() .class(FlexFit) diff --git a/ui/src/pve/remote.rs b/ui/src/pve/remote.rs index aafed5d..e9e3a84 100644 --- a/ui/src/pve/remote.rs +++ b/ui/src/pve/remote.rs @@ -174,9 +174,9 @@ impl yew::Component for RemotePanelComp { .with_child(make_row( tr!("Subscription Status"), if status.level.is_empty() { - Status::Error.to_fa_icon() + Status::Error.into() } else { - Status::Success.to_fa_icon() + Status::Success.into() }, status.level.to_string(), None, diff --git a/ui/src/pve/utils.rs b/ui/src/pve/utils.rs index bb02f56..d0c8ccc 100644 --- a/ui/src/pve/utils.rs +++ b/ui/src/pve/utils.rs @@ -46,8 +46,7 @@ fn render_guest_status_icon(base: &str, status: &str, template: bool) -> Contain let (status, extra_class) = match (status, template) { ("running", false) => ( Some( - GuestState::Running - .to_fa_icon() + Fa::from(GuestState::Running) .fixed_width() .class("status-icon"), ), @@ -56,15 +55,14 @@ fn render_guest_status_icon(base: &str, status: &str, template: bool) -> Contain ("stopped", false) => (None, Some(Opacity::Quarter)), ("paused", false) => ( Some( - GuestState::Paused - .to_fa_icon() + Fa::from(GuestState::Paused) .fixed_width() .class("status-icon"), ), None, ), (_, true) => (Some(Fa::new(base).fixed_width().class("status-icon")), None), - _ => (Some(GuestState::Unknown.to_fa_icon()), None), + _ => (Some(GuestState::Unknown.into()), None), }; Container::new() .class("pve-guest-icon") @@ -86,7 +84,7 @@ pub fn render_node_status_icon(node: &PveNodeResource) -> Container { Container::new() .class("pdm-type-icon") .with_child(Fa::new("building").fixed_width()) - .with_child(extra.to_fa_icon().fixed_width().class("status-icon")) + .with_child(Fa::from(extra).fixed_width().class("status-icon")) } /// Renders the status icon for a PveStorage @@ -98,7 +96,7 @@ pub fn render_storage_status_icon(node: &PveStorageResource) -> Container { Container::new() .class("pdm-type-icon") .with_child(Fa::new("database").fixed_width()) - .with_child(extra.to_fa_icon().fixed_width().class("status-icon")) + .with_child(Fa::from(extra).fixed_width().class("status-icon")) } /// Returns a [`pwt::widget::Row`] with an element for each tag diff --git a/ui/src/remotes/node_url_list.rs b/ui/src/remotes/node_url_list.rs index 60f9422..54dbfb9 100644 --- a/ui/src/remotes/node_url_list.rs +++ b/ui/src/remotes/node_url_list.rs @@ -13,7 +13,7 @@ use pwt::widget::form::{Field, ManagedFieldContext, ManagedFieldMaster, ManagedF use pwt::widget::{ActionIcon, Button, Column, Container, Fa, Row}; use pwt::{css, prelude::*}; -use proxmox_yew_comp::SchemaValidation; +use proxmox_yew_comp::{SchemaValidation, Status}; use pdm_api_types::remotes::NodeUrl; use proxmox_schema::property_string::PropertyString; @@ -218,7 +218,7 @@ impl ManagedField for PdmNodeUrlField { Row::new() .class(css::AlignItems::Center) .gap(2) - .with_child(Fa::new("exclamation-triangle").class(css::FontColor::Error)) + .with_child(Fa::from(Status::Warning).class(css::FontColor::Error)) .with_child(err) })); diff --git a/ui/src/widget/migrate_window.rs b/ui/src/widget/migrate_window.rs index 5305084..5f2e225 100644 --- a/ui/src/widget/migrate_window.rs +++ b/ui/src/widget/migrate_window.rs @@ -10,7 +10,7 @@ use pwt::css; use pwt::prelude::*; use pwt::widget::{ form::{Checkbox, DisplayField, FormContext, Number}, - Column, Container, InputPanel, Row, + Column, Container, Fa, InputPanel, Row, }; use pwt::AsyncPool; use pwt_macros::{builder, widget}; @@ -318,7 +318,7 @@ impl PdmMigrateWindow { warnings.push( Row::new() .gap(2) - .with_child(Status::Warning.to_fa_icon()) + .with_child(Fa::from(Status::Warning)) .with_child(tr!( "Migration with local disk might take long: {0} ({1})", disk.volid, @@ -333,7 +333,7 @@ impl PdmMigrateWindow { warnings.push( Row::new() .gap(2) - .with_child(Status::Error.to_fa_icon()) + .with_child(Fa::from(Status::Error)) .with_child(tr!("Cannot migrate with local resource: {0}", resource)) .into(), ); diff --git a/ui/src/widget/pve_node_selector.rs b/ui/src/widget/pve_node_selector.rs index f89db45..ca78514 100644 --- a/ui/src/widget/pve_node_selector.rs +++ b/ui/src/widget/pve_node_selector.rs @@ -17,7 +17,7 @@ use pwt::{ widget::{ data_table::{DataTable, DataTableColumn, DataTableHeader}, form::{Selector, SelectorRenderArgs}, - GridPicker, Row, + Fa, GridPicker, Row, }, AsyncPool, }; @@ -123,7 +123,7 @@ impl Component for PveNodeSelectorComp { move |args: &SelectorRenderArgs<Store<ClusterNodeIndexResponse>>| { if let Some(err) = &err { return Row::new() - .with_child(Status::Error.to_fa_icon()) + .with_child(Fa::from(Status::Error)) .with_child(err) .into(); } diff --git a/ui/src/widget/resource_tree.rs b/ui/src/widget/resource_tree.rs index feff308..c790a6c 100644 --- a/ui/src/widget/resource_tree.rs +++ b/ui/src/widget/resource_tree.rs @@ -278,7 +278,7 @@ impl Component for PdmResourceTree { .border_top(true) .padding(4) .gap(2) - .with_child(Status::Error.to_fa_icon().large()) + .with_child(Fa::from(Status::Error).large()) .with_child(err.to_string()) })), ) @@ -322,14 +322,9 @@ fn columns( Container::new() .class("pdm-type-icon") .with_child(Fa::new("server").fixed_width()) - .with_optional_child( - err.is_some().then_some( - Status::Error - .to_fa_icon() - .fixed_width() - .class("status-icon"), - ), - ), + .with_optional_child(err.is_some().then_some( + Fa::from(Status::Error).fixed_width().class("status-icon"), + )), remote.clone(), err.as_ref().map(|err| err.to_string()), ), -- 2.39.5 _______________________________________________ pdm-devel mailing list pdm-devel@lists.proxmox.com https://lists.proxmox.com/cgi-bin/mailman/listinfo/pdm-devel