This repository has been archived on 2022-01-02. You can view files and clone it, but cannot push or open issues or pull requests.
AriaNg/src/scripts/filters/volumn.js

38 lines
956 B
JavaScript
Raw Normal View History

2016-05-13 18:09:12 +02:00
(function () {
'use strict';
2016-06-26 08:06:20 +02:00
angular.module('ariaNg').filter('readableVolumn', ['$filter', function ($filter) {
2016-05-13 18:09:12 +02:00
var units = [ 'B', 'KB', 'MB', 'GB' ];
var defaultFractionSize = 2;
2016-05-13 18:09:12 +02:00
return function (value, fractionSize) {
2016-05-13 18:09:12 +02:00
var unit = units[0];
if (angular.isUndefined(fractionSize)) {
fractionSize = defaultFractionSize;
}
2016-06-18 16:32:23 +02:00
if (!value) {
value = 0;
}
if (!angular.isNumber(value)) {
value = parseInt(value);
}
2016-05-13 18:09:12 +02:00
for (var i = 1; i < units.length; i++) {
if (value >= 1024) {
value = value / 1024;
unit = units[i];
} else {
break;
}
2016-05-13 18:09:12 +02:00
}
2016-06-26 08:06:20 +02:00
value = $filter('number')(value, fractionSize);
2016-05-13 18:09:12 +02:00
return value + ' ' + unit;
2016-12-10 18:50:25 +01:00
};
2016-05-13 18:09:12 +02:00
}]);
2016-08-01 16:49:16 +02:00
}());