Class: LazyHighCharts::HighChart
- Inherits:
-
Object
- Object
- LazyHighCharts::HighChart
- Defined in:
- lib/lazy_high_charts/high_chart.rb
Constant Summary collapse
- CANVAS_DEFAULT_HTML_OPTIONS =
{ :style => "height: 300px, width:615px" }
- SERIES_OPTIONS =
%w(lines points bars shadowSize colors)
Instance Attribute Summary collapse
-
#data ⇒ Object
Returns the value of attribute data.
-
#html_options ⇒ Object
Returns the value of attribute html_options.
-
#options ⇒ Object
Returns the value of attribute options.
-
#placeholder ⇒ Object
(also: #canvas)
Returns the value of attribute placeholder.
Instance Method Summary collapse
-
#defaults_options ⇒ Object
title: legend: xAxis: yAxis: tooltip: credits: :plotOptions.
-
#initialize(canvas = nil, html_opts = {}) ⇒ HighChart
constructor
A new instance of HighChart.
-
#method_missing(meth, opts = {}) ⇒ Object
Pass other methods through to the javascript high_chart object.
-
#series(opts = {}) ⇒ Object
Add a simple series to the graph:.
Constructor Details
#initialize(canvas = nil, html_opts = {}) ⇒ HighChart
Returns a new instance of HighChart.
10 11 12 13 14 15 16 17 18 19 20 21 |
# File 'lib/lazy_high_charts/high_chart.rb', line 10 def initialize(canvas = nil, html_opts = {}) @collection_filter = nil self.tap do |high_chart| high_chart.data ||= [] high_chart. ||= {} high_chart. high_chart. = html_opts.reverse_merge(CANVAS_DEFAULT_HTML_OPTIONS) high_chart.canvas = canvas if canvas yield high_chart if block_given? end end |
Dynamic Method Handling
This class handles dynamic methods through the method_missing method
#method_missing(meth, opts = {}) ⇒ Object
Pass other methods through to the javascript high_chart object.
For instance: high_chart.grid(:color => "#699")
42 43 44 |
# File 'lib/lazy_high_charts/high_chart.rb', line 42 def method_missing(meth, opts = {}) meth, opts end |
Instance Attribute Details
#data ⇒ Object
Returns the value of attribute data.
6 7 8 |
# File 'lib/lazy_high_charts/high_chart.rb', line 6 def data @data end |
#html_options ⇒ Object
Returns the value of attribute html_options.
6 7 8 |
# File 'lib/lazy_high_charts/high_chart.rb', line 6 def @html_options end |
#options ⇒ Object
Returns the value of attribute options.
6 7 8 |
# File 'lib/lazy_high_charts/high_chart.rb', line 6 def @options end |
#placeholder ⇒ Object Also known as: canvas
Returns the value of attribute placeholder.
6 7 8 |
# File 'lib/lazy_high_charts/high_chart.rb', line 6 def placeholder @placeholder end |
Instance Method Details
#defaults_options ⇒ Object
title: legend: xAxis: yAxis: tooltip: credits: :plotOptions
25 26 27 28 29 30 31 32 33 34 35 |
# File 'lib/lazy_high_charts/high_chart.rb', line 25 def self.title({ :text=>"example test title from highcharts gem"}) self.legend({ :layout=>"vertical", :style=>{} }) self.xAxis({}) self.yAxis({ :title=> {:text=> nil}, :labels=>{} }) self.tooltip({ :enabled=>true }) self.credits({ :enabled => false}) self.plotOptions({ :areaspline => { } }) self.chart({ :defaultSeriesType=>"areaspline" , :renderTo => nil}) self.subtitle({}) end |
#series(opts = {}) ⇒ Object
Add a simple series to the graph:
data = [[0,5], [1,5], [2,5]]
@high_chart.series :name=>'Updated', :data=>data
@high_chart.series :name=>'Updated', :data=>[5, 1, 6, 1, 5, 4, 9]
52 53 54 55 56 57 58 59 |
# File 'lib/lazy_high_charts/high_chart.rb', line 52 def series(opts = {}) @data ||= [] if opts.blank? @data << .merge(:name => label, :data => d) else @data << opts.merge(:name => opts[:name], :data => opts[:data]) end end |