findVMID: function(vmid) {
var me = this, i;
-
+
return (me.findExact('vmid', parseInt(vmid, 10)) >= 0);
},
-
+
+ // returns the cached data from all nodes
+ getNodes: function() {
+ var me = this;
+
+ var nodes = [];
+ me.each(function(record) {
+ if (record.get('type') == "node") {
+ nodes.push( record.getData() );
+ }
+ });
+
+ return nodes;
+ },
+
constructor: function(config) {
// fixme: how to avoid those warnings
/*jslint confusion: true */
renderer: PVE.Utils.render_resource_type,
sortable: true,
hideable: false,
- width: 80
+ width: 100
},
id: {
header: 'ID',
hidden: true,
convert: function(value, record) {
var info = record.data;
- if (info.type === 'qemu' || info.type === 'lxc' || info.type === 'node') {
- return (Ext.isNumeric(info.uptime) && (info.uptime > 0));
- } else {
- return false;
- }
+ return (Ext.isNumeric(info.uptime) && (info.uptime > 0));
}
},
text: {
type: 'integer',
renderer: PVE.Utils.render_disk_usage,
sortable: true,
- width: 100
+ width: 100,
+ hidden: true
+ },
+ diskuse: {
+ header: gettext('Disk usage') + " %",
+ type: 'number',
+ sortable: true,
+ renderer: PVE.Utils.render_disk_usage_percent,
+ width: 100,
+ calculate: PVE.Utils.calculate_disk_usage,
+ sortType: 'asFloat'
},
maxdisk: {
header: gettext('Disk size'),
type: 'integer',
renderer: PVE.Utils.render_mem_usage,
sortable: true,
+ hidden: true,
+ width: 100
+ },
+ memuse: {
+ header: gettext('Memory usage') + " %",
+ type: 'number',
+ renderer: PVE.Utils.render_mem_usage_percent,
+ calculate: PVE.Utils.calculate_mem_usage,
+ sortType: 'asFloat',
+ sortable: true,
width: 100
},
maxmem: {
renderer: PVE.Utils.render_uptime,
sortable: true,
width: 110
- },
+ },
node: {
header: gettext('Node'),
type: 'string',
hidden: true,
sortable: true,
width: 110
+ },
+ hastate: {
+ header: gettext('HA State'),
+ type: 'string',
+ defaultValue: 'unmanaged',
+ hidden: true,
+ sortable: true
}
};
var fields = [];
var fieldNames = [];
Ext.Object.each(field_defaults, function(key, value) {
- if (!Ext.isDefined(value.convert)) {
- fields.push({name: key, type: value.type});
+ if (!Ext.isDefined(value.convert) && !Ext.isDefined(value.calculate)) {
+ var field = {name: key, type: value.type};
+ if (Ext.isDefined(value.defaultValue)) {
+ field.defaultValue = value.defaultValue;
+ }
+ fields.push(field);
fieldNames.push(key);
- } else if (key === 'text' || key === 'running') {
+ } else if (key === 'text' || key === 'running') {
fields.push({name: key, type: value.type, convert: value.convert});
fieldNames.push(key);
- }
+ } else {
+ value.name = key;
+ fields.push(value);
+ }
});
Ext.define('PVEResources', {
Ext.apply(config, {
storeid: 'PVEResources',
model: 'PVEResources',
- defaultColums: function() {
+ defaultColumns: function() {
var res = [];
Ext.Object.each(field_defaults, function(field, info) {
var fi = Ext.apply({ dataIndex: field }, info);