Changed tweets, added eca
This commit is contained in:
88
template_static/lib/wordcloud.js
Normal file
88
template_static/lib/wordcloud.js
Normal file
@@ -0,0 +1,88 @@
|
||||
(function($, block) {
|
||||
// a simple wordcloud example
|
||||
block.fn.wordcloud = function(config) {
|
||||
var options = $.extend({
|
||||
filter_function : function(cat,val,max) { return true; },
|
||||
weight_function : function(cat,val,max) { return val; },
|
||||
options : {}
|
||||
}, config);
|
||||
|
||||
var $container = $(this.$element);
|
||||
|
||||
// dict containing the labels and values
|
||||
var worddata_dict = {};
|
||||
var dirty = false;
|
||||
|
||||
var addword = function(label, value) {
|
||||
if (worddata_dict.hasOwnProperty(label)) {
|
||||
worddata_dict[label] += value;
|
||||
} else {
|
||||
worddata_dict[label] = value;
|
||||
}
|
||||
flag_dirty();
|
||||
}
|
||||
|
||||
var setword = function(label, value) {
|
||||
worddata_dict[label] = value;
|
||||
flag_dirty();
|
||||
}
|
||||
|
||||
var flag_dirty = function() {
|
||||
dirty = true;
|
||||
}
|
||||
|
||||
var redraw = function() {
|
||||
if(!dirty) {
|
||||
window.setTimeout(redraw, 500);
|
||||
return;
|
||||
}
|
||||
|
||||
var result = [];
|
||||
var max = 0;
|
||||
|
||||
for (var k in worddata_dict) {
|
||||
if (worddata_dict.hasOwnProperty(k)) {
|
||||
max = Math.max(max, worddata_dict[k]);
|
||||
}
|
||||
}
|
||||
|
||||
for (var k in worddata_dict) {
|
||||
if (worddata_dict.hasOwnProperty(k)) {
|
||||
var val = worddata_dict[k];
|
||||
if (options.filter_function(k,val,max)) {
|
||||
result.push({
|
||||
text: k,
|
||||
weight: options.weight_function(k,val,max)
|
||||
});
|
||||
}
|
||||
}
|
||||
}
|
||||
$($container).empty().jQCloud(result,$.extend(options.options,{delayedMode: false}));
|
||||
|
||||
dirty = false;
|
||||
window.setTimeout(redraw, 500);
|
||||
}
|
||||
|
||||
var reset = function() {
|
||||
worddata_dict = {};
|
||||
}
|
||||
|
||||
this.actions({
|
||||
'set': function(e, message) {
|
||||
setword(message.value[0], message.value[1]);
|
||||
},
|
||||
'add': function(e, message) {
|
||||
addword(message.value[0], message.value[1]);
|
||||
},
|
||||
'reset': function(e, message) {
|
||||
reset();
|
||||
}
|
||||
});
|
||||
|
||||
// start redraw loop
|
||||
window.setTimeout(redraw, 500);
|
||||
|
||||
// return element to allow further work
|
||||
return this.$element;
|
||||
}
|
||||
})(jQuery, block);
|
||||
Reference in New Issue
Block a user