[pve-devel] [PATCH manager v3 07/11] ui: split resource mapping types into tabbed views
Filip Schauer
f.schauer at proxmox.com
Mon Feb 10 16:37:30 CET 2025
Reorganize resource mapping types into separate views accessible via
tabs.
Signed-off-by: Filip Schauer <f.schauer at proxmox.com>
---
www/manager6/Makefile | 13 ++---
www/manager6/dc/Config.js | 51 +++----------------
.../{window => resource-map}/HWRNGMapEdit.js | 2 +-
.../{dc => resource-map}/HWRNGMapView.js | 4 +-
.../{window => resource-map}/PCIMapEdit.js | 2 +-
.../{dc => resource-map}/PCIMapView.js | 4 +-
www/manager6/resource-map/ResourceMapView.js | 23 +++++++++
.../{window => resource-map}/USBMapEdit.js | 2 +-
.../{dc => resource-map}/USBMapView.js | 4 +-
9 files changed, 45 insertions(+), 60 deletions(-)
rename www/manager6/{window => resource-map}/HWRNGMapEdit.js (98%)
rename www/manager6/{dc => resource-map}/HWRNGMapView.js (93%)
rename www/manager6/{window => resource-map}/PCIMapEdit.js (99%)
rename www/manager6/{dc => resource-map}/PCIMapView.js (96%)
create mode 100644 www/manager6/resource-map/ResourceMapView.js
rename www/manager6/{window => resource-map}/USBMapEdit.js (99%)
rename www/manager6/{dc => resource-map}/USBMapView.js (95%)
diff --git a/www/manager6/Makefile b/www/manager6/Makefile
index d148a1c9..e13899b5 100644
--- a/www/manager6/Makefile
+++ b/www/manager6/Makefile
@@ -137,9 +137,6 @@ JSSRC= \
window/GuestDiskReassign.js \
window/GuestStop.js \
window/TreeSettingsEdit.js \
- window/PCIMapEdit.js \
- window/USBMapEdit.js \
- window/HWRNGMapEdit.js \
window/GuestImport.js \
ha/Fencing.js \
ha/GroupEdit.js \
@@ -188,9 +185,6 @@ JSSRC= \
dc/UserTagAccessEdit.js \
dc/RegisteredTagsEdit.js \
dc/RealmSyncJob.js \
- dc/PCIMapView.js \
- dc/USBMapView.js \
- dc/HWRNGMapView.js \
lxc/CmdMenu.js \
lxc/Config.js \
lxc/CreateWizard.js \
@@ -271,6 +265,13 @@ JSSRC= \
qemu/Smbios1Edit.js \
qemu/SystemEdit.js \
qemu/USBEdit.js \
+ resource-map/PCIMapEdit.js \
+ resource-map/USBMapEdit.js \
+ resource-map/HWRNGMapEdit.js \
+ resource-map/PCIMapView.js \
+ resource-map/ResourceMapView.js \
+ resource-map/USBMapView.js \
+ resource-map/HWRNGMapView.js \
sdn/Browser.js \
sdn/ControllerView.js \
sdn/Status.js \
diff --git a/www/manager6/dc/Config.js b/www/manager6/dc/Config.js
index 3650f290..1dc82dee 100644
--- a/www/manager6/dc/Config.js
+++ b/www/manager6/dc/Config.js
@@ -297,51 +297,12 @@ Ext.define('PVE.dc.Config', {
if (caps.mapping['Mapping.Audit'] ||
caps.mapping['Mapping.Use'] ||
caps.mapping['Mapping.Modify']) {
- me.items.push(
- {
- xtype: 'container',
- onlineHelp: 'resource_mapping',
- title: gettext('Resource Mappings'),
- itemId: 'resources',
- iconCls: 'fa fa-folder-o',
- layout: {
- type: 'vbox',
- align: 'stretch',
- multi: true,
- },
- scrollable: true,
- defaults: {
- border: false,
- },
- items: [
- {
- xtype: 'pveDcPCIMapView',
- title: gettext('PCI Devices'),
- flex: 1,
- },
- {
- xtype: 'splitter',
- collapsible: false,
- performCollapse: false,
- },
- {
- xtype: 'pveDcUSBMapView',
- title: gettext('USB Devices'),
- flex: 1,
- },
- {
- xtype: 'splitter',
- collapsible: false,
- performCollapse: false,
- },
- {
- xtype: 'pveDcHWRNGMapView',
- title: gettext('Hardware RNG Devices'),
- flex: 1,
- },
- ],
- },
- );
+ me.items.push({
+ xtype: 'pveResourceMapView',
+ title: gettext('Resource Mappings'),
+ itemId: 'resources',
+ iconCls: 'fa fa-folder-o',
+ });
}
if (caps.mapping['Mapping.Audit'] ||
diff --git a/www/manager6/window/HWRNGMapEdit.js b/www/manager6/resource-map/HWRNGMapEdit.js
similarity index 98%
rename from www/manager6/window/HWRNGMapEdit.js
rename to www/manager6/resource-map/HWRNGMapEdit.js
index aef4e2af..a6ba0641 100644
--- a/www/manager6/window/HWRNGMapEdit.js
+++ b/www/manager6/resource-map/HWRNGMapEdit.js
@@ -1,4 +1,4 @@
-Ext.define('PVE.window.HWRNGMapEditWindow', {
+Ext.define('PVE.resource-map.HWRNGMapEditWindow', {
extend: 'Proxmox.window.Edit',
mixins: ['Proxmox.Mixin.CBind'],
diff --git a/www/manager6/dc/HWRNGMapView.js b/www/manager6/resource-map/HWRNGMapView.js
similarity index 93%
rename from www/manager6/dc/HWRNGMapView.js
rename to www/manager6/resource-map/HWRNGMapView.js
index 27c0d2fc..dbd96ea8 100644
--- a/www/manager6/dc/HWRNGMapView.js
+++ b/www/manager6/resource-map/HWRNGMapView.js
@@ -4,11 +4,11 @@ Ext.define('pve-resource-hwrng-tree', {
fields: ['type', 'text', 'path', 'description', 'digest'],
});
-Ext.define('PVE.dc.HWRNGMapView', {
+Ext.define('PVE.resource-map.HWRNGMapView', {
extend: 'PVE.tree.ResourceMapTree',
alias: 'widget.pveDcHWRNGMapView',
- editWindowClass: 'PVE.window.HWRNGMapEditWindow',
+ editWindowClass: 'PVE.resource-map.HWRNGMapEditWindow',
baseUrl: '/cluster/mapping/hwrng',
mapIconCls: 'pve-itype-icon-die',
getStatusCheckUrl: (node) => `/nodes/${node}/hardware/hwrng`,
diff --git a/www/manager6/window/PCIMapEdit.js b/www/manager6/resource-map/PCIMapEdit.js
similarity index 99%
rename from www/manager6/window/PCIMapEdit.js
rename to www/manager6/resource-map/PCIMapEdit.js
index faf58255..8146ebbd 100644
--- a/www/manager6/window/PCIMapEdit.js
+++ b/www/manager6/resource-map/PCIMapEdit.js
@@ -1,4 +1,4 @@
-Ext.define('PVE.window.PCIMapEditWindow', {
+Ext.define('PVE.resource-map.PCIMapEditWindow', {
extend: 'Proxmox.window.Edit',
mixins: ['Proxmox.Mixin.CBind'],
diff --git a/www/manager6/dc/PCIMapView.js b/www/manager6/resource-map/PCIMapView.js
similarity index 96%
rename from www/manager6/dc/PCIMapView.js
rename to www/manager6/resource-map/PCIMapView.js
index 80fe3c0f..c5b11f96 100644
--- a/www/manager6/dc/PCIMapView.js
+++ b/www/manager6/resource-map/PCIMapView.js
@@ -4,11 +4,11 @@ Ext.define('pve-resource-pci-tree', {
fields: ['type', 'text', 'path', 'id', 'subsystem-id', 'iommugroup', 'description', 'digest'],
});
-Ext.define('PVE.dc.PCIMapView', {
+Ext.define('PVE.resource-map.PCIMapView', {
extend: 'PVE.tree.ResourceMapTree',
alias: 'widget.pveDcPCIMapView',
- editWindowClass: 'PVE.window.PCIMapEditWindow',
+ editWindowClass: 'PVE.resource-map.PCIMapEditWindow',
baseUrl: '/cluster/mapping/pci',
mapIconCls: 'pve-itype-icon-pci',
getStatusCheckUrl: (node) => `/nodes/${node}/hardware/pci?pci-class-blacklist=`,
diff --git a/www/manager6/resource-map/ResourceMapView.js b/www/manager6/resource-map/ResourceMapView.js
new file mode 100644
index 00000000..dcf2cc2d
--- /dev/null
+++ b/www/manager6/resource-map/ResourceMapView.js
@@ -0,0 +1,23 @@
+Ext.define('PVE.resource-map.ResourceMapView', {
+ extend: 'Ext.tab.Panel',
+ alias: 'widget.pveResourceMapView',
+ online_help: 'resource_mapping',
+
+ items: [
+ {
+ xtype: 'pveDcPCIMapView',
+ title: gettext('PCI Devices'),
+ itemId: 'pci-map',
+ },
+ {
+ xtype: 'pveDcUSBMapView',
+ title: gettext('USB Devices'),
+ itemId: 'usb-map',
+ },
+ {
+ xtype: 'pveDcHWRNGMapView',
+ title: gettext('Hardware RNG Devices'),
+ itemId: 'hwrng-map',
+ },
+ ],
+});
diff --git a/www/manager6/window/USBMapEdit.js b/www/manager6/resource-map/USBMapEdit.js
similarity index 99%
rename from www/manager6/window/USBMapEdit.js
rename to www/manager6/resource-map/USBMapEdit.js
index 69a40026..6af0ad07 100644
--- a/www/manager6/window/USBMapEdit.js
+++ b/www/manager6/resource-map/USBMapEdit.js
@@ -1,4 +1,4 @@
-Ext.define('PVE.window.USBMapEditWindow', {
+Ext.define('PVE.resource-map.USBMapEditWindow', {
extend: 'Proxmox.window.Edit',
mixins: ['Proxmox.Mixin.CBind'],
diff --git a/www/manager6/dc/USBMapView.js b/www/manager6/resource-map/USBMapView.js
similarity index 95%
rename from www/manager6/dc/USBMapView.js
rename to www/manager6/resource-map/USBMapView.js
index 96edc587..551f9472 100644
--- a/www/manager6/dc/USBMapView.js
+++ b/www/manager6/resource-map/USBMapView.js
@@ -4,11 +4,11 @@ Ext.define('pve-resource-usb-tree', {
fields: ['type', 'text', 'path', 'id', 'description', 'digest'],
});
-Ext.define('PVE.dc.USBMapView', {
+Ext.define('PVE.resource-map.USBMapView', {
extend: 'PVE.tree.ResourceMapTree',
alias: 'widget.pveDcUSBMapView',
- editWindowClass: 'PVE.window.USBMapEditWindow',
+ editWindowClass: 'PVE.resource-map.USBMapEditWindow',
baseUrl: '/cluster/mapping/usb',
mapIconCls: 'fa fa-usb',
getStatusCheckUrl: (node) => `/nodes/${node}/hardware/usb`,
--
2.39.5
More information about the pve-devel
mailing list