Changed tweets, added eca
This commit is contained in:
78
devjan_static/lib/charts.js
Normal file
78
devjan_static/lib/charts.js
Normal file
@@ -0,0 +1,78 @@
|
||||
(function($, block) {
|
||||
|
||||
// a simple rolling chart with memory
|
||||
block.fn.rolling_chart = function(config) {
|
||||
var options = $.extend({
|
||||
memory: 100,
|
||||
series: { serie : {label:"serie", color:'black'} }
|
||||
}, config);
|
||||
|
||||
var handle_data = function(values) {
|
||||
var result = [];
|
||||
|
||||
for(var i in values) {
|
||||
result.push([i, values[i]]);
|
||||
}
|
||||
return result;
|
||||
};
|
||||
|
||||
var xo = { series: {
|
||||
lines: { show: true },
|
||||
points: {
|
||||
radius: 3,
|
||||
show: true,
|
||||
fill: true
|
||||
}
|
||||
}};
|
||||
|
||||
var plot = $.plot(this.$element, [] , {});
|
||||
|
||||
var reset = function() {
|
||||
var result = options.series;
|
||||
for(var k in result) {
|
||||
if (result.hasOwnProperty(k)) {
|
||||
result[k].databuffer = [];
|
||||
}
|
||||
}
|
||||
return result;
|
||||
}
|
||||
|
||||
var plot_series = reset();
|
||||
|
||||
var add_to_serie = function(skey,value) {
|
||||
var databuffer = plot_series[skey].databuffer;
|
||||
if(databuffer.length > options.memory) {
|
||||
plot_series[skey].databuffer = databuffer.slice(1);
|
||||
}
|
||||
databuffer.push(value);
|
||||
}
|
||||
|
||||
var redraw = function(serie_value) {
|
||||
var plot_current = [];
|
||||
var mykeys = Object.keys(plot_series);
|
||||
for(var mykey in mykeys) {
|
||||
var skey = mykeys[mykey];
|
||||
var serie = plot_series[skey];
|
||||
// serie['databuffer'].push(serie_value[skey]);
|
||||
add_to_serie(skey,serie_value[skey]);
|
||||
serie['data'] = handle_data(serie['databuffer']);
|
||||
plot_current.push(serie);
|
||||
}
|
||||
plot.setData(plot_current);
|
||||
plot.setupGrid();
|
||||
plot.draw();
|
||||
}
|
||||
|
||||
this.actions({
|
||||
'add': function(e, message) {
|
||||
redraw(message.value);
|
||||
},
|
||||
'reset': function(e, message) {
|
||||
plot_series = reset();
|
||||
}
|
||||
});
|
||||
// return element to allow further work
|
||||
return this.$element;
|
||||
}
|
||||
|
||||
})(jQuery, block);
|
||||
Reference in New Issue
Block a user