render_console_viewer: function(value) {
if (!value) {
- return PVE.Utils.defaultText + ' (Java VNC Applet)';
+ return PVE.Utils.defaultText + ' (HTML5)';
} else if (value === 'applet') {
return 'Java VNC Applet';
} else if (value === 'vv') {
return 'SPICE (remote-viewer)';
+ } else if (value === 'html5') {
+ return 'HTML5 (noVNC)';
} else {
return value;
}
nw.focus();
},
- defaultViewer: function(){
- return PVE.VersionInfo.console || 'applet';
- },
+ defaultViewer: function(allowSpice) {
+ var vncdefault = 'html5';
+ var dv = PVE.VersionInfo.console || vncdefault;
+ if (dv === 'vv' && !allowSpice) {
+ dv = vncdefault;
+ }
+ return dv;
+ },
openSpiceViewer: function(url, params){
consoleName: undefined,
- enableSpice: undefined,
+ enableSpice: true,
nodename: undefined,
me.spiceMenu.setDisabled(!enable);
},
- getEnableSpice: function() {
- var me = this;
-
- if (me.enableSpice === undefined) {
- if (PVE.VersionInfo.console && PVE.VersionInfo.console === 'vv') {
- return true;
- } else {
- return false;
- }
- } else {
- return me.enableSpice;
- }
- },
-
initComponent: function() {
var me = this;
Ext.apply(me, {
handler: function() {
- if (!me.getEnableSpice() ||
- (PVE.VersionInfo.console && PVE.VersionInfo.console === 'applet')) {
- create_vnc_console();
- } else {
+ var dv = PVE.Utils.defaultViewer(me.enableSpice);
+ if (dv === 'vv') {
create_spice_console();
+ } else if (dv === 'applet') {
+ create_vnc_console(0);
+ } else if (dv === 'html5') {
+ create_vnc_console(1);
+ } else {
+ throw "unknown defaultViewer";
}
},
menu: new Ext.menu.Menu({
var data = [];
- Ext.Array.each(['', 'applet', 'vv'], function(value) {
+ Ext.Array.each(['', 'applet', 'vv', 'html5'], function(value) {
data.push([value, PVE.Utils.render_console_viewer(value)]);
});