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.csa...@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 _______________________________________________ pve-devel mailing list pve-devel@lists.proxmox.com https://lists.proxmox.com/cgi-bin/mailman/listinfo/pve-devel