1
0
mirror of https://github.com/OpenNebula/one.git synced 2025-03-23 22:50:09 +03:00

Feature #3748: Humanize Size as Handlebar helper

This commit is contained in:
Carlos Martín 2015-06-08 11:39:23 +02:00
parent b0eb8f1f19
commit 40fe976d47
2 changed files with 40 additions and 0 deletions

View File

@ -0,0 +1,30 @@
define(function(require) {
var Handlebars = require('hbs/handlebars');
var Humanize = require('utils/humanize');
/**
* Returns a human readable size in Kilo, Mega, Giga or Tera bytes
* @param {string} unit one of MB, KB, B
* @param {integer} value value
* @param {object} options
* @return {string} human readable size
*/
var humanizeSize = function(unit, value, options) {
switch(unit.toUpperCase()){
case 'B':
return Humanize.sizeFromB(value);
case 'K':
case 'KB':
return Humanize.sizeFromKB(value);
case 'M':
case 'MB':
return Humanize.sizeFromMB(value);
default:
return value;
}
};
Handlebars.registerHelper('humanizeSize', humanizeSize);
return humanizeSize;
});

View File

@ -12,6 +12,8 @@ define(function(require) {
return {
'size': _size,
'sizeFromB': _sizeFromB,
'sizeFromKB': _sizeFromKB,
'sizeFromMB': _sizeFromMB,
'prettyTime': _prettyTime,
'prettyTimeAxis': _prettyTimeAxis,
@ -52,6 +54,14 @@ define(function(require) {
return st;
}
function _sizeFromB(value) {
return _size(value, true);
}
function _sizeFromKB(value) {
return _size(value);
}
function _sizeFromMB(value) {
if (typeof(value) === "undefined") {
value = 0;