]> git.proxmox.com Git - pve-manager.git/blob - www/manager/button/ConsoleButton.js
cba4984a38811e40565965bbf87cb470038fd98f
[pve-manager.git] / www / manager / button / ConsoleButton.js
1 Ext.define('PVE.button.ConsoleButton', {
2 extend: 'Ext.button.Split',
3 alias: 'widget.pveConsoleButton',
4
5 consoleType: 'shell', // one of 'shell', 'kvm', 'lxc', 'upgrade'
6
7 consoleName: undefined,
8
9 enableSpice: true,
10
11 nodename: undefined,
12
13 vmid: 0,
14
15 setEnableSpice: function(enable){
16 var me = this;
17
18 me.enableSpice = enable;
19 me.spiceMenu.setDisabled(!enable);
20 },
21
22 initComponent: function() {
23 var me = this;
24
25 if (!me.nodename) {
26 throw "no node name specified";
27 }
28
29 me.spiceMenu = Ext.create('Ext.menu.Item', {
30 text: 'SPICE',
31 iconCls: 'pve-itype-icon-virt-viewer',
32 handler: function() {
33 PVE.Utils.openConsoleWindow('vv', me.consoleType, me.vmid, me.nodename, me.consoleName);
34 }
35 });
36
37 var noVncMenu = Ext.create('Ext.menu.Item', {
38 text: 'noVNC',
39 iconCls: 'pve-itype-icon-novnc',
40 handler: function() {
41 PVE.Utils.openConsoleWindow('html5', me.consoleType, me.vmid, me.nodename, me.consoleName);
42 }
43 });
44
45 Ext.applyIf(me, { text: gettext('Console') });
46
47 Ext.apply(me, {
48 handler: function() {
49 PVE.Utils.openDefaultConsoleWindow(me.enableSpice, me.consoleType, me.vmid,
50 me.nodename, me.consoleName);
51 },
52 menu: new Ext.menu.Menu({
53 items: [ noVncMenu, me.spiceMenu ]
54 })
55 });
56
57 me.callParent();
58 }
59 });