]> git.proxmox.com Git - pve-manager.git/blame - www/manager6/VNCConsole.js
qemu/NetworkEdit: rework panel for advanced options
[pve-manager.git] / www / manager6 / VNCConsole.js
CommitLineData
5f8b5df0
DM
1Ext.define('PVE.noVncConsole', {
2 extend: 'Ext.panel.Panel',
3 alias: 'widget.pveNoVncConsole',
4
5 nodename: undefined,
6
7 vmid: undefined,
8
9 consoleType: undefined, // lxc or kvm
c7218ab3
DC
10
11 layout: 'fit',
12
9f02743e
DC
13 xtermjs: false,
14
c7218ab3 15 border: false,
b135fd08 16
5f8b5df0
DM
17 initComponent : function() {
18 var me = this;
19
20 if (!me.nodename) {
21 throw "no node name specified";
22 }
23
24 if (!me.consoleType) {
25 throw "no console type specified";
26 }
27
28 if (!me.vmid && me.consoleType !== 'shell') {
29 throw "no VM ID specified";
30 }
b135fd08 31
5f8b5df0
DM
32 // always use same iframe, to avoid running several noVnc clients
33 // at same time (to avoid performance problems)
bc53e071 34 var box = Ext.create('Ext.ux.IFrame', { itemid : "vncconsole" });
5f8b5df0 35
9f02743e
DC
36 var type = me.xtermjs ? 'xtermjs' : 'novnc';
37
5f8b5df0 38 Ext.apply(me, {
5f8b5df0
DM
39 items: box,
40 listeners: {
c7218ab3 41 activate: function() {
9f02743e 42 var url = '/?console=' + me.consoleType + '&' + type + '=1&node=' + me.nodename + '&resize=scale';
5f8b5df0
DM
43 if (me.vmid) {
44 url += '&vmid='+ me.vmid;
45 }
46 box.load(url);
47 }
48 }
b135fd08 49 });
5f8b5df0
DM
50
51 me.callParent();
ff605c35
TL
52
53 me.on('afterrender', function() {
54 me.focus();
55 });
5f8b5df0
DM
56 }
57});
58