diff options
author | Morris Jobke <morris.jobke@gmail.com> | 2014-06-02 10:38:46 +0200 |
---|---|---|
committer | Morris Jobke <morris.jobke@gmail.com> | 2014-06-02 15:33:09 +0200 |
commit | 5d457dafc1d8a2aafb0d630a7f8a5b56cef7d97b (patch) | |
tree | f1bd503c4325abc493b70f10507bfea53186afa7 /core/js/js.js | |
parent | d39216c5e76b32c496ff39c19bddfbc4fa4247ac (diff) | |
download | nextcloud-server-5d457dafc1d8a2aafb0d630a7f8a5b56cef7d97b.tar.gz nextcloud-server-5d457dafc1d8a2aafb0d630a7f8a5b56cef7d97b.zip |
display "<1 kB" for really small files
* added parameters for humanFileSize to trigger that behaviour
* add unit tests for that
Diffstat (limited to 'core/js/js.js')
-rw-r--r-- | core/js/js.js | 10 |
1 files changed, 9 insertions, 1 deletions
diff --git a/core/js/js.js b/core/js/js.js index cf35d8aac6a..cbe466bf11c 100644 --- a/core/js/js.js +++ b/core/js/js.js @@ -1163,9 +1163,10 @@ $.fn.filterAttr = function(attr_name, attr_value) { /** * Returns a human readable file size * @param {number} size Size in bytes + * @param {boolean} skipSmallSizes return '< 1 kB' for small files * @return {string} */ -function humanFileSize(size) { +function humanFileSize(size, skipSmallSizes) { var humanList = ['B', 'kB', 'MB', 'GB', 'TB']; // Calculate Log with base 1024: size = 1024 ** order var order = size?Math.floor(Math.log(size) / Math.log(1024)):0; @@ -1173,6 +1174,13 @@ function humanFileSize(size) { order = Math.min(humanList.length - 1, order); var readableFormat = humanList[order]; var relativeSize = (size / Math.pow(1024, order)).toFixed(1); + if(skipSmallSizes === true && order === 0) { + if(relativeSize !== "0.0"){ + return '< 1 kB'; + } else { + return '0 kB'; + } + } if(order < 2){ relativeSize = parseFloat(relativeSize).toFixed(0); } |