]> git.proxmox.com Git - pve-manager.git/blobdiff - www/manager6/data/ResourceStore.js
optimize 'running' field
[pve-manager.git] / www / manager6 / data / ResourceStore.js
index c757a4627f8982f3170b31c3252db94d039e11e1..fcdc1e27060e90434457bd77c1c3ff7c0895f921 100644 (file)
@@ -4,10 +4,24 @@ Ext.define('PVE.data.ResourceStore', {
 
     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 */
@@ -23,7 +37,7 @@ Ext.define('PVE.data.ResourceStore', {
                renderer: PVE.Utils.render_resource_type,
                sortable: true,
                hideable: false,
-               width: 80
+               width: 100
            },
            id: {
                header: 'ID',
@@ -39,11 +53,7 @@ Ext.define('PVE.data.ResourceStore', {
                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: {
@@ -94,7 +104,17 @@ Ext.define('PVE.data.ResourceStore', {
                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'),
@@ -109,6 +129,16 @@ Ext.define('PVE.data.ResourceStore', {
                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: {
@@ -178,7 +208,7 @@ Ext.define('PVE.data.ResourceStore', {
                renderer: PVE.Utils.render_uptime,
                sortable: true,
                width: 110
-           }, 
+           },
            node: {
                header: gettext('Node'),
                type: 'string',
@@ -199,19 +229,33 @@ Ext.define('PVE.data.ResourceStore', {
                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', {
@@ -232,7 +276,7 @@ Ext.define('PVE.data.ResourceStore', {
        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);