[pdm-devel] [PATCH datacenter-manager 7/7] ui: widgets: remote realm selector: support PBS remotes
Lukas Wagner
l.wagner at proxmox.com
Mon Dec 29 14:44:45 CET 2025
This is achieved by adding a new 'remote_type' property.
Signed-off-by: Lukas Wagner <l.wagner at proxmox.com>
---
ui/src/remotes/wizard_page_info.rs | 2 +-
ui/src/widget/remote_realm_selector.rs | 10 +++++++++-
2 files changed, 10 insertions(+), 2 deletions(-)
diff --git a/ui/src/remotes/wizard_page_info.rs b/ui/src/remotes/wizard_page_info.rs
index 8a115b4a..fc9bfb01 100644
--- a/ui/src/remotes/wizard_page_info.rs
+++ b/ui/src/remotes/wizard_page_info.rs
@@ -331,7 +331,7 @@ impl Component for PdmWizardPageInfo {
)
.with_field(
tr!("Realm"),
- RemoteRealmSelector::new(hostname, fingerprint)
+ RemoteRealmSelector::new(hostname, fingerprint, props.remote_type)
.name("realm")
.disabled(!self.user_mode)
.required(self.user_mode),
diff --git a/ui/src/widget/remote_realm_selector.rs b/ui/src/widget/remote_realm_selector.rs
index 7ba8c633..3de95568 100644
--- a/ui/src/widget/remote_realm_selector.rs
+++ b/ui/src/widget/remote_realm_selector.rs
@@ -16,6 +16,8 @@ use proxmox_yew_comp::percent_encoding::percent_encode_component;
use pwt::props::{FieldBuilder, WidgetBuilder};
use pwt_macros::{builder, widget};
+use pdm_api_types::remotes::RemoteType;
+
#[widget(comp=RemoteRealmSelectorComp, @input)]
#[derive(Clone, Properties, PartialEq)]
#[builder]
@@ -30,6 +32,9 @@ pub struct RemoteRealmSelector {
/// Optional fingerprint of the remote.
pub fingerprint: Option<AttrValue>,
+
+ /// Type of the remote.
+ pub remote_type: RemoteType,
}
impl RemoteRealmSelector {
@@ -37,10 +42,12 @@ impl RemoteRealmSelector {
pub fn new(
hostname: impl IntoPropValue<AttrValue>,
fingerprint: impl IntoPropValue<Option<AttrValue>>,
+ remote_type: RemoteType,
) -> Self {
yew::props!(Self {
hostname: hostname.into_prop_value(),
fingerprint: fingerprint.into_prop_value(),
+ remote_type,
})
}
}
@@ -89,7 +96,8 @@ impl Component for RemoteRealmSelectorComp {
let props = ctx.props();
let mut url = format!(
- "/pve/realms?hostname={}",
+ "/{}/realms?hostname={}",
+ props.remote_type,
percent_encode_component(&props.hostname)
);
if let Some(fp) = &props.fingerprint {
--
2.47.3
More information about the pdm-devel
mailing list