Changed tweets, added eca
This commit is contained in:
		
							
								
								
									
										108
									
								
								devjan_static/lib/barcharts.js
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										108
									
								
								devjan_static/lib/barcharts.js
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,108 @@ | ||||
| (function($, block) { | ||||
|  | ||||
| // a simple barchart example | ||||
| block.fn.barchart = function(config) { | ||||
|     var options = $.extend({ | ||||
|     	series : { "serie1":{ | ||||
|         	data: {"January": 10, "February": 8, "March": 4, "April": 13, "May": 20, "June": 9}, | ||||
|         	label: "serie 1", | ||||
|         	bars: { | ||||
|                 	show: true, | ||||
|                 	barWidth: 0.2, | ||||
|                 	align: "left" | ||||
|             	} | ||||
|        	  | ||||
|     	},  "serie2":{ | ||||
|         	data: {"January": 10, "February": 8, "March": 4, "April": 13, "May": 20, "June": 9}, | ||||
|         	label: "series 2", | ||||
|         	bars: { | ||||
|                 	show: true, | ||||
|                 	barWidth: 0.2, | ||||
|                 	align: "center" | ||||
|             	} | ||||
|     	},  "serie3":{ | ||||
|         	data: {"January": 10, "February": 8, "March": 4, "April": 13, "May": 20, "June": 9}, | ||||
|         	label: "series 3", | ||||
|         	bars: { | ||||
|                 	show: true, | ||||
|                 	barWidth: 0.2, | ||||
|                 	align: "right" | ||||
|             	} | ||||
|     	}} | ||||
|     }, config); | ||||
|  | ||||
|     var bar_init = { | ||||
|             xaxis: { | ||||
|                 mode: "categories", | ||||
|                 tickLength: 0 | ||||
|             } | ||||
| 	} | ||||
|  | ||||
|     var bardata_series = options.series; | ||||
|  | ||||
|     var translate_bar = function() { | ||||
|         var result = []; | ||||
| 	for(var k in bardata_series) { | ||||
| 	    if (bardata_series.hasOwnProperty(k)) { | ||||
| 		var newserie = jQuery.extend({}, bardata_series[k]); | ||||
|         	var newdata = []; | ||||
| 		var data = newserie.data; | ||||
| 		for(var l in data) { | ||||
| 	    	    if (data.hasOwnProperty(l)) { | ||||
| 			newdata.push([l,data[l]]); | ||||
| 		    } | ||||
| 		} | ||||
| 		newserie.data = newdata; | ||||
| 		result.push(newserie); | ||||
| 	    } | ||||
| 	} | ||||
| 	return result; | ||||
|     } | ||||
|  | ||||
|     var plot = $.plot(this.$element, translate_bar(), bar_init); | ||||
|  | ||||
|     var addbar = function(serie_label, category, value) { | ||||
| 	var data = bardata_series[serie_label].data; | ||||
| 	if (data.hasOwnProperty(category)) | ||||
| 		data[category] = (data[category] + value); | ||||
| 	else | ||||
| 		data[category] = value; | ||||
| 	redraw(); | ||||
|     } | ||||
|  | ||||
|     var setbar = function(serie_label, category, value) { | ||||
| 	var data = bardata_series[serie_label].data; | ||||
| 	data[category] = value; | ||||
| 	redraw(); | ||||
|     } | ||||
|  | ||||
|     var redraw = function() { | ||||
|         plot.setData(translate_bar()); | ||||
| 	plot.setupGrid(); | ||||
|         plot.draw(); | ||||
|     } | ||||
|  | ||||
|     var reset = function() { | ||||
| 	for(var k in bardata_series) { | ||||
| 	    if (bardata_series.hasOwnProperty(k)) { | ||||
| 		bardata_series[k].data = {}; | ||||
| 	    } | ||||
| 	} | ||||
|     } | ||||
|  | ||||
|     this.actions({ | ||||
|         'set': function(e, message) { | ||||
| 		setbar(message.series,message.value[0],message.value[1]); | ||||
|         }, | ||||
|         'add': function(e, message) { | ||||
| 		addbar(message.series,message.value[0],message.value[1]); | ||||
|         }, | ||||
|         'reset': function(e, message) { | ||||
| 		reset(); | ||||
| 	} | ||||
|     }); | ||||
|     // return element to allow further work | ||||
|     return this.$element; | ||||
| } | ||||
|  | ||||
| })(jQuery, block); | ||||
		Reference in New Issue
	
	Block a user