Sha256: a77a9aaeedd591cf1f46ff063c6ac42afe36be02888c243455089b97323c7080

Contents?: true

Size: 1.59 KB

Versions: 2

Compression:

Stored size: 1.59 KB

Contents

<%= javascript_include_tag 'https://www.google.com/jsapi' %>

<script type="text/javascript">
  google.load('visualization', '1', {'packages':['corechart']});
  google.setOnLoadCallback(drawCharts);

  function makeDataTable( element ) {
    var columns = eval( element.getAttribute( 'columns' ) );
    var data = eval( element.getAttribute( 'data' ) );
    var dataTable = new google.visualization.DataTable();

    for( i = 0; i < columns.length; i++ ) {
      dataTable.addColumn( columns[ i ][ 0 ], columns[ i ][ 1 ] );
    }

    dataTable.addRows( data  );

    return dataTable;
  }

  function makeChart( index, element ) {
    var dataTable =  makeDataTable( element );
    var customOptions = eval( element.getAttribute( 'options' ) );
    var defaultOptions = { is3D: true, title: element.getAttribute( 'name' ) };
    var chart = undefined;

    switch( element.getAttribute( 'chart' ) ) {
      case 'area':
        chart = new google.visualization.AreaChart( element );
        break;

      case 'bar':
        chart = new google.visualization.BarChart( element );
        break;

      case 'column':
        chart = new google.visualization.ColumnChart( element );
        break;

      case 'line':
        chart = new google.visualization.LineChart( element );
        break;

      case 'pie':
        chart = new google.visualization.PieChart( element );
        break;
    }

    if ( chart != undefined ) {
      jQuery.extend( true, defaultOptions, customOptions );
      chart.draw( dataTable, defaultOptions );
    }
  }

  function drawCharts() {
    $('[chart]').each( makeChart );
   }


</script>

Version data entries

2 entries across 2 versions & 1 rubygems

Version Path
report_cat-5.0.3 app/views/report_cat/reports/_google_charts.html.erb
report_cat-5.0.2 app/views/report_cat/reports/_google_charts.html.erb