From d8dfb3471df9b01004bae35c3ba830346b57969a Mon Sep 17 00:00:00 2001 From: Jorge Daniel Sampayo Vargas Date: Wed, 23 Mar 2016 17:01:42 -0600 Subject: [PATCH 1/2] Make graph variables accesible with the window scope --- lib/google_visualr/base_chart.rb | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) diff --git a/lib/google_visualr/base_chart.rb b/lib/google_visualr/base_chart.rb index 56923b2..34f5825 100644 --- a/lib/google_visualr/base_chart.rb +++ b/lib/google_visualr/base_chart.rb @@ -44,6 +44,10 @@ def chart_function_name(element_id) "draw_#{element_id.gsub('-', '_')}" end + def global_name(element_id) + "#{element_id.gsub('-', '_')}" + end + def options @options end @@ -91,7 +95,11 @@ def draw_js(element_id) @listeners.each do |listener| js << "\n google.visualization.events.addListener(chart, '#{listener[:event]}', #{listener[:callback]});" end - js << "\n chart.draw(data_table, #{js_parameters(@options)});" + js << "\n options = #{js_parameters(@options)}" + js << "\n chart.draw(data_table, options);" + js << "\n window.options_#{global_name(element_id)} = options;" + js << "\n window.data_table_#{global_name(element_id)} = data_table;" + js << "\n window.#{global_name(element_id)} = chart;" js << "\n };" js end From 1c7e598fcec74032fdda204216ad06be4903e7f3 Mon Sep 17 00:00:00 2001 From: Jorge Daniel Sampayo Vargas Date: Tue, 29 Mar 2016 12:13:24 -0600 Subject: [PATCH 2/2] Add the formatter to the window scope --- lib/google_visualr/base_chart.rb | 1 + 1 file changed, 1 insertion(+) diff --git a/lib/google_visualr/base_chart.rb b/lib/google_visualr/base_chart.rb index 34f5825..46eebbf 100644 --- a/lib/google_visualr/base_chart.rb +++ b/lib/google_visualr/base_chart.rb @@ -97,6 +97,7 @@ def draw_js(element_id) end js << "\n options = #{js_parameters(@options)}" js << "\n chart.draw(data_table, options);" + js << "\n window.formatter_#{global_name(element_id)} = formatter;" js << "\n window.options_#{global_name(element_id)} = options;" js << "\n window.data_table_#{global_name(element_id)} = data_table;" js << "\n window.#{global_name(element_id)} = chart;"