From 02f47fe8e0823f7ed5c1dc615c3250cd88f0e4f8 Mon Sep 17 00:00:00 2001 From: Dominik Csapak Date: Fri, 15 Apr 2016 15:26:26 +0200 Subject: [PATCH] generalize format_size function now it calculates the size in a general way, up to the size defined in an array Signed-off-by: Dominik Csapak --- www/manager6/Utils.js | 30 ++++++------------------------ 1 file changed, 6 insertions(+), 24 deletions(-) diff --git a/www/manager6/Utils.js b/www/manager6/Utils.js index 1437449e..2c536aab 100644 --- a/www/manager6/Utils.js +++ b/www/manager6/Utils.js @@ -622,32 +622,14 @@ Ext.define('PVE.Utils', { statics: { format_size: function(size) { /*jslint confusion: true */ - if (size < 1024) { - return size; + var units = ['', 'Ki', 'Mi', 'Gi', 'Ti', 'Pi', 'Ei', 'Zi', 'Yi']; + var num = 0; + + while (size >= 1024 && ((num++)+1) < units.length) { + size = size / 1024; } - var kb = size / 1024; - - if (kb < 1024) { - return kb.toFixed(0) + "KiB"; - } - - var mb = size / (1024*1024); - - if (mb < 1024) { - return mb.toFixed(0) + "MiB"; - } - - var gb = mb / 1024; - - if (gb < 1024) { - return gb.toFixed(2) + "GiB"; - } - - var tb = gb / 1024; - - return tb.toFixed(2) + "TiB"; - + return size.toFixed((num > 0)?2:0) + " " + units[num] + "B"; }, format_html_bar: function(per, text) {