]>
git.proxmox.com Git - pve-manager.git/blob - www/manager6/qemu/NetworkEdit.js
1 Ext
.define('PVE.qemu.NetworkInputPanel', {
2 extend
: 'Proxmox.panel.InputPanel',
3 alias
: 'widget.pveQemuNetworkInputPanel',
4 onlineHelp
: 'qm_network_device',
8 onGetValues: function(values
) {
11 me
.network
.model
= values
.model
;
12 if (values
.nonetwork
) {
15 me
.network
.bridge
= values
.bridge
;
16 me
.network
.tag
= values
.tag
;
17 me
.network
.firewall
= values
.firewall
;
19 me
.network
.macaddr
= values
.macaddr
;
20 me
.network
.disconnect
= values
.disconnect
;
21 me
.network
.queues
= values
.queues
;
24 me
.network
.rate
= values
.rate
;
26 delete me
.network
.rate
;
31 params
[me
.confid
] = PVE
.Parser
.printQemuNetwork(me
.network
);
36 setNetwork: function(confid
, data
) {
42 data
.networkmode
= data
.bridge
? 'bridge' : 'nat';
45 data
.networkmode
= 'bridge';
49 me
.setValues(me
.network
);
52 setNodename: function(nodename
) {
55 me
.bridgesel
.setNodename(nodename
);
58 initComponent: function() {
67 me
.bridgesel
= Ext
.create('PVE.form.BridgeSelector', {
69 fieldLabel
: gettext('Bridge'),
70 nodename
: me
.nodename
,
78 xtype
: 'pveVlanField',
83 xtype
: 'proxmoxcheckbox',
84 fieldLabel
: gettext('Firewall'),
86 checked
: me
.insideWizard
|| me
.isCreate
,
90 me
.advancedColumn1
= [
92 xtype
: 'proxmoxcheckbox',
93 fieldLabel
: gettext('Disconnect'),
98 if (me
.insideWizard
) {
103 boxLabel
: gettext('No network device'),
105 change: function(cb
, value
) {
116 fields
.forEach(function(fieldname
) {
117 me
.down('field[name='+fieldname
+']').setDisabled(value
);
119 me
.down('field[name=bridge]').validate();
124 xtype
: 'displayfield',
130 xtype
: 'pveNetworkCardSelector',
132 fieldLabel
: gettext('Model'),
133 value
: PVE
.qemu
.OSDefaults
.generic
.networkCard
,
139 fieldLabel
: gettext('MAC address'),
144 me
.advancedColumn2
= [
146 xtype
: 'numberfield',
148 fieldLabel
: gettext('Rate limit') + ' (MB/s)',
152 emptyText
: 'unlimited',
156 xtype
: 'proxmoxintegerfield',
158 fieldLabel
: 'Multiqueue',
170 Ext
.define('PVE.qemu.NetworkEdit', {
171 extend
: 'Proxmox.window.Edit',
175 initComponent: function() {
178 var nodename
= me
.pveSelNode
.data
.node
;
180 throw "no node name specified";
183 me
.isCreate
= !me
.confid
;
185 var ipanel
= Ext
.create('PVE.qemu.NetworkInputPanel', {
188 isCreate
: me
.isCreate
,
192 subject
: gettext('Network Device'),
199 success: function(response
, options
) {
201 me
.vmconfig
= response
.result
.data
;
203 var value
= me
.vmconfig
[me
.confid
];
204 var network
= PVE
.Parser
.parseQemuNetwork(me
.confid
, value
);
206 Ext
.Msg
.alert(gettext('Error'), 'Unable to parse network options');
210 ipanel
.setNetwork(me
.confid
, network
);
212 for (i
= 0; i
< 100; i
++) {
213 confid
= 'net' + i
.toString();
214 if (!Ext
.isDefined(me
.vmconfig
[confid
])) {
220 let ostype
= me
.vmconfig
.ostype
;
221 let defaults
= PVE
.qemu
.OSDefaults
.getDefaults(ostype
);
223 model
: defaults
.networkCard
,
226 ipanel
.setNetwork(me
.confid
, data
);