mirror of
https://git.proxmox.com/git/pve-manager
synced 2025-08-14 01:40:34 +00:00
ui: form/USBSelector: make it more flexible with nodename
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@proxmox.com>
This commit is contained in:
parent
d5a9606710
commit
a88b4ef9ad
@ -23,25 +23,39 @@ Ext.define('PVE.form.USBSelector', {
|
||||
return gettext("Invalid Value");
|
||||
},
|
||||
|
||||
setNodename: function(nodename) {
|
||||
var me = this;
|
||||
|
||||
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();
|
||||
},
|
||||
|
||||
initComponent: function() {
|
||||
var me = this;
|
||||
|
||||
var nodename = me.pveSelNode.data.node;
|
||||
|
||||
if (!nodename) {
|
||||
throw "no nodename specified";
|
||||
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,7 +113,7 @@ Ext.define('PVE.form.USBSelector', {
|
||||
|
||||
me.callParent();
|
||||
|
||||
store.load();
|
||||
me.setNodename(nodename);
|
||||
},
|
||||
|
||||
}, function() {
|
||||
|
Loading…
Reference in New Issue
Block a user