anychart_xml_builder 0.0.9 → 0.0.11
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- data/.gitignore +21 -0
- data/Rakefile +1 -1
- data/anychart_xml_builder.gemspec +5 -3
- data/lib/anychart/anychart_helpers.rb +45 -39
- data/lib/line_bar.rb +9 -4
- metadata +11 -5
data/.gitignore
ADDED
data/Rakefile
CHANGED
@@ -4,7 +4,7 @@ require 'rake'
|
|
4
4
|
begin
|
5
5
|
require 'jeweler'
|
6
6
|
Jeweler::Tasks.new do |gem|
|
7
|
-
gem.version = "0.0.
|
7
|
+
gem.version = "0.0.11"
|
8
8
|
gem.name = "anychart_xml_builder"
|
9
9
|
gem.summary = %Q{AnyChart (http://anychart.com/home/) XML Builders}
|
10
10
|
gem.description = %Q{This gem provides you the methods to easily generate the XML necessary for AnyChart}
|
@@ -5,11 +5,11 @@
|
|
5
5
|
|
6
6
|
Gem::Specification.new do |s|
|
7
7
|
s.name = %q{anychart_xml_builder}
|
8
|
-
s.version = "0.0.
|
8
|
+
s.version = "0.0.11"
|
9
9
|
|
10
10
|
s.required_rubygems_version = Gem::Requirement.new(">= 0") if s.respond_to? :required_rubygems_version=
|
11
11
|
s.authors = ["jduarte"]
|
12
|
-
s.date = %q{2011-
|
12
|
+
s.date = %q{2011-02-26}
|
13
13
|
s.description = %q{This gem provides you the methods to easily generate the XML necessary for AnyChart}
|
14
14
|
s.email = %q{jose.fduarte@gmail.com}
|
15
15
|
s.extra_rdoc_files = [
|
@@ -20,6 +20,7 @@ Gem::Specification.new do |s|
|
|
20
20
|
".document",
|
21
21
|
".gitignore",
|
22
22
|
".project",
|
23
|
+
"HELP_COMMIT",
|
23
24
|
"LICENSE",
|
24
25
|
"README.rdoc",
|
25
26
|
"Rakefile",
|
@@ -27,9 +28,10 @@ Gem::Specification.new do |s|
|
|
27
28
|
"lib/anychart/anychart_helpers.rb",
|
28
29
|
"lib/anychart_xml_builder.rb",
|
29
30
|
"lib/column_bar.rb",
|
30
|
-
"lib/line_bar.rb",
|
31
31
|
"lib/init.rb",
|
32
|
+
"lib/line_bar.rb",
|
32
33
|
"lib/pie.rb",
|
34
|
+
"lib/xml_sections/chart_background.rb",
|
33
35
|
"lib/xml_sections/chart_title.rb",
|
34
36
|
"lib/xml_sections/legend.rb",
|
35
37
|
"test/helper.rb",
|
@@ -10,68 +10,74 @@ module ActionView #:nodoc:
|
|
10
10
|
end
|
11
11
|
|
12
12
|
module InstanceMethods
|
13
|
-
rand = ActiveSupport::SecureRandom.hex
|
14
|
-
@@default_options = {
|
15
|
-
:anychart_swf_path => '/anychart/swf/AnyChart.swf',
|
16
|
-
:anychart_swf_preloader => '/anychart/swf/Preloader.swf',
|
17
|
-
:wrap_id => "anychart_wrap_#{rand}",
|
18
|
-
:wrap_class => "anychart_wrap",
|
19
|
-
:id => "anychart_graph_#{rand}",
|
20
|
-
:class => "anychart_graph",
|
21
|
-
:chart_height => "100%",
|
22
|
-
:chart_width => "100%"
|
23
|
-
}
|
24
|
-
|
25
13
|
def anychart(xml, options={})
|
26
|
-
|
14
|
+
random_hex = ActiveSupport::SecureRandom.hex
|
15
|
+
|
16
|
+
default_options = {
|
17
|
+
:anychart_swf_path => '/anychart/swf/AnyChart.swf',
|
18
|
+
:anychart_swf_preloader => '/anychart/swf/Preloader.swf',
|
19
|
+
:wrap_id => "anychart_wrap_#{random_hex}",
|
20
|
+
:wrap_class => "anychart_wrap",
|
21
|
+
:id => "anychart_graph_#{random_hex}",
|
22
|
+
:class => "anychart_graph",
|
23
|
+
:background_color => "#999999",
|
24
|
+
:wMode => "transparent",
|
25
|
+
:chart_height => "100%",
|
26
|
+
:chart_width => "100%",
|
27
|
+
:classid => "clsid:CLA_#{random_hex}",
|
28
|
+
:js_chart_name => "chart_#{random_hex}",
|
29
|
+
:show_get_flash_player_message => true
|
30
|
+
}
|
31
|
+
|
32
|
+
opts = default_options.merge(options)
|
27
33
|
|
28
34
|
chart_height = opts[:chart_height].kind_of?(String) ? opts[:chart_height] : "#{opts[:chart_height]}px"
|
29
35
|
chart_width = opts[:chart_width].kind_of?(String) ? opts[:chart_width] : "#{opts[:chart_width]}px"
|
30
36
|
|
37
|
+
get_flash_player_message = "<script type='text/javascript'>
|
38
|
+
//<![CDATA[
|
39
|
+
document.write(\"<center>\");
|
40
|
+
document.write(\"Precisa do Adobe Flash Player 9 (ou superior) para visualizar o gráfico.<br /><br />\");
|
41
|
+
document.write(\"<a href='http://www.adobe.com/go/getflashplayer'><img border='0' src='http://www.adobe.com/images/shared/download_buttons/get_flash_player.gif' /></a><br />\");
|
42
|
+
document.write(\"</center>\");
|
43
|
+
//]]>
|
44
|
+
</script>".html_safe
|
31
45
|
|
32
46
|
"<div class='#{opts[:wrap_class]}' id='#{opts[:wrap_id]}'>
|
33
47
|
<div class='#{opts[:class]}' id='#{opts[:id]}'>
|
34
48
|
<noscript>
|
35
49
|
<object id='obj_#{opts[:id]}'
|
36
50
|
name='obj_#{opts[:id]}'
|
37
|
-
classid='clsid:
|
51
|
+
classid='clsid:#{opts[:classid]}'
|
38
52
|
width='100%'
|
39
53
|
height='100%'
|
40
54
|
codebase='http://fpdownload.macromedia.com/get/flashplayer/current/swflash.cab'>
|
41
55
|
<param name='movie' value='#{opts[:anychart_swf_preloader]}' />
|
42
|
-
<param name='bgcolor' value='#
|
56
|
+
<param name='bgcolor' value='#{opts[:background_color]}' />
|
43
57
|
<param name='allowScriptAccess' value='always' />
|
44
58
|
<param name='flashvars' value='swfFile=#{opts[:anychart_swf_path]}&XMLFile=#{xml}' />
|
45
|
-
|
46
59
|
<embed type='application/x-shockwave-flash'
|
47
|
-
|
48
|
-
|
49
|
-
|
50
|
-
|
51
|
-
|
52
|
-
|
53
|
-
|
54
|
-
|
55
|
-
flashvars='swfFile=#{opts[:anychart_swf_path]}&XMLFile=#{xml}' />
|
60
|
+
pluginspage='http://www.adobe.com/go/getflashplayer'
|
61
|
+
src='#{opts[:anychart_swf_preloader]}'
|
62
|
+
id='obj_#{opts[:id]}'
|
63
|
+
name='obj_#{opts[:id]}'
|
64
|
+
bgColor='#{opts[:background_color]}'
|
65
|
+
allowScriptAccess='always'
|
66
|
+
flashvars='swfFile=#{opts[:anychart_swf_path]}&XMLFile=#{xml}'
|
67
|
+
</embed>
|
56
68
|
</object>
|
57
69
|
</noscript>
|
58
|
-
|
59
|
-
//<![CDATA[
|
60
|
-
document.write('<center>');
|
61
|
-
document.write('You need to have Adobe Flash Player 9 (or above) to view the chart.<br /><br />');
|
62
|
-
document.write('<a href=\'http://www.adobe.com/go/getflashplayer\'><img border=\'0\' src=\'http://www.adobe.com/images/shared/download_buttons/get_flash_player.gif\' /></a><br />');
|
63
|
-
document.write('</center>');
|
64
|
-
//]]>
|
65
|
-
</script>
|
70
|
+
#{get_flash_player_message if opts[:show_get_flash_player_message] }
|
66
71
|
</div>
|
67
72
|
</div>
|
68
|
-
<script type='text/javascript' language='
|
73
|
+
<script type='text/javascript' language='javascript'>
|
69
74
|
//<![CDATA[
|
70
|
-
var
|
71
|
-
|
72
|
-
|
73
|
-
|
74
|
-
|
75
|
+
var #{opts[:js_chart_name]} = new AnyChart('#{opts[:anychart_swf_path]}','#{opts[:anychart_swf_preloader]}');
|
76
|
+
#{opts[:js_chart_name]}.width = \"#{chart_width}\";
|
77
|
+
#{opts[:js_chart_name]}.height = \"#{chart_height}\";
|
78
|
+
#{opts[:js_chart_name]}.setXMLFile(\"#{xml}\");
|
79
|
+
#{opts[:js_chart_name]}.wMode = 'transparent';
|
80
|
+
#{opts[:js_chart_name]}.write(\"#{opts[:id]}\");
|
75
81
|
//]]>
|
76
82
|
</script>".html_safe
|
77
83
|
end
|
data/lib/line_bar.rb
CHANGED
@@ -70,7 +70,7 @@ module Anychart
|
|
70
70
|
xml.charts {
|
71
71
|
xml.chart(:plot_type => "CategorizedHorizontal") {
|
72
72
|
xml.data_plot_settings(:default_series_type => "Bar") {
|
73
|
-
xml.bar_series(:group_padding => "0.7") {
|
73
|
+
xml.bar_series(:group_padding => "0.7", :style => "AquaLight") {
|
74
74
|
if p[:tooltip]
|
75
75
|
xml.tooltip_settings(:enabled => "True") {
|
76
76
|
xml.format p[:tooltip]
|
@@ -90,6 +90,9 @@ module Anychart
|
|
90
90
|
if p[:chart][:axes].present?
|
91
91
|
if p[:chart][:axes][:y].present?
|
92
92
|
xml.y_axis(:position => "Opposite") {
|
93
|
+
if p[:chart][:axes][:y][:scale].present?
|
94
|
+
xml.scale(p[:chart][:axes][:y][:scale])
|
95
|
+
end
|
93
96
|
if p[:chart][:axes][:y][:title].present?
|
94
97
|
xml.title {
|
95
98
|
xml.text_ p[:chart][:axes][:y][:title]
|
@@ -121,11 +124,13 @@ module Anychart
|
|
121
124
|
xml.data {
|
122
125
|
series = (p[:data][:series].kind_of?(Array) ? p[:data][:series] : [p[:data][:series]])
|
123
126
|
|
124
|
-
series.
|
125
|
-
xml.series(:name => serie[:name], :palette => "Default") {
|
127
|
+
series.each_with_index do |serie,serie_idx|
|
128
|
+
xml.series(:name => (serie[:name].blank? ? "Series #{serie_idx + 1}" : serie[:name]), :palette => "Default") {
|
126
129
|
# Os varios pontos
|
127
130
|
serie[:points].each do |point|
|
128
|
-
|
131
|
+
h = {:name => point[:name].to_s, :y => point[:value].to_s}
|
132
|
+
h.merge!({:color => point[:color].to_s}) if point[:color].present?
|
133
|
+
xml.point(h)
|
129
134
|
end
|
130
135
|
}
|
131
136
|
end
|
metadata
CHANGED
@@ -1,12 +1,13 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: anychart_xml_builder
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
+
hash: 9
|
4
5
|
prerelease: false
|
5
6
|
segments:
|
6
7
|
- 0
|
7
8
|
- 0
|
8
|
-
-
|
9
|
-
version: 0.0.
|
9
|
+
- 11
|
10
|
+
version: 0.0.11
|
10
11
|
platform: ruby
|
11
12
|
authors:
|
12
13
|
- jduarte
|
@@ -14,7 +15,7 @@ autorequire:
|
|
14
15
|
bindir: bin
|
15
16
|
cert_chain: []
|
16
17
|
|
17
|
-
date: 2011-
|
18
|
+
date: 2011-02-26 00:00:00 +00:00
|
18
19
|
default_executable:
|
19
20
|
dependencies:
|
20
21
|
- !ruby/object:Gem::Dependency
|
@@ -25,6 +26,7 @@ dependencies:
|
|
25
26
|
requirements:
|
26
27
|
- - ">="
|
27
28
|
- !ruby/object:Gem::Version
|
29
|
+
hash: 3
|
28
30
|
segments:
|
29
31
|
- 0
|
30
32
|
version: "0"
|
@@ -38,6 +40,7 @@ dependencies:
|
|
38
40
|
requirements:
|
39
41
|
- - ">="
|
40
42
|
- !ruby/object:Gem::Version
|
43
|
+
hash: 5
|
41
44
|
segments:
|
42
45
|
- 1
|
43
46
|
- 4
|
@@ -56,6 +59,7 @@ extra_rdoc_files:
|
|
56
59
|
- README.rdoc
|
57
60
|
files:
|
58
61
|
- .document
|
62
|
+
- .gitignore
|
59
63
|
- .project
|
60
64
|
- HELP_COMMIT
|
61
65
|
- LICENSE
|
@@ -80,8 +84,8 @@ homepage: http://github.com/jduarte/anychart_xml_builder
|
|
80
84
|
licenses: []
|
81
85
|
|
82
86
|
post_install_message:
|
83
|
-
rdoc_options:
|
84
|
-
|
87
|
+
rdoc_options:
|
88
|
+
- --charset=UTF-8
|
85
89
|
require_paths:
|
86
90
|
- lib
|
87
91
|
required_ruby_version: !ruby/object:Gem::Requirement
|
@@ -89,6 +93,7 @@ required_ruby_version: !ruby/object:Gem::Requirement
|
|
89
93
|
requirements:
|
90
94
|
- - ">="
|
91
95
|
- !ruby/object:Gem::Version
|
96
|
+
hash: 3
|
92
97
|
segments:
|
93
98
|
- 0
|
94
99
|
version: "0"
|
@@ -97,6 +102,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
97
102
|
requirements:
|
98
103
|
- - ">="
|
99
104
|
- !ruby/object:Gem::Version
|
105
|
+
hash: 3
|
100
106
|
segments:
|
101
107
|
- 0
|
102
108
|
version: "0"
|