ziya 2.0.5 → 2.0.6
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/Manifest.txt +8 -3
- data/README.txt +1 -0
- data/Rakefile +1 -1
- data/charts/charts.swf +0 -0
- data/charts/charts_library/ar3d.swf +0 -0
- data/charts/charts_library/arno.swf +0 -0
- data/charts/charts_library/ars3.swf +0 -0
- data/charts/charts_library/arst.swf +0 -0
- data/charts/charts_library/brfl.swf +0 -0
- data/charts/charts_library/brno.swf +0 -0
- data/charts/charts_library/brst.swf +0 -0
- data/charts/charts_library/buno.swf +0 -0
- data/charts/charts_library/cl3d.swf +0 -0
- data/charts/charts_library/clfl.swf +0 -0
- data/charts/charts_library/clim.swf +0 -0
- data/charts/charts_library/clno.swf +0 -0
- data/charts/charts_library/clp3.swf +0 -0
- data/charts/charts_library/cls3.swf +0 -0
- data/charts/charts_library/clst.swf +0 -0
- data/charts/charts_library/cnno.swf +0 -0
- data/charts/charts_library/dollar.jpg +0 -0
- data/charts/charts_library/dono.swf +0 -0
- data/charts/charts_library/lnno.swf +0 -0
- data/charts/charts_library/mxno.swf +0 -0
- data/charts/charts_library/pi3d.swf +0 -0
- data/charts/charts_library/pie.jpg +0 -0
- data/charts/charts_library/piim.swf +0 -0
- data/charts/charts_library/pino.swf +0 -0
- data/charts/charts_library/pono.swf +0 -0
- data/charts/charts_library/scno.swf +0 -0
- data/charts/ziya.js +66 -0
- data/lib/ziya/charts/base.rb +25 -22
- data/lib/ziya/charts/custom.rb +18 -0
- data/lib/ziya/charts/image_column.rb +18 -0
- data/lib/ziya/charts/image_pie.rb +18 -0
- data/lib/ziya/charts/stacked_threed_area.rb +1 -1
- data/lib/ziya/components/chart_pref.rb +2 -2
- data/lib/ziya/components/chart_rect.rb +1 -1
- data/lib/ziya/helpers/base_helper.rb +46 -25
- data/lib/ziya/version.rb +1 -2
- data/lib/ziya/ziya_helper.rb +50 -75
- data/spec/charts/base_spec.rb +6 -0
- data/spec/ziya_helper_spec.rb +3 -3
- metadata +11 -6
- data/charts/full_screen.swf +0 -0
- data/cp_doc.sh +0 -1
- data/fred.rb +0 -36
data/Manifest.txt
CHANGED
@@ -15,25 +15,27 @@ charts/charts_library/brst.swf
|
|
15
15
|
charts/charts_library/buno.swf
|
16
16
|
charts/charts_library/cl3d.swf
|
17
17
|
charts/charts_library/clfl.swf
|
18
|
+
charts/charts_library/clim.swf
|
18
19
|
charts/charts_library/clno.swf
|
19
20
|
charts/charts_library/clp3.swf
|
20
21
|
charts/charts_library/cls3.swf
|
21
22
|
charts/charts_library/clst.swf
|
22
23
|
charts/charts_library/cnno.swf
|
24
|
+
charts/charts_library/dollar.jpg
|
23
25
|
charts/charts_library/dono.swf
|
24
26
|
charts/charts_library/lnno.swf
|
25
27
|
charts/charts_library/mxno.swf
|
26
28
|
charts/charts_library/pi3d.swf
|
29
|
+
charts/charts_library/pie.jpg
|
30
|
+
charts/charts_library/piim.swf
|
27
31
|
charts/charts_library/pino.swf
|
28
32
|
charts/charts_library/pono.swf
|
29
33
|
charts/charts_library/scno.swf
|
30
|
-
charts/full_screen.swf
|
31
34
|
charts/scripts/output_jpg.php
|
32
35
|
charts/sliders/black.swf
|
33
36
|
charts/sliders/preview_handle_1.swf
|
34
37
|
charts/sliders/preview_handle_2.swf
|
35
|
-
|
36
|
-
fred.rb
|
38
|
+
charts/ziya.js
|
37
39
|
gauges/designs/circle.yml
|
38
40
|
gauges/designs/signal.yml
|
39
41
|
gauges/designs/thermo.yml
|
@@ -48,9 +50,12 @@ lib/ziya/charts/bubble.rb
|
|
48
50
|
lib/ziya/charts/candle_stick.rb
|
49
51
|
lib/ziya/charts/column.rb
|
50
52
|
lib/ziya/charts/column_threed.rb
|
53
|
+
lib/ziya/charts/custom.rb
|
51
54
|
lib/ziya/charts/donut.rb
|
52
55
|
lib/ziya/charts/floating_bar.rb
|
53
56
|
lib/ziya/charts/floating_column.rb
|
57
|
+
lib/ziya/charts/image_column.rb
|
58
|
+
lib/ziya/charts/image_pie.rb
|
54
59
|
lib/ziya/charts/line.rb
|
55
60
|
lib/ziya/charts/mixed.rb
|
56
61
|
lib/ziya/charts/parallel_threed_column.rb
|
data/README.txt
CHANGED
data/Rakefile
CHANGED
data/charts/charts.swf
CHANGED
Binary file
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
data/charts/ziya.js
ADDED
@@ -0,0 +1,66 @@
|
|
1
|
+
// Embed chart in a site
|
2
|
+
function ziya_micro( host_url, callback_url, size, background )
|
3
|
+
{
|
4
|
+
var html = "";
|
5
|
+
html += ziya_setup( host_url );
|
6
|
+
html += ziya_gen( host_url, callback_url, size, background );
|
7
|
+
|
8
|
+
document.write( html );
|
9
|
+
}
|
10
|
+
|
11
|
+
// setup js script
|
12
|
+
function ziya_setup( host_url )
|
13
|
+
{
|
14
|
+
var html = "";
|
15
|
+
html += "<script language=\"javascript\" type=\"text/javascript\">";
|
16
|
+
html += "AC_FL_RunContent = 0;";
|
17
|
+
html += "DetectFlashVer = 0;";
|
18
|
+
html += "</script>";
|
19
|
+
|
20
|
+
html += "<script src=\"" + host_url + "/AC_RunActiveContent.js\" language=\"javascript\" type=\"text/javascript\"></script>";
|
21
|
+
html += "<script language=\"javascript\" type=\"text/javascript\">";
|
22
|
+
html += "var requiredMajorVersion = 9;"
|
23
|
+
html += "var requiredMinorVersion = 0;"
|
24
|
+
html += "var requiredRevision = 45;"
|
25
|
+
html += "</script>"
|
26
|
+
return html;
|
27
|
+
}
|
28
|
+
|
29
|
+
function ziya_gen( host_url, callback_url, size, background )
|
30
|
+
{
|
31
|
+
var tokens = size.split( "x" );
|
32
|
+
var width = tokens[0];
|
33
|
+
var height = tokens[1];
|
34
|
+
var html = "";
|
35
|
+
html += "<script language=\"javascript\" type=\"text/javascript\">";
|
36
|
+
html += "var hasRightVersion = DetectFlashVer(requiredMajorVersion, requiredMinorVersion, requiredRevision);";
|
37
|
+
html += "if( hasRightVersion ) {";
|
38
|
+
html += "AC_FL_RunContent(";
|
39
|
+
html += "'codebase' , 'http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=9,0,45,0',";
|
40
|
+
html += "'width' , '" + width + "',";
|
41
|
+
html += "'height' , '" + height + "}',";
|
42
|
+
html += "'scale' , 'noscale',";
|
43
|
+
html += "'salign' , 'tl',";
|
44
|
+
html += "'bgcolor' , '" + background + "',";
|
45
|
+
html += "'wmode' , 'opaque',";
|
46
|
+
html += "'movie' , '" + host_url + "/charts',";
|
47
|
+
html += "'src' , '" + host_url + "/charts',";
|
48
|
+
html += "'FlashVars' , 'library_path=" + host_url + "/charts_library&xml_source=" + escape( callback_url ) + "',";
|
49
|
+
html += "'id' , 'chart',";
|
50
|
+
html += "'name' , 'chart}',";
|
51
|
+
html += "'allowScriptAccess','sameDomain',";
|
52
|
+
html += "'quality' , 'high',";
|
53
|
+
html += "'align' , 'l',";
|
54
|
+
html += "'pluginspage' , 'http://www.macromedia.com/go/getflashplayer',";
|
55
|
+
html += "'play' , 'true',";
|
56
|
+
html += "'devicefont' , 'false'";
|
57
|
+
html += ");";
|
58
|
+
html += "}";
|
59
|
+
html += "else {";
|
60
|
+
html += "var alternateContent = 'This content requires the Adobe Flash Player. '";
|
61
|
+
html += "+ '<u><a href=http://www.macromedia.com/go/getflash/>Get Flash</a></u>.';";
|
62
|
+
html += "document.write(alternateContent);";
|
63
|
+
html += "}";
|
64
|
+
html += "</script>";
|
65
|
+
return html;
|
66
|
+
}
|
data/lib/ziya/charts/base.rb
CHANGED
@@ -105,7 +105,8 @@ module Ziya::Charts
|
|
105
105
|
# Example:
|
106
106
|
# my_chart = Ziya::Charts::Bar.new
|
107
107
|
# my_chart.add( :axis_category_text, ['2004', '2005', '2006'] )
|
108
|
-
# my_chart.add( :
|
108
|
+
# my_chart.add( :axis_category_label, [ '10 dogs', '20 cats', '30 rats'] )
|
109
|
+
# my_chart.add( :series, 'series A', [ 10, 20, 30] )
|
109
110
|
# my_chart.add( :axis_value_label, [ 'my dogs', 'my cats', 'my rats'] )
|
110
111
|
# my_chart.add( :user_data, :mykey, "Fred" )
|
111
112
|
#
|
@@ -162,15 +163,19 @@ module Ziya::Charts
|
|
162
163
|
raise ArgumentError, "Must specify an array of values" if values.empty?
|
163
164
|
@options[directive] = values
|
164
165
|
when :series
|
166
|
+
series = {}
|
165
167
|
legend = args.first.is_a?(String) ? args.shift : ""
|
166
168
|
if args.first.is_a?( Array )
|
167
169
|
points = args.shift || []
|
168
170
|
raise ArgumentError, "Must specify an array of data points" if points.empty?
|
169
171
|
points.insert( 0, legend )
|
170
|
-
|
172
|
+
series[:points] = points
|
171
173
|
else
|
172
174
|
raise ArgumentError, "Must specify an array of data points"
|
173
175
|
end
|
176
|
+
url = args.shift
|
177
|
+
series[:url] = url if url
|
178
|
+
@series_desc << series
|
174
179
|
when :user_data
|
175
180
|
key = args.first.is_a?(Symbol) ? args.shift : ""
|
176
181
|
raise ArgumentError, "Must specify a key" if key.to_s.empty?
|
@@ -360,50 +365,48 @@ module Ziya::Charts
|
|
360
365
|
# ------------------------------------------------------------------------
|
361
366
|
# generates chart data row
|
362
367
|
# TODO Validate options !!
|
363
|
-
def gen_row_data( value, opts=nil )
|
368
|
+
def gen_row_data( value, opts=nil, xml=@xml )
|
364
369
|
if value.instance_of? String
|
365
|
-
gen_string_data( value, opts )
|
370
|
+
gen_string_data( value, opts, xml )
|
366
371
|
elsif value.respond_to? :zero?
|
367
|
-
gen_number_data( value, opts )
|
372
|
+
gen_number_data( value, opts, xml )
|
368
373
|
end
|
369
374
|
end
|
370
375
|
|
371
376
|
# -------------------------------------------------------------------------
|
372
377
|
# generates string chart_value
|
373
|
-
def gen_string_data( value, opts )
|
374
|
-
|
375
|
-
@xml.string( opts ) { |x| x.text!( value ) }
|
376
|
-
else
|
377
|
-
@xml.string( value )
|
378
|
-
end
|
378
|
+
def gen_string_data( value, opts, xml )
|
379
|
+
opts ? xml.string( opts ) { |x| x.text!( value ) } : xml.string( value )
|
379
380
|
end
|
380
381
|
|
381
382
|
# -------------------------------------------------------------------------
|
382
383
|
# generates number chart_value
|
383
|
-
def gen_number_data( value, opts )
|
384
|
-
|
385
|
-
@xml.number( opts ) { |x| x.text!( value.to_s ) }
|
386
|
-
else
|
387
|
-
@xml.number( value )
|
388
|
-
end
|
384
|
+
def gen_number_data( value, opts, xml )
|
385
|
+
opts ? xml.number( opts ) { |x| x.text!( value.to_s ) } : xml.number( value )
|
389
386
|
end
|
390
387
|
|
391
388
|
# -------------------------------------------------------------------------
|
392
389
|
# generates chart data points
|
393
390
|
# BOZO !! Check args on hash
|
394
391
|
def gen_chart_data( series )
|
395
|
-
|
396
|
-
series.each do |row|
|
392
|
+
block = lambda {
|
393
|
+
series[:points].each do |row|
|
397
394
|
if row.nil?
|
398
395
|
@xml.null
|
399
396
|
elsif row.instance_of? Hash
|
400
397
|
value = row.delete( :value )
|
401
|
-
gen_row_data( value, row )
|
398
|
+
gen_row_data( value, row, @xml )
|
402
399
|
else
|
403
|
-
gen_row_data( row )
|
400
|
+
gen_row_data( row, nil, @xml )
|
404
401
|
end
|
405
402
|
end
|
406
|
-
|
403
|
+
}
|
404
|
+
|
405
|
+
if series[:url]
|
406
|
+
@xml.row( :url => series[:url], &block )
|
407
|
+
else
|
408
|
+
@xml.row( &block )
|
409
|
+
end
|
407
410
|
end
|
408
411
|
|
409
412
|
# -------------------------------------------------------------------------
|
@@ -0,0 +1,18 @@
|
|
1
|
+
# -----------------------------------------------------------------------------
|
2
|
+
# Generates necessary xml for an custom chart
|
3
|
+
#
|
4
|
+
# Author: Fernand
|
5
|
+
# -----------------------------------------------------------------------------
|
6
|
+
require 'ziya/charts/base'
|
7
|
+
|
8
|
+
module Ziya::Charts
|
9
|
+
class Custom < Base
|
10
|
+
# Creates an area chart
|
11
|
+
# <tt>:license</tt>:: the XML/SWF charts license
|
12
|
+
# <tt>:chart_id</tt>:: the name of the chart style sheet.
|
13
|
+
def initialize( license=nil, chart_id=nil )
|
14
|
+
super( license, chart_id )
|
15
|
+
@type = ""
|
16
|
+
end
|
17
|
+
end
|
18
|
+
end
|
@@ -0,0 +1,18 @@
|
|
1
|
+
# -----------------------------------------------------------------------------
|
2
|
+
# Generates necessary xml for an image column chart
|
3
|
+
#
|
4
|
+
# Author: Fernand
|
5
|
+
# -----------------------------------------------------------------------------
|
6
|
+
require 'ziya/charts/base'
|
7
|
+
|
8
|
+
module Ziya::Charts
|
9
|
+
class ImageColumn < Base
|
10
|
+
# Creates an area chart
|
11
|
+
# <tt>:license</tt>:: the XML/SWF charts license
|
12
|
+
# <tt>:chart_id</tt>:: the name of the chart style sheet.
|
13
|
+
def initialize( license=nil, chart_id=nil )
|
14
|
+
super( license, chart_id )
|
15
|
+
@type = "image column"
|
16
|
+
end
|
17
|
+
end
|
18
|
+
end
|
@@ -0,0 +1,18 @@
|
|
1
|
+
# -----------------------------------------------------------------------------
|
2
|
+
# Generates necessary xml for an image pie chart
|
3
|
+
#
|
4
|
+
# Author: Fernand
|
5
|
+
# -----------------------------------------------------------------------------
|
6
|
+
require 'ziya/charts/base'
|
7
|
+
|
8
|
+
module Ziya::Charts
|
9
|
+
class ImagePie < Base
|
10
|
+
# Creates an area chart
|
11
|
+
# <tt>:license</tt>:: the XML/SWF charts license
|
12
|
+
# <tt>:chart_id</tt>:: the name of the chart style sheet.
|
13
|
+
def initialize( license=nil, chart_id=nil )
|
14
|
+
super( license, chart_id )
|
15
|
+
@type = "image pie"
|
16
|
+
end
|
17
|
+
end
|
18
|
+
end
|
@@ -13,9 +13,9 @@ module Ziya::Components
|
|
13
13
|
# for additional documentation, examples and futher detail.
|
14
14
|
#
|
15
15
|
class ChartPref < Base
|
16
|
-
has_attribute :line_thickness, :point_shape, :point_size, :fill_shape,
|
16
|
+
has_attribute :line_thickness, :point_shape, :point_size, :fill_shape, :connect, :tip,
|
17
17
|
:type, :bull_color, :bear_color,
|
18
|
-
:
|
18
|
+
:drag, :min_x, :min_y, :max_x, :max_y,
|
19
19
|
:trend_thickness, :trend_alpha, :line_alpha, :rotation_x,
|
20
20
|
:rotation_y, :grid, :select, :empty_center
|
21
21
|
end
|
@@ -30,7 +30,7 @@ module Ziya::Components
|
|
30
30
|
#
|
31
31
|
class ChartRect < Base
|
32
32
|
has_attribute :x, :y, :width, :height, :positive_color, :negative_color,
|
33
|
-
:positive_alpha, :negative_alpha,
|
33
|
+
:positive_alpha, :negative_alpha, :hide,
|
34
34
|
:shadow, :bevel, :blur, :glow,
|
35
35
|
:corner_tl, :corner_tr, :corner_bl, :corner_br
|
36
36
|
end
|
@@ -5,66 +5,87 @@ module Ziya::Helpers
|
|
5
5
|
module BaseHelper
|
6
6
|
include Ziya::Utils::Text, Ziya::Helper
|
7
7
|
|
8
|
-
#
|
9
|
-
|
10
|
-
# chart
|
8
|
+
# Defines various helpers to assist in writing ZiYa yaml stylesheets.
|
9
|
+
|
10
|
+
# generates a swf chart path from the given url. Used as helper to embed a chart
|
11
|
+
# within a chart
|
12
|
+
# ==== Example
|
13
|
+
# <%= chart_url( chart_1_path ) %>
|
14
|
+
#
|
15
|
+
# => /charts/charts.swf?library_path=/charts/charts_library&xml_source=http://fred/load_chart_1.xml
|
11
16
|
def chart_url( url, swf_chart_dir="/charts" )
|
12
17
|
gen_composite_path( swf_chart_dir, url )
|
13
18
|
end
|
14
19
|
|
15
|
-
# -------------------------------------------------------------------------
|
16
20
|
# indent yaml content vy multiples of 2 spaces
|
17
21
|
def indent( multiple= 1 )
|
18
22
|
" " * multiple
|
19
23
|
end
|
20
24
|
|
21
|
-
#
|
22
|
-
#
|
25
|
+
# generates a gauge yaml class declaration
|
26
|
+
# ==== Example
|
27
|
+
# <%= gauge :thermo %>
|
28
|
+
#
|
29
|
+
# produces:
|
30
|
+
#
|
31
|
+
# --- !ruby/object:Ziya::Gauges::Thermo
|
32
|
+
# components: !omap
|
23
33
|
def gauge( class_name )
|
24
34
|
"--- #{clazz( class_name, 'Gauges' )}\n#{dials}"
|
25
35
|
end
|
26
36
|
|
27
|
-
#
|
28
|
-
#
|
37
|
+
# generates a gauge element declaration
|
38
|
+
# ==== Example
|
39
|
+
# <%= dial :rect %>
|
40
|
+
# => --- !ruby/object:Ziya::Gauges::Support::Rect
|
29
41
|
def dial( comp_class, comp_name=nil )
|
30
42
|
clazz = clazz( comp_class, "Gauges::Support" )
|
31
43
|
comp_name ? "- :#{comp_name}: #{clazz}" : "- #{clazz}"
|
32
44
|
end
|
33
45
|
|
34
|
-
#
|
35
|
-
#
|
46
|
+
# generates a yaml hash of dials
|
47
|
+
# ==== Example
|
48
|
+
# <%= dials %>
|
49
|
+
# => components: !omap
|
36
50
|
def dials
|
37
51
|
"components: !omap"
|
38
52
|
end
|
39
53
|
|
40
|
-
#
|
41
|
-
#
|
54
|
+
# generates a component yaml class declaration
|
55
|
+
# ==== Example
|
56
|
+
# <%= component :axis_category %>
|
57
|
+
# => axis_category: --- !ruby/object:Ziya::Components::AxisCategory
|
42
58
|
def component( component_name )
|
43
59
|
"#{component_name}: #{clazz component_name, :Components}"
|
44
60
|
end
|
45
61
|
alias :comp :component
|
46
62
|
|
47
|
-
#
|
48
|
-
#
|
63
|
+
# generates a drawing yaml class declaration
|
64
|
+
# ==== Example
|
65
|
+
# <%=drawing :rect %>
|
66
|
+
# => --- !ruby/object:Ziya::Components::Rect
|
49
67
|
def drawing( class_name )
|
50
68
|
clazz( class_name, :Components )
|
51
69
|
end
|
52
70
|
alias_method :filter_type, :drawing
|
53
71
|
alias_method :area , :drawing
|
54
72
|
|
55
|
-
#
|
56
|
-
#
|
73
|
+
# generates a yaml chart declaration
|
74
|
+
# ==== Example
|
75
|
+
# <%= chart :bar %>
|
76
|
+
# => --- !ruby/object:Ziya::Charts::Bar
|
57
77
|
def chart( class_name )
|
58
78
|
"--- #{clazz( class_name, :Charts )}"
|
59
79
|
end
|
60
|
-
|
61
|
-
|
62
|
-
|
63
|
-
|
64
|
-
|
65
|
-
|
66
|
-
|
67
|
-
|
68
|
-
|
80
|
+
|
81
|
+
private
|
82
|
+
|
83
|
+
# generates a yaml class declaration
|
84
|
+
def clazz( class_name, module_name=nil ) #:nodoc:
|
85
|
+
buff = "!ruby/object:Ziya::"
|
86
|
+
buff << "#{module_name}::" unless module_name.nil?
|
87
|
+
buff << "#{camelize(class_name.to_s)}"
|
88
|
+
buff
|
89
|
+
end
|
69
90
|
end
|
70
91
|
end
|
data/lib/ziya/version.rb
CHANGED
data/lib/ziya/ziya_helper.rb
CHANGED
@@ -1,17 +1,14 @@
|
|
1
|
-
# -----------------------------------------------------------------------------
|
2
1
|
# Generates necessary html flash tag to support ZiYa
|
3
2
|
#
|
4
|
-
# TODO
|
3
|
+
# TODO -- Rewrite to use content tag block instead...
|
5
4
|
#
|
6
5
|
# Author: Fernand Galiana
|
7
|
-
# -----------------------------------------------------------------------------
|
8
6
|
require 'cgi'
|
9
7
|
require 'erb'
|
10
8
|
|
11
9
|
module Ziya
|
12
10
|
module Helper
|
13
11
|
|
14
|
-
# -------------------------------------------------------------------------
|
15
12
|
# generates a javascript tag to include the js script to create object and
|
16
13
|
# embed tags
|
17
14
|
def ziya_javascript_include_tag
|
@@ -55,7 +52,9 @@ module Ziya
|
|
55
52
|
# setup width and height
|
56
53
|
setup_movie_size( options )
|
57
54
|
|
58
|
-
|
55
|
+
flash_vars = url ? charts_swf : charts_swf_no_src
|
56
|
+
xml_swf_path = flash_vars % [options[:swf_path], escape_url(url)]
|
57
|
+
xml_swf_path << "&chart_id=#{options[:id]}"
|
59
58
|
xml_swf_path << "×tamp=#{Time.now.to_i}" if options[:cache] == false
|
60
59
|
xml_swf_path << "&timeout=#{options[:timeout]}&retry=#{options[:retry]}" if options[:timeout]
|
61
60
|
xml_swf_path << "&stage_width=#{options[:width]}&stage_height=#{options[:height]}" if options[:use_stage] == true
|
@@ -101,7 +100,6 @@ module Ziya
|
|
101
100
|
JS
|
102
101
|
end
|
103
102
|
|
104
|
-
# -------------------------------------------------------------------------
|
105
103
|
# generates necessary html tags to display a gauge.
|
106
104
|
def ziya_gauge( url, gauge_options={} )
|
107
105
|
options = { :width => "200",
|
@@ -121,7 +119,6 @@ module Ziya
|
|
121
119
|
generate_old_style_flash_tag( url, gauges_swf, options )
|
122
120
|
end
|
123
121
|
|
124
|
-
# -------------------------------------------------------------------------------------
|
125
122
|
# generates neccessary html tags to display a chart.
|
126
123
|
def ziya_chart( url, chart_options = {} )
|
127
124
|
options = { :width => "400",
|
@@ -138,7 +135,8 @@ module Ziya
|
|
138
135
|
:use_stage => false
|
139
136
|
}.merge!(chart_options)
|
140
137
|
|
141
|
-
|
138
|
+
flash_vars = url ? charts_swf : charts_swf_no_src
|
139
|
+
generate_flash_tag( url, flash_vars, "charts.swf", options )
|
142
140
|
end
|
143
141
|
|
144
142
|
# flash chart library path
|
@@ -150,19 +148,20 @@ module Ziya
|
|
150
148
|
# private
|
151
149
|
|
152
150
|
# Const accessors...
|
153
|
-
def mime()
|
154
|
-
def composite_url()
|
155
|
-
def
|
156
|
-
def
|
157
|
-
def
|
158
|
-
def
|
159
|
-
def
|
160
|
-
def
|
161
|
-
def
|
151
|
+
def mime() "application/x-shockwave-flash"; end
|
152
|
+
def composite_url() "%s/charts.swf?library_path=%s/charts_library&xml_source=%s" end
|
153
|
+
def charts_swf_no_src() "library_path=%s/charts_library"; end
|
154
|
+
def charts_swf() "#{charts_swf_no_src}&xml_source=%s"; end
|
155
|
+
def plugin_url() "http://www.macromedia.com/go/getflashplayer"; end
|
156
|
+
def gauges_swf() "%s/gauge.swf?xml_source=%s"; end
|
157
|
+
def gauge_path() "/gauges"; end
|
158
|
+
def chart_path() "/charts"; end
|
159
|
+
def class_id() "clsid:D27CDB6E-AE6D-11cf-96B8-444553540000" end
|
160
|
+
def codebase() "http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=9,0,45,0"; end
|
162
161
|
|
163
162
|
# generates swf path
|
164
163
|
def gen_swf_path( path_directive, swf_dir, url )
|
165
|
-
path_directive % [swf_dir, escape_url( url )]
|
164
|
+
path_directive % [swf_dir, escape_url( url )]
|
166
165
|
end
|
167
166
|
|
168
167
|
def generate_old_style_flash_tag( url, swf_path, options )
|
@@ -230,69 +229,45 @@ module Ziya
|
|
230
229
|
xml_swf_path << "&timeout=#{options[:timeout]}" if options[:timeout]
|
231
230
|
xml_swf_path << "&stage_width=#{options[:width]}&stage_height=#{options[:height]}" if options[:use_stage] == true
|
232
231
|
|
233
|
-
|
234
|
-
|
235
|
-
<
|
236
|
-
|
237
|
-
|
238
|
-
|
239
|
-
|
240
|
-
|
241
|
-
|
242
|
-
|
243
|
-
|
244
|
-
|
245
|
-
|
246
|
-
|
247
|
-
<
|
248
|
-
|
249
|
-
|
250
|
-
|
251
|
-
|
252
|
-
|
253
|
-
|
254
|
-
|
255
|
-
|
256
|
-
|
257
|
-
|
258
|
-
|
259
|
-
|
260
|
-
|
261
|
-
|
262
|
-
|
263
|
-
|
264
|
-
|
265
|
-
width="#{options[:width]}"/>
|
232
|
+
tags = <<-TAGS
|
233
|
+
<object codebase="#{codebase}" classid="clsid:d27cdb6e-ae6d-11cf-96b8-444553540000" id="#{options[:id]}" height="#{options[:height]}" width="#{options[:width]}">
|
234
|
+
<param name="scale" value="noscale">
|
235
|
+
<param name="salign" value="#{options[:salign]}">
|
236
|
+
<param name="bgcolor" value="#{options[:bgcolor]}">
|
237
|
+
<param name="wmode" value="#{options[:wmode]}">
|
238
|
+
<param name="movie" value="#{options[:swf_path]}/#{swf_file}">
|
239
|
+
<param name="Flashvars" value="#{xml_swf_path}&chart_id=#{options[:id]}">
|
240
|
+
<param name="menu" value="true">
|
241
|
+
<param name="allowFullScreen" value="true">
|
242
|
+
<param name="allowScriptAccess" value="sameDomain">
|
243
|
+
<param name="quality" value="high">
|
244
|
+
<param name="play" value="true">
|
245
|
+
<param name="devicefont" value="false">
|
246
|
+
<embed scale="noscale"
|
247
|
+
allowfullscreen = "true"
|
248
|
+
allowscriptaccess = "sameDomain"
|
249
|
+
bgcolor = "#{options[:bgcolor]}"
|
250
|
+
devicefont = "false"
|
251
|
+
flashvars = "#{xml_swf_path}&chart_id=#{options[:id]}"
|
252
|
+
menu = "true"
|
253
|
+
name = "#{options[:id]}"
|
254
|
+
play = "true"
|
255
|
+
pluginspage = "http://www.macromedia.com/go/getflashplayer"
|
256
|
+
quality = "high"
|
257
|
+
salign = "#{options[:salign]}"
|
258
|
+
src = "#{options[:swf_path]}/#{swf_file}"
|
259
|
+
type = "application/x-shockwave-flash"
|
260
|
+
wmode = "#{options[:wmode]}"
|
261
|
+
align = "#{options[:align]}"
|
262
|
+
height = "#{options[:height]}"
|
263
|
+
width = "#{options[:width]}"/>
|
266
264
|
</object>
|
267
265
|
TAGS
|
268
|
-
# else
|
269
|
-
# tags = <<-TAGS
|
270
|
-
# <embed scale="noscale"
|
271
|
-
# allowfullscreen="true"
|
272
|
-
# allowscriptaccess="sameDomain"
|
273
|
-
# bgcolor="#{options[:bgcolor]}"
|
274
|
-
# devicefont="false"
|
275
|
-
# flashvars="#{xml_swf_path}"
|
276
|
-
# menu="true"
|
277
|
-
# name="#{options[:id]}"
|
278
|
-
# play="true"
|
279
|
-
# pluginspage="http://www.macromedia.com/go/getflashplayer"
|
280
|
-
# quality="high"
|
281
|
-
# salign="#{options[:salign]}"
|
282
|
-
# src="#{options[:swf_path]}/#{swf_file}"
|
283
|
-
# type="application/x-shockwave-flash"
|
284
|
-
# wmode="#{options[:wmode]}"
|
285
|
-
# align="#{options[:align]}"
|
286
|
-
# height="#{options[:height]}"
|
287
|
-
# width="#{options[:width]}"/>
|
288
|
-
# TAGS
|
289
|
-
# end
|
290
|
-
tags
|
291
266
|
end
|
292
267
|
|
293
268
|
# escape url
|
294
269
|
def escape_url( url )
|
295
|
-
CGI.escape( url.gsub( /&/, '&' ) )
|
270
|
+
url ? CGI.escape( url.gsub( /&/, '&' ) ) : url
|
296
271
|
end
|
297
272
|
|
298
273
|
# setup up wmode
|
data/spec/charts/base_spec.rb
CHANGED
@@ -82,6 +82,12 @@ describe Ziya::Charts::Base do
|
|
82
82
|
@chart.add( :series, "test", [ {:value => 10, :glow => "glow1" }, { :value => 20, :blur => "blur2" } ] )
|
83
83
|
@chart.to_xml.should == "<?xml version=\"1.0\" encoding=\"UTF-8\"?><chart><chart_data><row><null/><string>dog</string><string>cat</string></row><row><string>test</string><number glow=\"glow1\">10</number><number blur=\"blur2\">20</number></row></chart_data></chart>"
|
84
84
|
end
|
85
|
+
|
86
|
+
it "should support adding an image to a series" do
|
87
|
+
@chart.add( :axis_category_text, %w[dog cat] )
|
88
|
+
@chart.add( :series, "test", [ 10, 20 ], "some_url" )
|
89
|
+
@chart.to_xml.should == "<?xml version=\"1.0\" encoding=\"UTF-8\"?><chart><chart_data><row><null/><string>dog</string><string>cat</string></row><row url=\"some_url\"><string>test</string><number>10</number><number>20</number></row></chart_data></chart>"
|
90
|
+
end
|
85
91
|
|
86
92
|
it "should error if a series is defined but no axis_category is specified" do
|
87
93
|
@chart.add( :series, "test", [10,20] )
|
data/spec/ziya_helper_spec.rb
CHANGED
@@ -25,11 +25,11 @@ describe Ziya::Helper do
|
|
25
25
|
|
26
26
|
describe "ziya_chart" do
|
27
27
|
it "should generate the correct embed tag with the default options" do
|
28
|
-
ziya_chart( @url, :tag_type => "embed" ).should == "
|
28
|
+
ziya_chart( @url, :tag_type => "embed" ).should == " <object codebase=\"http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=9,0,45,0\" 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=\"transparent\"> \n <param name=\"movie\" value=\"/charts/charts.swf\">\n <param name=\"Flashvars\" value=\"library_path=/charts/charts_library&xml_source=%2Ffred%2Fblee%2Fduh&chart_id=ziya_chart\">\n <param name=\"menu\" value=\"true\">\n <param name=\"allowFullScreen\" value=\"true\">\n <param name=\"allowScriptAccess\" value=\"sameDomain\"> \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 = \"sameDomain\" \n bgcolor = \"#FFFFFF\" \n devicefont = \"false\" \n flashvars = \"library_path=/charts/charts_library&xml_source=%2Ffred%2Fblee%2Fduh&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 = \"transparent\" \n align = \"l\" \n height = \"300\" \n width = \"400\"/> \n </object> \n"
|
29
29
|
end
|
30
30
|
|
31
31
|
it "should generate the correct object tag with the default options" do
|
32
|
-
ziya_chart( @url, :tag_type => "object" ).should == "
|
32
|
+
ziya_chart( @url, :tag_type => "object" ).should == " <object codebase=\"http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=9,0,45,0\" 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=\"transparent\"> \n <param name=\"movie\" value=\"/charts/charts.swf\">\n <param name=\"Flashvars\" value=\"library_path=/charts/charts_library&xml_source=%2Ffred%2Fblee%2Fduh&chart_id=ziya_chart\">\n <param name=\"menu\" value=\"true\">\n <param name=\"allowFullScreen\" value=\"true\">\n <param name=\"allowScriptAccess\" value=\"sameDomain\"> \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 = \"sameDomain\" \n bgcolor = \"#FFFFFF\" \n devicefont = \"false\" \n flashvars = \"library_path=/charts/charts_library&xml_source=%2Ffred%2Fblee%2Fduh&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 = \"transparent\" \n align = \"l\" \n height = \"300\" \n width = \"400\"/> \n </object> \n"
|
33
33
|
end
|
34
34
|
|
35
35
|
it "should generate the correct js tag" do
|
@@ -44,7 +44,7 @@ describe Ziya::Helper do
|
|
44
44
|
html = ziya_chart( @url, :bgcolor => "ffffff" )
|
45
45
|
# html.index (/name=\"wmode\" value=\"opaque\"/).should_not be_nil
|
46
46
|
# html.index (/'wmode'\s+,\s'opaque'/).should_not be_nil
|
47
|
-
html.index( /wmode
|
47
|
+
html.index( /wmode\s+=\s\"opaque\"/ ).should_not be_nil
|
48
48
|
end
|
49
49
|
|
50
50
|
it "should handle the size has widthxheight" do
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: ziya
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 2.0.
|
4
|
+
version: 2.0.6
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Fernand Galiana
|
@@ -9,7 +9,7 @@ autorequire:
|
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
11
|
|
12
|
-
date: 2008-
|
12
|
+
date: 2008-10-01 00:00:00 -06:00
|
13
13
|
default_executable:
|
14
14
|
dependencies:
|
15
15
|
- !ruby/object:Gem::Dependency
|
@@ -18,7 +18,7 @@ dependencies:
|
|
18
18
|
version_requirement:
|
19
19
|
version_requirements: !ruby/object:Gem::Requirement
|
20
20
|
requirements:
|
21
|
-
- -
|
21
|
+
- - ">="
|
22
22
|
- !ruby/object:Gem::Version
|
23
23
|
version: 0.9.0
|
24
24
|
version:
|
@@ -51,25 +51,27 @@ files:
|
|
51
51
|
- charts/charts_library/buno.swf
|
52
52
|
- charts/charts_library/cl3d.swf
|
53
53
|
- charts/charts_library/clfl.swf
|
54
|
+
- charts/charts_library/clim.swf
|
54
55
|
- charts/charts_library/clno.swf
|
55
56
|
- charts/charts_library/clp3.swf
|
56
57
|
- charts/charts_library/cls3.swf
|
57
58
|
- charts/charts_library/clst.swf
|
58
59
|
- charts/charts_library/cnno.swf
|
60
|
+
- charts/charts_library/dollar.jpg
|
59
61
|
- charts/charts_library/dono.swf
|
60
62
|
- charts/charts_library/lnno.swf
|
61
63
|
- charts/charts_library/mxno.swf
|
62
64
|
- charts/charts_library/pi3d.swf
|
65
|
+
- charts/charts_library/pie.jpg
|
66
|
+
- charts/charts_library/piim.swf
|
63
67
|
- charts/charts_library/pino.swf
|
64
68
|
- charts/charts_library/pono.swf
|
65
69
|
- charts/charts_library/scno.swf
|
66
|
-
- charts/full_screen.swf
|
67
70
|
- charts/scripts/output_jpg.php
|
68
71
|
- charts/sliders/black.swf
|
69
72
|
- charts/sliders/preview_handle_1.swf
|
70
73
|
- charts/sliders/preview_handle_2.swf
|
71
|
-
-
|
72
|
-
- fred.rb
|
74
|
+
- charts/ziya.js
|
73
75
|
- gauges/designs/circle.yml
|
74
76
|
- gauges/designs/signal.yml
|
75
77
|
- gauges/designs/thermo.yml
|
@@ -84,9 +86,12 @@ files:
|
|
84
86
|
- lib/ziya/charts/candle_stick.rb
|
85
87
|
- lib/ziya/charts/column.rb
|
86
88
|
- lib/ziya/charts/column_threed.rb
|
89
|
+
- lib/ziya/charts/custom.rb
|
87
90
|
- lib/ziya/charts/donut.rb
|
88
91
|
- lib/ziya/charts/floating_bar.rb
|
89
92
|
- lib/ziya/charts/floating_column.rb
|
93
|
+
- lib/ziya/charts/image_column.rb
|
94
|
+
- lib/ziya/charts/image_pie.rb
|
90
95
|
- lib/ziya/charts/line.rb
|
91
96
|
- lib/ziya/charts/mixed.rb
|
92
97
|
- lib/ziya/charts/parallel_threed_column.rb
|
data/charts/full_screen.swf
DELETED
Binary file
|
data/cp_doc.sh
DELETED
@@ -1 +0,0 @@
|
|
1
|
-
scp -r docs derailed@rubyforge.org:/var/www/gforge-projects/ziya
|
data/fred.rb
DELETED
@@ -1,36 +0,0 @@
|
|
1
|
-
# GAUGE IDEAS ??
|
2
|
-
|
3
|
-
css_parser for ruby
|
4
|
-
|
5
|
-
gauge = Ziya::Gauges::Base.new( :id => 'volume' )
|
6
|
-
gauge.add( Ziya::Gauges::Support::RadialTicks.new( :id => 'ticks' ) )
|
7
|
-
|
8
|
-
gauge 'volume'
|
9
|
-
radial_ticks 'volume_ticks'
|
10
|
-
rotate( circle( :circle_1), circle( :circle_2 ) )
|
11
|
-
|
12
|
-
|
13
|
-
gauge#volume {
|
14
|
-
x: 100;
|
15
|
-
y: 100;
|
16
|
-
radius: 35;
|
17
|
-
}
|
18
|
-
|
19
|
-
gauge#volume rotate {
|
20
|
-
x: 100;
|
21
|
-
y: 75;
|
22
|
-
}
|
23
|
-
|
24
|
-
gauge = Ziya::Gauges::Base.new( :id => "fred" )
|
25
|
-
gauge.add( :ticks, :volume_ticks )
|
26
|
-
gauge.add( :circle, :circle_1 )
|
27
|
-
gauge.add( :circle, :circle_2 )
|
28
|
-
gauge.add( :rotate, :circle_1, :circle_2 )
|
29
|
-
gauge.to_xml
|
30
|
-
|
31
|
-
gauge#fred {
|
32
|
-
}
|
33
|
-
|
34
|
-
gauge#fred circle#volume_ticks {
|
35
|
-
|
36
|
-
}
|