* [pdm-devel] [PATCH datacenter-manager/yew-widget-toolkit v2 0/2] disable content tab on pbs datastores when they are in maintenance mode "offline"
@ 2025-12-16 14:38 Shannon Sterz
2025-12-16 14:38 ` [pdm-devel] [PATCH yew-widget-toolkit v2 1/1] tab bar: make `TabBarItem::tip` work as intended Shannon Sterz
` (2 more replies)
0 siblings, 3 replies; 8+ messages in thread
From: Shannon Sterz @ 2025-12-16 14:38 UTC (permalink / raw)
To: pdm-devel
this disables the content tab of a pbs datastore and shows an
appropriate tooltip.
changes since v1:
* noticed that the `.tip()` function of `TabBarItem` didn't work at all,
so added a patch that makes it work as intended.
* reworded the tooltip slightly for clarity.
proxmox-yew-widget-toolkit:
Shannon Sterz (1):
tab bar: make `TabBarItem::tip` work as intended
src/widget/tab/tab_bar.rs | 10 ++++++++--
1 file changed, 8 insertions(+), 2 deletions(-)
proxmox-datacenter-manager:
Shannon Sterz (1):
ui: datastore panel: disable content tab when datastore is offline
ui/src/pbs/datastore.rs | 16 ++++++++++++++++
1 file changed, 16 insertions(+)
Summary over all repositories:
2 files changed, 24 insertions(+), 2 deletions(-)
--
Generated by git-murpp 0.8.1
_______________________________________________
pdm-devel mailing list
pdm-devel@lists.proxmox.com
https://lists.proxmox.com/cgi-bin/mailman/listinfo/pdm-devel
^ permalink raw reply [flat|nested] 8+ messages in thread
* [pdm-devel] [PATCH yew-widget-toolkit v2 1/1] tab bar: make `TabBarItem::tip` work as intended
2025-12-16 14:38 [pdm-devel] [PATCH datacenter-manager/yew-widget-toolkit v2 0/2] disable content tab on pbs datastores when they are in maintenance mode "offline" Shannon Sterz
@ 2025-12-16 14:38 ` Shannon Sterz
2025-12-17 13:21 ` [pdm-devel] applied: " Dominik Csapak
2025-12-16 14:38 ` [pdm-devel] [PATCH datacenter-manager v2 1/1] ui: datastore panel: disable content tab when datastore is offline Shannon Sterz
2026-02-24 15:04 ` applied: [PATCH datacenter-manager/yew-widget-toolkit v2 0/2] disable content tab on pbs datastores when they are in maintenance mode "offline" Lukas Wagner
2 siblings, 1 reply; 8+ messages in thread
From: Shannon Sterz @ 2025-12-16 14:38 UTC (permalink / raw)
To: pdm-devel
previously setting a tooltip via the `tip()` function of an
`TabBarItem` had no effect. so actually render a tooltip with the
provided `VNode` as content if a tooltip is set on a `TabBarItem`
Signed-off-by: Shannon Sterz <s.sterz@proxmox.com>
---
src/widget/tab/tab_bar.rs | 10 ++++++++--
1 file changed, 8 insertions(+), 2 deletions(-)
diff --git a/src/widget/tab/tab_bar.rs b/src/widget/tab/tab_bar.rs
index d3de24f5..44fb9f39 100644
--- a/src/widget/tab/tab_bar.rs
+++ b/src/widget/tab/tab_bar.rs
@@ -8,7 +8,7 @@ use crate::dom::{element_direction_rtl, DomSizeObserver, IntoHtmlElement};
use crate::props::{IntoStorageLocation, StorageLocation};
use crate::state::{NavigationContext, NavigationContextExt, PersistentState, Selection};
use crate::web_sys_ext::{ResizeObserverBoxOptions, ResizeObserverOptions};
-use crate::widget::Container;
+use crate::widget::{Container, Tooltip};
use crate::{impl_class_prop_builder, impl_yew_std_props_builder, prelude::*};
use super::TabBarItem;
@@ -464,7 +464,7 @@ impl Component for PwtTabBar {
let aria_disabled = if disabled { "true" } else { "false" };
let style = format!("grid-column: {};", i + 1);
- html! {
+ let content = html! {
<a ref={active_ref} aria-disabled={aria_disabled} {style} {onclick} {onkeyup} class={nav_class} {tabindex}>
<span ref={size_ref}>
if let Some(class) = &panel.icon_class {
@@ -473,6 +473,12 @@ impl Component for PwtTabBar {
{panel.label.as_deref().unwrap_or("")}
</span>
</a>
+ };
+
+ if let Some(tip) = panel.tip.clone() {
+ Tooltip::new(content).rich_tip(tip).into()
+ } else {
+ content
}
})
.collect::<Html>();
--
2.47.3
_______________________________________________
pdm-devel mailing list
pdm-devel@lists.proxmox.com
https://lists.proxmox.com/cgi-bin/mailman/listinfo/pdm-devel
^ permalink raw reply [flat|nested] 8+ messages in thread
* [pdm-devel] [PATCH datacenter-manager v2 1/1] ui: datastore panel: disable content tab when datastore is offline
2025-12-16 14:38 [pdm-devel] [PATCH datacenter-manager/yew-widget-toolkit v2 0/2] disable content tab on pbs datastores when they are in maintenance mode "offline" Shannon Sterz
2025-12-16 14:38 ` [pdm-devel] [PATCH yew-widget-toolkit v2 1/1] tab bar: make `TabBarItem::tip` work as intended Shannon Sterz
@ 2025-12-16 14:38 ` Shannon Sterz
2025-12-17 13:23 ` Dominik Csapak
2026-02-24 15:04 ` applied: [PATCH datacenter-manager/yew-widget-toolkit v2 0/2] disable content tab on pbs datastores when they are in maintenance mode "offline" Lukas Wagner
2 siblings, 1 reply; 8+ messages in thread
From: Shannon Sterz @ 2025-12-16 14:38 UTC (permalink / raw)
To: pdm-devel
and show a tooltip explaining why.
Signed-off-by: Shannon Sterz <s.sterz@proxmox.com>
---
ui/src/pbs/datastore.rs | 16 ++++++++++++++++
1 file changed, 16 insertions(+)
diff --git a/ui/src/pbs/datastore.rs b/ui/src/pbs/datastore.rs
index 274c6ef..878c1b8 100644
--- a/ui/src/pbs/datastore.rs
+++ b/ui/src/pbs/datastore.rs
@@ -45,6 +45,13 @@ impl Component for DatastorePanelComp {
fn view(&self, ctx: &yew::Context<Self>) -> yew::Html {
let props = ctx.props();
+ let offline = props
+ .config
+ .maintenance_mode
+ .as_ref()
+ .map(|v| v == "offline")
+ .unwrap_or_default();
+
pwt::widget::TabPanel::new()
.router(true)
.class(FlexFit)
@@ -64,6 +71,15 @@ impl Component for DatastorePanelComp {
TabBarItem::new()
.key("content")
.label(tr!("Content"))
+ .disabled(offline)
+ .tip(
+ offline.then_some(
+ tr!(
+ "Not available if the datastore is in maintenance mode \"offline\"."
+ )
+ .into(),
+ ),
+ )
.icon_class("fa fa-th"),
{
let remote = props.remote.clone();
--
2.47.3
_______________________________________________
pdm-devel mailing list
pdm-devel@lists.proxmox.com
https://lists.proxmox.com/cgi-bin/mailman/listinfo/pdm-devel
^ permalink raw reply [flat|nested] 8+ messages in thread
* [pdm-devel] applied: [PATCH yew-widget-toolkit v2 1/1] tab bar: make `TabBarItem::tip` work as intended
2025-12-16 14:38 ` [pdm-devel] [PATCH yew-widget-toolkit v2 1/1] tab bar: make `TabBarItem::tip` work as intended Shannon Sterz
@ 2025-12-17 13:21 ` Dominik Csapak
0 siblings, 0 replies; 8+ messages in thread
From: Dominik Csapak @ 2025-12-17 13:21 UTC (permalink / raw)
To: pdm-devel, Shannon Sterz
On Tue, 16 Dec 2025 15:38:55 +0100, Shannon Sterz wrote:
> previously setting a tooltip via the `tip()` function of an
> `TabBarItem` had no effect. so actually render a tooltip with the
> provided `VNode` as content if a tooltip is set on a `TabBarItem`
>
>
Applied this one for now, thanks!
[1/1] tab bar: make `TabBarItem::tip` work as intended
commit: 960e36f17eac9edaf9b4348901de269f93fa3cb2
_______________________________________________
pdm-devel mailing list
pdm-devel@lists.proxmox.com
https://lists.proxmox.com/cgi-bin/mailman/listinfo/pdm-devel
^ permalink raw reply [flat|nested] 8+ messages in thread
* Re: [pdm-devel] [PATCH datacenter-manager v2 1/1] ui: datastore panel: disable content tab when datastore is offline
2025-12-16 14:38 ` [pdm-devel] [PATCH datacenter-manager v2 1/1] ui: datastore panel: disable content tab when datastore is offline Shannon Sterz
@ 2025-12-17 13:23 ` Dominik Csapak
2025-12-19 11:27 ` Shannon Sterz
2026-02-24 11:42 ` Shannon Sterz
0 siblings, 2 replies; 8+ messages in thread
From: Dominik Csapak @ 2025-12-17 13:23 UTC (permalink / raw)
To: Proxmox Datacenter Manager development discussion, Shannon Sterz
LGTM, makes only sense to apply once pwt is bumped with the fix for the
tabbaritem
Reviewed-by: Dominik Csapak <d.csapak@proxmox.com>
Tested-by: Dominik Csapak <d.csapak@proxmox.com>
On 12/16/25 3:39 PM, Shannon Sterz wrote:
> and show a tooltip explaining why.
>
> Signed-off-by: Shannon Sterz <s.sterz@proxmox.com>
> ---
> ui/src/pbs/datastore.rs | 16 ++++++++++++++++
> 1 file changed, 16 insertions(+)
>
> diff --git a/ui/src/pbs/datastore.rs b/ui/src/pbs/datastore.rs
> index 274c6ef..878c1b8 100644
> --- a/ui/src/pbs/datastore.rs
> +++ b/ui/src/pbs/datastore.rs
> @@ -45,6 +45,13 @@ impl Component for DatastorePanelComp {
>
> fn view(&self, ctx: &yew::Context<Self>) -> yew::Html {
> let props = ctx.props();
> + let offline = props
> + .config
> + .maintenance_mode
> + .as_ref()
> + .map(|v| v == "offline")
> + .unwrap_or_default();
> +
> pwt::widget::TabPanel::new()
> .router(true)
> .class(FlexFit)
> @@ -64,6 +71,15 @@ impl Component for DatastorePanelComp {
> TabBarItem::new()
> .key("content")
> .label(tr!("Content"))
> + .disabled(offline)
> + .tip(
> + offline.then_some(
> + tr!(
> + "Not available if the datastore is in maintenance mode \"offline\"."
> + )
> + .into(),
> + ),
> + )
> .icon_class("fa fa-th"),
> {
> let remote = props.remote.clone();
_______________________________________________
pdm-devel mailing list
pdm-devel@lists.proxmox.com
https://lists.proxmox.com/cgi-bin/mailman/listinfo/pdm-devel
^ permalink raw reply [flat|nested] 8+ messages in thread
* Re: [pdm-devel] [PATCH datacenter-manager v2 1/1] ui: datastore panel: disable content tab when datastore is offline
2025-12-17 13:23 ` Dominik Csapak
@ 2025-12-19 11:27 ` Shannon Sterz
2026-02-24 11:42 ` Shannon Sterz
1 sibling, 0 replies; 8+ messages in thread
From: Shannon Sterz @ 2025-12-19 11:27 UTC (permalink / raw)
To: Dominik Csapak; +Cc: Proxmox Datacenter Manager development discussion
On Wed Dec 17, 2025 at 2:23 PM CET, Dominik Csapak wrote:
> LGTM, makes only sense to apply once pwt is bumped with the fix for the
> tabbaritem
>
> Reviewed-by: Dominik Csapak <d.csapak@proxmox.com>
> Tested-by: Dominik Csapak <d.csapak@proxmox.com>
ping, pwt has been bumped so nothing should be holding this up now
>
> On 12/16/25 3:39 PM, Shannon Sterz wrote:
>> and show a tooltip explaining why.
>>
>> Signed-off-by: Shannon Sterz <s.sterz@proxmox.com>
>> ---
>> ui/src/pbs/datastore.rs | 16 ++++++++++++++++
>> 1 file changed, 16 insertions(+)
>>
>> diff --git a/ui/src/pbs/datastore.rs b/ui/src/pbs/datastore.rs
>> index 274c6ef..878c1b8 100644
>> --- a/ui/src/pbs/datastore.rs
>> +++ b/ui/src/pbs/datastore.rs
>> @@ -45,6 +45,13 @@ impl Component for DatastorePanelComp {
>>
>> fn view(&self, ctx: &yew::Context<Self>) -> yew::Html {
>> let props = ctx.props();
>> + let offline = props
>> + .config
>> + .maintenance_mode
>> + .as_ref()
>> + .map(|v| v == "offline")
>> + .unwrap_or_default();
>> +
>> pwt::widget::TabPanel::new()
>> .router(true)
>> .class(FlexFit)
>> @@ -64,6 +71,15 @@ impl Component for DatastorePanelComp {
>> TabBarItem::new()
>> .key("content")
>> .label(tr!("Content"))
>> + .disabled(offline)
>> + .tip(
>> + offline.then_some(
>> + tr!(
>> + "Not available if the datastore is in maintenance mode \"offline\"."
>> + )
>> + .into(),
>> + ),
>> + )
>> .icon_class("fa fa-th"),
>> {
>> let remote = props.remote.clone();
_______________________________________________
pdm-devel mailing list
pdm-devel@lists.proxmox.com
https://lists.proxmox.com/cgi-bin/mailman/listinfo/pdm-devel
^ permalink raw reply [flat|nested] 8+ messages in thread
* Re: [pdm-devel] [PATCH datacenter-manager v2 1/1] ui: datastore panel: disable content tab when datastore is offline
2025-12-17 13:23 ` Dominik Csapak
2025-12-19 11:27 ` Shannon Sterz
@ 2026-02-24 11:42 ` Shannon Sterz
1 sibling, 0 replies; 8+ messages in thread
From: Shannon Sterz @ 2026-02-24 11:42 UTC (permalink / raw)
To: Dominik Csapak; +Cc: Proxmox Datacenter Manager development discussion
On Wed Dec 17, 2025 at 2:23 PM CET, Dominik Csapak wrote:
> LGTM, makes only sense to apply once pwt is bumped with the fix for the
> tabbaritem
>
> Reviewed-by: Dominik Csapak <d.csapak@proxmox.com>
> Tested-by: Dominik Csapak <d.csapak@proxmox.com>
ping, still applies, would be a nice addition i think :)
> On 12/16/25 3:39 PM, Shannon Sterz wrote:
>> and show a tooltip explaining why.
>>
>> Signed-off-by: Shannon Sterz <s.sterz@proxmox.com>
>> ---
>> ui/src/pbs/datastore.rs | 16 ++++++++++++++++
>> 1 file changed, 16 insertions(+)
>>
>> diff --git a/ui/src/pbs/datastore.rs b/ui/src/pbs/datastore.rs
>> index 274c6ef..878c1b8 100644
>> --- a/ui/src/pbs/datastore.rs
>> +++ b/ui/src/pbs/datastore.rs
>> @@ -45,6 +45,13 @@ impl Component for DatastorePanelComp {
>>
>> fn view(&self, ctx: &yew::Context<Self>) -> yew::Html {
>> let props = ctx.props();
>> + let offline = props
>> + .config
>> + .maintenance_mode
>> + .as_ref()
>> + .map(|v| v == "offline")
>> + .unwrap_or_default();
>> +
>> pwt::widget::TabPanel::new()
>> .router(true)
>> .class(FlexFit)
>> @@ -64,6 +71,15 @@ impl Component for DatastorePanelComp {
>> TabBarItem::new()
>> .key("content")
>> .label(tr!("Content"))
>> + .disabled(offline)
>> + .tip(
>> + offline.then_some(
>> + tr!(
>> + "Not available if the datastore is in maintenance mode \"offline\"."
>> + )
>> + .into(),
>> + ),
>> + )
>> .icon_class("fa fa-th"),
>> {
>> let remote = props.remote.clone();
^ permalink raw reply [flat|nested] 8+ messages in thread
* applied: [PATCH datacenter-manager/yew-widget-toolkit v2 0/2] disable content tab on pbs datastores when they are in maintenance mode "offline"
2025-12-16 14:38 [pdm-devel] [PATCH datacenter-manager/yew-widget-toolkit v2 0/2] disable content tab on pbs datastores when they are in maintenance mode "offline" Shannon Sterz
2025-12-16 14:38 ` [pdm-devel] [PATCH yew-widget-toolkit v2 1/1] tab bar: make `TabBarItem::tip` work as intended Shannon Sterz
2025-12-16 14:38 ` [pdm-devel] [PATCH datacenter-manager v2 1/1] ui: datastore panel: disable content tab when datastore is offline Shannon Sterz
@ 2026-02-24 15:04 ` Lukas Wagner
2 siblings, 0 replies; 8+ messages in thread
From: Lukas Wagner @ 2026-02-24 15:04 UTC (permalink / raw)
To: Proxmox Datacenter Manager development discussion, Shannon Sterz
On Tue Dec 16, 2025 at 3:38 PM CET, Shannon Sterz wrote:
> this disables the content tab of a pbs datastore and shows an
> appropriate tooltip.
>
> changes since v1:
>
> * noticed that the `.tip()` function of `TabBarItem` didn't work at all,
> so added a patch that makes it work as intended.
> * reworded the tooltip slightly for clarity.
>
applied the remaining PDM patch. PDM already depended on a bumped pwt,
so there was no version requirement bump necessary.
Thanks!
^ permalink raw reply [flat|nested] 8+ messages in thread
end of thread, other threads:[~2026-02-24 15:03 UTC | newest]
Thread overview: 8+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2025-12-16 14:38 [pdm-devel] [PATCH datacenter-manager/yew-widget-toolkit v2 0/2] disable content tab on pbs datastores when they are in maintenance mode "offline" Shannon Sterz
2025-12-16 14:38 ` [pdm-devel] [PATCH yew-widget-toolkit v2 1/1] tab bar: make `TabBarItem::tip` work as intended Shannon Sterz
2025-12-17 13:21 ` [pdm-devel] applied: " Dominik Csapak
2025-12-16 14:38 ` [pdm-devel] [PATCH datacenter-manager v2 1/1] ui: datastore panel: disable content tab when datastore is offline Shannon Sterz
2025-12-17 13:23 ` Dominik Csapak
2025-12-19 11:27 ` Shannon Sterz
2026-02-24 11:42 ` Shannon Sterz
2026-02-24 15:04 ` applied: [PATCH datacenter-manager/yew-widget-toolkit v2 0/2] disable content tab on pbs datastores when they are in maintenance mode "offline" Lukas Wagner
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.