yui-rails-asset 2.8.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
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"});