]> git.proxmox.com Git - pve-manager-legacy.git/commitdiff
fix #143: add disk/mem percent sort
authorDominik Csapak <d.csapak@proxmox.com>
Fri, 15 Apr 2016 13:26:28 +0000 (15:26 +0200)
committerDietmar Maurer <dietmar@proxmox.com>
Wed, 20 Apr 2016 07:36:23 +0000 (09:36 +0200)
previously, we had a disk/memory usage column in the resource grid,
whose raw data were the bytes used, but we added a renderer
to display it as percentage

with this, the columns sorted by bytes and not by percentage,
which made the column rather confusing

with this patch, we add a real percentage column (where the
data is a float from 0 to 1) so it sorts correctly

also make the old columns show the used size in B/KiB/etc.
by default we still only show the percentage column

since the disk usage part was always zero with qemu guests,
leave it empty there

Signed-off-by: Dominik Csapak <d.csapak@proxmox.com>
debian/changelog.Debian
www/manager6/Utils.js
www/manager6/data/ResourceStore.js
www/manager6/form/NodeSelector.js

index 1d4e760e1009ea5791f70de3bc33f9541ae48613..dc8dc1d550b530d68938176cc88e4e3c0860f8e3 100644 (file)
@@ -2,6 +2,8 @@ pve-manager (4.1-32) unstable; urgency=medium
 
   * GUI: enhace visibillity of dialog window border
 
+  * fix #143: add disk/mem percent sort
+
  -- Proxmox Support Team <support@proxmox.com>  Wed, 20 Apr 2016 09:21:17 +0200
 
 pve-manager (4.1-31) unstable; urgency=medium
index 3b7848aeb9e480c5c5809723306d3865429d978b..0d90f449ee9446c24385a403a364ba5b9e0c2d1d 100644 (file)
@@ -904,9 +904,7 @@ Ext.define('PVE.Utils', { statics: {
            return '';
        }
 
-       var per = (mem * 100) / maxmem;
-
-       return per.toFixed(1) + '%';
+       return PVE.Utils.render_size(value);
     },
 
     calculate_disk_usage: function(data) {
@@ -933,14 +931,16 @@ Ext.define('PVE.Utils', { statics: {
 
        var disk = value;
        var maxdisk = record.data.maxdisk;
+       var type = record.data.type;
 
-       if (!(Ext.isNumeric(disk) && maxdisk)) {
+       if (!Ext.isNumeric(disk) ||
+           type === 'qemu' ||
+           maxdisk === 0 ||
+           (type === 'lxc' && record.data.uptime === 0)) {
            return '';
        }
 
-       var per = (disk * 100) / maxdisk;
-
-       return per.toFixed(1) + '%';
+       return PVE.Utils.render_size(value);
     },
 
     render_resource_type: function(value, metaData, record, rowIndex, colIndex, store) {
index 4c409defb2f762cfc9a7d46c0e5e4b266f52a1e1..538f860aa69bee8bb475f95fc930003e9dd06718 100644 (file)
@@ -94,7 +94,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 +119,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: {
@@ -205,13 +225,16 @@ Ext.define('PVE.data.ResourceStore', {
        var fields = [];
        var fieldNames = [];
        Ext.Object.each(field_defaults, function(key, value) {
-           if (!Ext.isDefined(value.convert)) {
+           if (!Ext.isDefined(value.convert) && !Ext.isDefined(value.calculate)) {
                fields.push({name: key, type: value.type});
                fieldNames.push(key);
            } 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', {
index 2a7f01321c15d90dc9523aa8400418085012aac8..8c694303930b90f4210297a39017616fb6da1204 100644 (file)
@@ -43,8 +43,8 @@ Ext.define('PVE.form.NodeSelector', {
                flex: 1
            },
            {
-               header: gettext('Memory usage'),
-               renderer: PVE.Utils.render_mem_usage,
+               header: gettext('Memory usage') + " %",
+               renderer: PVE.Utils.render_mem_usage_percent,
                sortable: true,
                width: 100,
                dataIndex: 'mem'