Module: HighchartsHelper

Defined in:
app/helpers/highcharts_helper.rb

Instance Method Summary collapse

Instance Method Details

#high_chart(placeholder, object, &block) ⇒ Object Also known as: highchart

ActiveSupport::JSON.unquote_hash_key_identifiers = false



4
5
6
7
8
9
# File 'app/helpers/highcharts_helper.rb', line 4

def high_chart(placeholder, object  , &block)
  object.html_options.merge!({:id=>placeholder})
  object.options[:chart][:renderTo] = placeholder
  output = high_graph(placeholder, object, &block)
  output << (:div, "", object.html_options)
end

#high_graph(placeholder, object, &block) ⇒ Object



13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
# File 'app/helpers/highcharts_helper.rb', line 13

def high_graph(placeholder, object, &block)
  graph = javascript_tag "  \n  \n  jQuery(function() {\n        // 1. Define JSON options\n        var options = {\n                      chart: \#{object.options[:chart].to_json},\n                      title: \#{object.options[:title].to_json},\n                      legend: \#{object.options[:legend].to_json},\n                      xAxis: \#{object.options[:x_axis].to_json},\n                      yAxis: \#{object.options[:y_axis].to_json},\n                      tooltip:  \#{object.options[:tooltip].to_json},\n                      credits: \#{object.options[:credits].to_json},\n                      plotOptions: \#{object.options[:plot_options].to_json},\n                      series: \#{object.data.to_json},\n                      subtitle: \#{object.options[:subtitle].to_json}\n                      };\n\n        // 2. Add callbacks (non-JSON compliant)\n         \#{capture(&block) if block_given?}\n        // 3. Build the chart\n        var chart = new Highcharts.Chart(options);\n    });\n  EOJS\nend\n"