ziya 1.0.0 → 2.0.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (184) hide show
  1. data/Manifest.txt +74 -28
  2. data/README.txt +91 -14
  3. data/Rakefile +1 -1
  4. data/bin/ziyafy +2 -0
  5. data/charts/AC_RunActiveContent.js +292 -0
  6. data/charts/charts.swf +0 -0
  7. data/charts/charts_library/ar3d.swf +0 -0
  8. data/charts/charts_library/arno.swf +0 -0
  9. data/charts/charts_library/ars3.swf +0 -0
  10. data/charts/charts_library/arst.swf +0 -0
  11. data/charts/charts_library/brfl.swf +0 -0
  12. data/charts/charts_library/brno.swf +0 -0
  13. data/charts/charts_library/brst.swf +0 -0
  14. data/charts/charts_library/buno.swf +0 -0
  15. data/charts/charts_library/cl3d.swf +0 -0
  16. data/charts/charts_library/clfl.swf +0 -0
  17. data/charts/charts_library/clno.swf +0 -0
  18. data/charts/charts_library/clp3.swf +0 -0
  19. data/charts/charts_library/cls3.swf +0 -0
  20. data/charts/charts_library/clst.swf +0 -0
  21. data/charts/charts_library/cnno.swf +0 -0
  22. data/charts/charts_library/lnno.swf +0 -0
  23. data/charts/charts_library/mxno.swf +0 -0
  24. data/charts/charts_library/pi3d.swf +0 -0
  25. data/charts/charts_library/pino.swf +0 -0
  26. data/charts/charts_library/pono.swf +0 -0
  27. data/charts/charts_library/scno.swf +0 -0
  28. data/charts/full_screen.swf +0 -0
  29. data/charts/sliders/black.swf +0 -0
  30. data/charts/sliders/preview_handle_1.swf +0 -0
  31. data/charts/sliders/preview_handle_2.swf +0 -0
  32. data/fred.rb +36 -0
  33. data/gauges/designs/circle.yml +18 -0
  34. data/gauges/designs/signal.yml +14 -0
  35. data/gauges/designs/thermo.yml +119 -0
  36. data/gauges/designs/title.yml +11 -0
  37. data/gauges/gauge.swf +0 -0
  38. data/lib/ziya.rb +17 -5
  39. data/lib/ziya/charts/area.rb +6 -1
  40. data/lib/ziya/charts/area_threed.rb +16 -0
  41. data/lib/ziya/charts/bar.rb +8 -3
  42. data/lib/ziya/charts/base.rb +210 -153
  43. data/lib/ziya/charts/bubble.rb +18 -0
  44. data/lib/ziya/charts/candle_stick.rb +6 -1
  45. data/lib/ziya/charts/column.rb +7 -2
  46. data/lib/ziya/charts/column_threed.rb +6 -1
  47. data/lib/ziya/charts/floating_bar.rb +6 -1
  48. data/lib/ziya/charts/floating_column.rb +7 -2
  49. data/lib/ziya/charts/line.rb +7 -2
  50. data/lib/ziya/charts/mixed.rb +5 -0
  51. data/lib/ziya/charts/parallel_threed_column.rb +6 -1
  52. data/lib/ziya/charts/pie.rb +7 -2
  53. data/lib/ziya/charts/pie_threed.rb +7 -2
  54. data/lib/ziya/charts/polar.rb +6 -1
  55. data/lib/ziya/charts/scatter.rb +6 -1
  56. data/lib/ziya/charts/stacked_area.rb +5 -0
  57. data/lib/ziya/charts/stacked_bar.rb +5 -0
  58. data/lib/ziya/charts/stacked_column.rb +7 -2
  59. data/lib/ziya/charts/stacked_threed_area.rb +16 -0
  60. data/lib/ziya/charts/stacked_threed_column.rb +6 -1
  61. data/lib/ziya/components/area.rb +5 -2
  62. data/lib/ziya/components/axis_category.rb +8 -60
  63. data/lib/ziya/components/axis_ticks.rb +25 -27
  64. data/lib/ziya/components/axis_value.rb +5 -48
  65. data/lib/ziya/components/base.rb +59 -17
  66. data/lib/ziya/components/bevel.rb +15 -0
  67. data/lib/ziya/components/blur.rb +13 -0
  68. data/lib/ziya/components/chart_border.rb +4 -23
  69. data/lib/ziya/components/chart_grid_h.rb +17 -19
  70. data/lib/ziya/components/chart_grid_v.rb +18 -19
  71. data/lib/ziya/components/chart_guide.rb +16 -0
  72. data/lib/ziya/components/chart_label.rb +16 -0
  73. data/lib/ziya/components/chart_pref.rb +12 -12
  74. data/lib/ziya/components/chart_rect.rb +27 -26
  75. data/lib/ziya/components/chart_transition.rb +15 -16
  76. data/lib/ziya/components/circle.rb +5 -2
  77. data/lib/ziya/components/draw.rb +12 -11
  78. data/lib/ziya/components/draw_base.rb +10 -0
  79. data/lib/ziya/components/filter.rb +26 -0
  80. data/lib/ziya/components/glow.rb +14 -0
  81. data/lib/ziya/components/image.rb +5 -1
  82. data/lib/ziya/components/legend.rb +18 -0
  83. data/lib/ziya/components/line.rb +6 -2
  84. data/lib/ziya/components/link.rb +9 -9
  85. data/lib/ziya/components/link_data.rb +9 -10
  86. data/lib/ziya/components/rect.rb +7 -2
  87. data/lib/ziya/components/scroll.rb +26 -0
  88. data/lib/ziya/components/shadow.rb +14 -0
  89. data/lib/ziya/components/text.rb +5 -1
  90. data/lib/ziya/components/update.rb +19 -0
  91. data/lib/ziya/gauges/base.rb +172 -0
  92. data/lib/ziya/gauges/radial.rb +18 -0
  93. data/lib/ziya/gauges/signal.rb +138 -0
  94. data/lib/ziya/gauges/support/area.rb +13 -0
  95. data/lib/ziya/gauges/support/base.rb +33 -0
  96. data/lib/ziya/gauges/support/circle.rb +14 -0
  97. data/lib/ziya/gauges/support/design.rb +5 -0
  98. data/lib/ziya/gauges/support/image.rb +12 -0
  99. data/lib/ziya/gauges/support/line.rb +12 -0
  100. data/lib/ziya/gauges/support/link.rb +24 -0
  101. data/lib/ziya/gauges/support/move.rb +15 -0
  102. data/lib/ziya/gauges/support/point.rb +12 -0
  103. data/lib/ziya/gauges/support/polygon.rb +13 -0
  104. data/lib/ziya/gauges/support/radial_base.rb +21 -0
  105. data/lib/ziya/gauges/support/radial_numbers.rb +41 -0
  106. data/lib/ziya/gauges/support/radial_ticks.rb +29 -0
  107. data/lib/ziya/gauges/support/rect.rb +14 -0
  108. data/lib/ziya/gauges/support/rotate.rb +15 -0
  109. data/lib/ziya/gauges/support/scale.rb +15 -0
  110. data/lib/ziya/gauges/support/text.rb +21 -0
  111. data/lib/ziya/gauges/support/update.rb +12 -0
  112. data/lib/ziya/gauges/thermo.rb +121 -0
  113. data/lib/ziya/helpers/base_helper.rb +39 -6
  114. data/lib/ziya/utils/text.rb +6 -0
  115. data/lib/ziya/version.rb +1 -1
  116. data/lib/ziya/ziya_helper.rb +289 -62
  117. data/spec/charts/base_spec.rb +35 -21
  118. data/spec/charts/chart_type_spec.rb +24 -3
  119. data/spec/components/area_spec.rb +9 -2
  120. data/spec/components/draw_spec.rb +1 -2
  121. data/spec/components/filter_spec.rb +27 -0
  122. data/spec/components/link_spec.rb +1 -2
  123. data/spec/components/series_color_spec.rb +1 -2
  124. data/spec/components/series_explode_spec.rb +1 -2
  125. data/spec/components/series_switch_spec.rb +1 -2
  126. data/spec/designs/circle.yml +7 -0
  127. data/spec/designs/crapping_out.yml +8 -0
  128. data/spec/designs/gauge_1.yml +43 -0
  129. data/spec/designs/gauge_2.yml +11 -0
  130. data/spec/designs/gauge_no_name.yml +43 -0
  131. data/spec/designs/gauge_raw.yml +5 -0
  132. data/spec/designs/thermo.yml +13 -0
  133. data/spec/gauges/base_spec.rb +90 -0
  134. data/spec/gauges/signal_spec.rb +36 -0
  135. data/spec/gauges/support/area_spec.rb +40 -0
  136. data/spec/gauges/support/circle_spec.rb +78 -0
  137. data/spec/gauges/support/image_spec.rb +35 -0
  138. data/spec/gauges/support/line_spec.rb +34 -0
  139. data/spec/gauges/support/link_spec.rb +35 -0
  140. data/spec/gauges/support/move_spec.rb +45 -0
  141. data/spec/gauges/support/polygon_spec.rb +36 -0
  142. data/spec/gauges/support/radial_numbers_spec.rb +35 -0
  143. data/spec/gauges/support/radial_ticks_spec.rb +30 -0
  144. data/spec/gauges/support/rotate_spec.rb +45 -0
  145. data/spec/gauges/support/scale_spec.rb +46 -0
  146. data/spec/gauges/support/text_spec.rb +40 -0
  147. data/spec/gauges/thermo_spec.rb +49 -0
  148. data/spec/helpers/base_helper_spec.rb +20 -6
  149. data/spec/spec_helper.rb +4 -1
  150. data/spec/test_helpers/gauge_2_helper.rb +17 -0
  151. data/spec/utils/logger_spec.rb +1 -3
  152. data/spec/utils/text_spec.rb +1 -2
  153. data/spec/ziya_helper_spec.rb +88 -11
  154. data/spec/ziya_spec.rb +1 -1
  155. data/tasks/gem.rake +1 -1
  156. metadata +79 -32
  157. data/charts/themes/commando/bar_chart.yml +0 -9
  158. data/charts/themes/commando/base_chart.yml +0 -65
  159. data/charts/themes/commando/column_chart.yml +0 -13
  160. data/charts/themes/commando/column_threed_chart.yml +0 -25
  161. data/charts/themes/commando/parallel_threed_column_chart.yml +0 -17
  162. data/charts/themes/commando/pie_chart.yml +0 -22
  163. data/charts/themes/commando/pie_threed_chart.yml +0 -28
  164. data/charts/themes/commando/polar_chart.yml +0 -11
  165. data/charts/themes/commando/stacked_bar_chart.yml +0 -9
  166. data/charts/themes/commando/stacked_column_chart.yml +0 -14
  167. data/charts/themes/commando/stacked_threed_column_chart.yml +0 -17
  168. data/charts/themes/default/bar_chart.yml +0 -3
  169. data/charts/themes/default/base_chart.yml +0 -67
  170. data/charts/themes/default/column_chart.yml +0 -13
  171. data/charts/themes/default/column_threed_chart.yml +0 -25
  172. data/charts/themes/default/parallel_threed_column_chart.yml +0 -17
  173. data/charts/themes/default/pie_chart.yml +0 -29
  174. data/charts/themes/default/pie_threed_chart.yml +0 -28
  175. data/charts/themes/default/polar_chart.yml +0 -12
  176. data/charts/themes/default/stacked_bar_chart.yml +0 -3
  177. data/charts/themes/default/stacked_column_chart.yml +0 -14
  178. data/charts/themes/default/stacked_threed_column_chart.yml +0 -17
  179. data/charts/themes/default/test.yml +0 -4
  180. data/lib/ziya/components/chart_value.rb +0 -71
  181. data/lib/ziya/components/legend_label.rb +0 -18
  182. data/lib/ziya/components/legend_rect.rb +0 -19
  183. data/lib/ziya/components/legend_transition.rb +0 -18
  184. data/lib/ziya/components/live_update.rb +0 -21
@@ -3,12 +3,16 @@ Manifest.txt
3
3
  README.txt
4
4
  Rakefile
5
5
  bin/ziyafy
6
+ charts/AC_RunActiveContent.js
6
7
  charts/charts.swf
8
+ charts/charts_library/ar3d.swf
7
9
  charts/charts_library/arno.swf
10
+ charts/charts_library/ars3.swf
8
11
  charts/charts_library/arst.swf
9
12
  charts/charts_library/brfl.swf
10
13
  charts/charts_library/brno.swf
11
14
  charts/charts_library/brst.swf
15
+ charts/charts_library/buno.swf
12
16
  charts/charts_library/cl3d.swf
13
17
  charts/charts_library/clfl.swf
14
18
  charts/charts_library/clno.swf
@@ -22,33 +26,22 @@ charts/charts_library/pi3d.swf
22
26
  charts/charts_library/pino.swf
23
27
  charts/charts_library/pono.swf
24
28
  charts/charts_library/scno.swf
25
- charts/themes/commando/bar_chart.yml
26
- charts/themes/commando/base_chart.yml
27
- charts/themes/commando/column_chart.yml
28
- charts/themes/commando/column_threed_chart.yml
29
- charts/themes/commando/parallel_threed_column_chart.yml
30
- charts/themes/commando/pie_chart.yml
31
- charts/themes/commando/pie_threed_chart.yml
32
- charts/themes/commando/polar_chart.yml
33
- charts/themes/commando/stacked_bar_chart.yml
34
- charts/themes/commando/stacked_column_chart.yml
35
- charts/themes/commando/stacked_threed_column_chart.yml
36
- charts/themes/default/bar_chart.yml
37
- charts/themes/default/base_chart.yml
38
- charts/themes/default/column_chart.yml
39
- charts/themes/default/column_threed_chart.yml
40
- charts/themes/default/parallel_threed_column_chart.yml
41
- charts/themes/default/pie_chart.yml
42
- charts/themes/default/pie_threed_chart.yml
43
- charts/themes/default/polar_chart.yml
44
- charts/themes/default/stacked_bar_chart.yml
45
- charts/themes/default/stacked_column_chart.yml
46
- charts/themes/default/stacked_threed_column_chart.yml
47
- charts/themes/default/test.yml
29
+ charts/full_screen.swf
30
+ charts/sliders/black.swf
31
+ charts/sliders/preview_handle_1.swf
32
+ charts/sliders/preview_handle_2.swf
33
+ fred.rb
34
+ gauges/designs/circle.yml
35
+ gauges/designs/signal.yml
36
+ gauges/designs/thermo.yml
37
+ gauges/designs/title.yml
38
+ gauges/gauge.swf
48
39
  lib/ziya.rb
49
40
  lib/ziya/charts/area.rb
41
+ lib/ziya/charts/area_threed.rb
50
42
  lib/ziya/charts/bar.rb
51
43
  lib/ziya/charts/base.rb
44
+ lib/ziya/charts/bubble.rb
52
45
  lib/ziya/charts/candle_stick.rb
53
46
  lib/ziya/charts/column.rb
54
47
  lib/ziya/charts/column_threed.rb
@@ -64,35 +57,64 @@ lib/ziya/charts/scatter.rb
64
57
  lib/ziya/charts/stacked_area.rb
65
58
  lib/ziya/charts/stacked_bar.rb
66
59
  lib/ziya/charts/stacked_column.rb
60
+ lib/ziya/charts/stacked_threed_area.rb
67
61
  lib/ziya/charts/stacked_threed_column.rb
68
62
  lib/ziya/components/area.rb
69
63
  lib/ziya/components/axis_category.rb
70
64
  lib/ziya/components/axis_ticks.rb
71
65
  lib/ziya/components/axis_value.rb
72
66
  lib/ziya/components/base.rb
67
+ lib/ziya/components/bevel.rb
68
+ lib/ziya/components/blur.rb
73
69
  lib/ziya/components/chart_border.rb
74
70
  lib/ziya/components/chart_grid_h.rb
75
71
  lib/ziya/components/chart_grid_v.rb
72
+ lib/ziya/components/chart_guide.rb
73
+ lib/ziya/components/chart_label.rb
76
74
  lib/ziya/components/chart_pref.rb
77
75
  lib/ziya/components/chart_rect.rb
78
76
  lib/ziya/components/chart_transition.rb
79
- lib/ziya/components/chart_value.rb
80
77
  lib/ziya/components/circle.rb
81
78
  lib/ziya/components/draw.rb
79
+ lib/ziya/components/draw_base.rb
80
+ lib/ziya/components/filter.rb
81
+ lib/ziya/components/glow.rb
82
82
  lib/ziya/components/image.rb
83
- lib/ziya/components/legend_label.rb
84
- lib/ziya/components/legend_rect.rb
85
- lib/ziya/components/legend_transition.rb
83
+ lib/ziya/components/legend.rb
86
84
  lib/ziya/components/line.rb
87
85
  lib/ziya/components/link.rb
88
86
  lib/ziya/components/link_data.rb
89
- lib/ziya/components/live_update.rb
90
87
  lib/ziya/components/rect.rb
88
+ lib/ziya/components/scroll.rb
91
89
  lib/ziya/components/series_color.rb
92
90
  lib/ziya/components/series_explode.rb
93
91
  lib/ziya/components/series_gap.rb
94
92
  lib/ziya/components/series_switch.rb
93
+ lib/ziya/components/shadow.rb
95
94
  lib/ziya/components/text.rb
95
+ lib/ziya/components/update.rb
96
+ lib/ziya/gauges/base.rb
97
+ lib/ziya/gauges/radial.rb
98
+ lib/ziya/gauges/signal.rb
99
+ lib/ziya/gauges/support/area.rb
100
+ lib/ziya/gauges/support/base.rb
101
+ lib/ziya/gauges/support/circle.rb
102
+ lib/ziya/gauges/support/design.rb
103
+ lib/ziya/gauges/support/image.rb
104
+ lib/ziya/gauges/support/line.rb
105
+ lib/ziya/gauges/support/link.rb
106
+ lib/ziya/gauges/support/move.rb
107
+ lib/ziya/gauges/support/point.rb
108
+ lib/ziya/gauges/support/polygon.rb
109
+ lib/ziya/gauges/support/radial_base.rb
110
+ lib/ziya/gauges/support/radial_numbers.rb
111
+ lib/ziya/gauges/support/radial_ticks.rb
112
+ lib/ziya/gauges/support/rect.rb
113
+ lib/ziya/gauges/support/rotate.rb
114
+ lib/ziya/gauges/support/scale.rb
115
+ lib/ziya/gauges/support/text.rb
116
+ lib/ziya/gauges/support/update.rb
117
+ lib/ziya/gauges/thermo.rb
96
118
  lib/ziya/helpers/base_helper.rb
97
119
  lib/ziya/utils/logger.rb
98
120
  lib/ziya/utils/text.rb
@@ -102,12 +124,36 @@ spec/charts/base_spec.rb
102
124
  spec/charts/chart_type_spec.rb
103
125
  spec/components/area_spec.rb
104
126
  spec/components/draw_spec.rb
127
+ spec/components/filter_spec.rb
105
128
  spec/components/link_spec.rb
106
129
  spec/components/series_color_spec.rb
107
130
  spec/components/series_explode_spec.rb
108
131
  spec/components/series_switch_spec.rb
132
+ spec/designs/circle.yml
133
+ spec/designs/crapping_out.yml
134
+ spec/designs/gauge_1.yml
135
+ spec/designs/gauge_2.yml
136
+ spec/designs/gauge_no_name.yml
137
+ spec/designs/gauge_raw.yml
138
+ spec/designs/thermo.yml
139
+ spec/gauges/base_spec.rb
140
+ spec/gauges/signal_spec.rb
141
+ spec/gauges/support/area_spec.rb
142
+ spec/gauges/support/circle_spec.rb
143
+ spec/gauges/support/image_spec.rb
144
+ spec/gauges/support/line_spec.rb
145
+ spec/gauges/support/link_spec.rb
146
+ spec/gauges/support/move_spec.rb
147
+ spec/gauges/support/polygon_spec.rb
148
+ spec/gauges/support/radial_numbers_spec.rb
149
+ spec/gauges/support/radial_ticks_spec.rb
150
+ spec/gauges/support/rotate_spec.rb
151
+ spec/gauges/support/scale_spec.rb
152
+ spec/gauges/support/text_spec.rb
153
+ spec/gauges/thermo_spec.rb
109
154
  spec/helpers/base_helper_spec.rb
110
155
  spec/spec_helper.rb
156
+ spec/test_helpers/gauge_2_helper.rb
111
157
  spec/themes/default/fred.yml
112
158
  spec/themes/default/line_chart.yml
113
159
  spec/utils/logger_spec.rb
data/README.txt CHANGED
@@ -5,15 +5,15 @@ ziya
5
5
  == DESCRIPTION:
6
6
 
7
7
  ZiYa allows you to easily display graphs in your ruby based applications by leveraging
8
- SWF Charts (http://www.maani.us/xml_charts/index.php). This plugin bundles version 4.7
9
- of the flash library. Incorporating flash graphs in your app relieves the server by
10
- allowing for delegating graph rendering to the client side. Using this plugin, you will
8
+ SWF Charts (http://www.maani.us/xml_charts/index.php) and SWF gauges (http://www.maani.us/gauge/index.php).
9
+ This gem bundles version 5.02 and 1.6 of these flash libraries. Incorporating flash graphs or gauge in your app
10
+ relieves the server by allowing for delegating graph rendering to the client side. Using this gem, you will
11
11
  be able to easily create great looking charts for your application. You will also be able
12
- to use the charts has a navigation scheme by embedding various link in the chart components
12
+ to use the charts or gauges has a navigation scheme by embedding various link in the graphical components
13
13
  thus bring to the table an ideal scheme for reporting and dashboard like applications. Your
14
14
  managers will love you for it !!
15
15
 
16
- Checkout the demo: http://ziya.liquidrail.com
16
+ Checkout the demo: http://ziya.liquidrail.com ( NEEDS LATEST UPDATE... WORKING ON IT)
17
17
  Video : http://www.youtube.com/watch?v=axIMmMHdXzo ( Out of date but you'll get the basics... )
18
18
  Documentation : http://ziya.liquidrail.com/rdoc ( New docs coming soon... )
19
19
  Forum : http://groups.google.com/group/ziya-plugin
@@ -32,11 +32,12 @@ managers will love you for it !!
32
32
 
33
33
  NOTE: XML/SWF charts are free of charge unless you need to use special features such
34
34
  as embedded links and printing.
35
- The package cost $45 per domain and is well worth the investment.
35
+ The package cost $45 per domain and is well worth the investment. A similar fee applies
36
+ to the gauge framework.
36
37
 
37
- * We are leveraging ERB within the YAML file to provide access to the chart state. State
38
- can be passed in via the options hash when the graph is generated.
39
- You can also define your own methods in helpers/ZiyaHelpers. You can access these
38
+ * We are leveraging ERB within the YAML file to provide access to the chart/gauge state. State
39
+ can be passed in via the options hash when the graph/gauge is generated.
40
+ You can also define your own methods in helpers/ziya/xxx_helper. Where xxYou can access these
40
41
  helper methods in your style file just like you would in a rails template.
41
42
 
42
43
  * Theme support. You can change the appearance and behavior of any charts by introducing
@@ -44,13 +45,23 @@ managers will love you for it !!
44
45
 
45
46
  == SYNOPSIS:
46
47
 
48
+ IMPORTANT: This new gem version requires a client update to flash 9.0 and possibly you will
49
+ need to get a new license from XML/SWF ( $45.0 for your domain ), if you want to use
50
+ advanced features like links and live updates.
51
+ Also some api's have changed. I will try to push a new sample application and more docs in the
52
+ next few weeks. So make sure you try this out first in a non production environment and report
53
+ bugs or side effects. I'll do my best to keep up with the demand. If anyone would like to give
54
+ me a hand with a tutorial app or improving the docs, I am all hears...
55
+
56
+
57
+
47
58
  When using within a rails application you will need to create a ziya.rb file in your
48
59
  config/initializers directory ( Rails 2.0 )
49
60
 
50
61
  ziya.rb:
51
62
 
52
63
  # Pull in the ZiYa gem framework
53
- gem "ziya", "~> 1.0.0"
64
+ gem "ziya", "~> 2.0.0"
54
65
  require 'ziya'
55
66
 
56
67
  # Initializes the ZiYa Framework
@@ -79,7 +90,6 @@ managers will love you for it !!
79
90
  chart.add( :axis_category_text, %w[2006 2007 2008] )
80
91
  chart.add( :series, "Dogs", [10,20,30] )
81
92
  chart.add( :series, "Cats", [5,15,25] )
82
-
83
93
  respond_to do |fmt|
84
94
  fmt.xml => { render :xml => chart.to_xml }
85
95
  end
@@ -87,7 +97,6 @@ managers will love you for it !!
87
97
 
88
98
  blee/index.html.erb
89
99
 
90
- <!-- Setups up flash in the html template -->
91
100
  <%= ziya_chart load_chart_url, :size => "300x200" -%>
92
101
 
93
102
  config/route.rb
@@ -95,9 +104,78 @@ managers will love you for it !!
95
104
  # Creates a named route for the chart.
96
105
  map.load_chart '/blee/load_chart', :controller => 'blee', :action => 'load_chart'
97
106
 
107
+ * Creating a gauge
108
+
109
+ fred_controller.rb
110
+
111
+ class FredController < ApplicationController
112
+ def load_gauge
113
+ gauge = Ziya::Gauges::Base.new( @license_key, 'my_gauge' )
114
+ respond_to do |fmt|
115
+ fmt.xml => { render :xml => chart.to_xml }
116
+ end
117
+ end
118
+ end
119
+
120
+ fred/index.html.erb
121
+
122
+ <%= ziya_gauge load_gauge_url, :size => "300x200" -%>
123
+
124
+ config/route.rb
125
+
126
+ # Creates a named route for the chart.
127
+ map.load_chart '/fred/load_gauge', :controller => 'fred', :action => 'load_gauge'
128
+
129
+ public/gauges/designs/my_gauge.yml
130
+
131
+ In the design file you will leverage the components defined in the Ziya::Gauges::Support
132
+ package to create your gauge desgins. You gauges can be animated using rotate, scale and
133
+ move operations. In this example we will create a volume control that will rotate to the
134
+ desired position. In real live you will fetch the volume level from your controller to
135
+ set the desired position. Looks in the samples/gauges application for the various
136
+ possibilities. You can think of a gauge as a portable canvas element where you can draw
137
+ you own designs using the various provided ZiYa components.
138
+
139
+ <%= gauge :base %>
140
+ # specifies the number of ticks to draw in a circular fashion
141
+ <%= dial :radial_ticks, :volume %>
142
+ x: 100
143
+ y: 75
144
+ radius: 35
145
+ length: 4
146
+ start_angle: 235
147
+ end_angle: 485
148
+ ticks: 10
149
+ thickness: 2
150
+ color: 000000
151
+ # rotates the volume to the desired position.
152
+ <%= dial :rotate, :volume_setting %>
153
+ x: 100
154
+ y: 75
155
+ start: 300
156
+ span: 160
157
+ step: 5
158
+ skake_span: 20
159
+ shadow_alpha: 20
160
+ shadow_x_offset: 3
161
+ shadow_y_offset: 3
162
+ <%= dials %>
163
+ <%= dial :circle, :circle_1 %>
164
+ x: 100
165
+ y: 75
166
+ radius: 30
167
+ fill_color: 777777
168
+ line_thickness: 5
169
+ line_alpha: 75
170
+ <%= dial :circle, :circle_2 %>
171
+ x: 100
172
+ y: 55
173
+ radius: 5
174
+ fill_alpha: 80
175
+
98
176
  == REQUIREMENTS:
99
177
 
100
- ZiYa depends on the logging gem version > 0.7.1
178
+ ZiYa depends on the logging gem version > 0.9.0
101
179
 
102
180
  == INSTALL:
103
181
 
@@ -110,7 +188,6 @@ managers will love you for it !!
110
188
  This will copy the necessary themes and flash files to run ziya in your application
111
189
  public/charts directory.
112
190
 
113
-
114
191
  == LICENSE:
115
192
 
116
193
  (The MIT License)
data/Rakefile CHANGED
@@ -42,4 +42,4 @@ end
42
42
  task 'gem:package' => 'manifest:assert'
43
43
 
44
44
 
45
- depend_on "logging", "= 0.7.1"
45
+ depend_on "logging", "= 0.9.0"
data/bin/ziyafy CHANGED
@@ -18,6 +18,8 @@ module Ziya
18
18
  def copy_artifacts
19
19
  source_dir = File.expand_path( File.join( File.dirname(__FILE__), %w[.. charts]) )
20
20
  FileUtils.cp_r( source_dir, options.public_dir )
21
+ source_dir = File.expand_path( File.join( File.dirname(__FILE__), %w[.. gauges]) )
22
+ FileUtils.cp_r( source_dir, options.public_dir )
21
23
  end
22
24
 
23
25
  # access the options
@@ -0,0 +1,292 @@
1
+ //v1.7
2
+ // Flash Player Version Detection
3
+ // Detect Client Browser type
4
+ // Copyright 2005-2007 Adobe Systems Incorporated. All rights reserved.
5
+ var isIE = (navigator.appVersion.indexOf("MSIE") != -1) ? true : false;
6
+ var isWin = (navigator.appVersion.toLowerCase().indexOf("win") != -1) ? true : false;
7
+ var isOpera = (navigator.userAgent.indexOf("Opera") != -1) ? true : false;
8
+
9
+ function ControlVersion()
10
+ {
11
+ var version;
12
+ var axo;
13
+ var e;
14
+
15
+ // NOTE : new ActiveXObject(strFoo) throws an exception if strFoo isn't in the registry
16
+
17
+ try {
18
+ // version will be set for 7.X or greater players
19
+ axo = new ActiveXObject("ShockwaveFlash.ShockwaveFlash.7");
20
+ version = axo.GetVariable("$version");
21
+ } catch (e) {
22
+ }
23
+
24
+ if (!version)
25
+ {
26
+ try {
27
+ // version will be set for 6.X players only
28
+ axo = new ActiveXObject("ShockwaveFlash.ShockwaveFlash.6");
29
+
30
+ // installed player is some revision of 6.0
31
+ // GetVariable("$version") crashes for versions 6.0.22 through 6.0.29,
32
+ // so we have to be careful.
33
+
34
+ // default to the first public version
35
+ version = "WIN 6,0,21,0";
36
+
37
+ // throws if AllowScripAccess does not exist (introduced in 6.0r47)
38
+ axo.AllowScriptAccess = "always";
39
+
40
+ // safe to call for 6.0r47 or greater
41
+ version = axo.GetVariable("$version");
42
+
43
+ } catch (e) {
44
+ }
45
+ }
46
+
47
+ if (!version)
48
+ {
49
+ try {
50
+ // version will be set for 4.X or 5.X player
51
+ axo = new ActiveXObject("ShockwaveFlash.ShockwaveFlash.3");
52
+ version = axo.GetVariable("$version");
53
+ } catch (e) {
54
+ }
55
+ }
56
+
57
+ if (!version)
58
+ {
59
+ try {
60
+ // version will be set for 3.X player
61
+ axo = new ActiveXObject("ShockwaveFlash.ShockwaveFlash.3");
62
+ version = "WIN 3,0,18,0";
63
+ } catch (e) {
64
+ }
65
+ }
66
+
67
+ if (!version)
68
+ {
69
+ try {
70
+ // version will be set for 2.X player
71
+ axo = new ActiveXObject("ShockwaveFlash.ShockwaveFlash");
72
+ version = "WIN 2,0,0,11";
73
+ } catch (e) {
74
+ version = -1;
75
+ }
76
+ }
77
+
78
+ return version;
79
+ }
80
+
81
+ // JavaScript helper required to detect Flash Player PlugIn version information
82
+ function GetSwfVer(){
83
+ // NS/Opera version >= 3 check for Flash plugin in plugin array
84
+ var flashVer = -1;
85
+
86
+ if (navigator.plugins != null && navigator.plugins.length > 0) {
87
+ if (navigator.plugins["Shockwave Flash 2.0"] || navigator.plugins["Shockwave Flash"]) {
88
+ var swVer2 = navigator.plugins["Shockwave Flash 2.0"] ? " 2.0" : "";
89
+ var flashDescription = navigator.plugins["Shockwave Flash" + swVer2].description;
90
+ var descArray = flashDescription.split(" ");
91
+ var tempArrayMajor = descArray[2].split(".");
92
+ var versionMajor = tempArrayMajor[0];
93
+ var versionMinor = tempArrayMajor[1];
94
+ var versionRevision = descArray[3];
95
+ if (versionRevision == "") {
96
+ versionRevision = descArray[4];
97
+ }
98
+ if (versionRevision[0] == "d") {
99
+ versionRevision = versionRevision.substring(1);
100
+ } else if (versionRevision[0] == "r") {
101
+ versionRevision = versionRevision.substring(1);
102
+ if (versionRevision.indexOf("d") > 0) {
103
+ versionRevision = versionRevision.substring(0, versionRevision.indexOf("d"));
104
+ }
105
+ }
106
+ var flashVer = versionMajor + "." + versionMinor + "." + versionRevision;
107
+ }
108
+ }
109
+ // MSN/WebTV 2.6 supports Flash 4
110
+ else if (navigator.userAgent.toLowerCase().indexOf("webtv/2.6") != -1) flashVer = 4;
111
+ // WebTV 2.5 supports Flash 3
112
+ else if (navigator.userAgent.toLowerCase().indexOf("webtv/2.5") != -1) flashVer = 3;
113
+ // older WebTV supports Flash 2
114
+ else if (navigator.userAgent.toLowerCase().indexOf("webtv") != -1) flashVer = 2;
115
+ else if ( isIE && isWin && !isOpera ) {
116
+ flashVer = ControlVersion();
117
+ }
118
+ return flashVer;
119
+ }
120
+
121
+ // When called with reqMajorVer, reqMinorVer, reqRevision returns true if that version or greater is available
122
+ function DetectFlashVer(reqMajorVer, reqMinorVer, reqRevision)
123
+ {
124
+ versionStr = GetSwfVer();
125
+ if (versionStr == -1 ) {
126
+ return false;
127
+ } else if (versionStr != 0) {
128
+ if(isIE && isWin && !isOpera) {
129
+ // Given "WIN 2,0,0,11"
130
+ tempArray = versionStr.split(" "); // ["WIN", "2,0,0,11"]
131
+ tempString = tempArray[1]; // "2,0,0,11"
132
+ versionArray = tempString.split(","); // ['2', '0', '0', '11']
133
+ } else {
134
+ versionArray = versionStr.split(".");
135
+ }
136
+ var versionMajor = versionArray[0];
137
+ var versionMinor = versionArray[1];
138
+ var versionRevision = versionArray[2];
139
+
140
+ // is the major.revision >= requested major.revision AND the minor version >= requested minor
141
+ if (versionMajor > parseFloat(reqMajorVer)) {
142
+ return true;
143
+ } else if (versionMajor == parseFloat(reqMajorVer)) {
144
+ if (versionMinor > parseFloat(reqMinorVer))
145
+ return true;
146
+ else if (versionMinor == parseFloat(reqMinorVer)) {
147
+ if (versionRevision >= parseFloat(reqRevision))
148
+ return true;
149
+ }
150
+ }
151
+ return false;
152
+ }
153
+ }
154
+
155
+ function AC_AddExtension(src, ext)
156
+ {
157
+ if (src.indexOf('?') != -1)
158
+ return src.replace(/\?/, ext+'?');
159
+ else
160
+ return src + ext;
161
+ }
162
+
163
+ function AC_Generateobj(objAttrs, params, embedAttrs)
164
+ {
165
+ var str = '';
166
+ if (isIE && isWin && !isOpera)
167
+ {
168
+ str += '<object ';
169
+ for (var i in objAttrs)
170
+ {
171
+ str += i + '="' + objAttrs[i] + '" ';
172
+ }
173
+ str += '>';
174
+ for (var i in params)
175
+ {
176
+ str += '<param name="' + i + '" value="' + params[i] + '" /> ';
177
+ }
178
+ str += '</object>';
179
+ }
180
+ else
181
+ {
182
+ str += '<embed ';
183
+ for (var i in embedAttrs)
184
+ {
185
+ str += i + '="' + embedAttrs[i] + '" ';
186
+ }
187
+ str += '> </embed>';
188
+ }
189
+
190
+ document.write(str);
191
+ }
192
+
193
+ function AC_FL_RunContent(){
194
+ var ret =
195
+ AC_GetArgs
196
+ ( arguments, ".swf", "movie", "clsid:d27cdb6e-ae6d-11cf-96b8-444553540000"
197
+ , "application/x-shockwave-flash"
198
+ );
199
+ AC_Generateobj(ret.objAttrs, ret.params, ret.embedAttrs);
200
+ }
201
+
202
+ function AC_SW_RunContent(){
203
+ var ret =
204
+ AC_GetArgs
205
+ ( arguments, ".dcr", "src", "clsid:166B1BCA-3F9C-11CF-8075-444553540000"
206
+ , null
207
+ );
208
+ AC_Generateobj(ret.objAttrs, ret.params, ret.embedAttrs);
209
+ }
210
+
211
+ function AC_GetArgs(args, ext, srcParamName, classid, mimeType){
212
+ var ret = new Object();
213
+ ret.embedAttrs = new Object();
214
+ ret.params = new Object();
215
+ ret.objAttrs = new Object();
216
+ for (var i=0; i < args.length; i=i+2){
217
+ var currArg = args[i].toLowerCase();
218
+
219
+ switch (currArg){
220
+ case "classid":
221
+ break;
222
+ case "pluginspage":
223
+ ret.embedAttrs[args[i]] = args[i+1];
224
+ break;
225
+ case "src":
226
+ case "movie":
227
+ args[i+1] = AC_AddExtension(args[i+1], ext);
228
+ ret.embedAttrs["src"] = args[i+1];
229
+ ret.params[srcParamName] = args[i+1];
230
+ break;
231
+ case "onafterupdate":
232
+ case "onbeforeupdate":
233
+ case "onblur":
234
+ case "oncellchange":
235
+ case "onclick":
236
+ case "ondblclick":
237
+ case "ondrag":
238
+ case "ondragend":
239
+ case "ondragenter":
240
+ case "ondragleave":
241
+ case "ondragover":
242
+ case "ondrop":
243
+ case "onfinish":
244
+ case "onfocus":
245
+ case "onhelp":
246
+ case "onmousedown":
247
+ case "onmouseup":
248
+ case "onmouseover":
249
+ case "onmousemove":
250
+ case "onmouseout":
251
+ case "onkeypress":
252
+ case "onkeydown":
253
+ case "onkeyup":
254
+ case "onload":
255
+ case "onlosecapture":
256
+ case "onpropertychange":
257
+ case "onreadystatechange":
258
+ case "onrowsdelete":
259
+ case "onrowenter":
260
+ case "onrowexit":
261
+ case "onrowsinserted":
262
+ case "onstart":
263
+ case "onscroll":
264
+ case "onbeforeeditfocus":
265
+ case "onactivate":
266
+ case "onbeforedeactivate":
267
+ case "ondeactivate":
268
+ case "type":
269
+ case "codebase":
270
+ case "id":
271
+ ret.objAttrs[args[i]] = args[i+1];
272
+ break;
273
+ case "width":
274
+ case "height":
275
+ case "align":
276
+ case "vspace":
277
+ case "hspace":
278
+ case "class":
279
+ case "title":
280
+ case "accesskey":
281
+ case "name":
282
+ case "tabindex":
283
+ ret.embedAttrs[args[i]] = ret.objAttrs[args[i]] = args[i+1];
284
+ break;
285
+ default:
286
+ ret.embedAttrs[args[i]] = ret.params[args[i]] = args[i+1];
287
+ }
288
+ }
289
+ ret.objAttrs["classid"] = classid;
290
+ if (mimeType) ret.embedAttrs["type"] = mimeType;
291
+ return ret;
292
+ }