mirror of
https://git.proxmox.com/git/pve-manager
synced 2025-05-06 22:41:46 +00:00
60 lines
1.3 KiB
JavaScript
60 lines
1.3 KiB
JavaScript
Ext.define('PVE.button.ConsoleButton', {
|
|
extend: 'Ext.button.Split',
|
|
alias: 'widget.pveConsoleButton',
|
|
|
|
consoleType: 'shell', // one of 'shell', 'kvm', 'lxc', 'upgrade'
|
|
|
|
consoleName: undefined,
|
|
|
|
enableSpice: true,
|
|
|
|
nodename: undefined,
|
|
|
|
vmid: 0,
|
|
|
|
setEnableSpice: function(enable){
|
|
var me = this;
|
|
|
|
me.enableSpice = enable;
|
|
me.spiceMenu.setDisabled(!enable);
|
|
},
|
|
|
|
initComponent: function() {
|
|
var me = this;
|
|
|
|
if (!me.nodename) {
|
|
throw "no node name specified";
|
|
}
|
|
|
|
me.spiceMenu = Ext.create('Ext.menu.Item', {
|
|
text: 'SPICE',
|
|
iconCls: 'pve-itype-icon-virt-viewer',
|
|
handler: function() {
|
|
PVE.Utils.openConsoleWindow('vv', me.consoleType, me.vmid, me.nodename, me.consoleName);
|
|
}
|
|
});
|
|
|
|
var noVncMenu = Ext.create('Ext.menu.Item', {
|
|
text: 'noVNC',
|
|
iconCls: 'pve-itype-icon-novnc',
|
|
handler: function() {
|
|
PVE.Utils.openConsoleWindow('html5', me.consoleType, me.vmid, me.nodename, me.consoleName);
|
|
}
|
|
});
|
|
|
|
Ext.apply(me, { text: gettext('Console') });
|
|
|
|
Ext.apply(me, {
|
|
handler: function() {
|
|
PVE.Utils.openDefaultConsoleWindow(me.enableSpice, me.consoleType, me.vmid,
|
|
me.nodename, me.consoleName);
|
|
},
|
|
menu: new Ext.menu.Menu({
|
|
items: [ noVncMenu, me.spiceMenu ]
|
|
})
|
|
});
|
|
|
|
me.callParent();
|
|
}
|
|
});
|