Improve bytes formatting.

Also may or may not perform a bit better. Most likely the former.
This commit is contained in:
Nils Maier 2014-02-23 22:59:26 +01:00
parent 09120284c5
commit 0f4ddbd155

View File

@ -1,22 +1,28 @@
angular
.module('webui.filters.bytes', [])
.filter('changeLength', function() {
return function(len, pref) {
len = parseFloat(len);
if (len <= (1<<10)) return len.toFixed(1) + " " + pref;
else if(len <= (1<<20)) return (len/(1<<10)).toFixed(1) + " K" + pref;
else if(len <= (1<<30)) return (len/(1<<20)).toFixed(1) + " M" + pref;
else return (len/(1<<30)).toFixed(1) + " G" + pref;
};
})
(function() {
function fmtlen(len) {
len = +len; // coerce to number
if (len <= 1024) {
return len.toFixed(0) + " B";
}
len /= 1024;
if (len <= 1024) {
return len.toFixed(1) + " KB"
}
len /= 1024;
if (len <= 1024) {
return len.toFixed(2) + " MB";
}
len /= 1024;
return len.toFixed(3) + " GB";
}
angular .module('webui.filters.bytes', [])
.filter('blength', ['$filter', function(filter) {
return function(len) {
return filter('changeLength')(len, 'B');
};
return fmtlen;
}])
.filter('bspeed', ['$filter', function(filter) {
return function(speed) {
return filter('changeLength')(speed, 'B/s');
return fmtlen(speed) + "/s";
};
}])
.filter('time', function() {
@ -37,4 +43,5 @@ angular
return days + "::" + pad(hrs) + ":" + pad(mins) + ":" + pad(secs);
};
});
})();