Added everything
This commit is contained in:
		
							
								
								
									
										88
									
								
								dashboard_static/lib/wordcloud.js
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										88
									
								
								dashboard_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