mirror of
https://git.proxmox.com/git/pve-manager
synced 2025-08-08 10:32:50 +00:00
remove unnecessary information on template summary
since most of the information on the summary page is irrelevant for templates (e.g. status,ha,using memory,graphs, etc), we only show just the information which is available and helpful since we then have the vertical space, we move the notes panel below the statuspanel, to allow visually more space for the description (which makes sense for a template) Signed-off-by: Dominik Csapak <d.csapak@proxmox.com>
This commit is contained in:
parent
688677441d
commit
a4d292d9da
@ -16,6 +16,8 @@ Ext.define('PVE.qemu.StatusView', {
|
|||||||
throw "no VM ID specified";
|
throw "no VM ID specified";
|
||||||
}
|
}
|
||||||
|
|
||||||
|
var template = !!me.pveSelNode.data.template;
|
||||||
|
|
||||||
var render_cpu = function(value, metaData, record, rowIndex, colIndex, store) {
|
var render_cpu = function(value, metaData, record, rowIndex, colIndex, store) {
|
||||||
if (!me.getObjectValue('uptime')) {
|
if (!me.getObjectValue('uptime')) {
|
||||||
return '-';
|
return '-';
|
||||||
@ -40,17 +42,28 @@ Ext.define('PVE.qemu.StatusView', {
|
|||||||
return text;
|
return text;
|
||||||
};
|
};
|
||||||
|
|
||||||
var rows = {
|
var rows = {};
|
||||||
name: { header: gettext('Name'), defaultValue: 'no name specified' },
|
|
||||||
qmpstatus: { header: gettext('Status'), defaultValue: 'unknown' },
|
if (template) {
|
||||||
cpu: { header: gettext('CPU usage'), required: true, renderer: render_cpu },
|
rows = {
|
||||||
cpus: { visible: false },
|
name: { header: gettext('Name'), defaultValue: 'no name specified' },
|
||||||
mem: { header: gettext('Memory usage'), required: true, renderer: render_mem },
|
cpus: { header: gettext('Processors'), required: true},
|
||||||
maxmem: { visible: false },
|
maxmem: { header: gettext('Memory'), renderer: PVE.Utils.render_size, required: true},
|
||||||
maxdisk: { header: gettext('Bootdisk size'), renderer: PVE.Utils.render_size, required: true},
|
maxdisk: { header: gettext('Bootdisk size'), renderer: PVE.Utils.render_size, required: true}
|
||||||
uptime: { header: gettext('Uptime'), required: true, renderer: PVE.Utils.render_uptime },
|
};
|
||||||
ha: { header: gettext('Managed by HA'), required: true, renderer: PVE.Utils.format_ha }
|
} else {
|
||||||
};
|
rows = {
|
||||||
|
name: { header: gettext('Name'), defaultValue: 'no name specified' },
|
||||||
|
qmpstatus: { header: gettext('Status'), defaultValue: 'unknown' },
|
||||||
|
cpu: { iconCls: 'fa fa-up', header: gettext('CPU usage'), required: true, renderer: render_cpu },
|
||||||
|
cpus: { visible: false },
|
||||||
|
mem: { header: gettext('Memory usage'), required: true, renderer: render_mem },
|
||||||
|
maxmem: { visible: false },
|
||||||
|
maxdisk: { header: gettext('Bootdisk size'), renderer: PVE.Utils.render_size, required: true},
|
||||||
|
uptime: { header: gettext('Uptime'), required: true, renderer: PVE.Utils.render_uptime },
|
||||||
|
ha: { header: gettext('Managed by HA'), required: true, renderer: PVE.Utils.format_ha }
|
||||||
|
};
|
||||||
|
}
|
||||||
|
|
||||||
Ext.applyIf(me, {
|
Ext.applyIf(me, {
|
||||||
cwidth1: 150,
|
cwidth1: 150,
|
||||||
|
@ -2,7 +2,6 @@ Ext.define('PVE.qemu.Summary', {
|
|||||||
extend: 'Ext.panel.Panel',
|
extend: 'Ext.panel.Panel',
|
||||||
alias: 'widget.pveQemuSummary',
|
alias: 'widget.pveQemuSummary',
|
||||||
|
|
||||||
tbar: [ '->', { xtype: 'pveRRDTypeSelector' } ],
|
|
||||||
scrollable: true,
|
scrollable: true,
|
||||||
bodyPadding: 10,
|
bodyPadding: 10,
|
||||||
|
|
||||||
@ -27,88 +26,123 @@ Ext.define('PVE.qemu.Summary', {
|
|||||||
throw "no status storage specified";
|
throw "no status storage specified";
|
||||||
}
|
}
|
||||||
|
|
||||||
|
var template = !!me.pveSelNode.data.template;
|
||||||
var rstore = me.statusStore;
|
var rstore = me.statusStore;
|
||||||
|
|
||||||
var statusview = Ext.create('PVE.qemu.StatusView', {
|
var statusview = Ext.create('PVE.qemu.StatusView', {
|
||||||
title: gettext('Status'),
|
title: gettext('Status'),
|
||||||
pveSelNode: me.pveSelNode,
|
pveSelNode: me.pveSelNode,
|
||||||
width: 400,
|
width: template ? 800 : 400,
|
||||||
rstore: rstore
|
rstore: rstore
|
||||||
});
|
});
|
||||||
|
|
||||||
var notesview = Ext.create('PVE.panel.NotesView', {
|
var notesview = Ext.create('PVE.panel.NotesView', {
|
||||||
pveSelNode: me.pveSelNode,
|
pveSelNode: me.pveSelNode,
|
||||||
padding: '0 0 0 10',
|
padding: template? '10 0 0 0' : '0 0 0 10',
|
||||||
flex: 1
|
flex: 1
|
||||||
});
|
});
|
||||||
|
|
||||||
var rrdstore = Ext.create('PVE.data.RRDStore', {
|
if (template) {
|
||||||
rrdurl: "/api2/json/nodes/" + nodename + "/qemu/" + vmid + "/rrddata"
|
|
||||||
});
|
|
||||||
|
|
||||||
Ext.apply(me, {
|
Ext.apply(me, {
|
||||||
plugins: {
|
plugins: {
|
||||||
ptype: 'lazyitems',
|
ptype: 'lazyitems',
|
||||||
items: [
|
items: [
|
||||||
{
|
{
|
||||||
xtype: 'container',
|
xtype: 'container',
|
||||||
layout: {
|
layout: {
|
||||||
type: 'column'
|
type: 'column'
|
||||||
},
|
},
|
||||||
defaults: {
|
defaults: {
|
||||||
padding: '0 10 10 0'
|
padding: '0 10 10 0'
|
||||||
},
|
},
|
||||||
items: [
|
items: [{
|
||||||
{
|
|
||||||
width: 800,
|
width: 800,
|
||||||
height: 300,
|
|
||||||
layout: {
|
layout: {
|
||||||
type: 'hbox',
|
type: 'vbox',
|
||||||
align: 'stretch'
|
align: 'stretch'
|
||||||
},
|
},
|
||||||
border: false,
|
border: false,
|
||||||
items: [ statusview, notesview ]
|
items: [ statusview, notesview ]
|
||||||
|
}]
|
||||||
|
}
|
||||||
|
]
|
||||||
|
},
|
||||||
|
listeners: {
|
||||||
|
activate: function() { notesview.load(); }
|
||||||
|
}
|
||||||
|
});
|
||||||
|
|
||||||
|
} else {
|
||||||
|
var rrdstore = Ext.create('PVE.data.RRDStore', {
|
||||||
|
rrdurl: "/api2/json/nodes/" + nodename + "/qemu/" + vmid + "/rrddata"
|
||||||
|
});
|
||||||
|
|
||||||
|
Ext.apply(me, {
|
||||||
|
tbar: [ '->', { xtype: 'pveRRDTypeSelector' } ],
|
||||||
|
plugins: {
|
||||||
|
ptype: 'lazyitems',
|
||||||
|
items: [
|
||||||
|
{
|
||||||
|
xtype: 'container',
|
||||||
|
layout: {
|
||||||
|
type: 'column'
|
||||||
},
|
},
|
||||||
{
|
defaults: {
|
||||||
xtype: 'pveRRDChart',
|
padding: '0 10 10 0'
|
||||||
title: gettext('CPU usage'),
|
|
||||||
pveSelNode: me.pveSelNode,
|
|
||||||
fields: ['cpu'],
|
|
||||||
fieldTitles: [gettext('CPU usage')],
|
|
||||||
store: rrdstore
|
|
||||||
},
|
},
|
||||||
{
|
items: [
|
||||||
xtype: 'pveRRDChart',
|
{
|
||||||
title: gettext('Memory usage'),
|
width: 800,
|
||||||
pveSelNode: me.pveSelNode,
|
height: 300,
|
||||||
fields: ['maxmem', 'mem'],
|
layout: {
|
||||||
fieldTitles: [gettext('Total'), gettext('RAM usage')],
|
type: 'hbox',
|
||||||
store: rrdstore
|
align: 'stretch'
|
||||||
},
|
},
|
||||||
{
|
border: false,
|
||||||
xtype: 'pveRRDChart',
|
items: [ statusview, notesview ]
|
||||||
title: gettext('Network traffic'),
|
},
|
||||||
pveSelNode: me.pveSelNode,
|
{
|
||||||
fields: ['netin','netout'],
|
xtype: 'pveRRDChart',
|
||||||
store: rrdstore
|
title: gettext('CPU usage'),
|
||||||
},
|
pveSelNode: me.pveSelNode,
|
||||||
{
|
fields: ['cpu'],
|
||||||
xtype: 'pveRRDChart',
|
fieldTitles: [gettext('CPU usage')],
|
||||||
title: gettext('Disk IO'),
|
store: rrdstore
|
||||||
pveSelNode: me.pveSelNode,
|
},
|
||||||
fields: ['diskread','diskwrite'],
|
{
|
||||||
store: rrdstore
|
xtype: 'pveRRDChart',
|
||||||
}
|
title: gettext('Memory usage'),
|
||||||
]
|
pveSelNode: me.pveSelNode,
|
||||||
}
|
fields: ['maxmem', 'mem'],
|
||||||
]
|
fieldTitles: [gettext('Total'), gettext('RAM usage')],
|
||||||
},
|
store: rrdstore
|
||||||
listeners: {
|
},
|
||||||
activate: function() {notesview.load(); rrdstore.startUpdate();},
|
{
|
||||||
hide: rrdstore.stopUpdate,
|
xtype: 'pveRRDChart',
|
||||||
destroy: rrdstore.stopUpdate
|
title: gettext('Network traffic'),
|
||||||
}
|
pveSelNode: me.pveSelNode,
|
||||||
});
|
fields: ['netin','netout'],
|
||||||
|
store: rrdstore
|
||||||
|
},
|
||||||
|
{
|
||||||
|
xtype: 'pveRRDChart',
|
||||||
|
title: gettext('Disk IO'),
|
||||||
|
pveSelNode: me.pveSelNode,
|
||||||
|
fields: ['diskread','diskwrite'],
|
||||||
|
store: rrdstore
|
||||||
|
}
|
||||||
|
]
|
||||||
|
}
|
||||||
|
]
|
||||||
|
},
|
||||||
|
listeners: {
|
||||||
|
activate: function() {notesview.load(); rrdstore.startUpdate();},
|
||||||
|
hide: rrdstore.stopUpdate,
|
||||||
|
destroy: rrdstore.stopUpdate
|
||||||
|
}
|
||||||
|
});
|
||||||
|
}
|
||||||
|
|
||||||
me.callParent();
|
me.callParent();
|
||||||
}
|
}
|
||||||
|
Loading…
Reference in New Issue
Block a user