]>
git.proxmox.com Git - pve-manager.git/blob - www/manager/node/NetworkEdit.js
1 Ext
.define('PVE.node.NetworkEdit', {
2 extend
: 'PVE.window.Edit',
3 alias
: ['widget.pveNodeNetworkEdit'],
5 initComponent : function() {
8 var nodename
= me
.pveSelNode
.data
.node
;
10 throw "no node name specified";
14 throw "no network device type specified";
17 me
.create
= !me
.iface
;
21 if (me
.iftype
=== 'bridge') {
22 me
.subject
= "Bridge";
23 iface_vtype
= 'BridgeName';
24 } else if (me
.iftype
=== 'bond') {
26 iface_vtype
= 'BondName';
28 throw "no known network device type specified";
34 fieldLabel
: 'Autostart',
37 checked
: me
.create
? true : undefined
41 if (me
.iftype
=== 'bridge') {
44 fieldLabel
: 'Bridge ports',
47 } else if (me
.iftype
=== 'bond') {
54 xtype
: 'bondModeSelector',
57 value
: me
.create
? 'balance-rr' : undefined,
66 url
= "/api2/extjs/nodes/" + nodename
+ "/network";
69 url
= "/api2/extjs/nodes/" + nodename
+ "/network/" + me
.iface
;
75 xtype
: me
.create
? 'textfield' : 'displayfield',
76 fieldLabel
: gettext('Name'),
77 height
: 22, // hack: set same height as text fields
84 xtype
: 'pvetextfield',
85 deleteEmpty
: !me
.create
,
86 fieldLabel
: gettext('IP address'),
91 xtype
: 'pvetextfield',
92 deleteEmpty
: !me
.create
,
93 fieldLabel
: gettext('Subnet mask'),
96 validator: function(value
) {
97 /*jslint confusion: true */
101 var address
= me
.down('field[name=address]').getValue();
103 if (address
=== '') {
104 return "Subnet mask requires option 'IP address'";
107 if (address
!== '') {
108 return "Option 'IP address' requires a subnet mask";
116 xtype
: 'pvetextfield',
117 deleteEmpty
: !me
.create
,
118 fieldLabel
: 'Gateway',
137 me
.down('field[name=iface]').setValue(me
.iface_default
);
140 success: function(response
, options
) {
141 var data
= response
.result
.data
;
142 if (data
.type
!== me
.iftype
) {
143 var msg
= "Got unexpected device type";
144 Ext
.Msg
.alert(gettext('Error'), msg
, function() {
150 me
.isValid(); // trigger validation