web/js/fnordmetric.util.js in fnordmetric-1.0.1 vs web/js/fnordmetric.util.js in fnordmetric-1.2.0

- old
+ new

@@ -80,11 +80,11 @@ } } FnordMetric.util.formatValue = function(value){ if(value < 10){ - return value.toFixed(2); + return value.toFixed(1); } if(value < 100){ return value.toFixed(1); } else if(value > 1000){ return (value/1000.0).toFixed(1) + "k"; @@ -125,14 +125,16 @@ } else { return FnordMetric.util.formatValue(value); } } -FnordMetric.util.updateNumbers = function(trgt_elem, diff_factor){ +FnordMetric.util.updateNumbers = function(trgt_elem, diff_factor, single){ var still_running = false; if(!diff_factor){ diff_factor = 4; } - $('.number', $(trgt_elem)).each(function(){ + var elems = []; + if (single) { elems = [trgt_elem]; } else { elems = $('.number', $(trgt_elem)); } + $(elems).each(function(){ var target_val = parseFloat($(this).attr('data')); var current_val = parseFloat($(this).attr('data-current')); if(!current_val){ current_val=0; } if(!target_val){ target_val=0; } var diff = (target_val-current_val)/diff_factor; @@ -142,19 +144,21 @@ still_running = true; var new_val = current_val+diff; if((diff > 0) && (new_val > target_val)){ new_val = target_val; } if((diff < 0) && (new_val < target_val)){ new_val = target_val; } $(this).attr('data-current', new_val); - $('.value', this).html(FnordMetric.util.formatGaugeValue($(this).attr('rel'), new_val)); + var val_txt = FnordMetric.util.formatGaugeValue($(this).attr('rel'), new_val); + if ($(this).attr('data-unit')){ val_txt += $(this).attr('data-unit'); } + if (single) { $(this).html(val_txt); } else { $('.value', this).html(val_txt); } } }); if(still_running){ - (function(te, df){ + (function(te, df, sg){ window.setTimeout(function(){ - FnordMetric.util.updateNumbers(te, df); + FnordMetric.util.updateNumbers(te, df, sg); }, 30); - })(trgt_elem, diff_factor); + })(trgt_elem, diff_factor, single); } } FnordMetric.util.dateFormat = function(timestamp){ var t = new Date(timestamp*1000); @@ -239,6 +243,6 @@ str = "FnordMetric.util."+str.substring(1) return eval(str); } else { return str; } -} \ No newline at end of file +}