[pdm-devel] [PATCH datacenter-manager 4/5] ui: add qemu Hardware and Options panel

Dietmar Maurer dietmar at proxmox.com
Thu Nov 27 12:34:27 CET 2025


Signed-off-by: Dietmar Maurer <dietmar at proxmox.com>
---
 ui/src/pve/qemu/mod.rs | 36 ++++++++++++++++++++++++++++++++++++
 1 file changed, 36 insertions(+)

diff --git a/ui/src/pve/qemu/mod.rs b/ui/src/pve/qemu/mod.rs
index c666f7e..ba35c2c 100644
--- a/ui/src/pve/qemu/mod.rs
+++ b/ui/src/pve/qemu/mod.rs
@@ -8,6 +8,8 @@ use yew::virtual_dom::{VComp, VNode};
 use pwt::prelude::*;
 use pwt::widget::{Fa, Row, TabBarItem, TabPanel};
 
+use proxmox_yew_comp::configuration::pve::{QemuHardwarePanel, QemuOptionsPanel};
+
 use pdm_api_types::resource::PveQemuResource;
 
 use crate::pve::utils::render_qemu_name;
@@ -70,6 +72,40 @@ impl yew::Component for QemuPanelComp {
                     }
                 },
             )
+            .with_item_builder(
+                TabBarItem::new()
+                    .key("hardware")
+                    .label(tr!("Hardware"))
+                    .icon_class("fa fa-desktop"),
+                {
+                    let remote = props.remote.clone();
+                    let node = props.node.clone();
+                    let vmid = props.info.vmid;
+                    move |_| {
+                        QemuHardwarePanel::new(node.clone(), vmid)
+                            .readonly(true)
+                            .remote(remote.clone())
+                            .into()
+                    }
+                },
+            )
+            .with_item_builder(
+                TabBarItem::new()
+                    .key("options")
+                    .label(tr!("Options"))
+                    .icon_class("fa fa-gear"),
+                {
+                    let remote = props.remote.clone();
+                    let node = props.node.clone();
+                    let vmid = props.info.vmid;
+                    move |_| {
+                        QemuOptionsPanel::new(node.clone(), vmid)
+                            .readonly(true)
+                            .remote(remote.clone())
+                            .into()
+                    }
+                },
+            )
             .into()
     }
 }
-- 
2.47.3




More information about the pdm-devel mailing list