/*
*
* jQuery Google Charts - Table Plugin 0.9
*
* $Date: 2009/10/01 18:28:41 $
* $Rev:171 $
*
* @requires
* jGCharts Base
* Metadata
*
* Copyright (c) 2008 Massimiliano Balestrieri
* Examples and docs at: http://maxb.net/blog/
* Licensed GPL licenses:
* http://www.gnu.org/licenses/gpl.html
*
*/
if(!window.jGCharts)
alert("Include jGCharts Base Plugin");
jGCharts.Table = {
init : function(options){
return this.each(function(nr, el){
var that = this;
var _table = jQuery(that).find("table").eq(0);
var _options = jQuery.extend({
single : 'metadata'
}, options);
if(!_options.target){
var _target = jQuery('
');
jQuery(that).prepend(_target);
}else{
var _target = jQuery(_options.target);
}
_options = jQuery.extend(jQuery(that).metadata({cre: /({[\s\S]*})/, single : _options.single.toString()}), _options);
//console.log(_options);
if(!_options.data){
_options.data = [];
for(var x= 0;x< jQuery(that).find("tbody > tr").size();x++){
_options.data.push(
jQuery.map( jQuery(that).find("tbody > tr:eq(" + x + ") > td"),
function(td,index){
//if(index % 11 == 1 || index % 11 == 2){
if(parseFloat(jQuery(td).text()))
return parseFloat(jQuery(td).text());
else
return 0;
//}
}
)
);
}
}
//console.log(_options.data);
if(!_options.axis_labels)
_options.axis_labels = jQuery.map( jQuery(that).find("tbody > tr > th.serie"),
function(th) { return jQuery(th).text(); }
);
if(!_options.legend)
_options.legend = jQuery.map( jQuery(that).find("thead > tr:last > th.serie"),
function(th) { return jQuery(th).text(); }
);
var api = new jGCharts.Api();
var url = api.make(_options);
var ch = jQuery('
![]()
')
.attr('src', url);
if(_options.gui){
ch.addClass("jggui");
}
_target
.append(ch);
});
}
};
jQuery.fn.jgtable = jGCharts.Table.init;