[pve-devel] [PATCH manager 03/12] ui: form/USBSelector: make it more flexible with nodename
Dominik Csapak
d.csapak at proxmox.com
Tue Jul 19 13:46:30 CEST 2022
similar to the pciselector, make it accept a plain nodename,
or no node at all and provide a setNodename function
to keep backwards compatibility, also check pveSelNode for the nodename
Signed-off-by: Dominik Csapak <d.csapak at proxmox.com>
---
www/manager6/form/USBSelector.js | 32 ++++++++++++++++++++++++--------
1 file changed, 24 insertions(+), 8 deletions(-)
diff --git a/www/manager6/form/USBSelector.js b/www/manager6/form/USBSelector.js
index 0d511699..3a2f293e 100644
--- a/www/manager6/form/USBSelector.js
+++ b/www/manager6/form/USBSelector.js
@@ -23,25 +23,39 @@ Ext.define('PVE.form.USBSelector', {
return gettext("Invalid Value");
},
- initComponent: function() {
+ setNodename: function(nodename) {
var me = this;
- var nodename = me.pveSelNode.data.node;
+ if (!nodename || me.nodename === nodename) {
+ return;
+ }
+
+ me.nodename = nodename;
+
+ me.store.setProxy({
+ type: 'proxmox',
+ url: `/api2/json/nodes/${me.nodename}/hardware/usb`,
+ });
+
+ me.store.load();
+ },
- if (!nodename) {
- throw "no nodename specified";
+ initComponent: function() {
+ var me = this;
+
+ if (me.pveSelNode) {
+ me.nodename = me.pveSelNode.data.node;
}
+ var nodename = me.nodename;
+ me.nodename = undefined;
+
if (me.type !== 'device' && me.type !== 'port') {
throw "no valid type specified";
}
let store = new Ext.data.Store({
model: `pve-usb-${me.type}`,
- proxy: {
- type: 'proxmox',
- url: `/api2/json/nodes/${nodename}/hardware/usb`,
- },
filters: [
({ data }) => !!data.usbpath && !!data.prodid && String(data.class) !== "9",
],
@@ -99,6 +113,8 @@ Ext.define('PVE.form.USBSelector', {
me.callParent();
+ me.setNodename(nodename);
+
store.load();
},
--
2.30.2
More information about the pve-devel
mailing list