panel/InfoWidget.js \
panel/TemplateStatusView.js \
panel/HealthWidget.js \
+ panel/GuestSummary.js \
window/LoginWindow.js \
window/Wizard.js \
window/NotesEdit.js \
window/BulkAction.js \
window/Clone.js \
qemu/Monitor.js \
- qemu/Summary.js \
qemu/OSTypeEdit.js \
qemu/OSDefaults.js \
qemu/ProcessorEdit.js \
qemu/IPConfigEdit.js \
qemu/SystemEdit.js \
qemu/AudioEdit.js \
- lxc/Summary.js \
lxc/Network.js \
lxc/Resources.js \
lxc/FeaturesEdit.js \
items: [
{
title: gettext('Summary'),
- xtype: 'pveLxcSummary',
+ xtype: 'pveGuestSummary',
iconCls: 'fa fa-book',
itemId: 'summary'
}
+++ /dev/null
-Ext.define('PVE.lxc.Summary', {
- extend: 'Ext.panel.Panel',
- alias: 'widget.pveLxcSummary',
-
- scrollable: true,
- bodyPadding: 5,
-
- initComponent: function() {
- var me = this;
-
- var nodename = me.pveSelNode.data.node;
- if (!nodename) {
- throw "no node name specified";
- }
-
- var vmid = me.pveSelNode.data.vmid;
- if (!vmid) {
- throw "no VM ID specified";
- }
-
- if (!me.workspace) {
- throw "no workspace specified";
- }
-
- if (!me.statusStore) {
- throw "no status storage specified";
- }
-
- var template = !!me.pveSelNode.data.template;
- var rstore = me.statusStore;
-
- var width = template ? 1 : 0.5;
- var items = [
- {
- xtype: template ? 'pveTemplateStatusView' : 'pveGuestStatusView',
- responsiveConfig: {
- 'width < 1900': {
- columnWidth: width
- },
- 'width >= 1900': {
- columnWidth: width / 2
- }
- },
- itemId: 'gueststatus',
- pveSelNode: me.pveSelNode,
- rstore: rstore
- },
- {
- xtype: 'pveNotesView',
- maxHeight: 320,
- itemId: 'notesview',
- pveSelNode: me.pveSelNode,
- responsiveConfig: {
- 'width < 1900': {
- columnWidth: width
- },
- 'width >= 1900': {
- columnWidth: width / 2
- }
- }
- }
- ];
-
- var rrdstore;
- if (!template) {
-
- rrdstore = Ext.create('Proxmox.data.RRDStore', {
- rrdurl: "/api2/json/nodes/" + nodename + "/lxc/" + vmid + "/rrddata",
- model: 'pve-rrd-guest'
- });
-
- items.push(
- {
- xtype: 'proxmoxRRDChart',
- title: gettext('CPU usage'),
- pveSelNode: me.pveSelNode,
- fields: ['cpu'],
- fieldTitles: [gettext('CPU usage')],
- store: rrdstore
- },
- {
- xtype: 'proxmoxRRDChart',
- title: gettext('Memory usage'),
- pveSelNode: me.pveSelNode,
- fields: ['maxmem', 'mem'],
- fieldTitles: [gettext('Total'), gettext('RAM usage')],
- store: rrdstore
- },
- {
- xtype: 'proxmoxRRDChart',
- title: gettext('Network traffic'),
- pveSelNode: me.pveSelNode,
- fields: ['netin','netout'],
- store: rrdstore
- },
- {
- xtype: 'proxmoxRRDChart',
- title: gettext('Disk IO'),
- pveSelNode: me.pveSelNode,
- fields: ['diskread','diskwrite'],
- store: rrdstore
- }
- );
-
- }
-
- Ext.apply(me, {
- tbar: [ '->', { xtype: 'proxmoxRRDTypeSelector' } ],
- items: [
- {
- xtype: 'container',
- layout: {
- type: 'column'
- },
- defaults: {
- minHeight: 320,
- padding: 5,
- plugins: 'responsive',
- responsiveConfig: {
- 'width < 1900': {
- columnWidth: 1
- },
- 'width >= 1900': {
- columnWidth: 0.5
- }
- }
- },
- items: items
- }
- ]
- });
-
- me.callParent();
- if (!template) {
- rrdstore.startUpdate();
- me.on('destroy', rrdstore.stopUpdate);
- }
- }
-});
--- /dev/null
+Ext.define('PVE.qemu.Summary', {
+ extend: 'Ext.panel.Panel',
+ xtype: 'pveGuestSummary',
+
+ scrollable: true,
+ bodyPadding: 5,
+
+ initComponent: function() {
+ var me = this;
+
+ var nodename = me.pveSelNode.data.node;
+ if (!nodename) {
+ throw "no node name specified";
+ }
+
+ var vmid = me.pveSelNode.data.vmid;
+ if (!vmid) {
+ throw "no VM ID specified";
+ }
+
+ if (!me.workspace) {
+ throw "no workspace specified";
+ }
+
+ if (!me.statusStore) {
+ throw "no status storage specified";
+ }
+
+ var type = me.pveSelNode.data.type;
+ var template = !!me.pveSelNode.data.template;
+ var rstore = me.statusStore;
+
+ var width = template ? 1 : 0.5;
+ var items = [
+ {
+ xtype: template ? 'pveTemplateStatusView' : 'pveGuestStatusView',
+ responsiveConfig: {
+ 'width < 1900': {
+ columnWidth: width
+ },
+ 'width >= 1900': {
+ columnWidth: width / 2
+ }
+ },
+ itemId: 'gueststatus',
+ pveSelNode: me.pveSelNode,
+ rstore: rstore
+ },
+ {
+ xtype: 'pveNotesView',
+ maxHeight: 330,
+ itemId: 'notesview',
+ pveSelNode: me.pveSelNode,
+ responsiveConfig: {
+ 'width < 1900': {
+ columnWidth: width
+ },
+ 'width >= 1900': {
+ columnWidth: width / 2
+ }
+ }
+ }
+ ];
+
+ var rrdstore;
+ if (!template) {
+
+ rrdstore = Ext.create('Proxmox.data.RRDStore', {
+ rrdurl: `/api2/json/nodes/${nodename}/${type}/${vmid}/rrddata`,
+ model: 'pve-rrd-guest'
+ });
+
+ items.push(
+ {
+ xtype: 'proxmoxRRDChart',
+ title: gettext('CPU usage'),
+ pveSelNode: me.pveSelNode,
+ fields: ['cpu'],
+ fieldTitles: [gettext('CPU usage')],
+ store: rrdstore
+ },
+ {
+ xtype: 'proxmoxRRDChart',
+ title: gettext('Memory usage'),
+ pveSelNode: me.pveSelNode,
+ fields: ['maxmem', 'mem'],
+ fieldTitles: [gettext('Total'), gettext('RAM usage')],
+ store: rrdstore
+ },
+ {
+ xtype: 'proxmoxRRDChart',
+ title: gettext('Network traffic'),
+ pveSelNode: me.pveSelNode,
+ fields: ['netin','netout'],
+ store: rrdstore
+ },
+ {
+ xtype: 'proxmoxRRDChart',
+ title: gettext('Disk IO'),
+ pveSelNode: me.pveSelNode,
+ fields: ['diskread','diskwrite'],
+ store: rrdstore
+ }
+ );
+
+ }
+
+ Ext.apply(me, {
+ tbar: [ '->', { xtype: 'proxmoxRRDTypeSelector' } ],
+ items: [
+ {
+ xtype: 'container',
+ layout: {
+ type: 'column'
+ },
+ defaults: {
+ minHeight: 330,
+ padding: 5,
+ plugins: 'responsive',
+ responsiveConfig: {
+ 'width < 1900': {
+ columnWidth: 1
+ },
+ 'width >= 1900': {
+ columnWidth: 0.5
+ }
+ }
+ },
+ items: items
+ }
+ ]
+ });
+
+ me.callParent();
+ if (!template) {
+ rrdstore.startUpdate();
+ me.on('destroy', rrdstore.stopUpdate);
+ }
+ }
+});
items: [
{
title: gettext('Summary'),
- xtype: 'pveQemuSummary',
+ xtype: 'pveGuestSummary',
iconCls: 'fa fa-book',
itemId: 'summary'
}
+++ /dev/null
-Ext.define('PVE.qemu.Summary', {
- extend: 'Ext.panel.Panel',
- alias: 'widget.pveQemuSummary',
-
- scrollable: true,
- bodyPadding: 5,
-
- initComponent: function() {
- var me = this;
-
- var nodename = me.pveSelNode.data.node;
- if (!nodename) {
- throw "no node name specified";
- }
-
- var vmid = me.pveSelNode.data.vmid;
- if (!vmid) {
- throw "no VM ID specified";
- }
-
- if (!me.workspace) {
- throw "no workspace specified";
- }
-
- if (!me.statusStore) {
- throw "no status storage specified";
- }
-
- var template = !!me.pveSelNode.data.template;
- var rstore = me.statusStore;
-
- var width = template ? 1 : 0.5;
- var items = [
- {
- xtype: template ? 'pveTemplateStatusView' : 'pveGuestStatusView',
- responsiveConfig: {
- 'width < 1900': {
- columnWidth: width
- },
- 'width >= 1900': {
- columnWidth: width / 2
- }
- },
- itemId: 'gueststatus',
- pveSelNode: me.pveSelNode,
- rstore: rstore
- },
- {
- xtype: 'pveNotesView',
- maxHeight: 330,
- itemId: 'notesview',
- pveSelNode: me.pveSelNode,
- responsiveConfig: {
- 'width < 1900': {
- columnWidth: width
- },
- 'width >= 1900': {
- columnWidth: width / 2
- }
- }
- }
- ];
-
- var rrdstore;
- if (!template) {
-
- rrdstore = Ext.create('Proxmox.data.RRDStore', {
- rrdurl: "/api2/json/nodes/" + nodename + "/qemu/" + vmid + "/rrddata",
- model: 'pve-rrd-guest'
- });
-
- items.push(
- {
- xtype: 'proxmoxRRDChart',
- title: gettext('CPU usage'),
- pveSelNode: me.pveSelNode,
- fields: ['cpu'],
- fieldTitles: [gettext('CPU usage')],
- store: rrdstore
- },
- {
- xtype: 'proxmoxRRDChart',
- title: gettext('Memory usage'),
- pveSelNode: me.pveSelNode,
- fields: ['maxmem', 'mem'],
- fieldTitles: [gettext('Total'), gettext('RAM usage')],
- store: rrdstore
- },
- {
- xtype: 'proxmoxRRDChart',
- title: gettext('Network traffic'),
- pveSelNode: me.pveSelNode,
- fields: ['netin','netout'],
- store: rrdstore
- },
- {
- xtype: 'proxmoxRRDChart',
- title: gettext('Disk IO'),
- pveSelNode: me.pveSelNode,
- fields: ['diskread','diskwrite'],
- store: rrdstore
- }
- );
-
- }
-
- Ext.apply(me, {
- tbar: [ '->', { xtype: 'proxmoxRRDTypeSelector' } ],
- items: [
- {
- xtype: 'container',
- layout: {
- type: 'column'
- },
- defaults: {
- minHeight: 330,
- padding: 5,
- plugins: 'responsive',
- responsiveConfig: {
- 'width < 1900': {
- columnWidth: 1
- },
- 'width >= 1900': {
- columnWidth: 0.5
- }
- }
- },
- items: items
- }
- ]
- });
-
- me.callParent();
- if (!template) {
- rrdstore.startUpdate();
- me.on('destroy', rrdstore.stopUpdate);
- }
- }
-});