Sha256: 9ebbb08ff9e8d0053e657e980fda0f592a7edbd8e5b13987cc71b0fa4b262a6b

Contents?: true

Size: 1.45 KB

Versions: 4

Compression:

Stored size: 1.45 KB

Contents

module HighchartsHelper
  
 # ActiveSupport::JSON.unquote_hash_key_identifiers = false
  def high_chart(placeholder, object  , &block)
    object.html_options.merge!({:id=>placeholder})
    object.options[:chart][:renderTo] = placeholder
    output = high_graph(placeholder, object, &block)
    output << content_tag(:div, "", object.html_options)
  end
  
  alias highchart high_chart

  def high_graph(placeholder, object, &block)
    graph = javascript_tag <<-EOJS
    
    
    jQuery(function() {
          // 1. Define JSON options
          var options = {
                        chart: #{object.options[:chart].to_json},
                     		title: #{object.options[:title].to_json},
                     		legend: #{object.options[:legend].to_json},
                     		xAxis: #{object.options[:x_axis].to_json},
                     		yAxis: #{object.options[:y_axis].to_json},
                        tooltip:  #{object.options[:tooltip].to_json},
                     		credits: #{object.options[:credits].to_json},
                     		plotOptions: #{object.options[:plot_options].to_json},
                     		series: #{object.data.to_json},
                     		subtitle: #{object.options[:subtitle].to_json}
                        };

          // 2. Add callbacks (non-JSON compliant)
           #{capture(&block) if block_given?}
          // 3. Build the chart
          var chart = new Highcharts.Chart(options);
      });
    EOJS
  end
  
end

Version data entries

4 entries across 4 versions & 1 rubygems

Version Path
yeqs_jquery-0.0.8 app/helpers/highcharts_helper.rb
yeqs_jquery-0.0.7 app/helpers/highcharts_helper.rb
yeqs_jquery-0.0.6 app/helpers/highcharts_helper.rb
yeqs_jquery-0.0.5 app/helpers/highcharts_helper.rb