]> git.proxmox.com Git - pve-manager.git/blame - www/manager6/sdn/VnetEdit.js
ui: eslint: fix trailing comma and comma related whitespaces errors
[pve-manager.git] / www / manager6 / sdn / VnetEdit.js
CommitLineData
9233148b
AD
1Ext.define('PVE.sdn.VnetInputPanel', {
2 extend: 'Proxmox.panel.InputPanel',
68dc9092 3 mixins: ['Proxmox.Mixin.CBind'],
9233148b
AD
4
5 onGetValues: function(values) {
68dc9092 6 let me = this;
9233148b
AD
7
8 if (me.isCreate) {
9 values.type = 'vnet';
10 }
11
12 if (!values.ipv6) {
13 delete values.ipv6;
14 }
9233148b
AD
15 if (!values.ipv4) {
16 delete values.ipv4;
17 }
9233148b
AD
18 if (!values.mac) {
19 delete values.mac;
20 }
21
22 return values;
23 },
24
68dc9092
TL
25 items: [
26 {
27 xtype: 'pmxDisplayEditField',
28 name: 'vnet',
29 cbind: {
30 editable: '{isCreate}',
31 },
872f9a05 32 maxLength: 8,
f3c1eac7 33 flex: 1,
68dc9092
TL
34 allowBlank: false,
35 fieldLabel: gettext('Name'),
36 },
37 {
38 xtype: 'textfield',
39 name: 'alias',
40 fieldLabel: gettext('Alias'),
41 allowBlank: true,
42 },
43 {
44 xtype: 'pveSDNZoneSelector',
45 fieldLabel: gettext('Zone'),
46 name: 'zone',
47 value: '',
48 allowBlank: false,
49 },
50 {
51 xtype: 'proxmoxintegerfield',
52 name: 'tag',
53 minValue: 1,
e763c7d7 54 maxValue: 16777216,
68dc9092 55 fieldLabel: gettext('Tag'),
e763c7d7 56 allowBlank: true,
68dc9092 57 },
d0da259e
AD
58 {
59 xtype: 'proxmoxcheckbox',
60 name: 'vlanaware',
61 uncheckedValue: 0,
62 checked: false,
f6710aac 63 fieldLabel: gettext('VLAN Aware'),
d0da259e 64 },
6d3dbf0e
TL
65 {
66 xtype: 'textfield',
67 name: 'mac',
68 fieldLabel: gettext('MAC Address'),
69 vtype: 'MacAddress',
70 skipEmptyText: true,
71 allowBlank: true,
72 emptyText: 'auto',
73 },
74 ],
75 advancedItems: [
68dc9092
TL
76 {
77 xtype: 'textfield',
78 name: 'ipv4',
79 vtype: 'IPCIDRAddress',
80 fieldLabel: 'IPv4/CIDR', // do not localize
f3c1eac7 81 emptyText: 'Optional anycast addr. for BGP',
68dc9092
TL
82 skipEmptyText: true,
83 allowBlank: true,
84 },
85 {
86 xtype: 'textfield',
87 name: 'ipv6',
88 vtype: 'IP6CIDRAddress',
89 fieldLabel: 'IPv6/CIDR', // do not localize
f3c1eac7 90 emptyText: 'Optional anycast addr. for BGP',
68dc9092
TL
91 skipEmptyText: true,
92 allowBlank: true,
93 },
68dc9092 94 ],
9233148b
AD
95});
96
97Ext.define('PVE.sdn.VnetEdit', {
98 extend: 'Proxmox.window.Edit',
99
68dc9092
TL
100 subject: gettext('VNet'),
101
9233148b
AD
102 vnet: undefined,
103
f3c1eac7
TL
104 width: 350,
105
68dc9092 106 initComponent: function() {
9233148b
AD
107 var me = this;
108
68dc9092 109 me.isCreate = me.vnet === undefined;
9233148b 110
68dc9092
TL
111 if (me.isCreate) {
112 me.url = '/api2/extjs/cluster/sdn/vnets';
113 me.method = 'POST';
114 } else {
115 me.url = '/api2/extjs/cluster/sdn/vnets/' + me.vnet;
116 me.method = 'PUT';
117 }
9233148b 118
68dc9092 119 let ipanel = Ext.create('PVE.sdn.VnetInputPanel', {
9233148b 120 isCreate: me.isCreate,
9233148b
AD
121 });
122
123 Ext.apply(me, {
68dc9092
TL
124 items: [
125 ipanel,
126 ],
9233148b
AD
127 });
128
129 me.callParent();
130
131 if (!me.isCreate) {
132 me.load({
68dc9092
TL
133 success: function(response, options) {
134 let values = response.result.data;
9233148b 135 ipanel.setValues(values);
68dc9092 136 },
9233148b
AD
137 });
138 }
68dc9092 139 },
9233148b 140});