From: Dominik Csapak <d.csapak@proxmox.com>
To: Proxmox Datacenter Manager development discussion
<pdm-devel@lists.proxmox.com>,
Shannon Sterz <s.sterz@proxmox.com>
Subject: Re: [pdm-devel] [PATCH datacenter-manager 1/1] ui: enable the top navigation bar's documentation button
Date: Mon, 15 Sep 2025 15:44:06 +0200 [thread overview]
Message-ID: <38a386ee-802a-4cc1-892c-41c0e4b3d756@proxmox.com> (raw)
In-Reply-To: <20250911113926.223147-4-s.sterz@proxmox.com>
two comments inline:
On 9/11/25 1:40 PM, Shannon Sterz wrote:
> and make it open the beta documentation in a new tab for now.
>
> Signed-off-by: Shannon Sterz <s.sterz@proxmox.com>
> ---
> ui/Cargo.toml | 2 +-
> ui/src/top_nav_bar.rs | 20 +++++++++++++++++---
> 2 files changed, 18 insertions(+), 4 deletions(-)
>
> diff --git a/ui/Cargo.toml b/ui/Cargo.toml
> index 43424db..c60426a 100644
> --- a/ui/Cargo.toml
> +++ b/ui/Cargo.toml
> @@ -23,7 +23,7 @@ serde_json = "1.0"
> wasm-bindgen = "0.2.92"
> wasm-bindgen-futures = "0.4"
> wasm-logger = "0.2"
> -web-sys = { version = "0.3", features = ["Location"] }
> +web-sys = { version = "0.3", features = ["Location", "HtmlAnchorElement"] }
> yew = { version = "0.21", features = ["csr"] }
> yew-router = { version = "0.18" }
>
> diff --git a/ui/src/top_nav_bar.rs b/ui/src/top_nav_bar.rs
> index 9b1e37e..f348592 100644
> --- a/ui/src/top_nav_bar.rs
> +++ b/ui/src/top_nav_bar.rs
> @@ -3,6 +3,8 @@ use std::rc::Rc;
> use anyhow::Error;
> use pwt::css::ColorScheme;
> use serde::Deserialize;
> +use wasm_bindgen::{JsCast, UnwrapThrowExt};
> +use web_sys::HtmlAnchorElement;
>
> use pwt::prelude::*;
> use pwt::widget::menu::{Menu, MenuButton, MenuEntry, MenuEvent, MenuItem};
> @@ -181,10 +183,22 @@ impl Component for PdmTopNavBar {
> Tooltip::new(
> Button::new(tr!("Documentation"))
> .icon_class("fa fa-book")
> - .disabled(true)
> - .class(ColorScheme::Neutral),
> + .class(ColorScheme::Neutral)
> + .onclick(|_| {
for new code, it would be better to use 'on_activate'.
we try to be consistent here across our components
and use our own wrapper that handles mouse + keyboard correctly
(on the button it literally is just the onclick handler, but
using our wrapper here too promotes it for others that might
copy & paste these things)
> + let document = gloo_utils::document();
> + let _ = document.create_element("a").map(|a| {
> + let atag: HtmlAnchorElement = a
> + .dyn_into()
> + .expect_throw("an a tag should always be an anchor element");
> + atag.set_href(
> + "https://pve.proxmox.com/wiki/Proxmox_Datacenter_Manager_Beta_Documentation",
> + );
> + atag.set_target("_blank");
> + atag.click();
is there a special reason why you create an 'a' tag and click on it?
e.g. for the pve ui links we always use:
`let _ = window().open_with_url(&url.href());`
wouldn't it here also be easier to use something like:
`let _ = window().open_with_url_and_target("https://pve...", "_blank");`
?
> + });
> + }),
> )
> - .tip(tr!("Coming soon")),
> + .tip(tr!("Open the Beta documentation in a new tab.")),
> );
>
> if let Some(username) = &props.username {
_______________________________________________
pdm-devel mailing list
pdm-devel@lists.proxmox.com
https://lists.proxmox.com/cgi-bin/mailman/listinfo/pdm-devel
prev parent reply other threads:[~2025-09-15 13:44 UTC|newest]
Thread overview: 3+ messages / expand[flat|nested] mbox.gz Atom feed top
2025-09-11 11:39 [pdm-devel] [PATCH datacenter-manager 0/1] enable top nav bar's navigation button Shannon Sterz
2025-09-11 11:39 ` [pdm-devel] [PATCH datacenter-manager 1/1] ui: enable the top navigation bar's documentation button Shannon Sterz
2025-09-15 13:44 ` Dominik Csapak [this message]
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=38a386ee-802a-4cc1-892c-41c0e4b3d756@proxmox.com \
--to=d.csapak@proxmox.com \
--cc=pdm-devel@lists.proxmox.com \
--cc=s.sterz@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.