ziya 2.1.9 → 2.3.0
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/History.txt +2 -0
- data/README.rdoc +68 -2
- data/lib/ziya/html_helpers/base.rb +3 -28
- data/lib/ziya/html_helpers/charts.rb +7 -5
- data/lib/ziya/html_helpers/gauges.rb +2 -2
- data/lib/ziya/html_helpers/maps.rb +2 -2
- data/spec/html_helpers/charts_spec.rb +2 -2
- data/version.txt +1 -1
- metadata +4 -4
data/History.txt
CHANGED
@@ -31,4 +31,6 @@
|
|
31
31
|
2.1.6 - Fix issue with nil value in series being ignored where using the { :value => nil } form.
|
32
32
|
2.1.7 - Fix possible naming conflict with String extension class
|
33
33
|
2.1.8 - Added support for ruby 1.9 and bundler ( Thanks Roland Venesz and Todd Sedano for the contributions! )
|
34
|
+
2.1.9 - Various bug fixes and clean ups
|
35
|
+
2.3.0 - Moving to Rails3
|
34
36
|
|
data/README.rdoc
CHANGED
@@ -30,6 +30,7 @@ like applications. Your manager will love you for it !!
|
|
30
30
|
|
31
31
|
* logging
|
32
32
|
* color
|
33
|
+
* builder
|
33
34
|
|
34
35
|
ZiYa comes pre-bundled with the following packages:
|
35
36
|
* XML/SWF charts Version 5.07 (http://www.maani.us/xml_charts/index.php)
|
@@ -66,10 +67,74 @@ like applications. Your manager will love you for it !!
|
|
66
67
|
|
67
68
|
== SYNOPSIS:
|
68
69
|
|
69
|
-
This gem version requires a client update to flash
|
70
|
+
This gem version requires a client update to flash 10.0 and possibly you will
|
70
71
|
need to get a new license from XML/SWF >= 5.0, if you want to use
|
71
72
|
advanced features suck as links and live updates.
|
72
73
|
|
74
|
+
== Creating a ZiYa chart in a Rails 3.0 application
|
75
|
+
|
76
|
+
1 - Edit your Gemfile and add the followings:
|
77
|
+
gem 'ziya', '2.3.0'
|
78
|
+
gem 'color'
|
79
|
+
gem 'logging'
|
80
|
+
gem 'builder'
|
81
|
+
|
82
|
+
2 - Create a ziya.rb file under config/initializers
|
83
|
+
|
84
|
+
ziya.rb:
|
85
|
+
|
86
|
+
require 'ziya'
|
87
|
+
|
88
|
+
# Initializes the ZiYa Framework
|
89
|
+
Ziya.initialize(
|
90
|
+
:logger => RAILS_DEFAULT_LOGGER,
|
91
|
+
:themes_dir => File.join( File.dirname(__FILE__), %w[.. .. public charts themes])
|
92
|
+
)
|
93
|
+
|
94
|
+
This will initialize the gem. You can log the output to stdout using the ZiYa bundled logger
|
95
|
+
or specify a file ie File.join( File.dirname(__FILE__), %w[.. log ziya.log]. If you choose to use the
|
96
|
+
ZiYa logger, you can specify the :log_level option to either :warn :info :debug or :error.
|
97
|
+
You will need to specify your themes directory typically located under public/charts/themes or any location
|
98
|
+
you'll like to choose.
|
99
|
+
|
100
|
+
3 - Create a chart controller
|
101
|
+
|
102
|
+
blee_controller.rb:
|
103
|
+
|
104
|
+
class BleeController < ApplicationController
|
105
|
+
helper Ziya::HtmlHelpers::Charts, Ziya::YamlHelpers::Charts
|
106
|
+
|
107
|
+
# Callback from the flash movie to get the chart's data
|
108
|
+
def load_chart
|
109
|
+
# Create a bar chart with 2 series composed of 3 data points each.
|
110
|
+
# Chart will be rendered using the default look and feel
|
111
|
+
chart = Ziya::Charts::Bar.new
|
112
|
+
chart.add( :axis_category_text, %w[2006 2007 2008] )
|
113
|
+
chart.add( :series, "Dogs", [10,20,30] )
|
114
|
+
chart.add( :series, "Cats", [5,15,25] )
|
115
|
+
respond_to do |fmt|
|
116
|
+
fmt.xml { render :xml => chart.to_xml }
|
117
|
+
end
|
118
|
+
end
|
119
|
+
end
|
120
|
+
|
121
|
+
4 - Create a view
|
122
|
+
|
123
|
+
blee/index.html.erb:
|
124
|
+
|
125
|
+
# Defines the necessary tag to embed a flash movie in your html page.
|
126
|
+
# This will callback to your controller to fetch the necessary xml.
|
127
|
+
<%= ziya_chart load_chart_url(:xml) -%>
|
128
|
+
|
129
|
+
NOTE: You must now specify the xml format for correct rendering!
|
130
|
+
|
131
|
+
5 - Create a named route
|
132
|
+
|
133
|
+
config/routes.rb:
|
134
|
+
|
135
|
+
match 'blee' => "blee#index"
|
136
|
+
match 'load_chart' => "blee#load_chart"
|
137
|
+
|
73
138
|
== Creating a ZiYa chart in a Rails 2.3 application
|
74
139
|
|
75
140
|
1 - Create a ziya.rb file under config/initializers
|
@@ -110,7 +175,8 @@ like applications. Your manager will love you for it !!
|
|
110
175
|
respond_to do |fmt|
|
111
176
|
fmt.xml { render :xml => chart.to_xml }
|
112
177
|
end
|
113
|
-
|
178
|
+
end
|
179
|
+
end
|
114
180
|
|
115
181
|
4 - Create a view
|
116
182
|
|
@@ -32,8 +32,8 @@ module Ziya
|
|
32
32
|
url ? CGI.escape( url.gsub( /&/, '&' ) ) : url
|
33
33
|
end
|
34
34
|
|
35
|
-
#
|
36
|
-
def
|
35
|
+
# All this stolen form rails to make Ziya work with other fmks....
|
36
|
+
def ziya_tag(name, options = nil, open = false, escape = true)
|
37
37
|
"<#{name}#{tag_options(options, escape) if options}" + (open ? ">" : " />")
|
38
38
|
end
|
39
39
|
|
@@ -57,32 +57,7 @@ module Ziya
|
|
57
57
|
" #{attrs.sort * ' '}" unless attrs.empty?
|
58
58
|
end
|
59
59
|
end
|
60
|
-
|
61
|
-
# def content_tag(name, content_or_options_with_block = nil, options = nil, escape = true, &block)
|
62
|
-
# if block_given?
|
63
|
-
# options = content_or_options_with_block if content_or_options_with_block.is_a?(Hash)
|
64
|
-
# content = capture_block(&block)
|
65
|
-
# content_tag = content_tag_string(name, content, options, escape)
|
66
|
-
# block_is_within_action_view?(block) ? concat(content_tag, block.binding) : content_tag
|
67
|
-
# else
|
68
|
-
# content = content_or_options_with_block
|
69
|
-
# content_tag_string(name, content, options, escape)
|
70
|
-
# end
|
71
|
-
# end
|
72
|
-
#
|
73
|
-
# def capture_block( *args, &block )
|
74
|
-
# block.call(*args)
|
75
|
-
# end
|
76
|
-
#
|
77
|
-
# def content_tag_string(name, content, options, escape = true)
|
78
|
-
# tag_options = tag_options(options, escape) if options
|
79
|
-
# "<#{name}#{tag_options}>#{content}</#{name}>"
|
80
|
-
# end
|
81
|
-
#
|
82
|
-
# def block_is_within_action_view?(block)
|
83
|
-
# eval("defined? _erbout", block.binding)
|
84
|
-
# end
|
85
|
-
#
|
60
|
+
|
86
61
|
def escape_chars
|
87
62
|
{ '&' => '&', '"' => '"', '>' => '>', '<' => '<' }
|
88
63
|
end
|
@@ -77,7 +77,7 @@ module Ziya::HtmlHelpers::Charts
|
|
77
77
|
var hasRightVersion = DetectFlashVer(requiredMajorVersion, requiredMinorVersion, requiredRevision);
|
78
78
|
if( hasRightVersion ) {
|
79
79
|
AC_FL_RunContent(
|
80
|
-
'codebase' , 'http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=
|
80
|
+
'codebase' , 'http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=10,0,45,2',
|
81
81
|
'width' , '#{options[:width]}',
|
82
82
|
'height' , '#{options[:height]}',
|
83
83
|
'scale' , '#{options[:scale]}',
|
@@ -114,7 +114,9 @@ module Ziya::HtmlHelpers::Charts
|
|
114
114
|
options = default_chart_options.merge( chart_options )
|
115
115
|
|
116
116
|
flash_vars = url ? charts_swf : charts_swf_base
|
117
|
-
_ziya_chart( url, flash_vars, "charts.swf", options )
|
117
|
+
buff = _ziya_chart( url, flash_vars, "charts.swf", options )
|
118
|
+
|
119
|
+
(respond_to? :raw) ? raw( buff ) : buff
|
118
120
|
end
|
119
121
|
|
120
122
|
# genereates composite chart urls
|
@@ -139,7 +141,7 @@ module Ziya::HtmlHelpers::Charts
|
|
139
141
|
def charts_swf() "#{charts_swf_base}&xml_source=%s"; end
|
140
142
|
def chart_path() "/charts"; end
|
141
143
|
def class_id() "clsid:D27CDB6E-AE6D-11cf-96B8-444553540000" end
|
142
|
-
def codebase() "http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=
|
144
|
+
def codebase() "http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=10,0,45,2"; end
|
143
145
|
|
144
146
|
# generates swf path
|
145
147
|
def gen_swf_path( path_directive, swf_dir, url )
|
@@ -154,8 +156,8 @@ module Ziya::HtmlHelpers::Charts
|
|
154
156
|
# setup width and height
|
155
157
|
setup_movie_size( options )
|
156
158
|
|
157
|
-
color_param =
|
158
|
-
color_param +=
|
159
|
+
color_param = ziya_tag( 'param', {:name => 'bgcolor', :value => options[:bgcolor]}, true )
|
160
|
+
color_param += ziya_tag( 'param', {:name => "wmode", :value => options[:wmode]}, true )
|
159
161
|
|
160
162
|
xml_swf_path = gen_swf_path( swf_path, options[:swf_path], url )
|
161
163
|
xml_swf_path << "&timestamp=#{Time.now.to_i}" if options[:cache] == false
|
@@ -46,8 +46,8 @@ module Ziya::HtmlHelpers::Gauges
|
|
46
46
|
# setup width and height
|
47
47
|
setup_movie_size( options )
|
48
48
|
|
49
|
-
color_param =
|
50
|
-
color_param +=
|
49
|
+
color_param = ziya_tag( 'param', {:name => 'bgcolor', :value => options[:bgcolor]}, true )
|
50
|
+
color_param += ziya_tag( 'param', {:name => "wmode", :value => options[:wmode]}, true )
|
51
51
|
|
52
52
|
xml_swf_path = swf_path % [options[:swf_path], url]
|
53
53
|
xml_swf_path << "&timestamp=#{Time.now.to_i}" if options[:use_cache] == true
|
@@ -41,8 +41,8 @@ module Ziya::HtmlHelpers::Maps
|
|
41
41
|
# setup width and height
|
42
42
|
setup_movie_size( options )
|
43
43
|
|
44
|
-
color_param =
|
45
|
-
color_param +=
|
44
|
+
color_param = ziya_tag( 'param', {:name => 'bgcolor', :value => options[:bgcolor]}, true )
|
45
|
+
color_param += ziya_tag( 'param', {:name => "wmode", :value => options[:wmode]}, true )
|
46
46
|
|
47
47
|
xml_swf_path = gen_sw_path( options[:swf_path], swf_file, url )
|
48
48
|
xml_swf_path << "&timestamp=#{Time.now.to_i}" if options[:cache]
|
@@ -13,11 +13,11 @@ describe Ziya::HtmlHelpers::Charts do
|
|
13
13
|
end
|
14
14
|
|
15
15
|
it "should generate the correct flash embed tag using js" do
|
16
|
-
ziya_chart_js( "/test/test_me", :swf_path => "/test_me", :asset_url => "/test" ).should == " <script language=\"javascript\" type=\"text/javascript\">\n if (AC_FL_RunContent == 0 || DetectFlashVer == 0) {\n alert( \"This page requires AC_RunActiveContent.js.\" );\n } \n else {\n var hasRightVersion = DetectFlashVer(requiredMajorVersion, requiredMinorVersion, requiredRevision);\n if( hasRightVersion ) { \n AC_FL_RunContent(\n 'codebase' , 'http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=
|
16
|
+
ziya_chart_js( "/test/test_me", :swf_path => "/test_me", :asset_url => "/test" ).should == " <script language=\"javascript\" type=\"text/javascript\">\n if (AC_FL_RunContent == 0 || DetectFlashVer == 0) {\n alert( \"This page requires AC_RunActiveContent.js.\" );\n } \n else {\n var hasRightVersion = DetectFlashVer(requiredMajorVersion, requiredMinorVersion, requiredRevision);\n if( hasRightVersion ) { \n AC_FL_RunContent(\n 'codebase' , 'http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=10,0,45,2',\n 'width' , '400',\n 'height' , '300',\n 'scale' , 'noscale',\n 'salign' , 'tl',\n 'bgcolor' , 'ffffff',\n 'wmode' , 'opaque',\n 'movie' , '/test_me/charts',\n 'src' , '/test_me/charts',\n 'FlashVars' , 'library_path=/test_me/charts_library&xml_source=%2Ftest%2Ftest_me&chart_id=ziya_chart', \n 'id' , 'ziya_chart',\n 'name' , 'ziya_chart',\n 'menu' , 'true',\n 'allowFullScreen' , 'true',\n 'allowScriptAccess','sameDomain',\n 'quality' , 'high',\n 'align' , 'l',\n 'pluginspage' , 'http://www.macromedia.com/go/getflashplayer',\n 'play' , 'true',\n 'devicefont' , 'false'\n ); \n } \n else { \n var alternateContent = 'This content requires the Adobe Flash Player. '\n + '<u><a href=http://www.macromedia.com/go/getflash/>Get Flash</a></u>.';\n document.write(alternateContent); \n }\n }\n </script>\n"
|
17
17
|
end
|
18
18
|
|
19
19
|
it "should generate the correct flash embed tag" do
|
20
|
-
ziya_chart( "/test/test_me", :swf_path => '/blee' ).should == " <object codebase=\"http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=
|
20
|
+
ziya_chart( "/test/test_me", :swf_path => '/blee' ).should == " <object codebase=\"http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=10,0,45,2\" classid=\"clsid:D27CDB6E-AE6D-11cf-96B8-444553540000\" id=\"ziya_chart\" height=\"300\" width=\"400\">\n <param name=\"scale\" value=\"noscale\"/>\n <param name=\"salign\" value=\"tl\"/> \n <param name=\"bgcolor\" value=\"ffffff\"/>\n <param name=\"wmode\" value=\"opaque\"/> \n <param name=\"movie\" value=\"/charts/charts.swf\"/>\n <param name=\"Flashvars\" value=\"library_path=/blee/charts_library&xml_source=%2Ftest%2Ftest_me&chart_id=ziya_chart\"/>\n <param name=\"menu\" value=\"true\"/>\n <param name=\"allowFullScreen\" value=\"true\"/>\n <param name=\"allowScriptAccess\" value=\"\"/> \n <param name=\"quality\" value=\"high\"/>\n <param name=\"play\" value=\"true\"/> \n <param name=\"devicefont\" value=\"false\"/>\n <embed scale=\"noscale\" \n allowfullscreen = \"true\" \n allowscriptaccess = \"\" \n bgcolor = \"ffffff\" \n devicefont = \"false\" \n flashvars = \"library_path=/blee/charts_library&xml_source=%2Ftest%2Ftest_me&chart_id=ziya_chart\" \n menu = \"true\" \n name = \"ziya_chart\" \n play = \"true\" \n pluginspage = \"http://www.macromedia.com/go/getflashplayer\" \n quality = \"high\" \n salign = \"tl\" \n src = \"/charts/charts.swf\" \n type = \"application/x-shockwave-flash\" \n wmode = \"opaque\" \n align = \"l\" \n height = \"300\" \n width = \"400\"/> \n </object> \n"
|
21
21
|
end
|
22
22
|
end
|
23
23
|
|
data/version.txt
CHANGED
@@ -1 +1 @@
|
|
1
|
-
2.
|
1
|
+
2.3.0
|
metadata
CHANGED
@@ -4,9 +4,9 @@ version: !ruby/object:Gem::Version
|
|
4
4
|
prerelease: false
|
5
5
|
segments:
|
6
6
|
- 2
|
7
|
-
-
|
8
|
-
-
|
9
|
-
version: 2.
|
7
|
+
- 3
|
8
|
+
- 0
|
9
|
+
version: 2.3.0
|
10
10
|
platform: ruby
|
11
11
|
authors:
|
12
12
|
- Fernand Galiana
|
@@ -14,7 +14,7 @@ autorequire:
|
|
14
14
|
bindir: bin
|
15
15
|
cert_chain: []
|
16
16
|
|
17
|
-
date: 2010-
|
17
|
+
date: 2010-10-13 00:00:00 -06:00
|
18
18
|
default_executable:
|
19
19
|
dependencies:
|
20
20
|
- !ruby/object:Gem::Dependency
|