pve-manager/www/manager6/sdn/zones/EvpnEdit.js
Alexandre Derumier fef32ce05c ui: sdn: zone evpn: delete exitnodes-primary if empty
Signed-off-by: Alexandre Derumier <aderumier@odiso.com>
2022-04-27 10:35:15 +02:00

138 lines
2.8 KiB
JavaScript

Ext.define('PVE.sdn.zones.EvpnInputPanel', {
extend: 'PVE.panel.SDNZoneBase',
onlineHelp: 'pvesdn_zone_plugin_evpn',
onGetValues: function(values) {
var me = this;
if (me.isCreate) {
values.type = me.type;
} else {
delete values.zone;
}
if (!values.mac) {
delete values.mac;
}
if (values['advertise-subnets'] === 0) {
delete values['advertise-subnets'];
}
if (values['exitnodes-local-routing'] === 0) {
delete values['exitnodes-local-routing'];
}
if (values['disable-arp-nd-suppression'] === 0) {
delete values['disable-arp-nd-suppression'];
}
if (values['exitnodes-primary'] === '') {
delete values['exitnodes-primary'];
}
return values;
},
initComponent: function() {
var me = this;
me.items = [
{
xtype: me.isCreate ? 'textfield' : 'displayfield',
name: 'zone',
maxLength: 8,
value: me.zone || '',
fieldLabel: 'ID',
allowBlank: false,
},
{
xtype: 'pveSDNControllerSelector',
fieldLabel: gettext('Controller'),
name: 'controller',
value: '',
allowBlank: false,
},
{
xtype: 'proxmoxintegerfield',
name: 'vrf-vxlan',
minValue: 1,
maxValue: 16000000,
fieldLabel: 'VRF-VXLAN Tag',
allowBlank: false,
},
{
xtype: 'textfield',
name: 'mac',
fieldLabel: gettext('Vnet MAC address'),
vtype: 'MacAddress',
allowBlank: true,
emptyText: 'auto',
},
{
xtype: 'pveNodeSelector',
name: 'exitnodes',
fieldLabel: gettext('Exit Nodes'),
multiSelect: true,
autoSelect: false,
},
{
xtype: 'pveNodeSelector',
name: 'exitnodes-primary',
fieldLabel: gettext('Primary Exit Node'),
multiSelect: false,
autoSelect: false,
},
{
xtype: 'proxmoxcheckbox',
name: 'exitnodes-local-routing',
uncheckedValue: 0,
checked: false,
fieldLabel: gettext('Exit Nodes local routing'),
},
{
xtype: 'proxmoxcheckbox',
name: 'advertise-subnets',
uncheckedValue: 0,
checked: false,
fieldLabel: gettext('Advertise subnets'),
},
{
xtype: 'proxmoxcheckbox',
name: 'disable-arp-nd-suppression',
uncheckedValue: 0,
checked: false,
fieldLabel: gettext('Disable arp-nd suppression'),
},
{
xtype: 'textfield',
name: 'rt-import',
fieldLabel: gettext('Route-target import'),
allowBlank: true,
},
{
xtype: 'proxmoxintegerfield',
name: 'mtu',
minValue: 100,
maxValue: 65000,
fieldLabel: 'MTU',
skipEmptyText: true,
allowBlank: true,
emptyText: 'auto',
},
{
xtype: 'pveNodeSelector',
name: 'nodes',
fieldLabel: gettext('Nodes'),
emptyText: gettext('All') + ' (' + gettext('No restrictions') +')',
multiSelect: true,
autoSelect: false,
},
];
me.callParent();
},
});