/**
* mw_wp_form_google_chart
* Created: August 31, 2014
*/
jQuery( function( $ ) {
$.fn.mw_wp_form_google_chart = function( config ) {
var defaults = {
chart: 'pie',
data : []
};
var config = $.extend( defaults, config );
return this.each( function( i, e ) {
var data = google.visualization.arrayToDataTable( config.data );
var target = $( e ).get( 0 );
if ( config.chart === 'pie' ) {
var options = {
colors: getColors(),
backgroundColor: 'transparent',
chartArea: {
top : 10,
left : 0,
height: '90%'
},
legend: {
alignment: 'center'
},
height: 260
};
var chart = new google.visualization.PieChart( target );
} else if ( config.chart === 'bar' ) {
data = new google.visualization.DataView( data );
data.setColumns( [0, 1, {
calc: function ( dt, row ) {
var val = dt.getValue( row, 1 );
return {
v: ( val * 100 ).toFixed( 1 ) + ' %',
f: ( val * 100 ).toFixed( 1 ) + ' %'
};
},
type: 'string',
sourceColumn: 1,
role: 'annotation'
}] );
var height = ( config.data.length - 1 ) * 40;
var options = {
colors: getColors(),
backgroundColor: 'transparent',
chartArea: {
top : 0,
left : 160,
height: height,
width : '95%'
},
annotations: {
format: '#,#%',
textStyle: {
fontSize: 12,
}
},
hAxis: {
format: '#,#%',
textStyle: {
color: '#999',
fontSize: 13
}
},
vAxis: {
textStyle: {
color: '#444',
fontSize: 13
}
},
tooltip: {
trigger: 'none'
},
legend: {
position: 'none'
},
height: height + 30
};
var chart = new google.visualization.BarChart( target );
}
chart.draw( data, options );
} );
function getColors() {
var base_color = '1e8cbe';
var red = parseInt( base_color.substr( 0, 2 ), 16 );
var green = parseInt( base_color.substr( 2, 2 ), 16 );
var blue = parseInt( base_color.substr( 4, 2 ), 16 );
var count = config.data.length - 1;
var colors = [];
for ( i = 0; i <= count; i ++ ) {
red += 15;
if ( red > 209 ) {
red = 209;
}
green += 10;
if ( green > 223 ) {
green = 223;
}
blue += 5;
if ( blue > 229 ) {
blue = 229;
}
var hred = red.toString( 16 );
if ( hred.length < 2 ) {
hred += hred;
}
var hgreen = green.toString( 16 );
if ( hgreen.length < 2 ) {
hgreen += hgreen;
}
var hblue = blue.toString( 16 );
if ( hblue.length < 2 ) {
hblue += hblue;
}
colors.push( '#' + hred + hgreen + hblue );
}
return colors;
}
}
} );
Netco Oil Field Supplies Company – For Supply Petroleum Field Tasks