web/js/fnordmetric.numbers_widget.js in fnordmetric-1.0.1 vs web/js/fnordmetric.numbers_widget.js in fnordmetric-1.2.0
- old
+ new
@@ -13,23 +13,19 @@
'marginBottom': 20,
'overflow': 'hidden'
});
if(!opts.series_titles){
- opts.series_titles = {};
+ opts.series_titles = opts.series;
}
for(k in opts.series){
- if (!opts.series_titles[opts.series[k]]){
- opts.series_titles[opts.series[k]] = opts.series[k];
- }
-
var container = $('<div></div>')
.addClass('numbers_container')
.attr('rel', opts.series[k])
- .append($('<div class="title">').html(opts.series_titles[opts.series[k]]));
+ .append($('<div class="title">').html(opts.series_titles[k]));
opts.elem.append(container);
}
if(opts.autoupdate){
@@ -51,20 +47,20 @@
function resize(){
$('.numbers_container', opts.elem).each(function(i, e){
var num_numbers = $('.number', e).length;
if(num_numbers > max_per_row){ num_numbers = max_per_row; }
- $(e).css('width', (num_numbers * 95)+'px');
+ $(e).css('width', (num_numbers * 90)+'px');
});
}
function requestValues(){
for(k in opts.series){
FnordMetric.publish({
"namespace": FnordMetric.currentNamespace,
"type": "widget_request",
- "klass": "NumbersWidget",
+ "klass": "generic",
"channel": opts.channel,
"cmd": "values_for",
"gauge": opts.series[k],
"offsets": opts.offsets,
"widget_key": opts.widget_key
@@ -84,38 +80,43 @@
velem = $('<div></div>')
.addClass('number')
.attr('rel', vkey)
.append($('<span class="desc">').html(vdesc))
.append($('<span class="value">').html(0))
+
+ if (opts.series_units[series]) {
+ velem.attr("data-unit", opts.series_units[series]);
+ }
+
celem.append(velem);
}
if(!!opts.dont_animate){
- velem.attr('data', values[vkey].value)
+ velem.attr('data', values[vkey].value)
$('.value', velem).html(FnordMetric.util.formatGaugeValue(vkey, values[vkey].value));
} else {
- velem.attr('data', values[vkey].value)
+ velem.attr('data', values[vkey].value)
}
}
-
+
resize();
if(!opts.dont_animate){
FnordMetric.util.updateNumbers($(opts.elem), 4);
}
}
function announce(ev){
if(ev.widget_key == opts.widget_key){
- if((ev.class == "widget_response") && (ev.cmd == "values_for")){
- renderValues(ev.series, ev.values)
+ if((ev.type == "widget_response") && (ev.cmd == "values_for")){
+ renderValues(ev.gauge, ev.values)
}
}
}
return {
render: render,
announce: announce
};
-};
\ No newline at end of file
+};