qemu/NetworkEdit: rework panel for advanced options

move some fields into advanced options, and remove nat mode

Signed-off-by: Dominik Csapak <d.csapak@proxmox.com>
This commit is contained in:
Dominik Csapak 2018-04-05 16:03:52 +02:00 committed by Dietmar Maurer
parent 869f805312
commit 57f034f6ff

View File

@ -9,14 +9,12 @@ Ext.define('PVE.qemu.NetworkInputPanel', {
var me = this; var me = this;
me.network.model = values.model; me.network.model = values.model;
if (values.networkmode === 'none') { if (values.nonetwork) {
return {}; return {};
} else if (values.networkmode === 'bridge') { } else {
me.network.bridge = values.bridge; me.network.bridge = values.bridge;
me.network.tag = values.tag; me.network.tag = values.tag;
me.network.firewall = values.firewall; me.network.firewall = values.firewall;
} else {
me.network.bridge = undefined;
} }
me.network.macaddr = values.macaddr; me.network.macaddr = values.macaddr;
me.network.disconnect = values.disconnect; me.network.disconnect = values.disconnect;
@ -63,66 +61,70 @@ Ext.define('PVE.qemu.NetworkInputPanel', {
me.network = {}; me.network = {};
me.confid = 'net0'; me.confid = 'net0';
me.column1 = [];
me.column2 = [];
me.bridgesel = Ext.create('PVE.form.BridgeSelector', { me.bridgesel = Ext.create('PVE.form.BridgeSelector', {
name: 'bridge', name: 'bridge',
fieldLabel: gettext('Bridge'), fieldLabel: gettext('Bridge'),
nodename: me.nodename, nodename: me.nodename,
labelAlign: 'right',
autoSelect: true, autoSelect: true,
allowBlank: false allowBlank: false
}); });
me.column1 = [ me.column1 = [
{
xtype: 'radiofield',
name: 'networkmode',
inputValue: 'bridge',
boxLabel: gettext('Bridged mode'),
checked: true,
listeners: {
change: function(f, value) {
if (!me.rendered) {
return;
}
me.down('field[name=bridge]').setDisabled(!value);
me.down('field[name=bridge]').validate();
me.down('field[name=tag]').setDisabled(!value);
me.down('field[name=firewall]').setDisabled(!value);
}
}
},
me.bridgesel, me.bridgesel,
{ {
xtype: 'pveVlanField', xtype: 'pveVlanField',
name: 'tag', name: 'tag',
value: '', value: ''
labelAlign: 'right'
}, },
me.bridgesel,
{ {
xtype: 'proxmoxcheckbox', xtype: 'proxmoxcheckbox',
fieldLabel: gettext('Firewall'), fieldLabel: gettext('Firewall'),
name: 'firewall', name: 'firewall'
labelAlign: 'right' }
}, ];
me.advancedColumn1 = [
{ {
xtype: 'radiofield', xtype: 'proxmoxcheckbox',
name: 'networkmode', fieldLabel: gettext('Disconnect'),
inputValue: 'nat', name: 'disconnect'
boxLabel: gettext('NAT mode')
} }
]; ];
if (me.insideWizard) { if (me.insideWizard) {
me.column1.push({ me.column1.unshift({
xtype: 'radiofield', xtype: 'checkbox',
name: 'networkmode', name: 'nonetwork',
inputValue: 'none', inputValue: 'none',
boxLabel: gettext('No network device') boxLabel: gettext('No network device'),
listeners: {
change: function(cb, value) {
var fields = [
'disconnect',
'bridge',
'tag',
'firewall',
'model',
'macaddr',
'rate',
'queues'
];
fields.forEach(function(fieldname) {
me.down('field[name='+fieldname+']').setDisabled(value);
});
me.down('field[name=bridge]').validate();
}
}
});
me.column2.unshift({
xtype: 'displayfield'
}); });
} }
me.column2 = [ me.column2.push(
{ {
xtype: 'pveNetworkCardSelector', xtype: 'pveNetworkCardSelector',
name: 'model', name: 'model',
@ -137,7 +139,8 @@ Ext.define('PVE.qemu.NetworkInputPanel', {
vtype: 'MacAddress', vtype: 'MacAddress',
allowBlank: true, allowBlank: true,
emptyText: 'auto' emptyText: 'auto'
}, });
me.advancedColumn2 = [
{ {
xtype: 'numberfield', xtype: 'numberfield',
name: 'rate', name: 'rate',
@ -156,11 +159,6 @@ Ext.define('PVE.qemu.NetworkInputPanel', {
maxValue: 8, maxValue: 8,
value: '', value: '',
allowBlank: true allowBlank: true
},
{
xtype: 'proxmoxcheckbox',
fieldLabel: gettext('Disconnect'),
name: 'disconnect'
} }
]; ];