From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from firstgate.proxmox.com (firstgate.proxmox.com [IPv6:2a01:7e0:0:424::9]) by lore.proxmox.com (Postfix) with ESMTPS id CB15A1FF183 for ; Wed, 3 Dec 2025 13:50:34 +0100 (CET) Received: from firstgate.proxmox.com (localhost [127.0.0.1]) by firstgate.proxmox.com (Proxmox) with ESMTP id CBBCA8F04; Wed, 3 Dec 2025 13:51:00 +0100 (CET) From: Dominik Csapak To: pdm-devel@lists.proxmox.com Date: Wed, 3 Dec 2025 13:50:44 +0100 Message-ID: <20251203125056.2821841-1-d.csapak@proxmox.com> X-Mailer: git-send-email 2.47.3 MIME-Version: 1.0 X-SPAM-LEVEL: Spam detection results: 0 AWL 0.030 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 yew-comp v2 1/1] apt package manager: add property for custom subscription alert message X-BeenThere: pdm-devel@lists.proxmox.com X-Mailman-Version: 2.1.29 Precedence: list List-Id: Proxmox Datacenter Manager development discussion List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Reply-To: Proxmox Datacenter Manager development discussion Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit Errors-To: pdm-devel-bounces@lists.proxmox.com Sender: "pdm-devel" If given, will show an alert dialog with those instead of the default subscription alert dialog. In the long term, having both url+title/message in some kind of struct like EditableProperty would be nicer, but this should be fine for now. Signed-off-by: Dominik Csapak --- no changes from v1 src/apt_package_manager.rs | 30 ++++++++++++++++++++---------- 1 file changed, 20 insertions(+), 10 deletions(-) diff --git a/src/apt_package_manager.rs b/src/apt_package_manager.rs index b419957..82d536f 100644 --- a/src/apt_package_manager.rs +++ b/src/apt_package_manager.rs @@ -17,7 +17,7 @@ use pwt::state::{Selection, SlabTree, TreeStore}; use pwt::widget::data_table::{ DataTable, DataTableCellRenderArgs, DataTableColumn, DataTableHeader, DataTableHeaderGroup, }; -use pwt::widget::{Button, Container, Toolbar, Tooltip}; +use pwt::widget::{AlertDialog, Button, Container, Toolbar, Tooltip}; use pwt::AsyncPool; use crate::percent_encoding::percent_encode_component; @@ -61,10 +61,16 @@ pub struct AptPackageManager { #[builder_cb(IntoEventCallback, into_event_callback, ())] pub on_upgrade: Option>, + // todo refactor url+message into a struct like EditableProperty #[prop_or_default] #[builder(IntoPropValue, into_prop_value)] /// The base url for the subscription check pub subscription_url: Option, + + #[prop_or_default] + #[builder(IntoPropValue, into_prop_value)] + /// Custom subscription dialog title and message + pub subscription_message: Option<(String, Html)>, } impl Default for AptPackageManager { @@ -321,15 +327,19 @@ impl LoadableComponent for ProxmoxAptPackageManager { let props = ctx.props(); let task_base_url = props.task_base_url.clone(); let command = format!("{}/update", props.base_url); - Some( - SubscriptionAlert::new("notfound") - .on_close(move |_| { - link.change_view(None); - link.task_base_url(task_base_url.clone()); - link.start_task(&command, None, false); - }) - .into(), - ) + let on_close = move |_| { + link.change_view(None); + link.task_base_url(task_base_url.clone()); + link.start_task(&command, None, false); + }; + Some(if let Some(msg) = props.subscription_message.clone() { + AlertDialog::new(msg.1) + .title(msg.0) + .on_close(on_close) + .into() + } else { + SubscriptionAlert::new("notfound").on_close(on_close).into() + }) } } } -- 2.47.3 _______________________________________________ pdm-devel mailing list pdm-devel@lists.proxmox.com https://lists.proxmox.com/cgi-bin/mailman/listinfo/pdm-devel