derailed-ziya 2.0.8 → 2.1.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (263) hide show
  1. data/Manifest.txt +240 -432
  2. data/README.txt +104 -97
  3. data/Rakefile +3 -2
  4. data/bin/ziyafy +33 -10
  5. data/examples/charts/basic_chart.rb +47 -0
  6. data/{charts → examples/charts/public/charts}/AC_RunActiveContent.js +0 -0
  7. data/{charts → examples/charts/public/charts}/charts.swf +0 -0
  8. data/{charts → examples/charts/public/charts}/charts_library/ar3d.swf +0 -0
  9. data/{charts → examples/charts/public/charts}/charts_library/arno.swf +0 -0
  10. data/{charts → examples/charts/public/charts}/charts_library/ars3.swf +0 -0
  11. data/{charts → examples/charts/public/charts}/charts_library/arst.swf +0 -0
  12. data/{charts → examples/charts/public/charts}/charts_library/brfl.swf +0 -0
  13. data/{charts → examples/charts/public/charts}/charts_library/brno.swf +0 -0
  14. data/{charts → examples/charts/public/charts}/charts_library/brst.swf +0 -0
  15. data/{charts → examples/charts/public/charts}/charts_library/buno.swf +0 -0
  16. data/{charts → examples/charts/public/charts}/charts_library/cl3d.swf +0 -0
  17. data/{charts → examples/charts/public/charts}/charts_library/clfl.swf +0 -0
  18. data/{charts → examples/charts/public/charts}/charts_library/clim.swf +0 -0
  19. data/{charts → examples/charts/public/charts}/charts_library/clno.swf +0 -0
  20. data/{charts → examples/charts/public/charts}/charts_library/clp3.swf +0 -0
  21. data/{charts → examples/charts/public/charts}/charts_library/cls3.swf +0 -0
  22. data/{charts → examples/charts/public/charts}/charts_library/clst.swf +0 -0
  23. data/{charts → examples/charts/public/charts}/charts_library/cnno.swf +0 -0
  24. data/{charts → examples/charts/public/charts}/charts_library/dono.swf +0 -0
  25. data/{charts → examples/charts/public/charts}/charts_library/lnno.swf +0 -0
  26. data/{charts → examples/charts/public/charts}/charts_library/mxno.swf +0 -0
  27. data/{charts → examples/charts/public/charts}/charts_library/pi3d.swf +0 -0
  28. data/{charts → examples/charts/public/charts}/charts_library/piim.swf +0 -0
  29. data/{charts → examples/charts/public/charts}/charts_library/pino.swf +0 -0
  30. data/{charts → examples/charts/public/charts}/charts_library/pono.swf +0 -0
  31. data/{charts → examples/charts/public/charts}/charts_library/scno.swf +0 -0
  32. data/{charts → examples/charts/public/charts}/full_screen.swf +0 -0
  33. data/{charts → examples/charts/public/charts}/scripts/output_jpg.php +0 -0
  34. data/{charts → examples/charts/public/charts}/sliders/black.swf +0 -0
  35. data/{charts → examples/charts/public/charts}/sliders/preview_handle_1.swf +0 -0
  36. data/{charts → examples/charts/public/charts}/sliders/preview_handle_2.swf +0 -0
  37. data/examples/charts/public/charts/themes/cool_theme/column_chart.yml +150 -0
  38. data/{charts → examples/charts/public/charts}/themes/readme.txt +0 -0
  39. data/examples/charts/views/index.erb +12 -0
  40. data/examples/maps/basic_map.rb +72 -0
  41. data/examples/maps/helpers/map_helper.rb +15 -0
  42. data/examples/maps/models/confidential_herpes_report.rb +78 -0
  43. data/examples/maps/public/javascripts/jquery-1.3.2.js +4376 -0
  44. data/examples/maps/public/map.xml +336 -0
  45. data/examples/maps/public/maps/js/Exception.js +45 -0
  46. data/examples/maps/public/maps/js/FlashProxy.js +72 -0
  47. data/examples/maps/public/maps/js/FlashSerializer.js +165 -0
  48. data/examples/maps/public/maps/js/FlashTag.js +111 -0
  49. data/examples/maps/public/maps/js/JavaScriptFlashGateway.js +455 -0
  50. data/examples/maps/public/maps/js/JavaScriptFlashGateway.swf +0 -0
  51. data/examples/maps/public/maps/map_library/australia.swf +0 -0
  52. data/examples/maps/public/maps/map_library/belgium.swf +0 -0
  53. data/examples/maps/public/maps/map_library/brazil.swf +0 -0
  54. data/examples/maps/public/maps/map_library/canada.swf +0 -0
  55. data/examples/maps/public/maps/map_library/europe.swf +0 -0
  56. data/examples/maps/public/maps/map_library/france.swf +0 -0
  57. data/examples/maps/public/maps/map_library/germany.swf +0 -0
  58. data/examples/maps/public/maps/map_library/italy.swf +0 -0
  59. data/examples/maps/public/maps/map_library/mexico.swf +0 -0
  60. data/examples/maps/public/maps/map_library/sweden.swf +0 -0
  61. data/examples/maps/public/maps/map_library/uk_ireland.swf +0 -0
  62. data/examples/maps/public/maps/map_library/us.swf +0 -0
  63. data/examples/maps/public/maps/map_library/us_canada.swf +0 -0
  64. data/examples/maps/public/maps/map_library/world.swf +0 -0
  65. data/examples/maps/public/maps/themes/default/base_map.yml +27 -0
  66. data/examples/maps/public/maps/themes/default/us_map.yml +20 -0
  67. data/examples/maps/public/maps/themes/default/us_map_2.yml +17 -0
  68. data/examples/maps/public/maps/themes/readme.txt +13 -0
  69. data/examples/maps/public/stylesheets/map.css +16 -0
  70. data/examples/maps/views/index.erb +26 -0
  71. data/examples/maps/views/layout.erb +21 -0
  72. data/lib/ziya/charts/base.rb +15 -14
  73. data/lib/ziya/{components → charts/support}/area.rb +2 -2
  74. data/lib/ziya/{components → charts/support}/axis_category.rb +1 -1
  75. data/lib/ziya/{components → charts/support}/axis_ticks.rb +1 -1
  76. data/lib/ziya/{components → charts/support}/axis_value.rb +1 -1
  77. data/lib/ziya/{components → charts/support}/base.rb +9 -21
  78. data/lib/ziya/{components → charts/support}/bevel.rb +1 -1
  79. data/lib/ziya/{components → charts/support}/blur.rb +1 -1
  80. data/lib/ziya/{components → charts/support}/button.rb +1 -1
  81. data/lib/ziya/{components → charts/support}/chart_border.rb +1 -1
  82. data/lib/ziya/{components → charts/support}/chart_grid_h.rb +1 -1
  83. data/lib/ziya/{components → charts/support}/chart_grid_v.rb +1 -1
  84. data/lib/ziya/{components → charts/support}/chart_guide.rb +1 -1
  85. data/lib/ziya/{components → charts/support}/chart_label.rb +1 -1
  86. data/lib/ziya/{components → charts/support}/chart_note.rb +1 -1
  87. data/lib/ziya/{components → charts/support}/chart_pref.rb +1 -1
  88. data/lib/ziya/{components → charts/support}/chart_rect.rb +1 -1
  89. data/lib/ziya/{components → charts/support}/chart_transition.rb +1 -1
  90. data/lib/ziya/{components → charts/support}/circle.rb +1 -1
  91. data/lib/ziya/{components → charts/support}/context_menu.rb +1 -3
  92. data/lib/ziya/{components → charts/support}/draw.rb +31 -8
  93. data/lib/ziya/{components → charts/support}/draw_base.rb +1 -1
  94. data/lib/ziya/{components → charts/support}/filter.rb +1 -1
  95. data/lib/ziya/{components → charts/support}/flash_to_javascript.rb +1 -3
  96. data/lib/ziya/{components → charts/support}/glow.rb +1 -1
  97. data/lib/ziya/{components → charts/support}/image.rb +1 -1
  98. data/lib/ziya/{components → charts/support}/legend.rb +1 -1
  99. data/lib/ziya/{components → charts/support}/line.rb +1 -1
  100. data/lib/ziya/{components → charts/support}/link.rb +1 -1
  101. data/lib/ziya/{components → charts/support}/link_data.rb +1 -1
  102. data/lib/ziya/{components → charts/support}/rect.rb +1 -1
  103. data/lib/ziya/{components → charts/support}/scroll.rb +1 -3
  104. data/lib/ziya/{components → charts/support}/series.rb +1 -3
  105. data/lib/ziya/{components → charts/support}/series_color.rb +1 -1
  106. data/lib/ziya/{components → charts/support}/series_explode.rb +1 -1
  107. data/lib/ziya/{components → charts/support}/shadow.rb +1 -1
  108. data/lib/ziya/{components → charts/support}/text.rb +9 -1
  109. data/lib/ziya/{components → charts/support}/tooltip.rb +1 -1
  110. data/lib/ziya/{components → charts/support}/update.rb +1 -1
  111. data/lib/ziya/core_ext/string.rb +31 -0
  112. data/lib/ziya/gauges/base.rb +17 -12
  113. data/lib/ziya/gauges/support/base.rb +4 -12
  114. data/lib/ziya/gauges/support/radial_numbers.rb +1 -1
  115. data/lib/ziya/html_helpers/base.rb +91 -0
  116. data/lib/ziya/html_helpers/charts.rb +200 -0
  117. data/lib/ziya/html_helpers/gauges.rb +90 -0
  118. data/lib/ziya/html_helpers/maps.rb +74 -0
  119. data/lib/ziya/html_helpers.rb +1 -0
  120. data/lib/ziya/maps/australia.rb +9 -0
  121. data/lib/ziya/maps/base.rb +409 -0
  122. data/lib/ziya/maps/belgium.rb +7 -0
  123. data/lib/ziya/maps/brazil.rb +7 -0
  124. data/lib/ziya/maps/canada.rb +7 -0
  125. data/lib/ziya/maps/europe.rb +7 -0
  126. data/lib/ziya/maps/france.rb +7 -0
  127. data/lib/ziya/maps/geocode.rb +18 -0
  128. data/lib/ziya/maps/germany.rb +7 -0
  129. data/lib/ziya/maps/italy.rb +7 -0
  130. data/lib/ziya/maps/mexico.rb +7 -0
  131. data/lib/ziya/maps/support/arc.rb +7 -0
  132. data/lib/ziya/maps/support/arc_color.rb +7 -0
  133. data/lib/ziya/maps/support/arc_range.rb +7 -0
  134. data/lib/ziya/maps/support/background_color.rb +7 -0
  135. data/lib/ziya/maps/support/base.rb +34 -0
  136. data/lib/ziya/maps/support/default_color.rb +7 -0
  137. data/lib/ziya/maps/support/default_point.rb +7 -0
  138. data/lib/ziya/maps/support/first_zoom.rb +7 -0
  139. data/lib/ziya/maps/support/heat_range.rb +35 -0
  140. data/lib/ziya/maps/support/hover.rb +7 -0
  141. data/lib/ziya/maps/support/line.rb +7 -0
  142. data/lib/ziya/maps/support/line_color.rb +7 -0
  143. data/lib/ziya/maps/support/line_range.rb +7 -0
  144. data/lib/ziya/maps/support/outline_color.rb +7 -0
  145. data/lib/ziya/maps/support/point.rb +8 -0
  146. data/lib/ziya/maps/support/point_range.rb +7 -0
  147. data/lib/ziya/maps/support/range.rb +31 -0
  148. data/lib/ziya/maps/support/ranges.rb +18 -0
  149. data/lib/ziya/maps/support/region.rb +7 -0
  150. data/lib/ziya/maps/support/scale_points.rb +7 -0
  151. data/lib/ziya/maps/support/show_name.rb +7 -0
  152. data/lib/ziya/maps/support/state.rb +7 -0
  153. data/lib/ziya/maps/support/state_info_icon.rb +7 -0
  154. data/lib/ziya/maps/support/zoom_mode.rb +7 -0
  155. data/lib/ziya/maps/support/zoom_out_button.rb +7 -0
  156. data/lib/ziya/maps/support/zoom_out_scale.rb +7 -0
  157. data/lib/ziya/maps/sweden.rb +7 -0
  158. data/lib/ziya/maps/uk.rb +7 -0
  159. data/lib/ziya/maps/us.rb +7 -0
  160. data/lib/ziya/maps/world.rb +7 -0
  161. data/lib/ziya/version.rb +3 -3
  162. data/lib/ziya/yaml_helpers/base.rb +20 -0
  163. data/lib/ziya/yaml_helpers/charts.rb +49 -0
  164. data/lib/ziya/yaml_helpers/gauges.rb +33 -0
  165. data/lib/ziya/yaml_helpers/maps.rb +17 -0
  166. data/lib/ziya/yaml_helpers.rb +1 -0
  167. data/lib/ziya.rb +20 -11
  168. data/resources/charts/AC_RunActiveContent.js +292 -0
  169. data/resources/charts/charts.swf +0 -0
  170. data/resources/charts/charts_library/ar3d.swf +0 -0
  171. data/resources/charts/charts_library/arno.swf +0 -0
  172. data/resources/charts/charts_library/ars3.swf +0 -0
  173. data/resources/charts/charts_library/arst.swf +0 -0
  174. data/resources/charts/charts_library/brfl.swf +0 -0
  175. data/resources/charts/charts_library/brno.swf +0 -0
  176. data/resources/charts/charts_library/brst.swf +0 -0
  177. data/resources/charts/charts_library/buno.swf +0 -0
  178. data/resources/charts/charts_library/cl3d.swf +0 -0
  179. data/resources/charts/charts_library/clfl.swf +0 -0
  180. data/resources/charts/charts_library/clim.swf +0 -0
  181. data/resources/charts/charts_library/clno.swf +0 -0
  182. data/resources/charts/charts_library/clp3.swf +0 -0
  183. data/resources/charts/charts_library/cls3.swf +0 -0
  184. data/resources/charts/charts_library/clst.swf +0 -0
  185. data/resources/charts/charts_library/cnno.swf +0 -0
  186. data/resources/charts/charts_library/dono.swf +0 -0
  187. data/resources/charts/charts_library/lnno.swf +0 -0
  188. data/resources/charts/charts_library/mxno.swf +0 -0
  189. data/resources/charts/charts_library/pi3d.swf +0 -0
  190. data/resources/charts/charts_library/piim.swf +0 -0
  191. data/resources/charts/charts_library/pino.swf +0 -0
  192. data/resources/charts/charts_library/pono.swf +0 -0
  193. data/resources/charts/charts_library/scno.swf +0 -0
  194. data/resources/charts/full_screen.swf +0 -0
  195. data/resources/charts/scripts/output_jpg.php +23 -0
  196. data/resources/charts/sliders/black.swf +0 -0
  197. data/resources/charts/sliders/preview_handle_1.swf +0 -0
  198. data/resources/charts/sliders/preview_handle_2.swf +0 -0
  199. data/resources/charts/themes/readme.txt +13 -0
  200. data/{gauges → resources/gauges}/designs/circle.yml +0 -0
  201. data/{gauges → resources/gauges}/designs/signal.yml +0 -0
  202. data/{gauges → resources/gauges}/designs/thermo.yml +0 -0
  203. data/{gauges → resources/gauges}/designs/title.yml +0 -0
  204. data/{gauges → resources/gauges}/gauge.swf +0 -0
  205. data/resources/maps/js/Exception.js +45 -0
  206. data/resources/maps/js/FlashProxy.js +72 -0
  207. data/resources/maps/js/FlashSerializer.js +165 -0
  208. data/resources/maps/js/FlashTag.js +111 -0
  209. data/resources/maps/js/JavaScriptFlashGateway.js +455 -0
  210. data/resources/maps/js/JavaScriptFlashGateway.swf +0 -0
  211. data/resources/maps/map_library/australia.swf +0 -0
  212. data/resources/maps/map_library/belgium.swf +0 -0
  213. data/resources/maps/map_library/brazil.swf +0 -0
  214. data/resources/maps/map_library/canada.swf +0 -0
  215. data/resources/maps/map_library/europe.swf +0 -0
  216. data/resources/maps/map_library/france.swf +0 -0
  217. data/resources/maps/map_library/germany.swf +0 -0
  218. data/resources/maps/map_library/italy.swf +0 -0
  219. data/resources/maps/map_library/mexico.swf +0 -0
  220. data/resources/maps/map_library/sweden.swf +0 -0
  221. data/resources/maps/map_library/uk_ireland.swf +0 -0
  222. data/resources/maps/map_library/us.swf +0 -0
  223. data/resources/maps/map_library/us_canada.swf +0 -0
  224. data/resources/maps/map_library/world.swf +0 -0
  225. data/resources/maps/themes/readme.txt +13 -0
  226. data/spec/charts/base_spec.rb +2 -2
  227. data/spec/charts/chart_type_spec.rb +3 -4
  228. data/spec/{components → charts/support}/area_spec.rb +8 -8
  229. data/spec/charts/support/draw_spec.rb +41 -0
  230. data/spec/{components → charts/support}/filter_spec.rb +6 -6
  231. data/spec/{components → charts/support}/link_spec.rb +6 -6
  232. data/spec/{components → charts/support}/series.rb +4 -4
  233. data/spec/{components → charts/support}/series_color_spec.rb +4 -4
  234. data/spec/{components → charts/support}/series_explode.rb +4 -4
  235. data/spec/{components → charts/support}/series_explode_spec.rb +4 -4
  236. data/spec/core_ext/string_spec.rb +40 -0
  237. data/spec/gauges/base_spec.rb +1 -1
  238. data/spec/html_helpers/base_spec.rb +50 -0
  239. data/spec/html_helpers/charts_spec.rb +23 -0
  240. data/spec/html_helpers/gauges_spec.rb +16 -0
  241. data/spec/html_helpers/maps_spec.rb +20 -0
  242. data/spec/maps/base_spec.rb +82 -0
  243. data/spec/maps/support/default_color_spec.rb +29 -0
  244. data/spec/maps/support/heat_range_spec.rb +29 -0
  245. data/spec/maps/us_spec.rb +12 -0
  246. data/spec/maps/world_spec.rb +18 -0
  247. data/spec/spec_helper.rb +5 -4
  248. data/spec/themes/maps/base_map.yml +81 -0
  249. data/spec/themes/maps/us_map.yml +6 -0
  250. data/spec/themes/maps/world_map.yml +6 -0
  251. data/spec/themes/maps/world_ov_map.yml +6 -0
  252. data/spec/{helpers/base_helper_spec.rb → yaml_helpers/charts_spec.rb} +10 -13
  253. data/spec/yaml_helpers/gauges_spec.rb +15 -0
  254. data/spec/ziya_helper_spec.rb +118 -116
  255. data/tasks/gem.rake +1 -1
  256. data/tasks/setup.rb +1 -1
  257. data/ziya.gemspec +39 -0
  258. metadata +259 -438
  259. data/lib/ziya/helpers/base_helper.rb +0 -91
  260. data/lib/ziya/utils/text.rb +0 -39
  261. data/lib/ziya/ziya_helper.rb +0 -362
  262. data/spec/components/draw_spec.rb +0 -37
  263. data/spec/utils/text_spec.rb +0 -33
@@ -0,0 +1,8 @@
1
+ require 'ziya/maps/support/base'
2
+
3
+ module Ziya::Maps::Support
4
+ class Point < Base
5
+ has_attribute :name, :loc, :url, :hover, :opacity, :size,
6
+ :data, :color, :src, :target
7
+ end
8
+ end
@@ -0,0 +1,7 @@
1
+ require 'ziya/maps/support/base'
2
+
3
+ module Ziya::Maps::Support
4
+ class PointRange < Base
5
+ has_attribute :color, :data, :src
6
+ end
7
+ end
@@ -0,0 +1,31 @@
1
+ require 'ziya/maps/support/base'
2
+
3
+ module Ziya::Maps::Support
4
+ class Range < Base
5
+ class << self
6
+ def define_mappings( mappings )
7
+ @mappings = mappings
8
+ end
9
+
10
+ def mappings
11
+ @mappings
12
+ end
13
+ end
14
+
15
+ has_attribute :color, :level
16
+ define_mappings :level => :data
17
+
18
+ def flatten( xml )
19
+ xml.state( :id => to_component_id ) do |b|
20
+ options.keys.sort { |a,b| a.to_s <=> b.to_s }.each { |k| self.class.module_eval "xml.#{find_key_for_attr(k)}( '#{options[k]}' )" }
21
+ end
22
+ end
23
+
24
+ private
25
+
26
+ def find_key_for_attr( k )
27
+ return Range.mappings[k] if Range.mappings.has_key? k
28
+ k
29
+ end
30
+ end
31
+ end
@@ -0,0 +1,18 @@
1
+ # -----------------------------------------------------------------------------
2
+ #
3
+ # Author:: Fernand Galiana
4
+ # -----------------------------------------------------------------------------
5
+ module Ziya::Maps::Support
6
+ class Ranges < Base
7
+ has_attribute :ranges
8
+
9
+ # -------------------------------------------------------------------------
10
+ # Dump has_attribute into xml element
11
+ def flatten( xml )
12
+ ranges.each do |range|
13
+ range["range"].flatten( xml )
14
+ end
15
+ end
16
+
17
+ end
18
+ end
@@ -0,0 +1,7 @@
1
+ require 'ziya/maps/support/base'
2
+
3
+ module Ziya::Maps::Support
4
+ class Region < Base
5
+ has_attribute :data, :name, :loc
6
+ end
7
+ end
@@ -0,0 +1,7 @@
1
+ require 'ziya/maps/support/base'
2
+
3
+ module Ziya::Maps::Support
4
+ class ScalePoints < Base
5
+ has_attribute :data
6
+ end
7
+ end
@@ -0,0 +1,7 @@
1
+ require 'ziya/maps/support/base'
2
+
3
+ module Ziya::Maps::Support
4
+ class ShowName < Base
5
+ has_attribute :data
6
+ end
7
+ end
@@ -0,0 +1,7 @@
1
+ require 'ziya/maps/support/base'
2
+
3
+ module Ziya::Maps::Support
4
+ class State < Base
5
+ has_attribute :data, :name, :hover, :url, :target
6
+ end
7
+ end
@@ -0,0 +1,7 @@
1
+ require 'ziya/maps/support/base'
2
+
3
+ module Ziya::Maps::Support
4
+ class StateInfoIcon < Base
5
+ has_attribute :src
6
+ end
7
+ end
@@ -0,0 +1,7 @@
1
+ require 'ziya/maps/support/base'
2
+
3
+ module Ziya::Maps::Support
4
+ class ZoomMode < Base
5
+ has_attribute :data
6
+ end
7
+ end
@@ -0,0 +1,7 @@
1
+ require 'ziya/maps/support/base'
2
+
3
+ module Ziya::Maps::Support
4
+ class ZoomOutButton < Base
5
+ has_attribute :name, :data, :font_size, :font_color, :background_color
6
+ end
7
+ end
@@ -0,0 +1,7 @@
1
+ require 'ziya/maps/support/base'
2
+
3
+ module Ziya::Maps::Support
4
+ class ZoomOutScale < Base
5
+ has_attribute :data
6
+ end
7
+ end
@@ -0,0 +1,7 @@
1
+ module Ziya::Maps
2
+ class Sweden < Ziya::Maps::Base
3
+ def initialize( id=nil )
4
+ super( :sweden, id )
5
+ end
6
+ end
7
+ end
@@ -0,0 +1,7 @@
1
+ module Ziya::Maps
2
+ class Uk < Ziya::Maps::Base
3
+ def initialize( id=nil )
4
+ super( :uk, id )
5
+ end
6
+ end
7
+ end
@@ -0,0 +1,7 @@
1
+ module Ziya::Maps
2
+ class Us < Ziya::Maps::Base
3
+ def initialize( id=nil )
4
+ super( :us, id )
5
+ end
6
+ end
7
+ end
@@ -0,0 +1,7 @@
1
+ module Ziya::Maps
2
+ class World < Ziya::Maps::Base
3
+ def initialize( id=nil )
4
+ super( :world, id )
5
+ end
6
+ end
7
+ end
data/lib/ziya/version.rb CHANGED
@@ -1,12 +1,12 @@
1
1
  module Ziya
2
2
  module Version
3
3
  MAJOR = 2
4
- MINOR = 0
5
- TINY = 8
4
+ MINOR = 1
5
+ TINY = 0
6
6
 
7
7
  # Returns the version string for the library.
8
8
  def self.version
9
- [ MAJOR, MINOR, TINY].join( "." )
9
+ [ MAJOR, MINOR, TINY ].join( "." )
10
10
  end
11
11
  end
12
12
  end
@@ -0,0 +1,20 @@
1
+ require "ziya/core_ext/string"
2
+
3
+ module Ziya
4
+ module YamlHelpers
5
+ module Base
6
+ # indent yaml content vy multiples of 2 spaces
7
+ def indent( multiple= 1 )
8
+ " " * multiple
9
+ end
10
+
11
+ # generates a yaml class declaration
12
+ def clazz( class_name, module_name=nil ) #:nodoc:
13
+ buff = "!ruby/object:Ziya::"
14
+ buff << "#{module_name}::" unless module_name.nil?
15
+ buff << class_name.to_s.camelize_it
16
+ buff
17
+ end
18
+ end
19
+ end
20
+ end
@@ -0,0 +1,49 @@
1
+ require 'ziya/yaml_helpers/base'
2
+ require 'ziya/html_helpers/charts'
3
+
4
+ module Ziya
5
+ module YamlHelpers
6
+ module Charts
7
+ include Ziya::YamlHelpers::Base, Ziya::HtmlHelpers::Charts
8
+
9
+ # Defines various helpers to assist in writing ZiYa yaml stylesheets.
10
+
11
+ # generates a swf chart path from the given url. Used as helper to embed a chart
12
+ # within a chart
13
+ # ==== Example
14
+ # <%= chart_url( chart_1_path, "fred" ) %>
15
+ #
16
+ # => /charts/charts.swf?library_path=/charts/charts_library&xml_source=http://fred/load_chart_1.xml&chart_id=fred
17
+ def chart_url( url, swf_chart_dir="/charts", id=nil )
18
+ gen_composite_path( swf_chart_dir, url, id )
19
+ end
20
+
21
+ # generates a component yaml class declaration
22
+ # ==== Example
23
+ # <%= component :axis_category %>
24
+ # => axis_category: --- !ruby/object:Ziya::Charts::Support::AxisCategory
25
+ def component( component_name )
26
+ "#{component_name}: #{clazz component_name, 'Charts::Support' }"
27
+ end
28
+ alias :comp :component
29
+
30
+ # generates a drawing yaml class declaration
31
+ # ==== Example
32
+ # <%=drawing :rect %>
33
+ # => --- !ruby/object:Ziya::Charts::Support::Rect
34
+ def drawing( class_name )
35
+ clazz( class_name, 'Charts::Support' )
36
+ end
37
+ alias_method :filter_type, :drawing
38
+ alias_method :area , :drawing
39
+
40
+ # generates a yaml chart declaration
41
+ # ==== Example
42
+ # <%= chart :bar %>
43
+ # => --- !ruby/object:Ziya::Charts::Bar
44
+ def chart( class_name )
45
+ "--- #{clazz( class_name, :Charts )}"
46
+ end
47
+ end
48
+ end
49
+ end
@@ -0,0 +1,33 @@
1
+ module Ziya::YamlHelpers::Gauges
2
+ include Ziya::YamlHelpers::Base
3
+
4
+ # generates a gauge yaml class declaration
5
+ # ==== Example
6
+ # <%= gauge :thermo %>
7
+ #
8
+ # produces:
9
+ #
10
+ # --- !ruby/object:Ziya::Gauges::Thermo
11
+ # components: !omap
12
+ def gauge( class_name )
13
+ "--- #{clazz( class_name, 'Gauges' )}\n#{dials}"
14
+ end
15
+
16
+ # generates a gauge element declaration
17
+ # ==== Example
18
+ # <%= dial :rect %>
19
+ # => --- !ruby/object:Ziya::Gauges::Support::Rect
20
+ def dial( comp_class, comp_name=nil )
21
+ clazz = clazz( comp_class, "Gauges::Support" )
22
+ comp_name ? "- :#{comp_name}: #{clazz}" : "- #{clazz}"
23
+ end
24
+
25
+ # generates a yaml hash of dials
26
+ # ==== Example
27
+ # <%= dials %>
28
+ # => components: !omap
29
+ def dials
30
+ "components: !omap"
31
+ end
32
+ alias :components :dials
33
+ end
@@ -0,0 +1,17 @@
1
+ module Ziya::YamlHelpers::Maps
2
+ include Ziya::YamlHelpers::Base
3
+
4
+ # Defines various helpers to assist in writing ZiYa yaml stylesheets.
5
+
6
+ def map( class_name )
7
+ "--- #{clazz( class_name, :Maps )}"
8
+ end
9
+
10
+ def config( component_name )
11
+ "#{component_name}: #{clazz component_name, 'Maps::Support'}"
12
+ end
13
+
14
+ def level
15
+ "- " + config( :range )
16
+ end
17
+ end
@@ -0,0 +1 @@
1
+ Ziya.require_all_libs_relative_to __FILE__, "yaml_helpers"
data/lib/ziya.rb CHANGED
@@ -1,9 +1,5 @@
1
- # $Id$
2
-
3
- # BOZO !! Document !!
4
-
5
- # Equivalent to a header guard in C/C++
6
- # Used to prevent the class/module from being loaded more than once
1
+ # Initializes the ziya framework. Call Ziya.initialize(...) somewhere in your
2
+ # framework initialization routine
7
3
  unless defined? Ziya
8
4
  module Ziya
9
5
  # :stopdoc:
@@ -11,22 +7,30 @@ unless defined? Ziya
11
7
  PATH = ::File.dirname(LIBPATH) + ::File::SEPARATOR
12
8
 
13
9
  def self.default_configuration
14
- { :themes_dir => File.join( File.dirname(__FILE__), %w[.. charts themes] ),
10
+ {
11
+ :themes_dir => File.join( File.dirname(__FILE__), %w[.. charts themes] ),
15
12
  :log_file => $stdout,
16
- :log_level => :info }
13
+ :log_level => :info
14
+ }
17
15
  end
18
16
 
19
17
  def self.initialize( opts={} )
20
- puts ">>> No logger specified. Using ZiYa default logger" unless opts[:logger]
21
- puts ">>> No themes_dir specified. Using ZiYa default themes" unless opts[:themes_dir]
18
+ if opts[:log_level] == :debug
19
+ puts ">>> No logger specified. Using ZiYa default logger" unless opts[:logger]
20
+ puts ">>> No themes_dir specified. Using ZiYa default themes" unless opts[:themes_dir]
21
+ end
22
22
  @config = default_configuration.merge( opts )
23
23
  @logger = opts[:logger] if opts[:logger]
24
24
 
25
- # Verify existance of themes, designs and helper dirs if any
25
+ # Verify existence of themes, designs and helper dirs if any
26
26
  if themes_dir
27
27
  raise "Unable to find themes directory `#{themes_dir}" unless File.exists?( themes_dir )
28
28
  end
29
29
 
30
+ if map_themes_dir
31
+ raise "Unable to find map themes directory `#{map_themes_dir}" unless File.exists?( map_themes_dir )
32
+ end
33
+
30
34
  if designs_dir
31
35
  raise "Unable to find designs directory `#{designs_dir}" unless File.exists?( designs_dir )
32
36
  end
@@ -57,6 +61,11 @@ unless defined? Ziya
57
61
  config[:themes_dir]
58
62
  end
59
63
 
64
+ # the map themes root directory location
65
+ def self.map_themes_dir
66
+ config[:map_themes_dir]
67
+ end
68
+
60
69
  # the gauges designs root directory location
61
70
  def self.designs_dir
62
71
  config[:designs_dir]
@@ -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
+ }
Binary file