yui-rails-asset 2.8.1

Sign up to get free protection for your applications and to get access to all the features.
Files changed (398) hide show
  1. data/LICENSE +21 -0
  2. data/README +17 -0
  3. data/lib/yui/rails.rb +29 -0
  4. data/lib/yui/rails/engine.rb +10 -0
  5. data/lib/yui/rails/version.rb +6 -0
  6. data/vendor/assets/javascripts/yui-2.8.1/build/animation/animation-debug.js +1396 -0
  7. data/vendor/assets/javascripts/yui-2.8.1/build/animation/animation-min.js +23 -0
  8. data/vendor/assets/javascripts/yui-2.8.1/build/animation/animation.js +1392 -0
  9. data/vendor/assets/javascripts/yui-2.8.1/build/assets/skins/sam/ajax-loader.gif +0 -0
  10. data/vendor/assets/javascripts/yui-2.8.1/build/assets/skins/sam/asc.gif +0 -0
  11. data/vendor/assets/javascripts/yui-2.8.1/build/assets/skins/sam/autocomplete.css +7 -0
  12. data/vendor/assets/javascripts/yui-2.8.1/build/assets/skins/sam/back-h.png +0 -0
  13. data/vendor/assets/javascripts/yui-2.8.1/build/assets/skins/sam/back-v.png +0 -0
  14. data/vendor/assets/javascripts/yui-2.8.1/build/assets/skins/sam/bar-h.png +0 -0
  15. data/vendor/assets/javascripts/yui-2.8.1/build/assets/skins/sam/bar-v.png +0 -0
  16. data/vendor/assets/javascripts/yui-2.8.1/build/assets/skins/sam/bg-h.gif +0 -0
  17. data/vendor/assets/javascripts/yui-2.8.1/build/assets/skins/sam/bg-v.gif +0 -0
  18. data/vendor/assets/javascripts/yui-2.8.1/build/assets/skins/sam/blankimage.png +0 -0
  19. data/vendor/assets/javascripts/yui-2.8.1/build/assets/skins/sam/button.css +7 -0
  20. data/vendor/assets/javascripts/yui-2.8.1/build/assets/skins/sam/calendar.css +8 -0
  21. data/vendor/assets/javascripts/yui-2.8.1/build/assets/skins/sam/carousel.css +7 -0
  22. data/vendor/assets/javascripts/yui-2.8.1/build/assets/skins/sam/check0.gif +0 -0
  23. data/vendor/assets/javascripts/yui-2.8.1/build/assets/skins/sam/check1.gif +0 -0
  24. data/vendor/assets/javascripts/yui-2.8.1/build/assets/skins/sam/check2.gif +0 -0
  25. data/vendor/assets/javascripts/yui-2.8.1/build/assets/skins/sam/colorpicker.css +7 -0
  26. data/vendor/assets/javascripts/yui-2.8.1/build/assets/skins/sam/container.css +7 -0
  27. data/vendor/assets/javascripts/yui-2.8.1/build/assets/skins/sam/datatable.css +8 -0
  28. data/vendor/assets/javascripts/yui-2.8.1/build/assets/skins/sam/desc.gif +0 -0
  29. data/vendor/assets/javascripts/yui-2.8.1/build/assets/skins/sam/dt-arrow-dn.png +0 -0
  30. data/vendor/assets/javascripts/yui-2.8.1/build/assets/skins/sam/dt-arrow-up.png +0 -0
  31. data/vendor/assets/javascripts/yui-2.8.1/build/assets/skins/sam/editor-knob.gif +0 -0
  32. data/vendor/assets/javascripts/yui-2.8.1/build/assets/skins/sam/editor-sprite-active.gif +0 -0
  33. data/vendor/assets/javascripts/yui-2.8.1/build/assets/skins/sam/editor-sprite.gif +0 -0
  34. data/vendor/assets/javascripts/yui-2.8.1/build/assets/skins/sam/editor.css +10 -0
  35. data/vendor/assets/javascripts/yui-2.8.1/build/assets/skins/sam/header_background.png +0 -0
  36. data/vendor/assets/javascripts/yui-2.8.1/build/assets/skins/sam/hue_bg.png +0 -0
  37. data/vendor/assets/javascripts/yui-2.8.1/build/assets/skins/sam/imagecropper.css +7 -0
  38. data/vendor/assets/javascripts/yui-2.8.1/build/assets/skins/sam/layout.css +7 -0
  39. data/vendor/assets/javascripts/yui-2.8.1/build/assets/skins/sam/layout_sprite.png +0 -0
  40. data/vendor/assets/javascripts/yui-2.8.1/build/assets/skins/sam/loading.gif +0 -0
  41. data/vendor/assets/javascripts/yui-2.8.1/build/assets/skins/sam/logger.css +7 -0
  42. data/vendor/assets/javascripts/yui-2.8.1/build/assets/skins/sam/menu-button-arrow-disabled.png +0 -0
  43. data/vendor/assets/javascripts/yui-2.8.1/build/assets/skins/sam/menu-button-arrow.png +0 -0
  44. data/vendor/assets/javascripts/yui-2.8.1/build/assets/skins/sam/menu.css +7 -0
  45. data/vendor/assets/javascripts/yui-2.8.1/build/assets/skins/sam/menubaritem_submenuindicator.png +0 -0
  46. data/vendor/assets/javascripts/yui-2.8.1/build/assets/skins/sam/menubaritem_submenuindicator_disabled.png +0 -0
  47. data/vendor/assets/javascripts/yui-2.8.1/build/assets/skins/sam/menuitem_checkbox.png +0 -0
  48. data/vendor/assets/javascripts/yui-2.8.1/build/assets/skins/sam/menuitem_checkbox_disabled.png +0 -0
  49. data/vendor/assets/javascripts/yui-2.8.1/build/assets/skins/sam/menuitem_submenuindicator.png +0 -0
  50. data/vendor/assets/javascripts/yui-2.8.1/build/assets/skins/sam/menuitem_submenuindicator_disabled.png +0 -0
  51. data/vendor/assets/javascripts/yui-2.8.1/build/assets/skins/sam/paginator.css +7 -0
  52. data/vendor/assets/javascripts/yui-2.8.1/build/assets/skins/sam/picker_mask.png +0 -0
  53. data/vendor/assets/javascripts/yui-2.8.1/build/assets/skins/sam/profilerviewer.css +7 -0
  54. data/vendor/assets/javascripts/yui-2.8.1/build/assets/skins/sam/progressbar.css +7 -0
  55. data/vendor/assets/javascripts/yui-2.8.1/build/assets/skins/sam/resize.css +7 -0
  56. data/vendor/assets/javascripts/yui-2.8.1/build/assets/skins/sam/simpleeditor.css +10 -0
  57. data/vendor/assets/javascripts/yui-2.8.1/build/assets/skins/sam/skin.css +36 -0
  58. data/vendor/assets/javascripts/yui-2.8.1/build/assets/skins/sam/slider.css +7 -0
  59. data/vendor/assets/javascripts/yui-2.8.1/build/assets/skins/sam/split-button-arrow-active.png +0 -0
  60. data/vendor/assets/javascripts/yui-2.8.1/build/assets/skins/sam/split-button-arrow-disabled.png +0 -0
  61. data/vendor/assets/javascripts/yui-2.8.1/build/assets/skins/sam/split-button-arrow-focus.png +0 -0
  62. data/vendor/assets/javascripts/yui-2.8.1/build/assets/skins/sam/split-button-arrow-hover.png +0 -0
  63. data/vendor/assets/javascripts/yui-2.8.1/build/assets/skins/sam/split-button-arrow.png +0 -0
  64. data/vendor/assets/javascripts/yui-2.8.1/build/assets/skins/sam/sprite.png +0 -0
  65. data/vendor/assets/javascripts/yui-2.8.1/build/assets/skins/sam/sprite.psd +0 -0
  66. data/vendor/assets/javascripts/yui-2.8.1/build/assets/skins/sam/tabview.css +8 -0
  67. data/vendor/assets/javascripts/yui-2.8.1/build/assets/skins/sam/treeview-loading.gif +0 -0
  68. data/vendor/assets/javascripts/yui-2.8.1/build/assets/skins/sam/treeview-sprite.gif +0 -0
  69. data/vendor/assets/javascripts/yui-2.8.1/build/assets/skins/sam/treeview.css +7 -0
  70. data/vendor/assets/javascripts/yui-2.8.1/build/assets/skins/sam/wait.gif +0 -0
  71. data/vendor/assets/javascripts/yui-2.8.1/build/assets/skins/sam/yuitest.css +7 -0
  72. data/vendor/assets/javascripts/yui-2.8.1/build/autocomplete/assets/autocomplete-core.css +7 -0
  73. data/vendor/assets/javascripts/yui-2.8.1/build/autocomplete/assets/skins/sam/autocomplete-skin.css +57 -0
  74. data/vendor/assets/javascripts/yui-2.8.1/build/autocomplete/assets/skins/sam/autocomplete.css +7 -0
  75. data/vendor/assets/javascripts/yui-2.8.1/build/autocomplete/autocomplete-debug.js +3009 -0
  76. data/vendor/assets/javascripts/yui-2.8.1/build/autocomplete/autocomplete-min.js +12 -0
  77. data/vendor/assets/javascripts/yui-2.8.1/build/autocomplete/autocomplete.js +2966 -0
  78. data/vendor/assets/javascripts/yui-2.8.1/build/base/base-min.css +7 -0
  79. data/vendor/assets/javascripts/yui-2.8.1/build/base/base.css +131 -0
  80. data/vendor/assets/javascripts/yui-2.8.1/build/button/assets/button-core.css +44 -0
  81. data/vendor/assets/javascripts/yui-2.8.1/build/button/assets/skins/sam/button-skin.css +219 -0
  82. data/vendor/assets/javascripts/yui-2.8.1/build/button/assets/skins/sam/button.css +7 -0
  83. data/vendor/assets/javascripts/yui-2.8.1/build/button/assets/skins/sam/menu-button-arrow-disabled.png +0 -0
  84. data/vendor/assets/javascripts/yui-2.8.1/build/button/assets/skins/sam/menu-button-arrow.png +0 -0
  85. data/vendor/assets/javascripts/yui-2.8.1/build/button/assets/skins/sam/split-button-arrow-active.png +0 -0
  86. data/vendor/assets/javascripts/yui-2.8.1/build/button/assets/skins/sam/split-button-arrow-disabled.png +0 -0
  87. data/vendor/assets/javascripts/yui-2.8.1/build/button/assets/skins/sam/split-button-arrow-focus.png +0 -0
  88. data/vendor/assets/javascripts/yui-2.8.1/build/button/assets/skins/sam/split-button-arrow-hover.png +0 -0
  89. data/vendor/assets/javascripts/yui-2.8.1/build/button/assets/skins/sam/split-button-arrow.png +0 -0
  90. data/vendor/assets/javascripts/yui-2.8.1/build/button/button-debug.js +4694 -0
  91. data/vendor/assets/javascripts/yui-2.8.1/build/button/button-min.js +11 -0
  92. data/vendor/assets/javascripts/yui-2.8.1/build/button/button.js +4633 -0
  93. data/vendor/assets/javascripts/yui-2.8.1/build/calendar/assets/calendar-core.css +132 -0
  94. data/vendor/assets/javascripts/yui-2.8.1/build/calendar/assets/calendar.css +320 -0
  95. data/vendor/assets/javascripts/yui-2.8.1/build/calendar/assets/calgrad.png +0 -0
  96. data/vendor/assets/javascripts/yui-2.8.1/build/calendar/assets/callt.gif +0 -0
  97. data/vendor/assets/javascripts/yui-2.8.1/build/calendar/assets/calrt.gif +0 -0
  98. data/vendor/assets/javascripts/yui-2.8.1/build/calendar/assets/calx.gif +0 -0
  99. data/vendor/assets/javascripts/yui-2.8.1/build/calendar/assets/skins/sam/calendar-skin.css +361 -0
  100. data/vendor/assets/javascripts/yui-2.8.1/build/calendar/assets/skins/sam/calendar.css +8 -0
  101. data/vendor/assets/javascripts/yui-2.8.1/build/calendar/calendar-debug.js +7324 -0
  102. data/vendor/assets/javascripts/yui-2.8.1/build/calendar/calendar-min.js +18 -0
  103. data/vendor/assets/javascripts/yui-2.8.1/build/calendar/calendar.js +7294 -0
  104. data/vendor/assets/javascripts/yui-2.8.1/build/carousel/assets/ajax-loader.gif +0 -0
  105. data/vendor/assets/javascripts/yui-2.8.1/build/carousel/assets/carousel-core.css +88 -0
  106. data/vendor/assets/javascripts/yui-2.8.1/build/carousel/assets/skins/sam/ajax-loader.gif +0 -0
  107. data/vendor/assets/javascripts/yui-2.8.1/build/carousel/assets/skins/sam/carousel-skin.css +142 -0
  108. data/vendor/assets/javascripts/yui-2.8.1/build/carousel/assets/skins/sam/carousel.css +7 -0
  109. data/vendor/assets/javascripts/yui-2.8.1/build/carousel/carousel-debug.js +4390 -0
  110. data/vendor/assets/javascripts/yui-2.8.1/build/carousel/carousel-min.js +12 -0
  111. data/vendor/assets/javascripts/yui-2.8.1/build/carousel/carousel.js +4349 -0
  112. data/vendor/assets/javascripts/yui-2.8.1/build/charts/assets/charts.swf +0 -0
  113. data/vendor/assets/javascripts/yui-2.8.1/build/charts/charts-debug.js +2061 -0
  114. data/vendor/assets/javascripts/yui-2.8.1/build/charts/charts-min.js +9 -0
  115. data/vendor/assets/javascripts/yui-2.8.1/build/charts/charts.js +2060 -0
  116. data/vendor/assets/javascripts/yui-2.8.1/build/colorpicker/assets/colorpicker-core.css +6 -0
  117. data/vendor/assets/javascripts/yui-2.8.1/build/colorpicker/assets/hue_thumb.png +0 -0
  118. data/vendor/assets/javascripts/yui-2.8.1/build/colorpicker/assets/picker_mask.png +0 -0
  119. data/vendor/assets/javascripts/yui-2.8.1/build/colorpicker/assets/picker_thumb.png +0 -0
  120. data/vendor/assets/javascripts/yui-2.8.1/build/colorpicker/assets/skins/sam/colorpicker-skin.css +105 -0
  121. data/vendor/assets/javascripts/yui-2.8.1/build/colorpicker/assets/skins/sam/colorpicker.css +7 -0
  122. data/vendor/assets/javascripts/yui-2.8.1/build/colorpicker/assets/skins/sam/hue_bg.png +0 -0
  123. data/vendor/assets/javascripts/yui-2.8.1/build/colorpicker/assets/skins/sam/picker_mask.png +0 -0
  124. data/vendor/assets/javascripts/yui-2.8.1/build/colorpicker/colorpicker-debug.js +1783 -0
  125. data/vendor/assets/javascripts/yui-2.8.1/build/colorpicker/colorpicker-min.js +9 -0
  126. data/vendor/assets/javascripts/yui-2.8.1/build/colorpicker/colorpicker.js +1763 -0
  127. data/vendor/assets/javascripts/yui-2.8.1/build/connection/connection-debug.js +1576 -0
  128. data/vendor/assets/javascripts/yui-2.8.1/build/connection/connection-min.js +9 -0
  129. data/vendor/assets/javascripts/yui-2.8.1/build/connection/connection.js +1546 -0
  130. data/vendor/assets/javascripts/yui-2.8.1/build/connection/connection.swf +0 -0
  131. data/vendor/assets/javascripts/yui-2.8.1/build/connection/connection_core-debug.js +980 -0
  132. data/vendor/assets/javascripts/yui-2.8.1/build/connection/connection_core-min.js +8 -0
  133. data/vendor/assets/javascripts/yui-2.8.1/build/connection/connection_core.js +957 -0
  134. data/vendor/assets/javascripts/yui-2.8.1/build/container/assets/alrt16_1.gif +0 -0
  135. data/vendor/assets/javascripts/yui-2.8.1/build/container/assets/blck16_1.gif +0 -0
  136. data/vendor/assets/javascripts/yui-2.8.1/build/container/assets/close12_1.gif +0 -0
  137. data/vendor/assets/javascripts/yui-2.8.1/build/container/assets/container-core.css +176 -0
  138. data/vendor/assets/javascripts/yui-2.8.1/build/container/assets/container.css +324 -0
  139. data/vendor/assets/javascripts/yui-2.8.1/build/container/assets/hlp16_1.gif +0 -0
  140. data/vendor/assets/javascripts/yui-2.8.1/build/container/assets/info16_1.gif +0 -0
  141. data/vendor/assets/javascripts/yui-2.8.1/build/container/assets/skins/sam/container-skin.css +242 -0
  142. data/vendor/assets/javascripts/yui-2.8.1/build/container/assets/skins/sam/container.css +7 -0
  143. data/vendor/assets/javascripts/yui-2.8.1/build/container/assets/tip16_1.gif +0 -0
  144. data/vendor/assets/javascripts/yui-2.8.1/build/container/assets/warn16_1.gif +0 -0
  145. data/vendor/assets/javascripts/yui-2.8.1/build/container/container-debug.js +9076 -0
  146. data/vendor/assets/javascripts/yui-2.8.1/build/container/container-min.js +19 -0
  147. data/vendor/assets/javascripts/yui-2.8.1/build/container/container.js +9052 -0
  148. data/vendor/assets/javascripts/yui-2.8.1/build/container/container_core-debug.js +5136 -0
  149. data/vendor/assets/javascripts/yui-2.8.1/build/container/container_core-min.js +14 -0
  150. data/vendor/assets/javascripts/yui-2.8.1/build/container/container_core.js +5126 -0
  151. data/vendor/assets/javascripts/yui-2.8.1/build/cookie/cookie-debug.js +482 -0
  152. data/vendor/assets/javascripts/yui-2.8.1/build/cookie/cookie-min.js +7 -0
  153. data/vendor/assets/javascripts/yui-2.8.1/build/cookie/cookie.js +482 -0
  154. data/vendor/assets/javascripts/yui-2.8.1/build/datasource/datasource-debug.js +3067 -0
  155. data/vendor/assets/javascripts/yui-2.8.1/build/datasource/datasource-min.js +12 -0
  156. data/vendor/assets/javascripts/yui-2.8.1/build/datasource/datasource.js +2996 -0
  157. data/vendor/assets/javascripts/yui-2.8.1/build/datatable/assets/datatable-core.css +93 -0
  158. data/vendor/assets/javascripts/yui-2.8.1/build/datatable/assets/datatable.css +49 -0
  159. data/vendor/assets/javascripts/yui-2.8.1/build/datatable/assets/skins/sam/datatable-skin.css +240 -0
  160. data/vendor/assets/javascripts/yui-2.8.1/build/datatable/assets/skins/sam/datatable.css +8 -0
  161. data/vendor/assets/javascripts/yui-2.8.1/build/datatable/assets/skins/sam/dt-arrow-dn.png +0 -0
  162. data/vendor/assets/javascripts/yui-2.8.1/build/datatable/assets/skins/sam/dt-arrow-up.png +0 -0
  163. data/vendor/assets/javascripts/yui-2.8.1/build/datatable/datatable-debug.js +17360 -0
  164. data/vendor/assets/javascripts/yui-2.8.1/build/datatable/datatable-min.js +29 -0
  165. data/vendor/assets/javascripts/yui-2.8.1/build/datatable/datatable.js +17122 -0
  166. data/vendor/assets/javascripts/yui-2.8.1/build/datemath/datemath-debug.js +408 -0
  167. data/vendor/assets/javascripts/yui-2.8.1/build/datemath/datemath-min.js +7 -0
  168. data/vendor/assets/javascripts/yui-2.8.1/build/datemath/datemath.js +408 -0
  169. data/vendor/assets/javascripts/yui-2.8.1/build/dom/dom-debug.js +1872 -0
  170. data/vendor/assets/javascripts/yui-2.8.1/build/dom/dom-min.js +9 -0
  171. data/vendor/assets/javascripts/yui-2.8.1/build/dom/dom.js +1832 -0
  172. data/vendor/assets/javascripts/yui-2.8.1/build/dragdrop/dragdrop-debug.js +3710 -0
  173. data/vendor/assets/javascripts/yui-2.8.1/build/dragdrop/dragdrop-min.js +10 -0
  174. data/vendor/assets/javascripts/yui-2.8.1/build/dragdrop/dragdrop.js +3601 -0
  175. data/vendor/assets/javascripts/yui-2.8.1/build/editor/assets/editor-core.css +602 -0
  176. data/vendor/assets/javascripts/yui-2.8.1/build/editor/assets/simpleeditor-core.css +602 -0
  177. data/vendor/assets/javascripts/yui-2.8.1/build/editor/assets/skins/sam/blankimage.png +0 -0
  178. data/vendor/assets/javascripts/yui-2.8.1/build/editor/assets/skins/sam/editor-knob.gif +0 -0
  179. data/vendor/assets/javascripts/yui-2.8.1/build/editor/assets/skins/sam/editor-skin.css +711 -0
  180. data/vendor/assets/javascripts/yui-2.8.1/build/editor/assets/skins/sam/editor-sprite-active.gif +0 -0
  181. data/vendor/assets/javascripts/yui-2.8.1/build/editor/assets/skins/sam/editor-sprite.gif +0 -0
  182. data/vendor/assets/javascripts/yui-2.8.1/build/editor/assets/skins/sam/editor.css +10 -0
  183. data/vendor/assets/javascripts/yui-2.8.1/build/editor/assets/skins/sam/simpleeditor-skin.css +711 -0
  184. data/vendor/assets/javascripts/yui-2.8.1/build/editor/assets/skins/sam/simpleeditor.css +10 -0
  185. data/vendor/assets/javascripts/yui-2.8.1/build/editor/editor-debug.js +9557 -0
  186. data/vendor/assets/javascripts/yui-2.8.1/build/editor/editor-min.js +30 -0
  187. data/vendor/assets/javascripts/yui-2.8.1/build/editor/editor.js +9447 -0
  188. data/vendor/assets/javascripts/yui-2.8.1/build/editor/simpleeditor-debug.js +7493 -0
  189. data/vendor/assets/javascripts/yui-2.8.1/build/editor/simpleeditor-min.js +24 -0
  190. data/vendor/assets/javascripts/yui-2.8.1/build/editor/simpleeditor.js +7406 -0
  191. data/vendor/assets/javascripts/yui-2.8.1/build/element-delegate/element-delegate-debug.js +141 -0
  192. data/vendor/assets/javascripts/yui-2.8.1/build/element-delegate/element-delegate-min.js +7 -0
  193. data/vendor/assets/javascripts/yui-2.8.1/build/element-delegate/element-delegate.js +138 -0
  194. data/vendor/assets/javascripts/yui-2.8.1/build/element/element-debug.js +1106 -0
  195. data/vendor/assets/javascripts/yui-2.8.1/build/element/element-min.js +8 -0
  196. data/vendor/assets/javascripts/yui-2.8.1/build/element/element.js +1090 -0
  197. data/vendor/assets/javascripts/yui-2.8.1/build/event-delegate/event-delegate-debug.js +283 -0
  198. data/vendor/assets/javascripts/yui-2.8.1/build/event-delegate/event-delegate-min.js +7 -0
  199. data/vendor/assets/javascripts/yui-2.8.1/build/event-delegate/event-delegate.js +281 -0
  200. data/vendor/assets/javascripts/yui-2.8.1/build/event-mouseenter/event-mouseenter-debug.js +219 -0
  201. data/vendor/assets/javascripts/yui-2.8.1/build/event-mouseenter/event-mouseenter-min.js +7 -0
  202. data/vendor/assets/javascripts/yui-2.8.1/build/event-mouseenter/event-mouseenter.js +219 -0
  203. data/vendor/assets/javascripts/yui-2.8.1/build/event-simulate/event-simulate-debug.js +622 -0
  204. data/vendor/assets/javascripts/yui-2.8.1/build/event-simulate/event-simulate-min.js +7 -0
  205. data/vendor/assets/javascripts/yui-2.8.1/build/event-simulate/event-simulate.js +622 -0
  206. data/vendor/assets/javascripts/yui-2.8.1/build/event/event-debug.js +2524 -0
  207. data/vendor/assets/javascripts/yui-2.8.1/build/event/event-min.js +11 -0
  208. data/vendor/assets/javascripts/yui-2.8.1/build/event/event.js +2500 -0
  209. data/vendor/assets/javascripts/yui-2.8.1/build/fonts/fonts-min.css +7 -0
  210. data/vendor/assets/javascripts/yui-2.8.1/build/fonts/fonts.css +56 -0
  211. data/vendor/assets/javascripts/yui-2.8.1/build/get/get-debug.js +773 -0
  212. data/vendor/assets/javascripts/yui-2.8.1/build/get/get-min.js +7 -0
  213. data/vendor/assets/javascripts/yui-2.8.1/build/get/get.js +755 -0
  214. data/vendor/assets/javascripts/yui-2.8.1/build/grids/grids-min.css +7 -0
  215. data/vendor/assets/javascripts/yui-2.8.1/build/grids/grids.css +467 -0
  216. data/vendor/assets/javascripts/yui-2.8.1/build/history/assets/blank.html +1 -0
  217. data/vendor/assets/javascripts/yui-2.8.1/build/history/history-debug.js +808 -0
  218. data/vendor/assets/javascripts/yui-2.8.1/build/history/history-min.js +7 -0
  219. data/vendor/assets/javascripts/yui-2.8.1/build/history/history.js +808 -0
  220. data/vendor/assets/javascripts/yui-2.8.1/build/imagecropper/assets/imagecropper-core.css +33 -0
  221. data/vendor/assets/javascripts/yui-2.8.1/build/imagecropper/assets/skins/sam/imagecropper-skin.css +16 -0
  222. data/vendor/assets/javascripts/yui-2.8.1/build/imagecropper/assets/skins/sam/imagecropper.css +7 -0
  223. data/vendor/assets/javascripts/yui-2.8.1/build/imagecropper/imagecropper-debug.js +907 -0
  224. data/vendor/assets/javascripts/yui-2.8.1/build/imagecropper/imagecropper-min.js +8 -0
  225. data/vendor/assets/javascripts/yui-2.8.1/build/imagecropper/imagecropper.js +889 -0
  226. data/vendor/assets/javascripts/yui-2.8.1/build/imageloader/imageloader-debug.js +487 -0
  227. data/vendor/assets/javascripts/yui-2.8.1/build/imageloader/imageloader-min.js +7 -0
  228. data/vendor/assets/javascripts/yui-2.8.1/build/imageloader/imageloader.js +481 -0
  229. data/vendor/assets/javascripts/yui-2.8.1/build/json/json-debug.js +538 -0
  230. data/vendor/assets/javascripts/yui-2.8.1/build/json/json-min.js +7 -0
  231. data/vendor/assets/javascripts/yui-2.8.1/build/json/json.js +538 -0
  232. data/vendor/assets/javascripts/yui-2.8.1/build/layout/assets/layout-core.css +158 -0
  233. data/vendor/assets/javascripts/yui-2.8.1/build/layout/assets/skins/sam/layout-skin.css +207 -0
  234. data/vendor/assets/javascripts/yui-2.8.1/build/layout/assets/skins/sam/layout.css +7 -0
  235. data/vendor/assets/javascripts/yui-2.8.1/build/layout/assets/skins/sam/layout_sprite.png +0 -0
  236. data/vendor/assets/javascripts/yui-2.8.1/build/layout/layout-debug.js +2305 -0
  237. data/vendor/assets/javascripts/yui-2.8.1/build/layout/layout-min.js +11 -0
  238. data/vendor/assets/javascripts/yui-2.8.1/build/layout/layout.js +2290 -0
  239. data/vendor/assets/javascripts/yui-2.8.1/build/logger/assets/logger-core.css +7 -0
  240. data/vendor/assets/javascripts/yui-2.8.1/build/logger/assets/logger.css +57 -0
  241. data/vendor/assets/javascripts/yui-2.8.1/build/logger/assets/skins/sam/logger-skin.css +55 -0
  242. data/vendor/assets/javascripts/yui-2.8.1/build/logger/assets/skins/sam/logger.css +7 -0
  243. data/vendor/assets/javascripts/yui-2.8.1/build/logger/logger-debug.js +2104 -0
  244. data/vendor/assets/javascripts/yui-2.8.1/build/logger/logger-min.js +9 -0
  245. data/vendor/assets/javascripts/yui-2.8.1/build/logger/logger.js +2104 -0
  246. data/vendor/assets/javascripts/yui-2.8.1/build/menu/assets/menu-core.css +242 -0
  247. data/vendor/assets/javascripts/yui-2.8.1/build/menu/assets/menu.css +503 -0
  248. data/vendor/assets/javascripts/yui-2.8.1/build/menu/assets/menu_down_arrow.png +0 -0
  249. data/vendor/assets/javascripts/yui-2.8.1/build/menu/assets/menu_down_arrow_disabled.png +0 -0
  250. data/vendor/assets/javascripts/yui-2.8.1/build/menu/assets/menu_up_arrow.png +0 -0
  251. data/vendor/assets/javascripts/yui-2.8.1/build/menu/assets/menu_up_arrow_disabled.png +0 -0
  252. data/vendor/assets/javascripts/yui-2.8.1/build/menu/assets/menubaritem_submenuindicator.png +0 -0
  253. data/vendor/assets/javascripts/yui-2.8.1/build/menu/assets/menubaritem_submenuindicator_disabled.png +0 -0
  254. data/vendor/assets/javascripts/yui-2.8.1/build/menu/assets/menubaritem_submenuindicator_selected.png +0 -0
  255. data/vendor/assets/javascripts/yui-2.8.1/build/menu/assets/menuitem_checkbox.png +0 -0
  256. data/vendor/assets/javascripts/yui-2.8.1/build/menu/assets/menuitem_checkbox_disabled.png +0 -0
  257. data/vendor/assets/javascripts/yui-2.8.1/build/menu/assets/menuitem_checkbox_selected.png +0 -0
  258. data/vendor/assets/javascripts/yui-2.8.1/build/menu/assets/menuitem_submenuindicator.png +0 -0
  259. data/vendor/assets/javascripts/yui-2.8.1/build/menu/assets/menuitem_submenuindicator_disabled.png +0 -0
  260. data/vendor/assets/javascripts/yui-2.8.1/build/menu/assets/menuitem_submenuindicator_selected.png +0 -0
  261. data/vendor/assets/javascripts/yui-2.8.1/build/menu/assets/skins/sam/menu-skin.css +339 -0
  262. data/vendor/assets/javascripts/yui-2.8.1/build/menu/assets/skins/sam/menu.css +7 -0
  263. data/vendor/assets/javascripts/yui-2.8.1/build/menu/assets/skins/sam/menubaritem_submenuindicator.png +0 -0
  264. data/vendor/assets/javascripts/yui-2.8.1/build/menu/assets/skins/sam/menubaritem_submenuindicator_disabled.png +0 -0
  265. data/vendor/assets/javascripts/yui-2.8.1/build/menu/assets/skins/sam/menuitem_checkbox.png +0 -0
  266. data/vendor/assets/javascripts/yui-2.8.1/build/menu/assets/skins/sam/menuitem_checkbox_disabled.png +0 -0
  267. data/vendor/assets/javascripts/yui-2.8.1/build/menu/assets/skins/sam/menuitem_submenuindicator.png +0 -0
  268. data/vendor/assets/javascripts/yui-2.8.1/build/menu/assets/skins/sam/menuitem_submenuindicator_disabled.png +0 -0
  269. data/vendor/assets/javascripts/yui-2.8.1/build/menu/menu-debug.js +9870 -0
  270. data/vendor/assets/javascripts/yui-2.8.1/build/menu/menu-min.js +16 -0
  271. data/vendor/assets/javascripts/yui-2.8.1/build/menu/menu.js +9823 -0
  272. data/vendor/assets/javascripts/yui-2.8.1/build/paginator/assets/paginator-core.css +6 -0
  273. data/vendor/assets/javascripts/yui-2.8.1/build/paginator/assets/skins/sam/paginator-skin.css +78 -0
  274. data/vendor/assets/javascripts/yui-2.8.1/build/paginator/assets/skins/sam/paginator.css +7 -0
  275. data/vendor/assets/javascripts/yui-2.8.1/build/paginator/paginator-debug.js +2393 -0
  276. data/vendor/assets/javascripts/yui-2.8.1/build/paginator/paginator-min.js +10 -0
  277. data/vendor/assets/javascripts/yui-2.8.1/build/paginator/paginator.js +2393 -0
  278. data/vendor/assets/javascripts/yui-2.8.1/build/profiler/profiler-debug.js +557 -0
  279. data/vendor/assets/javascripts/yui-2.8.1/build/profiler/profiler-min.js +7 -0
  280. data/vendor/assets/javascripts/yui-2.8.1/build/profiler/profiler.js +557 -0
  281. data/vendor/assets/javascripts/yui-2.8.1/build/profilerviewer/assets/profilerviewer-core.css +6 -0
  282. data/vendor/assets/javascripts/yui-2.8.1/build/profilerviewer/assets/skins/sam/asc.gif +0 -0
  283. data/vendor/assets/javascripts/yui-2.8.1/build/profilerviewer/assets/skins/sam/desc.gif +0 -0
  284. data/vendor/assets/javascripts/yui-2.8.1/build/profilerviewer/assets/skins/sam/header_background.png +0 -0
  285. data/vendor/assets/javascripts/yui-2.8.1/build/profilerviewer/assets/skins/sam/profilerviewer-skin.css +167 -0
  286. data/vendor/assets/javascripts/yui-2.8.1/build/profilerviewer/assets/skins/sam/profilerviewer.css +7 -0
  287. data/vendor/assets/javascripts/yui-2.8.1/build/profilerviewer/assets/skins/sam/wait.gif +0 -0
  288. data/vendor/assets/javascripts/yui-2.8.1/build/profilerviewer/profilerviewer-debug.js +1229 -0
  289. data/vendor/assets/javascripts/yui-2.8.1/build/profilerviewer/profilerviewer-min.js +9 -0
  290. data/vendor/assets/javascripts/yui-2.8.1/build/profilerviewer/profilerviewer.js +1192 -0
  291. data/vendor/assets/javascripts/yui-2.8.1/build/progressbar/assets/progressbar-core.css +85 -0
  292. data/vendor/assets/javascripts/yui-2.8.1/build/progressbar/assets/skins/sam/back-h.png +0 -0
  293. data/vendor/assets/javascripts/yui-2.8.1/build/progressbar/assets/skins/sam/back-v.png +0 -0
  294. data/vendor/assets/javascripts/yui-2.8.1/build/progressbar/assets/skins/sam/bar-h.png +0 -0
  295. data/vendor/assets/javascripts/yui-2.8.1/build/progressbar/assets/skins/sam/bar-v.png +0 -0
  296. data/vendor/assets/javascripts/yui-2.8.1/build/progressbar/assets/skins/sam/progressbar-skin.css +56 -0
  297. data/vendor/assets/javascripts/yui-2.8.1/build/progressbar/assets/skins/sam/progressbar.css +7 -0
  298. data/vendor/assets/javascripts/yui-2.8.1/build/progressbar/progressbar-debug.js +691 -0
  299. data/vendor/assets/javascripts/yui-2.8.1/build/progressbar/progressbar-min.js +8 -0
  300. data/vendor/assets/javascripts/yui-2.8.1/build/progressbar/progressbar.js +677 -0
  301. data/vendor/assets/javascripts/yui-2.8.1/build/reset-fonts-grids/reset-fonts-grids.css +7 -0
  302. data/vendor/assets/javascripts/yui-2.8.1/build/reset-fonts/reset-fonts.css +7 -0
  303. data/vendor/assets/javascripts/yui-2.8.1/build/reset/reset-min.css +7 -0
  304. data/vendor/assets/javascripts/yui-2.8.1/build/reset/reset.css +142 -0
  305. data/vendor/assets/javascripts/yui-2.8.1/build/resize/assets/resize-core.css +173 -0
  306. data/vendor/assets/javascripts/yui-2.8.1/build/resize/assets/skins/sam/layout_sprite.png +0 -0
  307. data/vendor/assets/javascripts/yui-2.8.1/build/resize/assets/skins/sam/resize-skin.css +142 -0
  308. data/vendor/assets/javascripts/yui-2.8.1/build/resize/assets/skins/sam/resize.css +7 -0
  309. data/vendor/assets/javascripts/yui-2.8.1/build/resize/resize-debug.js +1749 -0
  310. data/vendor/assets/javascripts/yui-2.8.1/build/resize/resize-min.js +10 -0
  311. data/vendor/assets/javascripts/yui-2.8.1/build/resize/resize.js +1689 -0
  312. data/vendor/assets/javascripts/yui-2.8.1/build/selector/selector-debug.js +651 -0
  313. data/vendor/assets/javascripts/yui-2.8.1/build/selector/selector-min.js +8 -0
  314. data/vendor/assets/javascripts/yui-2.8.1/build/selector/selector.js +644 -0
  315. data/vendor/assets/javascripts/yui-2.8.1/build/slider/assets/bg-fader.gif +0 -0
  316. data/vendor/assets/javascripts/yui-2.8.1/build/slider/assets/bg-h.gif +0 -0
  317. data/vendor/assets/javascripts/yui-2.8.1/build/slider/assets/bg-v-e.gif +0 -0
  318. data/vendor/assets/javascripts/yui-2.8.1/build/slider/assets/bg-v.gif +0 -0
  319. data/vendor/assets/javascripts/yui-2.8.1/build/slider/assets/left-thumb.png +0 -0
  320. data/vendor/assets/javascripts/yui-2.8.1/build/slider/assets/right-thumb.png +0 -0
  321. data/vendor/assets/javascripts/yui-2.8.1/build/slider/assets/skins/sam/bg-h.gif +0 -0
  322. data/vendor/assets/javascripts/yui-2.8.1/build/slider/assets/skins/sam/bg-v.gif +0 -0
  323. data/vendor/assets/javascripts/yui-2.8.1/build/slider/assets/skins/sam/slider-skin.css +24 -0
  324. data/vendor/assets/javascripts/yui-2.8.1/build/slider/assets/skins/sam/slider.css +7 -0
  325. data/vendor/assets/javascripts/yui-2.8.1/build/slider/assets/slider-core.css +17 -0
  326. data/vendor/assets/javascripts/yui-2.8.1/build/slider/assets/slider-skin.css +20 -0
  327. data/vendor/assets/javascripts/yui-2.8.1/build/slider/assets/thumb-bar.gif +0 -0
  328. data/vendor/assets/javascripts/yui-2.8.1/build/slider/assets/thumb-e.gif +0 -0
  329. data/vendor/assets/javascripts/yui-2.8.1/build/slider/assets/thumb-fader.gif +0 -0
  330. data/vendor/assets/javascripts/yui-2.8.1/build/slider/assets/thumb-n.gif +0 -0
  331. data/vendor/assets/javascripts/yui-2.8.1/build/slider/assets/thumb-s.gif +0 -0
  332. data/vendor/assets/javascripts/yui-2.8.1/build/slider/assets/thumb-w.gif +0 -0
  333. data/vendor/assets/javascripts/yui-2.8.1/build/slider/slider-debug.js +2114 -0
  334. data/vendor/assets/javascripts/yui-2.8.1/build/slider/slider-min.js +9 -0
  335. data/vendor/assets/javascripts/yui-2.8.1/build/slider/slider.js +2068 -0
  336. data/vendor/assets/javascripts/yui-2.8.1/build/storage/storage-debug.js +1185 -0
  337. data/vendor/assets/javascripts/yui-2.8.1/build/storage/storage-min.js +8 -0
  338. data/vendor/assets/javascripts/yui-2.8.1/build/storage/storage.js +1183 -0
  339. data/vendor/assets/javascripts/yui-2.8.1/build/stylesheet/stylesheet-debug.js +648 -0
  340. data/vendor/assets/javascripts/yui-2.8.1/build/stylesheet/stylesheet-min.js +7 -0
  341. data/vendor/assets/javascripts/yui-2.8.1/build/stylesheet/stylesheet.js +645 -0
  342. data/vendor/assets/javascripts/yui-2.8.1/build/swf/swf-debug.js +269 -0
  343. data/vendor/assets/javascripts/yui-2.8.1/build/swf/swf-min.js +7 -0
  344. data/vendor/assets/javascripts/yui-2.8.1/build/swf/swf.js +268 -0
  345. data/vendor/assets/javascripts/yui-2.8.1/build/swfdetect/swfdetect-debug.js +93 -0
  346. data/vendor/assets/javascripts/yui-2.8.1/build/swfdetect/swfdetect-min.js +7 -0
  347. data/vendor/assets/javascripts/yui-2.8.1/build/swfdetect/swfdetect.js +93 -0
  348. data/vendor/assets/javascripts/yui-2.8.1/build/swfstore/swf.js +238 -0
  349. data/vendor/assets/javascripts/yui-2.8.1/build/swfstore/swfstore-debug.js +470 -0
  350. data/vendor/assets/javascripts/yui-2.8.1/build/swfstore/swfstore-min.js +7 -0
  351. data/vendor/assets/javascripts/yui-2.8.1/build/swfstore/swfstore.js +453 -0
  352. data/vendor/assets/javascripts/yui-2.8.1/build/swfstore/swfstore.swf +0 -0
  353. data/vendor/assets/javascripts/yui-2.8.1/build/tabview/assets/border_tabs.css +54 -0
  354. data/vendor/assets/javascripts/yui-2.8.1/build/tabview/assets/loading.gif +0 -0
  355. data/vendor/assets/javascripts/yui-2.8.1/build/tabview/assets/skin-sam.css +77 -0
  356. data/vendor/assets/javascripts/yui-2.8.1/build/tabview/assets/skins/sam/tabview-skin.css +186 -0
  357. data/vendor/assets/javascripts/yui-2.8.1/build/tabview/assets/skins/sam/tabview.css +8 -0
  358. data/vendor/assets/javascripts/yui-2.8.1/build/tabview/assets/tabview-core.css +133 -0
  359. data/vendor/assets/javascripts/yui-2.8.1/build/tabview/assets/tabview.css +77 -0
  360. data/vendor/assets/javascripts/yui-2.8.1/build/tabview/tabview-debug.js +995 -0
  361. data/vendor/assets/javascripts/yui-2.8.1/build/tabview/tabview-min.js +8 -0
  362. data/vendor/assets/javascripts/yui-2.8.1/build/tabview/tabview.js +987 -0
  363. data/vendor/assets/javascripts/yui-2.8.1/build/treeview/assets/skins/sam/check0.gif +0 -0
  364. data/vendor/assets/javascripts/yui-2.8.1/build/treeview/assets/skins/sam/check1.gif +0 -0
  365. data/vendor/assets/javascripts/yui-2.8.1/build/treeview/assets/skins/sam/check2.gif +0 -0
  366. data/vendor/assets/javascripts/yui-2.8.1/build/treeview/assets/skins/sam/loading.gif +0 -0
  367. data/vendor/assets/javascripts/yui-2.8.1/build/treeview/assets/skins/sam/treeview-loading.gif +0 -0
  368. data/vendor/assets/javascripts/yui-2.8.1/build/treeview/assets/skins/sam/treeview-skin.css +249 -0
  369. data/vendor/assets/javascripts/yui-2.8.1/build/treeview/assets/skins/sam/treeview-sprite.gif +0 -0
  370. data/vendor/assets/javascripts/yui-2.8.1/build/treeview/assets/skins/sam/treeview.css +7 -0
  371. data/vendor/assets/javascripts/yui-2.8.1/build/treeview/assets/treeview-core.css +6 -0
  372. data/vendor/assets/javascripts/yui-2.8.1/build/treeview/treeview-debug.js +4058 -0
  373. data/vendor/assets/javascripts/yui-2.8.1/build/treeview/treeview-min.js +12 -0
  374. data/vendor/assets/javascripts/yui-2.8.1/build/treeview/treeview.js +3989 -0
  375. data/vendor/assets/javascripts/yui-2.8.1/build/uploader/assets/uploader.swf +0 -0
  376. data/vendor/assets/javascripts/yui-2.8.1/build/uploader/uploader-debug.js +1072 -0
  377. data/vendor/assets/javascripts/yui-2.8.1/build/uploader/uploader-min.js +15 -0
  378. data/vendor/assets/javascripts/yui-2.8.1/build/uploader/uploader.js +1069 -0
  379. data/vendor/assets/javascripts/yui-2.8.1/build/utilities/utilities.js +39 -0
  380. data/vendor/assets/javascripts/yui-2.8.1/build/yahoo-dom-event/yahoo-dom-event.js +14 -0
  381. data/vendor/assets/javascripts/yui-2.8.1/build/yahoo/yahoo-debug.js +1075 -0
  382. data/vendor/assets/javascripts/yui-2.8.1/build/yahoo/yahoo-min.js +7 -0
  383. data/vendor/assets/javascripts/yui-2.8.1/build/yahoo/yahoo.js +1075 -0
  384. data/vendor/assets/javascripts/yui-2.8.1/build/yuiloader-dom-event/yuiloader-dom-event.js +17 -0
  385. data/vendor/assets/javascripts/yui-2.8.1/build/yuiloader/yuiloader-debug.js +3879 -0
  386. data/vendor/assets/javascripts/yui-2.8.1/build/yuiloader/yuiloader-min.js +10 -0
  387. data/vendor/assets/javascripts/yui-2.8.1/build/yuiloader/yuiloader.js +3879 -0
  388. data/vendor/assets/javascripts/yui-2.8.1/build/yuitest/assets/skins/sam/yuitest-skin.css +7 -0
  389. data/vendor/assets/javascripts/yui-2.8.1/build/yuitest/assets/skins/sam/yuitest.css +7 -0
  390. data/vendor/assets/javascripts/yui-2.8.1/build/yuitest/assets/testlogger.css +7 -0
  391. data/vendor/assets/javascripts/yui-2.8.1/build/yuitest/assets/yuitest-core.css +7 -0
  392. data/vendor/assets/javascripts/yui-2.8.1/build/yuitest/yuitest-debug.js +2741 -0
  393. data/vendor/assets/javascripts/yui-2.8.1/build/yuitest/yuitest-min.js +10 -0
  394. data/vendor/assets/javascripts/yui-2.8.1/build/yuitest/yuitest.js +2741 -0
  395. data/vendor/assets/javascripts/yui-2.8.1/build/yuitest/yuitest_core-debug.js +1976 -0
  396. data/vendor/assets/javascripts/yui-2.8.1/build/yuitest/yuitest_core-min.js +9 -0
  397. data/vendor/assets/javascripts/yui-2.8.1/build/yuitest/yuitest_core.js +1976 -0
  398. metadata +470 -0
@@ -0,0 +1,6 @@
1
+ /*
2
+ Copyright (c) 2010, Yahoo! Inc. All rights reserved.
3
+ Code licensed under the BSD License:
4
+ http://developer.yahoo.com/yui/license.html
5
+ version: 2.8.1
6
+ */
@@ -0,0 +1,167 @@
1
+ /*
2
+ Copyright (c) 2010, Yahoo! Inc. All rights reserved.
3
+ Code licensed under the BSD License:
4
+ http://developer.yahoo.com/yui/license.html
5
+ version: 2.8.1
6
+ */
7
+ .yui-skin-sam .yui-pv {
8
+ background-color:#4a4a4a;
9
+ font:arial;
10
+ position:relative;
11
+ width:99%;
12
+ z-index:1000;
13
+ margin-bottom:1em;
14
+ overflow:hidden;
15
+ }
16
+
17
+ .yui-skin-sam .yui-pv .hd {
18
+ background:url(header_background.png) repeat-x;
19
+ min-height:30px;
20
+ overflow:hidden;
21
+ zoom:1;
22
+ padding:2px 0;
23
+ }
24
+
25
+ .yui-skin-sam .yui-pv .hd h4 {
26
+ padding:8px 10px;
27
+ margin:0;
28
+ font:bold 14px arial;
29
+ color:#fff;
30
+ }
31
+
32
+ .yui-skin-sam .yui-pv .hd a {
33
+ background:#3f6bc3;
34
+ font:bold 11px arial;
35
+ color:#fff;
36
+ padding:4px;
37
+ margin:3px 10px 0 0;
38
+ border:1px solid #3f567d;
39
+ cursor:pointer;
40
+ display:block;
41
+ float:right;
42
+ }
43
+
44
+ .yui-skin-sam .yui-pv .hd span {
45
+ display:none;
46
+ }
47
+
48
+ .yui-skin-sam .yui-pv .hd span.yui-pv-busy {
49
+ height:18px;
50
+ width:18px;
51
+ background:url(wait.gif) no-repeat;
52
+ overflow:hidden;
53
+ display:block;
54
+ float:right;
55
+ margin:4px 10px 0 0;
56
+ }
57
+
58
+ .yui-skin-sam .yui-pv .hd:after,
59
+ .yui-pv .bd:after,
60
+ .yui-skin-sam .yui-pv-chartlegend dl:after {
61
+ content:'.';visibility:hidden;clear:left;height:0;display:block;
62
+ }
63
+
64
+ .yui-skin-sam .yui-pv .bd {
65
+ position:relative;
66
+ zoom:1;
67
+ overflow-x:auto;
68
+ overflow-y:hidden;
69
+ }
70
+
71
+ .yui-skin-sam .yui-pv .yui-pv-table {
72
+ padding:0 10px;
73
+ margin:5px 0 10px 0;
74
+ }
75
+
76
+ .yui-skin-sam .yui-pv .yui-pv-table .yui-dt-bd td {
77
+ color:#eeee5c;
78
+ font:12px arial;
79
+ }
80
+
81
+ .yui-skin-sam .yui-pv .yui-pv-table tr.yui-dt-odd {
82
+ background:#929292;
83
+ }
84
+
85
+ .yui-skin-sam .yui-pv .yui-pv-table tr.yui-dt-even {
86
+ background:#58637a;
87
+ }
88
+
89
+ .yui-skin-sam .yui-pv .yui-pv-table tr.yui-dt-even td.yui-dt-asc,
90
+ .yui-skin-sam .yui-pv .yui-pv-table tr.yui-dt-even td.yui-dt-desc {
91
+ background:#384970;
92
+ }
93
+
94
+ .yui-skin-sam .yui-pv .yui-pv-table tr.yui-dt-odd td.yui-dt-asc,
95
+ .yui-skin-sam .yui-pv .yui-pv-table tr.yui-dt-odd td.yui-dt-desc {
96
+ background:#6F6E6E;
97
+ }
98
+
99
+ .yui-skin-sam .yui-pv .yui-pv-table .yui-dt-hd th {
100
+ background-image:none;
101
+ background:#2E2D2D;
102
+ }
103
+
104
+ .yui-skin-sam .yui-pv th.yui-dt-asc .yui-dt-liner {
105
+ background:transparent url(asc.gif) no-repeat scroll right center;
106
+ }
107
+
108
+ .yui-skin-sam .yui-pv th.yui-dt-desc .yui-dt-liner {
109
+ background:transparent url(desc.gif) no-repeat scroll right center;
110
+ }
111
+
112
+ .yui-skin-sam .yui-pv .yui-pv-table .yui-dt-hd th a {
113
+ color:#fff;
114
+ font:bold 12px arial;
115
+ }
116
+
117
+ .yui-skin-sam .yui-pv .yui-pv-table .yui-dt-hd th.yui-dt-asc,
118
+ .yui-skin-sam .yui-pv .yui-pv-table .yui-dt-hd th.yui-dt-desc {
119
+ background:#333;
120
+ }
121
+
122
+ .yui-skin-sam .yui-pv-chartcontainer {
123
+ padding:0 10px;
124
+ }
125
+
126
+ .yui-skin-sam .yui-pv-chart {
127
+ height:250px;
128
+ clear:right;
129
+ margin:5px 0 0 0;
130
+ color:#fff;
131
+ }
132
+
133
+ .yui-skin-sam .yui-pv-chartlegend div {
134
+ float:right;
135
+ margin:0 0 0 10px;
136
+ _width:250px;
137
+ }
138
+
139
+ .yui-skin-sam .yui-pv-chartlegend dl {
140
+ border:1px solid #999;
141
+ padding:.2em 0 .2em .5em;
142
+ zoom:1;
143
+ margin:5px 0;
144
+ }
145
+
146
+ .yui-skin-sam .yui-pv-chartlegend dt {
147
+ float:left;
148
+ display:block;
149
+ height:.7em;
150
+ width:.7em;
151
+ padding:0;
152
+ }
153
+
154
+ .yui-skin-sam .yui-pv-chartlegend dd {
155
+ float:left;
156
+ display:block;
157
+ color:#fff;
158
+ margin:0 1em 0 .5em;
159
+ padding:0;
160
+ font:11px arial;
161
+ }
162
+
163
+ .yui-skin-sam .yui-pv-minimized {height:35px;}
164
+
165
+ .yui-skin-sam .yui-pv-minimized .bd {top:-3000px;}
166
+
167
+ .yui-skin-sam .yui-pv-minimized .hd a.yui-pv-refresh {display:none;}
@@ -0,0 +1,7 @@
1
+ /*
2
+ Copyright (c) 2010, Yahoo! Inc. All rights reserved.
3
+ Code licensed under the BSD License:
4
+ http://developer.yahoo.com/yui/license.html
5
+ version: 2.8.1
6
+ */
7
+ .yui-skin-sam .yui-pv{background-color:#4a4a4a;font:arial;position:relative;width:99%;z-index:1000;margin-bottom:1em;overflow:hidden;}.yui-skin-sam .yui-pv .hd{background:url(header_background.png) repeat-x;min-height:30px;overflow:hidden;zoom:1;padding:2px 0;}.yui-skin-sam .yui-pv .hd h4{padding:8px 10px;margin:0;font:bold 14px arial;color:#fff;}.yui-skin-sam .yui-pv .hd a{background:#3f6bc3;font:bold 11px arial;color:#fff;padding:4px;margin:3px 10px 0 0;border:1px solid #3f567d;cursor:pointer;display:block;float:right;}.yui-skin-sam .yui-pv .hd span{display:none;}.yui-skin-sam .yui-pv .hd span.yui-pv-busy{height:18px;width:18px;background:url(wait.gif) no-repeat;overflow:hidden;display:block;float:right;margin:4px 10px 0 0;}.yui-skin-sam .yui-pv .hd:after,.yui-pv .bd:after,.yui-skin-sam .yui-pv-chartlegend dl:after{content:'.';visibility:hidden;clear:left;height:0;display:block;}.yui-skin-sam .yui-pv .bd{position:relative;zoom:1;overflow-x:auto;overflow-y:hidden;}.yui-skin-sam .yui-pv .yui-pv-table{padding:0 10px;margin:5px 0 10px 0;}.yui-skin-sam .yui-pv .yui-pv-table .yui-dt-bd td{color:#eeee5c;font:12px arial;}.yui-skin-sam .yui-pv .yui-pv-table tr.yui-dt-odd{background:#929292;}.yui-skin-sam .yui-pv .yui-pv-table tr.yui-dt-even{background:#58637a;}.yui-skin-sam .yui-pv .yui-pv-table tr.yui-dt-even td.yui-dt-asc,.yui-skin-sam .yui-pv .yui-pv-table tr.yui-dt-even td.yui-dt-desc{background:#384970;}.yui-skin-sam .yui-pv .yui-pv-table tr.yui-dt-odd td.yui-dt-asc,.yui-skin-sam .yui-pv .yui-pv-table tr.yui-dt-odd td.yui-dt-desc{background:#6F6E6E;}.yui-skin-sam .yui-pv .yui-pv-table .yui-dt-hd th{background-image:none;background:#2E2D2D;}.yui-skin-sam .yui-pv th.yui-dt-asc .yui-dt-liner{background:transparent url(asc.gif) no-repeat scroll right center;}.yui-skin-sam .yui-pv th.yui-dt-desc .yui-dt-liner{background:transparent url(desc.gif) no-repeat scroll right center;}.yui-skin-sam .yui-pv .yui-pv-table .yui-dt-hd th a{color:#fff;font:bold 12px arial;}.yui-skin-sam .yui-pv .yui-pv-table .yui-dt-hd th.yui-dt-asc,.yui-skin-sam .yui-pv .yui-pv-table .yui-dt-hd th.yui-dt-desc{background:#333;}.yui-skin-sam .yui-pv-chartcontainer{padding:0 10px;}.yui-skin-sam .yui-pv-chart{height:250px;clear:right;margin:5px 0 0 0;color:#fff;}.yui-skin-sam .yui-pv-chartlegend div{float:right;margin:0 0 0 10px;_width:250px;}.yui-skin-sam .yui-pv-chartlegend dl{border:1px solid #999;padding:.2em 0 .2em .5em;zoom:1;margin:5px 0;}.yui-skin-sam .yui-pv-chartlegend dt{float:left;display:block;height:.7em;width:.7em;padding:0;}.yui-skin-sam .yui-pv-chartlegend dd{float:left;display:block;color:#fff;margin:0 1em 0 .5em;padding:0;font:11px arial;}.yui-skin-sam .yui-pv-minimized{height:35px;}.yui-skin-sam .yui-pv-minimized .bd{top:-3000px;}.yui-skin-sam .yui-pv-minimized .hd a.yui-pv-refresh{display:none;}
@@ -0,0 +1,1229 @@
1
+ /*
2
+ Copyright (c) 2010, Yahoo! Inc. All rights reserved.
3
+ Code licensed under the BSD License:
4
+ http://developer.yahoo.com/yui/license.html
5
+ version: 2.8.1
6
+ */
7
+ (function() {
8
+
9
+ /**
10
+ * The ProfilerViewer module provides a graphical display for viewing
11
+ * the output of the YUI Profiler <http://developer.yahoo.com/yui/profiler>.
12
+ * @module profilerviewer
13
+ * @requires yahoo, dom, event, element, profiler, yuiloader
14
+ */
15
+
16
+ /**
17
+ * A widget to view YUI Profiler output.
18
+ * @namespace YAHOO.widget
19
+ * @class ProfilerViewer
20
+ * @extends YAHOO.util.Element
21
+ * @constructor
22
+ * @param {HTMLElement | String | Object} el(optional) The html
23
+ * element into which the ProfileViewer should be rendered.
24
+ * An element will be created if none provided.
25
+ * @param {Object} attr (optional) A key map of the ProfilerViewer's
26
+ * initial attributes. Ignored if first arg is an attributes object.
27
+ */
28
+ YAHOO.widget.ProfilerViewer = function(el, attr) {
29
+ attr = attr || {};
30
+ if (arguments.length == 1 && !YAHOO.lang.isString(el) && !el.nodeName) {
31
+ attr = el;
32
+ el = attr.element || null;
33
+ }
34
+ if (!el && !attr.element) {
35
+ el = this._createProfilerViewerElement();
36
+ }
37
+
38
+ YAHOO.widget.ProfilerViewer.superclass.constructor.call(this, el, attr);
39
+
40
+ this._init();
41
+
42
+ YAHOO.log("ProfilerViewer instantiated.", "info", "ProfilerViewer");
43
+ };
44
+
45
+ YAHOO.extend(YAHOO.widget.ProfilerViewer, YAHOO.util.Element);
46
+
47
+ // Static members of YAHOO.widget.ProfilerViewer:
48
+ YAHOO.lang.augmentObject(YAHOO.widget.ProfilerViewer, {
49
+ /**
50
+ * Classname for ProfilerViewer containing element.
51
+ * @static
52
+ * @property CLASS
53
+ * @type string
54
+ * @public
55
+ * @default "yui-pv"
56
+ */
57
+ CLASS: 'yui-pv',
58
+
59
+ /**
60
+ * Classname for ProfilerViewer button dashboard.
61
+ * @static
62
+ * @property CLASS_DASHBOARD
63
+ * @type string
64
+ * @public
65
+ * @default "yui-pv-dashboard"
66
+ */
67
+ CLASS_DASHBOARD: 'yui-pv-dashboard',
68
+
69
+ /**
70
+ * Classname for the "refresh data" button.
71
+ * @static
72
+ * @property CLASS_REFRESH
73
+ * @type string
74
+ * @public
75
+ * @default "yui-pv-refresh"
76
+ */
77
+ CLASS_REFRESH: 'yui-pv-refresh',
78
+
79
+ /**
80
+ * Classname for busy indicator in the dashboard.
81
+ * @static
82
+ * @property CLASS_BUSY
83
+ * @type string
84
+ * @public
85
+ * @default "yui-pv-busy"
86
+ */
87
+ CLASS_BUSY: 'yui-pv-busy',
88
+
89
+ /**
90
+ * Classname for element containing the chart and chart
91
+ * legend elements.
92
+ * @static
93
+ * @property CLASS_CHART_CONTAINER
94
+ * @type string
95
+ * @public
96
+ * @default "yui-pv-chartcontainer"
97
+ */
98
+ CLASS_CHART_CONTAINER: 'yui-pv-chartcontainer',
99
+
100
+ /**
101
+ * Classname for element containing the chart.
102
+ * @static
103
+ * @property CLASS_CHART
104
+ * @type string
105
+ * @public
106
+ * @default "yui-pv-chart"
107
+ */
108
+ CLASS_CHART: 'yui-pv-chart',
109
+
110
+ /**
111
+ * Classname for element containing the chart's legend.
112
+ * @static
113
+ * @property CLASS_CHART_LEGEND
114
+ * @type string
115
+ * @public
116
+ * @default "yui-pv-chartlegend"
117
+ */
118
+ CLASS_CHART_LEGEND: 'yui-pv-chartlegend',
119
+
120
+ /**
121
+ * Classname for element containing the datatable.
122
+ * @static
123
+ * @property CLASS_TABLE
124
+ * @type string
125
+ * @public
126
+ * @default "yui-pv-table"
127
+ */
128
+ CLASS_TABLE: 'yui-pv-table',
129
+
130
+ /**
131
+ * Strings used in the UI.
132
+ * @static
133
+ * @property STRINGS
134
+ * @object
135
+ * @public
136
+ * @default English language strings for UI.
137
+ */
138
+ STRINGS: {
139
+ title: "YUI Profiler (beta)",
140
+ buttons: {
141
+ viewprofiler: "View Profiler Data",
142
+ hideprofiler: "Hide Profiler Report",
143
+ showchart: "Show Chart",
144
+ hidechart: "Hide Chart",
145
+ refreshdata: "Refresh Data"
146
+ },
147
+ colHeads: {
148
+ //key: [column head label, width in pixels]
149
+ fn: ["Function/Method", null], //must auto-size
150
+ calls: ["Calls", 40],
151
+ avg: ["Average", 80],
152
+ min: ["Shortest", 70],
153
+ max: ["Longest", 70],
154
+ total: ["Total Time", 70],
155
+ pct: ["Percent", 70]
156
+ },
157
+ millisecondsAbbrev: "ms",
158
+ initMessage: "initialiazing chart...",
159
+ installFlashMessage: "Unable to load Flash content. The YUI Charts Control requires Flash Player 9.0.45 or higher. You can download the latest version of Flash Player from the <a href='http://www.adobe.com/go/getflashplayer'>Adobe Flash Player Download Center</a>."
160
+ },
161
+
162
+ /**
163
+ * Function used to format numbers in milliseconds
164
+ * for chart; must be publicly accessible, per Charts spec.
165
+ * @static
166
+ * @property timeAxisLabelFunction
167
+ * @type function
168
+ * @private
169
+ */
170
+ timeAxisLabelFunction: function(n) {
171
+ var a = (n === Math.floor(n)) ? n : (Math.round(n*1000))/1000;
172
+ return (a + " " + YAHOO.widget.ProfilerViewer.STRINGS.millisecondsAbbrev);
173
+ },
174
+
175
+ /**
176
+ * Function used to format percent numbers for chart; must
177
+ * be publicly accessible, per Charts spec.
178
+ * @static
179
+ * @property percentAxisLabelFunction
180
+ * @type function
181
+ * @private
182
+ */
183
+ percentAxisLabelFunction: function(n) {
184
+ var a = (n === Math.floor(n)) ? n : (Math.round(n*100))/100;
185
+ return (a + "%");
186
+ }
187
+
188
+
189
+ },true);
190
+
191
+
192
+ //
193
+ // STANDARD SHORTCUTS
194
+ //
195
+ var Dom = YAHOO.util.Dom;
196
+ var Event = YAHOO.util.Event;
197
+ var Profiler = YAHOO.tool.Profiler;
198
+ var PV = YAHOO.widget.ProfilerViewer;
199
+ var proto = PV.prototype;
200
+
201
+
202
+ //
203
+ // PUBLIC METHODS
204
+ //
205
+
206
+ /**
207
+ * Refreshes the data displayed in the ProfilerViewer. When called,
208
+ * this will invoke a refresh of the DataTable and (if displayed)
209
+ * the Chart.
210
+ * @method refreshData
211
+ * @return void
212
+ * @public
213
+ */
214
+ proto.refreshData = function() {
215
+ YAHOO.log("Data refresh requested via refreshData method.", "info", "ProfilerViewer");
216
+ this.fireEvent("dataRefreshEvent");
217
+ };
218
+
219
+ /**
220
+ * Returns the element containing the console's header.
221
+ * @method getHeadEl
222
+ * @return HTMLElement
223
+ * @public
224
+ */
225
+ proto.getHeadEl = function() {
226
+ YAHOO.log("Head element requested via getHeadEl.", "info", "ProfilerViewer");
227
+ return (this._headEl) ? Dom.get(this._headEl) : false;
228
+ };
229
+
230
+ /**
231
+ * Returns the element containing the console's body, including
232
+ * the chart and the datatable..
233
+ * @method getBodyEl
234
+ * @return HTMLElement
235
+ * @public
236
+ */
237
+ proto.getBodyEl = function() {
238
+ YAHOO.log("Body element requested via getBodyEl.", "info", "ProfilerViewer");
239
+ return (this._bodyEl) ? Dom.get(this._bodyEl) : false;
240
+ };
241
+
242
+ /**
243
+ * Returns the element containing the console's chart.
244
+ * @method getChartEl
245
+ * @return HTMLElement
246
+ * @public
247
+ */
248
+ proto.getChartEl = function() {
249
+ YAHOO.log("Chart element requested via getChartEl.", "info", "ProfilerViewer");
250
+ return (this._chartEl) ? Dom.get(this._chartEl) : false;
251
+ };
252
+
253
+ /**
254
+ * Returns the element containing the console's dataTable.
255
+ * @method getTableEl
256
+ * @return HTMLElement
257
+ * @public
258
+ */
259
+ proto.getTableEl = function() {
260
+ YAHOO.log("DataTable element requested via getTableEl.", "info", "ProfilerViewer");
261
+ return (this._tableEl) ? Dom.get(this._tableEl) : false;
262
+ };
263
+
264
+ /**
265
+ * Returns the element containing the console's DataTable
266
+ * instance.
267
+ * @method getDataTable
268
+ * @return YAHOO.widget.DataTable
269
+ * @public
270
+ */
271
+ proto.getDataTable = function() {
272
+ YAHOO.log("DataTable instance requested via getDataTable.", "info", "ProfilerViewer");
273
+ return this._dataTable;
274
+ };
275
+
276
+ /**
277
+ * Returns the element containing the console's Chart instance.
278
+ * @method getChart
279
+ * @return YAHOO.widget.BarChart
280
+ * @public
281
+ */
282
+ proto.getChart = function() {
283
+ YAHOO.log("Chart instance requested via getChart.", "info", "ProfilerViewer");
284
+ return this._chart;
285
+ };
286
+
287
+
288
+ //
289
+ // PRIVATE PROPERTIES
290
+ //
291
+ proto._rendered = false;
292
+ proto._headEl = null;
293
+ proto._bodyEl = null;
294
+ proto._toggleVisibleEl = null;
295
+ proto._busyEl = null;
296
+ proto._busy = false;
297
+
298
+ proto._tableEl = null;
299
+ proto._dataTable = null;
300
+
301
+ proto._chartEl = null;
302
+ proto._chartLegendEl = null;
303
+ proto._chartElHeight = 250;
304
+ proto._chart = null;
305
+ proto._chartInitialized = false;
306
+
307
+ //
308
+ // PRIVATE METHODS
309
+ //
310
+
311
+ proto._init = function() {
312
+ /**
313
+ * CUSTOM EVENTS
314
+ **/
315
+
316
+ /**
317
+ * Fired when a data refresh is requested. No arguments are passed
318
+ * with this event.
319
+ *
320
+ * @event refreshDataEvent
321
+ */
322
+ this.createEvent("dataRefreshEvent");
323
+
324
+ /**
325
+ * Fired when the viewer canvas first renders. No arguments are passed
326
+ * with this event.
327
+ *
328
+ * @event renderEvent
329
+ */
330
+ this.createEvent("renderEvent");
331
+
332
+ this.on("dataRefreshEvent", this._refreshDataTable, this, true);
333
+
334
+ this._initLauncherDOM();
335
+
336
+ if(this.get("showChart")) {
337
+ this.on("sortedByChange", this._refreshChart);
338
+ }
339
+
340
+ YAHOO.log("ProfilerViewer instance initialization complete.", "info", "ProfilerViewer");
341
+ };
342
+
343
+ /**
344
+ * If no element is passed in, create it as the first element
345
+ * in the document.
346
+ * @method _createProfilerViewerElement
347
+ * @return HTMLElement
348
+ * @private
349
+ */
350
+ proto._createProfilerViewerElement = function() {
351
+ YAHOO.log("Creating root element...", "info", "ProfilerViewer");
352
+
353
+ var el = document.createElement("div");
354
+ document.body.insertBefore(el, document.body.firstChild);
355
+ Dom.addClass(el, this.SKIN_CLASS);
356
+ Dom.addClass(el, PV.CLASS);
357
+ YAHOO.log(el);
358
+ return el;
359
+ };
360
+
361
+ /**
362
+ * Provides a readable name for the ProfilerViewer instance.
363
+ * @method toString
364
+ * @return String
365
+ * @private
366
+ */
367
+ proto.toString = function() {
368
+ return "ProfilerViewer " + (this.get('id') || this.get('tagName'));
369
+ };
370
+
371
+ /**
372
+ * Toggles visibility of the viewer canvas.
373
+ * @method _toggleVisible
374
+ * @return void
375
+ * @private
376
+ */
377
+ proto._toggleVisible = function() {
378
+ YAHOO.log("Toggling visibility to " + !this.get("visible") + ".", "info", "ProfilerViewer");
379
+
380
+ var newVis = (this.get("visible")) ? false : true;
381
+ this.set("visible", newVis);
382
+ };
383
+
384
+ /**
385
+ * Shows the viewer canvas.
386
+ * @method show
387
+ * @return void
388
+ * @private
389
+ */
390
+ proto._show = function() {
391
+ if(!this._busy) {
392
+ this._setBusyState(true);
393
+ if(!this._rendered) {
394
+ var loader = new YAHOO.util.YUILoader();
395
+ if (this.get("base")) {
396
+ loader.base = this.get("base");
397
+ }
398
+
399
+ var modules = ["datatable"];
400
+ if(this.get("showChart")) {
401
+ modules.push("charts");
402
+ }
403
+
404
+ loader.insert({ require: modules,
405
+ onSuccess: function() {
406
+ this._render();
407
+ },
408
+ scope: this});
409
+ } else {
410
+ var el = this.get("element");
411
+ Dom.removeClass(el, "yui-pv-minimized");
412
+ this._toggleVisibleEl.innerHTML = PV.STRINGS.buttons.hideprofiler;
413
+
414
+ //The Flash Charts component can't be set to display:none,
415
+ //and even after positioning it offscreen the screen
416
+ //may fail to repaint in some browsers. Adding an empty
417
+ //style rule to the console body can help force a repaint:
418
+ Dom.addClass(el, "yui-pv-null");
419
+ Dom.removeClass(el, "yui-pv-null");
420
+
421
+ //Always refresh data when changing to visible:
422
+ this.refreshData();
423
+ }
424
+ }
425
+ };
426
+
427
+ /**
428
+ * Hides the viewer canvas.
429
+ * @method hide
430
+ * @return void
431
+ * @private
432
+ */
433
+ proto._hide = function() {
434
+ this._toggleVisibleEl.innerHTML = PV.STRINGS.buttons.viewprofiler;
435
+ Dom.addClass(this.get("element"), "yui-pv-minimized");
436
+ };
437
+
438
+ /**
439
+ * Render the viewer canvas
440
+ * @method _render
441
+ * @return void
442
+ * @private
443
+ */
444
+ proto._render = function() {
445
+ YAHOO.log("Beginning to render ProfilerViewer canvas...", "info", "ProfilerViewer");
446
+
447
+ Dom.removeClass(this.get("element"), "yui-pv-minimized");
448
+
449
+ this._initViewerDOM();
450
+ this._initDataTable();
451
+ if(this.get("showChart")) {
452
+ this._initChartDOM();
453
+ this._initChart();
454
+ }
455
+ this._rendered = true;
456
+ this._toggleVisibleEl.innerHTML = PV.STRINGS.buttons.hideprofiler;
457
+
458
+ this.fireEvent("renderEvent");
459
+
460
+ YAHOO.log("ProfilerViewer rendering complete...", "info", "ProfilerViewer");
461
+ };
462
+
463
+ /**
464
+ * Set up the DOM structure for the ProfilerViewer launcher.
465
+ * @method _initLauncherDOM
466
+ * @private
467
+ */
468
+ proto._initLauncherDOM = function() {
469
+ YAHOO.log("Creating the launcher...", "info", "ProfilerViewer");
470
+
471
+ var el = this.get("element");
472
+ Dom.addClass(el, PV.CLASS);
473
+ Dom.addClass(el, "yui-pv-minimized");
474
+
475
+ this._headEl = document.createElement("div");
476
+ Dom.addClass(this._headEl, "hd");
477
+
478
+ var s = PV.STRINGS.buttons;
479
+ var b = (this.get("visible")) ? s.hideprofiler : s.viewprofiler;
480
+
481
+ this._toggleVisibleEl = this._createButton(b, this._headEl);
482
+
483
+ this._refreshEl = this._createButton(s.refreshdata, this._headEl);
484
+ Dom.addClass(this._refreshEl, PV.CLASS_REFRESH);
485
+
486
+ this._busyEl = document.createElement("span");
487
+ this._headEl.appendChild(this._busyEl);
488
+
489
+ var title = document.createElement("h4");
490
+ title.innerHTML = PV.STRINGS.title;
491
+ this._headEl.appendChild(title);
492
+
493
+ el.appendChild(this._headEl);
494
+
495
+ Event.on(this._toggleVisibleEl, "click", this._toggleVisible, this, true);
496
+ Event.on(this._refreshEl, "click", function() {
497
+ if(!this._busy) {
498
+ this._setBusyState(true);
499
+ this.fireEvent("dataRefreshEvent");
500
+ }
501
+ }, this, true);
502
+ };
503
+
504
+ /**
505
+ * Set up the DOM structure for the ProfilerViewer canvas,
506
+ * including the holder for the DataTable.
507
+ * @method _initViewerDOM
508
+ * @private
509
+ */
510
+ proto._initViewerDOM = function() {
511
+ YAHOO.log("Creating DOM structure for viewer...", "info", "ProfilerViewer");
512
+
513
+ var el = this.get("element");
514
+ this._bodyEl = document.createElement("div");
515
+ Dom.addClass(this._bodyEl, "bd");
516
+ this._tableEl = document.createElement("div");
517
+ Dom.addClass(this._tableEl, PV.CLASS_TABLE);
518
+ this._bodyEl.appendChild(this._tableEl);
519
+ el.appendChild(this._bodyEl);
520
+ };
521
+
522
+ /**
523
+ * Set up the DOM structure for the ProfilerViewer canvas.
524
+ * @method _initChartDOM
525
+ * @private
526
+ */
527
+ proto._initChartDOM = function() {
528
+ YAHOO.log("Adding DOM structure for chart...", "info", "ProfilerViewer");
529
+
530
+ this._chartContainer = document.createElement("div");
531
+ Dom.addClass(this._chartContainer, PV.CLASS_CHART_CONTAINER);
532
+
533
+ var chl = document.createElement("div");
534
+ Dom.addClass(chl, PV.CLASS_CHART_LEGEND);
535
+
536
+ var chw = document.createElement("div");
537
+
538
+ this._chartLegendEl = document.createElement("dl");
539
+ this._chartLegendEl.innerHTML = "<dd>" + PV.STRINGS.initMessage + "</dd>";
540
+
541
+ this._chartEl = document.createElement("div");
542
+ Dom.addClass(this._chartEl, PV.CLASS_CHART);
543
+
544
+ var msg = document.createElement("p");
545
+ msg.innerHTML = PV.STRINGS.installFlashMessage;
546
+ this._chartEl.appendChild(msg);
547
+
548
+ this._chartContainer.appendChild(chl);
549
+ chl.appendChild(chw);
550
+ chw.appendChild(this._chartLegendEl);
551
+ this._chartContainer.appendChild(this._chartEl);
552
+ this._bodyEl.insertBefore(this._chartContainer,this._tableEl);
553
+ };
554
+
555
+
556
+ /**
557
+ * Create anchor elements for use as buttons. Args: label
558
+ * is text to appear on the face of the button, parentEl
559
+ * is the el to which the anchor will be attached, position
560
+ * is true for inserting as the first node and false for
561
+ * inserting as the last node of the parentEl.
562
+ * @method _createButton
563
+ * @private
564
+ */
565
+ proto._createButton = function(label, parentEl, position) {
566
+ var b = document.createElement("a");
567
+ b.innerHTML = b.title = label;
568
+ if(parentEl) {
569
+ if(!position) {
570
+ parentEl.appendChild(b);
571
+ } else {
572
+ parentEl.insertBefore(b, parentEl.firstChild);
573
+ }
574
+ }
575
+ return b;
576
+ };
577
+
578
+ /**
579
+ * Set's console busy state.
580
+ * @method _setBusyState
581
+ * @private
582
+ **/
583
+ proto._setBusyState = function(b) {
584
+ if(b) {
585
+ Dom.addClass(this._busyEl, PV.CLASS_BUSY);
586
+ this._busy = true;
587
+ } else {
588
+ Dom.removeClass(this._busyEl, PV.CLASS_BUSY);
589
+ this._busy = false;
590
+ }
591
+ };
592
+
593
+ /**
594
+ * Generages a sorting function based on current sortedBy
595
+ * values.
596
+ * @method _createProfilerViewerElement
597
+ * @private
598
+ **/
599
+ proto._genSortFunction = function(key, dir) {
600
+ var by = key;
601
+ var direction = dir;
602
+ return function(a, b) {
603
+ if (direction == YAHOO.widget.DataTable.CLASS_ASC) {
604
+ return a[by] - b[by];
605
+ } else {
606
+ return ((a[by] - b[by]) * -1);
607
+ }
608
+ };
609
+ };
610
+
611
+ /**
612
+ * Utility function for array sums.
613
+ * @method _arraySum
614
+ * @private
615
+ **/
616
+ var _arraySum = function(arr){
617
+ var ct = 0;
618
+ for(var i = 0; i < arr.length; ct+=arr[i++]){}
619
+ return ct;
620
+ };
621
+
622
+ /**
623
+ * Retrieves data from Profiler, filtering and sorting as needed
624
+ * based on current widget state. Adds calculated percentage
625
+ * column and function name to data returned by Profiler.
626
+ * @method _getProfilerData
627
+ * @private
628
+ **/
629
+ proto._getProfilerData = function() {
630
+ YAHOO.log("Profiler data requested from function DataSource.", "info", "ProfilerViewer");
631
+
632
+ var obj = Profiler.getFullReport();
633
+ var arr = [];
634
+ var totalTime = 0;
635
+ for (name in obj) {
636
+ if (YAHOO.lang.hasOwnProperty(obj, name)) {
637
+ var r = obj[name];
638
+ var o = {};
639
+ o.fn = name; //add function name to record
640
+ o.points = r.points.slice(); //copy live array
641
+ o.calls = r.calls;
642
+ o.min = r.min;
643
+ o.max = r.max;
644
+ o.avg = r.avg;
645
+ o.total = _arraySum(o.points);
646
+ o.points = r.points;
647
+ var f = this.get("filter");
648
+ if((!f) || (f(o))) {
649
+ arr.push(o);
650
+ totalTime += o.total;
651
+ }
652
+ }
653
+ }
654
+
655
+ //add calculated percentage column
656
+ for (var i = 0, j = arr.length; i < j; i++) {
657
+ arr[i].pct = (totalTime) ? (arr[i].total * 100) / totalTime : 0;
658
+ }
659
+
660
+ var sortedBy = this.get("sortedBy");
661
+ var key = sortedBy.key;
662
+ var dir = sortedBy.dir;
663
+
664
+ arr.sort(this._genSortFunction(key, dir));
665
+
666
+ YAHOO.log("Returning data from DataSource: " + YAHOO.lang.dump(arr), "info", "ProfilerViewer");
667
+
668
+ return arr;
669
+ };
670
+
671
+ /**
672
+ * Set up the DataTable.
673
+ * @method _initDataTable
674
+ * @private
675
+ */
676
+ proto._initDataTable = function() {
677
+ YAHOO.log("Creating DataTable instance...", "info", "ProfilerViewer");
678
+
679
+ var self = this;
680
+
681
+ //Set up the JS Function DataSource, pulling data from
682
+ //the Profiler.
683
+ this._dataSource = new YAHOO.util.DataSource(
684
+ function() {
685
+ return self._getProfilerData.call(self);
686
+ },
687
+ {
688
+ responseType: YAHOO.util.DataSource.TYPE_JSARRAY,
689
+ maxCacheEntries: 0
690
+ }
691
+ );
692
+ var ds = this._dataSource;
693
+
694
+ ds.responseSchema =
695
+ {
696
+ fields: [ "fn", "avg", "calls", "max", "min", "total", "pct", "points"]
697
+ };
698
+
699
+ //Set up the DataTable.
700
+ var formatTimeValue = function(elCell, oRecord, oColumn, oData) {
701
+ var a = (oData === Math.floor(oData)) ? oData : (Math.round(oData*1000))/1000;
702
+ elCell.innerHTML = a + " " + PV.STRINGS.millisecondsAbbrev;
703
+ };
704
+
705
+ var formatPercent = function(elCell, oRecord, oColumn, oData) {
706
+ var a = (oData === Math.floor(oData)) ? oData : (Math.round(oData*100))/100;
707
+ elCell.innerHTML = a + "%";
708
+ };
709
+
710
+ var a = YAHOO.widget.DataTable.CLASS_ASC;
711
+ var d = YAHOO.widget.DataTable.CLASS_DESC;
712
+ var c = PV.STRINGS.colHeads;
713
+ var f = formatTimeValue;
714
+
715
+ var cols = [
716
+ {key:"fn", sortable:true, label: c.fn[0],
717
+ sortOptions: {defaultDir:a},
718
+ resizeable: (YAHOO.util.DragDrop) ? true : false,
719
+ minWidth:c.fn[1]},
720
+ {key:"calls", sortable:true, label: c.calls[0],
721
+ sortOptions: {defaultDir:d},
722
+ width:c.calls[1]},
723
+ {key:"avg", sortable:true, label: c.avg[0],
724
+ sortOptions: {defaultDir:d},
725
+ formatter:f,
726
+ width:c.avg[1]},
727
+ {key:"min", sortable:true, label: c.min[0],
728
+ sortOptions: {defaultDir:a},
729
+ formatter:f,
730
+ width:c.min[1]},
731
+ {key:"max", sortable:true, label: c.max[0],
732
+ sortOptions: {defaultDir:d},
733
+ formatter:f,
734
+ width:c.max[1]},
735
+ {key:"total", sortable:true, label: c.total[0],
736
+ sortOptions: {defaultDir:d},
737
+ formatter:f,
738
+ width:c.total[1]},
739
+ {key:"pct", sortable:true, label: c.pct[0],
740
+ sortOptions: {defaultDir:d},
741
+ formatter:formatPercent,
742
+ width:c.pct[1]}
743
+ ];
744
+
745
+ this._dataTable = new YAHOO.widget.DataTable(this._tableEl, cols, ds, {
746
+ scrollable:true,
747
+ height:this.get("tableHeight"),
748
+ initialRequest:null,
749
+ sortedBy: {
750
+ key: "total",
751
+ dir: YAHOO.widget.DataTable.CLASS_DESC
752
+ }
753
+ });
754
+ var dt = this._dataTable;
755
+
756
+ //Wire up DataTable events to drive the rest of the UI.
757
+ dt.subscribe("sortedByChange", this._sortedByChange, this, true);
758
+ dt.subscribe("renderEvent", this._dataTableRenderHandler, this, true);
759
+ dt.subscribe("initEvent", this._dataTableRenderHandler, this, true);
760
+ Event.on(this._tableEl.getElementsByTagName("th"), "click", this._thClickHandler, this, true);
761
+ YAHOO.log("DataTable initialized.", "info", "ProfilerViewer");
762
+ };
763
+
764
+ /**
765
+ * Proxy the sort event in DataTable into the ProfilerViewer
766
+ * attribute.
767
+ * @method _sortedByChange
768
+ * @private
769
+ **/
770
+ proto._sortedByChange = function(o) {
771
+ if(o.newValue && o.newValue.key) {
772
+ YAHOO.log("Relaying DataTable sortedBy value change; new key: " + o.newValue.key + "; new direction: " + o.newValue.dir + ".", "info", "ProfilerViewer");
773
+ this.set("sortedBy", {key: o.newValue.key, dir:o.newValue.dir});
774
+ }
775
+ };
776
+
777
+ /**
778
+ * Proxy the render event in DataTable into the ProfilerViewer
779
+ * attribute.
780
+ * @method _dataTableRenderHandler
781
+ * @private
782
+ **/
783
+ proto._dataTableRenderHandler = function(o) {
784
+ YAHOO.log("DataTable's render event has fired.", "info", "ProfilerViewer");
785
+ this._setBusyState(false);
786
+ };
787
+
788
+ /**
789
+ * Event handler for clicks on the DataTable's sortable column
790
+ * heads.
791
+ * @method _thClickHandler
792
+ * @private
793
+ **/
794
+ proto._thClickHandler = function(o) {
795
+ YAHOO.log("DataTable's header row was clicked for sorting.", "info", "ProfilerViewer");
796
+ this._setBusyState(true);
797
+ };
798
+
799
+ /**
800
+ * Refresh DataTable, getting new data from Profiler.
801
+ * @method _refreshDataTable
802
+ * @private
803
+ **/
804
+ proto._refreshDataTable = function(args) {
805
+ YAHOO.log("Beginning to refresh DataTable contents...", "info", "ProfilerViewer");
806
+ var dt = this._dataTable;
807
+ dt.getDataSource().sendRequest("", dt.onDataReturnInitializeTable, dt);
808
+ YAHOO.log("DataTable refresh complete.", "info", "ProfilerViewer");
809
+ };
810
+
811
+ /**
812
+ * Refresh chart, getting new data from table.
813
+ * @method _refreshChart
814
+ * @private
815
+ **/
816
+ proto._refreshChart = function() {
817
+ YAHOO.log("Beginning to refresh Chart contents...", "info", "ProfilerViewer");
818
+
819
+ switch (this.get("sortedBy").key) {
820
+ case "fn":
821
+ /*Keep the same data on the chart, but force update to
822
+ reflect new sort order on function/method name: */
823
+ this._chart.set("dataSource", this._chart.get("dataSource"));
824
+ /*no further action necessary; chart redraws*/
825
+ return;
826
+ case "calls":
827
+ /*Null out the xAxis formatting before redrawing chart.*/
828
+ this._chart.set("xAxis", this._chartAxisDefinitionPlain);
829
+ break;
830
+ case "pct":
831
+ this._chart.set("xAxis", this._chartAxisDefinitionPercent);
832
+ break;
833
+ default:
834
+ /*Set the default xAxis; redraw legend; set the new series definition.*/
835
+ this._chart.set("xAxis", this._chartAxisDefinitionTime);
836
+ break;
837
+ }
838
+
839
+ this._drawChartLegend();
840
+ this._chart.set("series", this._getSeriesDef(this.get("sortedBy").key));
841
+
842
+ YAHOO.log("Chart refresh complete.", "info", "ProfilerViewer");
843
+ };
844
+
845
+ /**
846
+ * Get data for the Chart from DataTable recordset
847
+ * @method _getChartData
848
+ * @private
849
+ */
850
+ proto._getChartData = function() {
851
+ YAHOO.log("Getting data for chart from function DataSource.", "info", "ProfilerViewer");
852
+ //var records = this._getProfilerData();
853
+ var records = this._dataTable.getRecordSet().getRecords(0, this.get("maxChartFunctions"));
854
+ var arr = [];
855
+ for (var i = 0, j = records.length; i<j; i++) {
856
+ arr.push(records[i].getData());
857
+ }
858
+ YAHOO.log("Returning data to Chart: " + YAHOO.lang.dump(arr), "info", "ProfilerViewer");
859
+ return arr;
860
+ };
861
+
862
+ /**
863
+ * Build series definition based on current configuration attributes.
864
+ * @method _getSeriesDef
865
+ * @private
866
+ */
867
+ proto._getSeriesDef = function(field) {
868
+ var sd = this.get("chartSeriesDefinitions")[field];
869
+ var arr = [];
870
+ for(var i = 0, j = sd.group.length; i<j; i++) {
871
+ var c = this.get("chartSeriesDefinitions")[sd.group[i]];
872
+ arr.push(
873
+ {displayName:c.displayName,
874
+ xField:c.xField,
875
+ style: {color:c.style.color, size:c.style.size}
876
+ }
877
+ );
878
+ }
879
+
880
+ YAHOO.log("Returning new series definition to chart: " + YAHOO.lang.dump(arr), "info", "ProfilerViewer");
881
+ return arr;
882
+ };
883
+
884
+ /**
885
+ * Set up the Chart.
886
+ * @method _initChart
887
+ * @private
888
+ */
889
+ proto._initChart = function() {
890
+ YAHOO.log("Initializing chart...", "info", "ProfilerViewer");
891
+
892
+ this._sizeChartCanvas();
893
+
894
+ YAHOO.widget.Chart.SWFURL = this.get("swfUrl");
895
+
896
+ var self = this;
897
+
898
+ //Create DataSource based on records currently displayed
899
+ //at the top of the sort list in the DataTable.
900
+ var ds = new YAHOO.util.DataSource(
901
+ //force the jsfunction DataSource to run in the scope of
902
+ //the ProfilerViewer, not in the YAHOO.util.DataSource scope:
903
+ function() {
904
+ return self._getChartData.call(self);
905
+ },
906
+ {
907
+ responseType: YAHOO.util.DataSource.TYPE_JSARRAY,
908
+ maxCacheEntries: 0
909
+ }
910
+ );
911
+
912
+ ds.responseSchema =
913
+ {
914
+ fields: [ "fn", "avg", "calls", "max", "min", "total", "pct" ]
915
+ };
916
+
917
+ ds.subscribe('responseEvent', this._sizeChartCanvas, this, true);
918
+
919
+ //Set up the chart itself.
920
+ this._chartAxisDefinitionTime = new YAHOO.widget.NumericAxis();
921
+ this._chartAxisDefinitionTime.labelFunction = "YAHOO.widget.ProfilerViewer.timeAxisLabelFunction";
922
+
923
+ this._chartAxisDefinitionPercent = new YAHOO.widget.NumericAxis();
924
+ this._chartAxisDefinitionPercent.labelFunction = "YAHOO.widget.ProfilerViewer.percentAxisLabelFunction";
925
+
926
+ this._chartAxisDefinitionPlain = new YAHOO.widget.NumericAxis();
927
+
928
+ this._chart = new YAHOO.widget.BarChart( this._chartEl, ds,
929
+ {
930
+ yField: "fn",
931
+ series: this._getSeriesDef(this.get("sortedBy").key),
932
+ style: this.get("chartStyle"),
933
+ xAxis: this._chartAxisDefinitionTime
934
+ } );
935
+
936
+ this._drawChartLegend();
937
+ this._chartInitialized = true;
938
+ this._dataTable.unsubscribe("initEvent", this._initChart, this);
939
+ this._dataTable.subscribe("initEvent", this._refreshChart, this, true);
940
+
941
+ YAHOO.log("Chart initialization complete.", "info", "ProfilerViewer");
942
+ };
943
+
944
+ /**
945
+ * Set up the Chart's legend
946
+ * @method _drawChartLegend
947
+ * @private
948
+ **/
949
+ proto._drawChartLegend = function() {
950
+ YAHOO.log("Drawing chart legend...", "info", "ProfilerViewer");
951
+ var seriesDefs = this.get("chartSeriesDefinitions");
952
+ var currentDef = seriesDefs[this.get("sortedBy").key];
953
+ var l = this._chartLegendEl;
954
+ l.innerHTML = "";
955
+ for(var i = 0, j = currentDef.group.length; i<j; i++) {
956
+ var c = seriesDefs[currentDef.group[i]];
957
+ var dt = document.createElement("dt");
958
+ Dom.setStyle(dt, "backgroundColor", "#" + c.style.color);
959
+ var dd = document.createElement("dd");
960
+ dd.innerHTML = c.displayName;
961
+ l.appendChild(dt);
962
+ l.appendChild(dd);
963
+ }
964
+ };
965
+
966
+ /**
967
+ * Resize the chart's canvas if based on number of records
968
+ * returned from the chart's datasource.
969
+ * @method _sizeChartCanvas
970
+ * @private
971
+ **/
972
+ proto._sizeChartCanvas = function(o) {
973
+ YAHOO.log("Resizing chart canvas...", "info", "ProfilerViewer");
974
+ var bars = (o) ? o.response.length : this.get("maxChartFunctions");
975
+ var s = (bars * 36) + 34;
976
+ if (s != parseInt(this._chartElHeight, 10)) {
977
+ this._chartElHeight = s;
978
+ Dom.setStyle(this._chartEl, "height", s + "px");
979
+ }
980
+ };
981
+
982
+ /**
983
+ * setAttributeConfigs TabView specific properties.
984
+ * @method initAttributes
985
+ * @param {Object} attr Hash of initial attributes
986
+ * @method initAttributes
987
+ * @private
988
+ */
989
+ proto.initAttributes = function(attr) {
990
+ YAHOO.log("Initializing attributes...", "info", "ProfilerViewer");
991
+ YAHOO.widget.ProfilerViewer.superclass.initAttributes.call(this, attr);
992
+ /**
993
+ * The YUI Loader base path from which to pull YUI files needed
994
+ * in the rendering of the ProfilerViewer canvas. Passed directly
995
+ * to YUI Loader. Leave blank to draw files from
996
+ * yui.yahooapis.com.
997
+ * @attribute base
998
+ * @type string
999
+ * @default ""
1000
+ */
1001
+ this.setAttributeConfig('base', {
1002
+ value: attr.base
1003
+ });
1004
+
1005
+ /**
1006
+ * The height of the DataTable. The table will scroll
1007
+ * vertically if the content overflows the specified
1008
+ * height.
1009
+ * @attribute tableHeight
1010
+ * @type string
1011
+ * @default "15em"
1012
+ */
1013
+ this.setAttributeConfig('tableHeight', {
1014
+ value: attr.tableHeight || "15em",
1015
+ method: function(s) {
1016
+ if(this._dataTable) {
1017
+ this._dataTable.set("height", s);
1018
+ }
1019
+ }
1020
+ });
1021
+
1022
+ /**
1023
+ * The default column key to sort by. Valid keys are: fn, calls,
1024
+ * avg, min, max, total. Valid dir values are:
1025
+ * YAHOO.widget.DataTable.CLASS_ASC and
1026
+ * YAHOO.widget.DataTable.CLASS_DESC (or their
1027
+ * string equivalents).
1028
+ * @attribute sortedBy
1029
+ * @type string
1030
+ * @default {key:"total", dir:"yui-dt-desc"}
1031
+ */
1032
+ this.setAttributeConfig('sortedBy', {
1033
+ value: attr.sortedBy || {key:"total", dir:"yui-dt-desc"}
1034
+ });
1035
+
1036
+ /**
1037
+ * A filter function to use in selecting functions that will
1038
+ * appear in the ProfilerViewer report. The function is passed
1039
+ * a function report object and should return a boolean indicating
1040
+ * whether that function should be included in the ProfilerViewer
1041
+ * display. The argument is structured as follows:
1042
+ *
1043
+ * {
1044
+ * fn: <str function name>,
1045
+ * calls : <n number of calls>,
1046
+ * avg : <n average call duration>,
1047
+ * max: <n duration of longest call>,
1048
+ * min: <n duration of shortest call>,
1049
+ * total: <n total time of all calls>
1050
+ * points : <array time in ms of each call>
1051
+ * }
1052
+ *
1053
+ * For example, you would use the follwing filter function to
1054
+ * return only functions that have been called at least once:
1055
+ *
1056
+ * function(o) {
1057
+ * return (o.calls > 0);
1058
+ * }
1059
+ *
1060
+ * @attribute filter
1061
+ * @type function
1062
+ * @default null
1063
+ */
1064
+ this.setAttributeConfig('filter', {
1065
+ value: attr.filter || null,
1066
+ validator: YAHOO.lang.isFunction
1067
+ });
1068
+
1069
+ /**
1070
+ * The path to the YUI Charts swf file; must be a full URI
1071
+ * or a path relative to the page being profiled. Changes at runtime
1072
+ * not supported; pass this value in at instantiation.
1073
+ * @attribute swfUrl
1074
+ * @type string
1075
+ * @default "http://yui.yahooapis.com/2.5.0/build/charts/assets/charts.swf"
1076
+ */
1077
+ this.setAttributeConfig('swfUrl', {
1078
+ value: attr.swfUrl || "http://yui.yahooapis.com/2.5.0/build/charts/assets/charts.swf"
1079
+ });
1080
+
1081
+ /**
1082
+ * The maximum number of functions to profile in the chart. The
1083
+ * greater the number of functions, the greater the height of the
1084
+ * chart canvas.
1085
+ * height.
1086
+ * @attribute maxChartFunctions
1087
+ * @type int
1088
+ * @default 6
1089
+ */
1090
+ this.setAttributeConfig('maxChartFunctions', {
1091
+ value: attr.maxChartFunctions || 6,
1092
+ method: function(s) {
1093
+ if(this._rendered) {
1094
+ this._sizeChartCanvas();
1095
+ }
1096
+ },
1097
+ validator: YAHOO.lang.isNumber
1098
+ });
1099
+
1100
+ /**
1101
+ * The style object that defines the chart's visual presentation.
1102
+ * Conforms to the style attribute passed to the Charts Control
1103
+ * constructor. See Charts Control User's Guide for more information
1104
+ * on how to format this object.
1105
+ * @attribute chartStyle
1106
+ * @type obj
1107
+ * @default See JS source for default definitions.
1108
+ */
1109
+ this.setAttributeConfig('chartStyle', {
1110
+ value: attr.chartStyle || {
1111
+ font:
1112
+ {
1113
+ name: "Arial",
1114
+ color: 0xeeee5c,
1115
+ size: 12
1116
+ },
1117
+ background:
1118
+ {
1119
+ color: "6e6e63"
1120
+ }
1121
+ },
1122
+ method: function() {
1123
+ if(this._rendered && this.get("showChart")) {
1124
+ this._refreshChart();
1125
+ }
1126
+ }
1127
+ });
1128
+
1129
+ /**
1130
+ * The series definition information to use when charting
1131
+ * specific fields on the chart. displayName, xField,
1132
+ * and style members are used to construct the series
1133
+ * definition; the "group" member is the array of fields
1134
+ * that should be charted when the table is sorted by a
1135
+ * given field.
1136
+ * @attribute chartSeriesDefinitions
1137
+ * @type obj
1138
+ * @default See JS source for full default definitions.
1139
+ */
1140
+ this.setAttributeConfig('chartSeriesDefinitions', {
1141
+ value: attr.chartSeriesDefinitions || {
1142
+ total: {
1143
+ displayName: PV.STRINGS.colHeads.total[0],
1144
+ xField: "total",
1145
+ style: {color:"4d95dd", size:20},
1146
+ group: ["total"]
1147
+ },
1148
+ calls: {
1149
+ displayName: PV.STRINGS.colHeads.calls[0],
1150
+ xField: "calls",
1151
+ style: {color:"edff9f", size:20},
1152
+ group: ["calls"]
1153
+ },
1154
+ avg: {
1155
+ displayName: PV.STRINGS.colHeads.avg[0],
1156
+ xField: "avg",
1157
+ style: {color:"209daf", size:9},
1158
+ group: ["avg", "min", "max"]
1159
+ },
1160
+ min: {
1161
+ displayName: PV.STRINGS.colHeads.min[0],
1162
+ xField: "min",
1163
+ style: {color:"b6ecf4", size:9},
1164
+ group: ["avg", "min", "max"]
1165
+ },
1166
+ max: {
1167
+ displayName: PV.STRINGS.colHeads.max[0],
1168
+ xField: "max",
1169
+ style: {color:"29c7de", size:9},
1170
+ group: ["avg", "min", "max"]
1171
+ },
1172
+ pct: {
1173
+ displayName: PV.STRINGS.colHeads.pct[0],
1174
+ xField: "pct",
1175
+ style: {color:"C96EDB", size:20},
1176
+ group: ["pct"]
1177
+ }
1178
+ },
1179
+ method: function() {
1180
+ if(this._rendered && this.get("showChart")) {
1181
+ this._refreshChart();
1182
+ }
1183
+ }
1184
+ });
1185
+
1186
+ /**
1187
+ * The default visibility setting for the viewer canvas. If true,
1188
+ * the viewer will load all necessary files and render itself
1189
+ * immediately upon instantiation; otherwise, the viewer will
1190
+ * load only minimal resources until the user toggles visibility
1191
+ * via the UI.
1192
+ * @attribute visible
1193
+ * @type boolean
1194
+ * @default false
1195
+ */
1196
+ this.setAttributeConfig('visible', {
1197
+ value: attr.visible || false,
1198
+ validator: YAHOO.lang.isBoolean,
1199
+ method: function(b) {
1200
+ if(b) {
1201
+ this._show();
1202
+ } else {
1203
+ if (this._rendered) {
1204
+ this._hide();
1205
+ }
1206
+ }
1207
+ }
1208
+ });
1209
+
1210
+ /**
1211
+ * The default visibility setting for the chart.
1212
+ * @attribute showChart
1213
+ * @type boolean
1214
+ * @default true
1215
+ */
1216
+ this.setAttributeConfig('showChart', {
1217
+ value: attr.showChart || true,
1218
+ validator: YAHOO.lang.isBoolean,
1219
+ writeOnce: true
1220
+
1221
+ });
1222
+
1223
+ YAHOO.widget.ProfilerViewer.superclass.initAttributes.call(this, attr);
1224
+
1225
+ YAHOO.log("Attributes initialized.", "info", "ProfilerViewer");
1226
+ };
1227
+
1228
+ })();
1229
+ YAHOO.register("profilerviewer", YAHOO.widget.ProfilerViewer, {version: "2.8.1", build: "19"});