mirror of
https://git.proxmox.com/git/pve-manager
synced 2025-08-08 12:56:48 +00:00
add cmd parameter & rework query string creation
Signed-off-by: Tim Marx <t.marx@proxmox.com> Reviewed-by: Dominik Csapak <d.csapak@proxmox.com>
This commit is contained in:
parent
8eccc68f6c
commit
b945c7c1be
@ -1091,6 +1091,17 @@ Ext.define('PVE.Utils', { utilities: {
|
|||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
},
|
||||||
|
|
||||||
|
cleanEmptyObjectKeys: function (obj) {
|
||||||
|
var propName;
|
||||||
|
for (propName in obj) {
|
||||||
|
if (obj.hasOwnProperty(propName)) {
|
||||||
|
if (obj[propName] === null || obj[propName] === undefined) {
|
||||||
|
delete obj[propName];
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
|
||||||
|
@ -6,7 +6,9 @@ Ext.define('PVE.noVncConsole', {
|
|||||||
|
|
||||||
vmid: undefined,
|
vmid: undefined,
|
||||||
|
|
||||||
consoleType: undefined, // lxc or kvm
|
cmd: undefined,
|
||||||
|
|
||||||
|
consoleType: undefined, // lxc, kvm, shell, cmd
|
||||||
|
|
||||||
layout: 'fit',
|
layout: 'fit',
|
||||||
|
|
||||||
@ -14,6 +16,7 @@ Ext.define('PVE.noVncConsole', {
|
|||||||
|
|
||||||
border: false,
|
border: false,
|
||||||
|
|
||||||
|
|
||||||
initComponent : function() {
|
initComponent : function() {
|
||||||
var me = this;
|
var me = this;
|
||||||
|
|
||||||
@ -25,7 +28,7 @@ Ext.define('PVE.noVncConsole', {
|
|||||||
throw "no console type specified";
|
throw "no console type specified";
|
||||||
}
|
}
|
||||||
|
|
||||||
if (!me.vmid && me.consoleType !== 'shell') {
|
if (!me.vmid && me.consoleType !== 'shell' && me.consoleType !== 'cmd') {
|
||||||
throw "no VM ID specified";
|
throw "no VM ID specified";
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -34,15 +37,20 @@ Ext.define('PVE.noVncConsole', {
|
|||||||
var box = Ext.create('Ext.ux.IFrame', { itemid : "vncconsole" });
|
var box = Ext.create('Ext.ux.IFrame', { itemid : "vncconsole" });
|
||||||
|
|
||||||
var type = me.xtermjs ? 'xtermjs' : 'novnc';
|
var type = me.xtermjs ? 'xtermjs' : 'novnc';
|
||||||
|
|
||||||
Ext.apply(me, {
|
Ext.apply(me, {
|
||||||
items: box,
|
items: box,
|
||||||
listeners: {
|
listeners: {
|
||||||
activate: function() {
|
activate: function() {
|
||||||
var url = '/?console=' + me.consoleType + '&' + type + '=1&node=' + me.nodename + '&resize=scale';
|
var queryDict = {
|
||||||
if (me.vmid) {
|
console: me.consoleType, // kvm, lxc, upgrade or shell
|
||||||
url += '&vmid='+ me.vmid;
|
vmid: me.vmid,
|
||||||
}
|
node: me.nodename,
|
||||||
|
cmd: me.cmd,
|
||||||
|
resize: 'scale'
|
||||||
|
};
|
||||||
|
queryDict[type] = 1;
|
||||||
|
PVE.Utils.cleanEmptyObjectKeys(queryDict);
|
||||||
|
var url = '/?' + Ext.Object.toQueryString(queryDict);
|
||||||
box.load(url);
|
box.load(url);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
Loading…
Reference in New Issue
Block a user