[pdm-devel] [PATCH datacenter-manager] ui: datastore panel: disable content tab when datastore is offline
Shannon Sterz
s.sterz at proxmox.com
Tue Dec 16 13:12:20 CET 2025
and show a tooltip explaining why.
Signed-off-by: Shannon Sterz <s.sterz at proxmox.com>
---
ui/src/pbs/datastore.rs | 20 +++++++++++++++++++-
1 file changed, 19 insertions(+), 1 deletion(-)
diff --git a/ui/src/pbs/datastore.rs b/ui/src/pbs/datastore.rs
index 274c6ef..9a21caa 100644
--- a/ui/src/pbs/datastore.rs
+++ b/ui/src/pbs/datastore.rs
@@ -5,7 +5,10 @@ use yew::{
Component, Properties,
};
-use pwt::{css::FlexFit, props::WidgetBuilder, tr, widget::TabBarItem};
+use pwt::css::FlexFit;
+use pwt::props::WidgetBuilder;
+use pwt::tr;
+use pwt::widget::{TabBarItem, Tooltip};
use pbs_api_types::DataStoreConfig;
@@ -45,6 +48,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 +74,14 @@ impl Component for DatastorePanelComp {
TabBarItem::new()
.key("content")
.label(tr!("Content"))
+ .disabled(offline)
+ .tip(
+ offline.then_some(
+ Tooltip::new(tr!(
+ "Only available if the datastore is not in maintenance mode \"offline\"."))
+ .into(),
+ ),
+ )
.icon_class("fa fa-th"),
{
let remote = props.remote.clone();
--
2.47.3
More information about the pdm-devel
mailing list