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,8 @@
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(){var B=YAHOO.util,C=B.Dom,H=B.Event,F=window.document,J="active",D="activeIndex",E="activeTab",A="contentEl",G="element",I=function(L,K){K=K||{};if(arguments.length==1&&!YAHOO.lang.isString(L)&&!L.nodeName){K=L;L=K.element||null;}if(!L&&!K.element){L=this._createTabViewElement(K);}I.superclass.constructor.call(this,L,K);};YAHOO.extend(I,B.Element,{CLASSNAME:"yui-navset",TAB_PARENT_CLASSNAME:"yui-nav",CONTENT_PARENT_CLASSNAME:"yui-content",_tabParent:null,_contentParent:null,addTab:function(P,L){var N=this.get("tabs"),Q=this.getTab(L),R=this._tabParent,K=this._contentParent,M=P.get(G),O=P.get(A);if(!N){this._queue[this._queue.length]=["addTab",arguments];return false;}L=(L===undefined)?N.length:L;N.splice(L,0,P);if(Q){R.insertBefore(M,Q.get(G));}else{R.appendChild(M);}if(O&&!C.isAncestor(K,O)){K.appendChild(O);}if(!P.get(J)){P.set("contentVisible",false,true);}else{this.set(E,P,true);this.set("activeIndex",L,true);}this._initTabEvents(P);},_initTabEvents:function(K){K.addListener(K.get("activationEvent"),K._onActivate,this,K);K.addListener(K.get("activationEventChange"),K._onActivationEventChange,this,K);},_removeTabEvents:function(K){K.removeListener(K.get("activationEvent"),K._onActivate,this,K);K.removeListener("activationEventChange",K._onActivationEventChange,this,K);},DOMEventHandler:function(P){var Q=H.getTarget(P),S=this._tabParent,R=this.get("tabs"),M,L,K;if(C.isAncestor(S,Q)){for(var N=0,O=R.length;N<O;N++){L=R[N].get(G);K=R[N].get(A);if(Q==L||C.isAncestor(L,Q)){M=R[N];break;}}if(M){M.fireEvent(P.type,P);}}},getTab:function(K){return this.get("tabs")[K];},getTabIndex:function(O){var L=null,N=this.get("tabs");for(var M=0,K=N.length;M<K;++M){if(O==N[M]){L=M;break;}}return L;},removeTab:function(M){var L=this.get("tabs").length,K=this.getTabIndex(M);if(M===this.get(E)){if(L>1){if(K+1===L){this.set(D,K-1);}else{this.set(D,K+1);}}else{this.set(E,null);}}this._removeTabEvents(M);this._tabParent.removeChild(M.get(G));this._contentParent.removeChild(M.get(A));this._configs.tabs.value.splice(K,1);M.fireEvent("remove",{type:"remove",tabview:this});},toString:function(){var K=this.get("id")||this.get("tagName");return"TabView "+K;},contentTransition:function(L,K){if(L){L.set("contentVisible",true);}if(K){K.set("contentVisible",false);}},initAttributes:function(K){I.superclass.initAttributes.call(this,K);if(!K.orientation){K.orientation="top";}var M=this.get(G);if(!C.hasClass(M,this.CLASSNAME)){C.addClass(M,this.CLASSNAME);}this.setAttributeConfig("tabs",{value:[],readOnly:true});this._tabParent=this.getElementsByClassName(this.TAB_PARENT_CLASSNAME,"ul")[0]||this._createTabParent();this._contentParent=this.getElementsByClassName(this.CONTENT_PARENT_CLASSNAME,"div")[0]||this._createContentParent();this.setAttributeConfig("orientation",{value:K.orientation,method:function(N){var O=this.get("orientation");this.addClass("yui-navset-"+N);if(O!=N){this.removeClass("yui-navset-"+O);}if(N==="bottom"){this.appendChild(this._tabParent);}}});this.setAttributeConfig(D,{value:K.activeIndex,validator:function(O){var N=true;if(O&&this.getTab(O).get("disabled")){N=false;}return N;}});this.setAttributeConfig(E,{value:K.activeTab,method:function(O){var N=this.get(E);if(O){O.set(J,true);}if(N&&N!==O){N.set(J,false);}if(N&&O!==N){this.contentTransition(O,N);}else{if(O){O.set("contentVisible",true);}}},validator:function(O){var N=true;if(O&&O.get("disabled")){N=false;}return N;}});this.on("activeTabChange",this._onActiveTabChange);this.on("activeIndexChange",this._onActiveIndexChange);if(this._tabParent){this._initTabs();}this.DOM_EVENTS.submit=false;this.DOM_EVENTS.focus=false;this.DOM_EVENTS.blur=false;for(var L in this.DOM_EVENTS){if(YAHOO.lang.hasOwnProperty(this.DOM_EVENTS,L)){this.addListener.call(this,L,this.DOMEventHandler);}}},deselectTab:function(K){if(this.getTab(K)===this.get("activeTab")){this.set("activeTab",null);}},selectTab:function(K){this.set("activeTab",this.getTab(K));},_onActiveTabChange:function(M){var K=this.get(D),L=this.getTabIndex(M.newValue);if(K!==L){if(!(this.set(D,L))){this.set(E,M.prevValue);}}},_onActiveIndexChange:function(K){if(K.newValue!==this.getTabIndex(this.get(E))){if(!(this.set(E,this.getTab(K.newValue)))){this.set(D,K.prevValue);}}},_initTabs:function(){var P=C.getChildren(this._tabParent),N=C.getChildren(this._contentParent),M=this.get(D),Q,L,R;for(var O=0,K=P.length;O<K;++O){L={};if(N[O]){L.contentEl=N[O];}Q=new YAHOO.widget.Tab(P[O],L);this.addTab(Q);if(Q.hasClass(Q.ACTIVE_CLASSNAME)){R=Q;}}if(M){this.set(E,this.getTab(M));}else{this._configs.activeTab.value=R;this._configs.activeIndex.value=this.getTabIndex(R);}},_createTabViewElement:function(K){var L=F.createElement("div");if(this.CLASSNAME){L.className=this.CLASSNAME;}return L;},_createTabParent:function(K){var L=F.createElement("ul");if(this.TAB_PARENT_CLASSNAME){L.className=this.TAB_PARENT_CLASSNAME;}this.get(G).appendChild(L);return L;},_createContentParent:function(K){var L=F.createElement("div");if(this.CONTENT_PARENT_CLASSNAME){L.className=this.CONTENT_PARENT_CLASSNAME;}this.get(G).appendChild(L);return L;}});YAHOO.widget.TabView=I;})();(function(){var D=YAHOO.util,I=D.Dom,L=YAHOO.lang,M="activeTab",J="label",G="labelEl",Q="content",C="contentEl",O="element",P="cacheData",B="dataSrc",H="dataLoaded",A="dataTimeout",N="loadMethod",F="postData",K="disabled",E=function(S,R){R=R||{};if(arguments.length==1&&!L.isString(S)&&!S.nodeName){R=S;S=R.element;}if(!S&&!R.element){S=this._createTabElement(R);}this.loadHandler={success:function(T){this.set(Q,T.responseText);},failure:function(T){}};E.superclass.constructor.call(this,S,R);this.DOM_EVENTS={};};YAHOO.extend(E,YAHOO.util.Element,{LABEL_TAGNAME:"em",ACTIVE_CLASSNAME:"selected",HIDDEN_CLASSNAME:"yui-hidden",ACTIVE_TITLE:"active",DISABLED_CLASSNAME:K,LOADING_CLASSNAME:"loading",dataConnection:null,loadHandler:null,_loading:false,toString:function(){var R=this.get(O),S=R.id||R.tagName;return"Tab "+S;},initAttributes:function(R){R=R||{};E.superclass.initAttributes.call(this,R);
8
+ this.setAttributeConfig("activationEvent",{value:R.activationEvent||"click"});this.setAttributeConfig(G,{value:R[G]||this._getLabelEl(),method:function(S){S=I.get(S);var T=this.get(G);if(T){if(T==S){return false;}T.parentNode.replaceChild(S,T);this.set(J,S.innerHTML);}}});this.setAttributeConfig(J,{value:R.label||this._getLabel(),method:function(T){var S=this.get(G);if(!S){this.set(G,this._createLabelEl());}S.innerHTML=T;}});this.setAttributeConfig(C,{value:R[C]||document.createElement("div"),method:function(S){S=I.get(S);var T=this.get(C);if(T){if(T===S){return false;}if(!this.get("selected")){I.addClass(S,this.HIDDEN_CLASSNAME);}T.parentNode.replaceChild(S,T);this.set(Q,S.innerHTML);}}});this.setAttributeConfig(Q,{value:R[Q],method:function(S){this.get(C).innerHTML=S;}});this.setAttributeConfig(B,{value:R.dataSrc});this.setAttributeConfig(P,{value:R.cacheData||false,validator:L.isBoolean});this.setAttributeConfig(N,{value:R.loadMethod||"GET",validator:L.isString});this.setAttributeConfig(H,{value:false,validator:L.isBoolean,writeOnce:true});this.setAttributeConfig(A,{value:R.dataTimeout||null,validator:L.isNumber});this.setAttributeConfig(F,{value:R.postData||null});this.setAttributeConfig("active",{value:R.active||this.hasClass(this.ACTIVE_CLASSNAME),method:function(S){if(S===true){this.addClass(this.ACTIVE_CLASSNAME);this.set("title",this.ACTIVE_TITLE);}else{this.removeClass(this.ACTIVE_CLASSNAME);this.set("title","");}},validator:function(S){return L.isBoolean(S)&&!this.get(K);}});this.setAttributeConfig(K,{value:R.disabled||this.hasClass(this.DISABLED_CLASSNAME),method:function(S){if(S===true){I.addClass(this.get(O),this.DISABLED_CLASSNAME);}else{I.removeClass(this.get(O),this.DISABLED_CLASSNAME);}},validator:L.isBoolean});this.setAttributeConfig("href",{value:R.href||this.getElementsByTagName("a")[0].getAttribute("href",2)||"#",method:function(S){this.getElementsByTagName("a")[0].href=S;},validator:L.isString});this.setAttributeConfig("contentVisible",{value:R.contentVisible,method:function(S){if(S){I.removeClass(this.get(C),this.HIDDEN_CLASSNAME);if(this.get(B)){if(!this._loading&&!(this.get(H)&&this.get(P))){this._dataConnect();}}}else{I.addClass(this.get(C),this.HIDDEN_CLASSNAME);}},validator:L.isBoolean});},_dataConnect:function(){if(!D.Connect){return false;}I.addClass(this.get(C).parentNode,this.LOADING_CLASSNAME);this._loading=true;this.dataConnection=D.Connect.asyncRequest(this.get(N),this.get(B),{success:function(R){this.loadHandler.success.call(this,R);this.set(H,true);this.dataConnection=null;I.removeClass(this.get(C).parentNode,this.LOADING_CLASSNAME);this._loading=false;},failure:function(R){this.loadHandler.failure.call(this,R);this.dataConnection=null;I.removeClass(this.get(C).parentNode,this.LOADING_CLASSNAME);this._loading=false;},scope:this,timeout:this.get(A)},this.get(F));},_createTabElement:function(R){var V=document.createElement("li"),S=document.createElement("a"),U=R.label||null,T=R.labelEl||null;S.href=R.href||"#";V.appendChild(S);if(T){if(!U){U=this._getLabel();}}else{T=this._createLabelEl();}S.appendChild(T);return V;},_getLabelEl:function(){return this.getElementsByTagName(this.LABEL_TAGNAME)[0];},_createLabelEl:function(){var R=document.createElement(this.LABEL_TAGNAME);return R;},_getLabel:function(){var R=this.get(G);if(!R){return undefined;}return R.innerHTML;},_onActivate:function(U,T){var S=this,R=false;D.Event.preventDefault(U);if(S===T.get(M)){R=true;}T.set(M,S,R);},_onActivationEventChange:function(S){var R=this;if(S.prevValue!=S.newValue){R.removeListener(S.prevValue,R._onActivate);R.addListener(S.newValue,R._onActivate,this,R);}}});YAHOO.widget.Tab=E;})();YAHOO.register("tabview",YAHOO.widget.TabView,{version:"2.8.1",build:"19"});
@@ -0,0 +1,987 @@
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 tabview module provides a widget for managing content bound to tabs.
11
+ * @module tabview
12
+ * @requires yahoo, dom, event, element
13
+ *
14
+ */
15
+
16
+ var Y = YAHOO.util,
17
+ Dom = Y.Dom,
18
+ Event = Y.Event,
19
+ document = window.document,
20
+
21
+ // STRING CONSTANTS
22
+ ACTIVE = 'active',
23
+ ACTIVE_INDEX = 'activeIndex',
24
+ ACTIVE_TAB = 'activeTab',
25
+ CONTENT_EL = 'contentEl',
26
+ ELEMENT = 'element',
27
+
28
+ /**
29
+ * A widget to control tabbed views.
30
+ * @namespace YAHOO.widget
31
+ * @class TabView
32
+ * @extends YAHOO.util.Element
33
+ * @constructor
34
+ * @param {HTMLElement | String | Object} el(optional) The html
35
+ * element that represents the TabView, or the attribute object to use.
36
+ * An element will be created if none provided.
37
+ * @param {Object} attr (optional) A key map of the tabView's
38
+ * initial attributes. Ignored if first arg is attributes object.
39
+ */
40
+ TabView = function(el, attr) {
41
+ attr = attr || {};
42
+ if (arguments.length == 1 && !YAHOO.lang.isString(el) && !el.nodeName) {
43
+ attr = el; // treat first arg as attr object
44
+ el = attr.element || null;
45
+ }
46
+
47
+ if (!el && !attr.element) { // create if we dont have one
48
+ el = this._createTabViewElement(attr);
49
+ }
50
+ TabView.superclass.constructor.call(this, el, attr);
51
+ };
52
+
53
+ YAHOO.extend(TabView, Y.Element, {
54
+ /**
55
+ * The className to add when building from scratch.
56
+ * @property CLASSNAME
57
+ * @default "navset"
58
+ */
59
+ CLASSNAME: 'yui-navset',
60
+
61
+ /**
62
+ * The className of the HTMLElement containing the TabView's tab elements
63
+ * to look for when building from existing markup, or to add when building
64
+ * from scratch.
65
+ * All childNodes of the tab container are treated as Tabs when building
66
+ * from existing markup.
67
+ * @property TAB_PARENT_CLASSNAME
68
+ * @default "nav"
69
+ */
70
+ TAB_PARENT_CLASSNAME: 'yui-nav',
71
+
72
+ /**
73
+ * The className of the HTMLElement containing the TabView's label elements
74
+ * to look for when building from existing markup, or to add when building
75
+ * from scratch.
76
+ * All childNodes of the content container are treated as content elements when
77
+ * building from existing markup.
78
+ * @property CONTENT_PARENT_CLASSNAME
79
+ * @default "nav-content"
80
+ */
81
+ CONTENT_PARENT_CLASSNAME: 'yui-content',
82
+
83
+ _tabParent: null,
84
+ _contentParent: null,
85
+
86
+ /**
87
+ * Adds a Tab to the TabView instance.
88
+ * If no index is specified, the tab is added to the end of the tab list.
89
+ * @method addTab
90
+ * @param {YAHOO.widget.Tab} tab A Tab instance to add.
91
+ * @param {Integer} index The position to add the tab.
92
+ * @return void
93
+ */
94
+ addTab: function(tab, index) {
95
+ var tabs = this.get('tabs'),
96
+ before = this.getTab(index),
97
+ tabParent = this._tabParent,
98
+ contentParent = this._contentParent,
99
+ tabElement = tab.get(ELEMENT),
100
+ contentEl = tab.get(CONTENT_EL);
101
+
102
+ if (!tabs) { // not ready yet
103
+ this._queue[this._queue.length] = ['addTab', arguments];
104
+ return false;
105
+ }
106
+
107
+ index = (index === undefined) ? tabs.length : index;
108
+
109
+ tabs.splice(index, 0, tab);
110
+
111
+ if ( before ) {
112
+ tabParent.insertBefore(tabElement, before.get(ELEMENT));
113
+ } else {
114
+ tabParent.appendChild(tabElement);
115
+ }
116
+
117
+ if ( contentEl && !Dom.isAncestor(contentParent, contentEl) ) {
118
+ contentParent.appendChild(contentEl);
119
+ }
120
+
121
+ if ( !tab.get(ACTIVE) ) {
122
+ tab.set('contentVisible', false, true); /* hide if not active */
123
+ } else {
124
+ this.set(ACTIVE_TAB, tab, true);
125
+ this.set('activeIndex', index, true);
126
+ }
127
+
128
+ this._initTabEvents(tab);
129
+ },
130
+
131
+ _initTabEvents: function(tab) {
132
+ tab.addListener( tab.get('activationEvent'), tab._onActivate, this, tab);
133
+ tab.addListener( tab.get('activationEventChange'), tab._onActivationEventChange, this, tab);
134
+ },
135
+
136
+ _removeTabEvents: function(tab) {
137
+ tab.removeListener(tab.get('activationEvent'), tab._onActivate, this, tab);
138
+ tab.removeListener('activationEventChange', tab._onActivationEventChange, this, tab);
139
+ },
140
+
141
+ /**
142
+ * Routes childNode events.
143
+ * @method DOMEventHandler
144
+ * @param {event} e The Dom event that is being handled.
145
+ * @return void
146
+ */
147
+ DOMEventHandler: function(e) {
148
+ var target = Event.getTarget(e),
149
+ tabParent = this._tabParent,
150
+ tabs = this.get('tabs'),
151
+ tab,
152
+ tabEl,
153
+ contentEl;
154
+
155
+
156
+ if (Dom.isAncestor(tabParent, target) ) {
157
+ for (var i = 0, len = tabs.length; i < len; i++) {
158
+ tabEl = tabs[i].get(ELEMENT);
159
+ contentEl = tabs[i].get(CONTENT_EL);
160
+
161
+ if ( target == tabEl || Dom.isAncestor(tabEl, target) ) {
162
+ tab = tabs[i];
163
+ break; // note break
164
+ }
165
+ }
166
+
167
+ if (tab) {
168
+ tab.fireEvent(e.type, e);
169
+ }
170
+ }
171
+ },
172
+
173
+ /**
174
+ * Returns the Tab instance at the specified index.
175
+ * @method getTab
176
+ * @param {Integer} index The position of the Tab.
177
+ * @return YAHOO.widget.Tab
178
+ */
179
+ getTab: function(index) {
180
+ return this.get('tabs')[index];
181
+ },
182
+
183
+ /**
184
+ * Returns the index of given tab.
185
+ * @method getTabIndex
186
+ * @param {YAHOO.widget.Tab} tab The tab whose index will be returned.
187
+ * @return int
188
+ */
189
+ getTabIndex: function(tab) {
190
+ var index = null,
191
+ tabs = this.get('tabs');
192
+ for (var i = 0, len = tabs.length; i < len; ++i) {
193
+ if (tab == tabs[i]) {
194
+ index = i;
195
+ break;
196
+ }
197
+ }
198
+
199
+ return index;
200
+ },
201
+
202
+ /**
203
+ * Removes the specified Tab from the TabView.
204
+ * @method removeTab
205
+ * @param {YAHOO.widget.Tab} item The Tab instance to be removed.
206
+ * @return void
207
+ */
208
+ removeTab: function(tab) {
209
+ var tabCount = this.get('tabs').length,
210
+ index = this.getTabIndex(tab);
211
+
212
+ if ( tab === this.get(ACTIVE_TAB) ) {
213
+ if (tabCount > 1) { // select another tab
214
+ if (index + 1 === tabCount) { // if last, activate previous
215
+ this.set(ACTIVE_INDEX, index - 1);
216
+ } else { // activate next tab
217
+ this.set(ACTIVE_INDEX, index + 1);
218
+ }
219
+ } else { // no more tabs
220
+ this.set(ACTIVE_TAB, null);
221
+ }
222
+ }
223
+
224
+ this._removeTabEvents(tab);
225
+ this._tabParent.removeChild( tab.get(ELEMENT) );
226
+ this._contentParent.removeChild( tab.get(CONTENT_EL) );
227
+ this._configs.tabs.value.splice(index, 1);
228
+
229
+ tab.fireEvent('remove', { type: 'remove', tabview: this });
230
+ },
231
+
232
+ /**
233
+ * Provides a readable name for the TabView instance.
234
+ * @method toString
235
+ * @return String
236
+ */
237
+ toString: function() {
238
+ var name = this.get('id') || this.get('tagName');
239
+ return "TabView " + name;
240
+ },
241
+
242
+ /**
243
+ * The transiton to use when switching between tabs.
244
+ * @method contentTransition
245
+ */
246
+ contentTransition: function(newTab, oldTab) {
247
+ if (newTab) {
248
+ newTab.set('contentVisible', true);
249
+ }
250
+ if (oldTab) {
251
+ oldTab.set('contentVisible', false);
252
+ }
253
+ },
254
+
255
+ /**
256
+ * setAttributeConfigs TabView specific properties.
257
+ * @method initAttributes
258
+ * @param {Object} attr Hash of initial attributes
259
+ */
260
+ initAttributes: function(attr) {
261
+ TabView.superclass.initAttributes.call(this, attr);
262
+
263
+ if (!attr.orientation) {
264
+ attr.orientation = 'top';
265
+ }
266
+
267
+ var el = this.get(ELEMENT);
268
+
269
+ if (!Dom.hasClass(el, this.CLASSNAME)) {
270
+ Dom.addClass(el, this.CLASSNAME);
271
+ }
272
+
273
+ /**
274
+ * The Tabs belonging to the TabView instance.
275
+ * @attribute tabs
276
+ * @type Array
277
+ */
278
+ this.setAttributeConfig('tabs', {
279
+ value: [],
280
+ readOnly: true
281
+ });
282
+
283
+ /**
284
+ * The container of the tabView's label elements.
285
+ * @property _tabParent
286
+ * @private
287
+ * @type HTMLElement
288
+ */
289
+ this._tabParent =
290
+ this.getElementsByClassName(this.TAB_PARENT_CLASSNAME,
291
+ 'ul' )[0] || this._createTabParent();
292
+
293
+ /**
294
+ * The container of the tabView's content elements.
295
+ * @property _contentParent
296
+ * @type HTMLElement
297
+ * @private
298
+ */
299
+ this._contentParent =
300
+ this.getElementsByClassName(this.CONTENT_PARENT_CLASSNAME,
301
+ 'div')[0] || this._createContentParent();
302
+
303
+ /**
304
+ * How the Tabs should be oriented relative to the TabView.
305
+ * @attribute orientation
306
+ * @type String
307
+ * @default "top"
308
+ */
309
+ this.setAttributeConfig('orientation', {
310
+ value: attr.orientation,
311
+ method: function(value) {
312
+ var current = this.get('orientation');
313
+ this.addClass('yui-navset-' + value);
314
+
315
+ if (current != value) {
316
+ this.removeClass('yui-navset-' + current);
317
+ }
318
+
319
+ if (value === 'bottom') {
320
+ this.appendChild(this._tabParent);
321
+ }
322
+ }
323
+ });
324
+
325
+ /**
326
+ * The index of the tab currently active.
327
+ * @attribute activeIndex
328
+ * @type Int
329
+ */
330
+ this.setAttributeConfig(ACTIVE_INDEX, {
331
+ value: attr.activeIndex,
332
+ validator: function(value) {
333
+ var ret = true;
334
+ if (value && this.getTab(value).get('disabled')) { // cannot activate if disabled
335
+ ret = false;
336
+ }
337
+ return ret;
338
+ }
339
+ });
340
+
341
+ /**
342
+ * The tab currently active.
343
+ * @attribute activeTab
344
+ * @type YAHOO.widget.Tab
345
+ */
346
+ this.setAttributeConfig(ACTIVE_TAB, {
347
+ value: attr.activeTab,
348
+ method: function(tab) {
349
+ var activeTab = this.get(ACTIVE_TAB);
350
+
351
+ if (tab) {
352
+ tab.set(ACTIVE, true);
353
+ }
354
+
355
+ if (activeTab && activeTab !== tab) {
356
+ activeTab.set(ACTIVE, false);
357
+ }
358
+
359
+ if (activeTab && tab !== activeTab) { // no transition if only 1
360
+ this.contentTransition(tab, activeTab);
361
+ } else if (tab) {
362
+ tab.set('contentVisible', true);
363
+ }
364
+ },
365
+ validator: function(value) {
366
+ var ret = true;
367
+ if (value && value.get('disabled')) { // cannot activate if disabled
368
+ ret = false;
369
+ }
370
+ return ret;
371
+ }
372
+ });
373
+
374
+ this.on('activeTabChange', this._onActiveTabChange);
375
+ this.on('activeIndexChange', this._onActiveIndexChange);
376
+
377
+ if ( this._tabParent ) {
378
+ this._initTabs();
379
+ }
380
+
381
+ // Due to delegation we add all DOM_EVENTS to the TabView container
382
+ // but IE will leak when unsupported events are added, so remove these
383
+ this.DOM_EVENTS.submit = false;
384
+ this.DOM_EVENTS.focus = false;
385
+ this.DOM_EVENTS.blur = false;
386
+
387
+ for (var type in this.DOM_EVENTS) {
388
+ if ( YAHOO.lang.hasOwnProperty(this.DOM_EVENTS, type) ) {
389
+ this.addListener.call(this, type, this.DOMEventHandler);
390
+ }
391
+ }
392
+ },
393
+
394
+ /**
395
+ * Removes selected state from the given tab if it is the activeTab
396
+ * @method deselectTab
397
+ * @param {Int} index The tab index to deselect
398
+ */
399
+ deselectTab: function(index) {
400
+ if (this.getTab(index) === this.get('activeTab')) {
401
+ this.set('activeTab', null);
402
+ }
403
+ },
404
+
405
+ /**
406
+ * Makes the tab at the given index the active tab
407
+ * @method selectTab
408
+ * @param {Int} index The tab index to be made active
409
+ */
410
+ selectTab: function(index) {
411
+ this.set('activeTab', this.getTab(index));
412
+ },
413
+
414
+ _onActiveTabChange: function(e) {
415
+ var activeIndex = this.get(ACTIVE_INDEX),
416
+ newIndex = this.getTabIndex(e.newValue);
417
+
418
+ if (activeIndex !== newIndex) {
419
+ if (!(this.set(ACTIVE_INDEX, newIndex)) ) { // NOTE: setting
420
+ // revert if activeIndex update fails (cancelled via beforeChange)
421
+ this.set(ACTIVE_TAB, e.prevValue);
422
+ }
423
+ }
424
+ },
425
+
426
+ _onActiveIndexChange: function(e) {
427
+ // no set if called from ActiveTabChange event
428
+ if (e.newValue !== this.getTabIndex(this.get(ACTIVE_TAB))) {
429
+ if (!(this.set(ACTIVE_TAB, this.getTab(e.newValue))) ) { // NOTE: setting
430
+ // revert if activeTab update fails (cancelled via beforeChange)
431
+ this.set(ACTIVE_INDEX, e.prevValue);
432
+ }
433
+ }
434
+ },
435
+
436
+ /**
437
+ * Creates Tab instances from a collection of HTMLElements.
438
+ * @method _initTabs
439
+ * @private
440
+ * @return void
441
+ */
442
+ _initTabs: function() {
443
+ var tabs = Dom.getChildren(this._tabParent),
444
+ contentElements = Dom.getChildren(this._contentParent),
445
+ activeIndex = this.get(ACTIVE_INDEX),
446
+ tab,
447
+ attr,
448
+ active;
449
+
450
+ for (var i = 0, len = tabs.length; i < len; ++i) {
451
+ attr = {};
452
+
453
+ if (contentElements[i]) {
454
+ attr.contentEl = contentElements[i];
455
+ }
456
+
457
+ tab = new YAHOO.widget.Tab(tabs[i], attr);
458
+ this.addTab(tab);
459
+
460
+ if (tab.hasClass(tab.ACTIVE_CLASSNAME) ) {
461
+ active = tab;
462
+ }
463
+ }
464
+ if (activeIndex) {
465
+ this.set(ACTIVE_TAB, this.getTab(activeIndex));
466
+ } else {
467
+ this._configs.activeTab.value = active; // dont invoke method
468
+ this._configs.activeIndex.value = this.getTabIndex(active);
469
+ }
470
+ },
471
+
472
+ _createTabViewElement: function(attr) {
473
+ var el = document.createElement('div');
474
+
475
+ if ( this.CLASSNAME ) {
476
+ el.className = this.CLASSNAME;
477
+ }
478
+
479
+ return el;
480
+ },
481
+
482
+ _createTabParent: function(attr) {
483
+ var el = document.createElement('ul');
484
+
485
+ if ( this.TAB_PARENT_CLASSNAME ) {
486
+ el.className = this.TAB_PARENT_CLASSNAME;
487
+ }
488
+
489
+ this.get(ELEMENT).appendChild(el);
490
+
491
+ return el;
492
+ },
493
+
494
+ _createContentParent: function(attr) {
495
+ var el = document.createElement('div');
496
+
497
+ if ( this.CONTENT_PARENT_CLASSNAME ) {
498
+ el.className = this.CONTENT_PARENT_CLASSNAME;
499
+ }
500
+
501
+ this.get(ELEMENT).appendChild(el);
502
+
503
+ return el;
504
+ }
505
+ });
506
+
507
+
508
+ YAHOO.widget.TabView = TabView;
509
+ })();
510
+
511
+ (function() {
512
+ var Y = YAHOO.util,
513
+ Dom = Y.Dom,
514
+ Lang = YAHOO.lang,
515
+
516
+
517
+ // STRING CONSTANTS
518
+ ACTIVE_TAB = 'activeTab',
519
+ LABEL = 'label',
520
+ LABEL_EL = 'labelEl',
521
+ CONTENT = 'content',
522
+ CONTENT_EL = 'contentEl',
523
+ ELEMENT = 'element',
524
+ CACHE_DATA = 'cacheData',
525
+ DATA_SRC = 'dataSrc',
526
+ DATA_LOADED = 'dataLoaded',
527
+ DATA_TIMEOUT = 'dataTimeout',
528
+ LOAD_METHOD = 'loadMethod',
529
+ POST_DATA = 'postData',
530
+ DISABLED = 'disabled',
531
+
532
+ /**
533
+ * A representation of a Tab's label and content.
534
+ * @namespace YAHOO.widget
535
+ * @class Tab
536
+ * @extends YAHOO.util.Element
537
+ * @constructor
538
+ * @param element {HTMLElement | String} (optional) The html element that
539
+ * represents the Tab. An element will be created if none provided.
540
+ * @param {Object} properties A key map of initial properties
541
+ */
542
+ Tab = function(el, attr) {
543
+ attr = attr || {};
544
+ if (arguments.length == 1 && !Lang.isString(el) && !el.nodeName) {
545
+ attr = el;
546
+ el = attr.element;
547
+ }
548
+
549
+ if (!el && !attr.element) {
550
+ el = this._createTabElement(attr);
551
+ }
552
+
553
+ this.loadHandler = {
554
+ success: function(o) {
555
+ this.set(CONTENT, o.responseText);
556
+ },
557
+ failure: function(o) {
558
+ }
559
+ };
560
+
561
+ Tab.superclass.constructor.call(this, el, attr);
562
+
563
+ this.DOM_EVENTS = {}; // delegating to tabView
564
+ };
565
+
566
+ YAHOO.extend(Tab, YAHOO.util.Element, {
567
+ /**
568
+ * The default tag name for a Tab's inner element.
569
+ * @property LABEL_INNER_TAGNAME
570
+ * @type String
571
+ * @default "em"
572
+ */
573
+ LABEL_TAGNAME: 'em',
574
+
575
+ /**
576
+ * The class name applied to active tabs.
577
+ * @property ACTIVE_CLASSNAME
578
+ * @type String
579
+ * @default "selected"
580
+ */
581
+ ACTIVE_CLASSNAME: 'selected',
582
+
583
+ /**
584
+ * The class name applied to active tabs.
585
+ * @property HIDDEN_CLASSNAME
586
+ * @type String
587
+ * @default "yui-hidden"
588
+ */
589
+ HIDDEN_CLASSNAME: 'yui-hidden',
590
+
591
+ /**
592
+ * The title applied to active tabs.
593
+ * @property ACTIVE_TITLE
594
+ * @type String
595
+ * @default "active"
596
+ */
597
+ ACTIVE_TITLE: 'active',
598
+
599
+ /**
600
+ * The class name applied to disabled tabs.
601
+ * @property DISABLED_CLASSNAME
602
+ * @type String
603
+ * @default "disabled"
604
+ */
605
+ DISABLED_CLASSNAME: DISABLED,
606
+
607
+ /**
608
+ * The class name applied to dynamic tabs while loading.
609
+ * @property LOADING_CLASSNAME
610
+ * @type String
611
+ * @default "disabled"
612
+ */
613
+ LOADING_CLASSNAME: 'loading',
614
+
615
+ /**
616
+ * Provides a reference to the connection request object when data is
617
+ * loaded dynamically.
618
+ * @property dataConnection
619
+ * @type Object
620
+ */
621
+ dataConnection: null,
622
+
623
+ /**
624
+ * Object containing success and failure callbacks for loading data.
625
+ * @property loadHandler
626
+ * @type object
627
+ */
628
+ loadHandler: null,
629
+
630
+ _loading: false,
631
+
632
+ /**
633
+ * Provides a readable name for the tab.
634
+ * @method toString
635
+ * @return String
636
+ */
637
+ toString: function() {
638
+ var el = this.get(ELEMENT),
639
+ id = el.id || el.tagName;
640
+ return "Tab " + id;
641
+ },
642
+
643
+ /**
644
+ * setAttributeConfigs Tab specific properties.
645
+ * @method initAttributes
646
+ * @param {Object} attr Hash of initial attributes
647
+ */
648
+ initAttributes: function(attr) {
649
+ attr = attr || {};
650
+ Tab.superclass.initAttributes.call(this, attr);
651
+
652
+ /**
653
+ * The event that triggers the tab's activation.
654
+ * @attribute activationEvent
655
+ * @type String
656
+ */
657
+ this.setAttributeConfig('activationEvent', {
658
+ value: attr.activationEvent || 'click'
659
+ });
660
+
661
+ /**
662
+ * The element that contains the tab's label.
663
+ * @attribute labelEl
664
+ * @type HTMLElement
665
+ */
666
+ this.setAttributeConfig(LABEL_EL, {
667
+ value: attr[LABEL_EL] || this._getLabelEl(),
668
+ method: function(value) {
669
+ value = Dom.get(value);
670
+ var current = this.get(LABEL_EL);
671
+
672
+ if (current) {
673
+ if (current == value) {
674
+ return false; // already set
675
+ }
676
+
677
+ current.parentNode.replaceChild(value, current);
678
+ this.set(LABEL, value.innerHTML);
679
+ }
680
+ }
681
+ });
682
+
683
+ /**
684
+ * The tab's label text (or innerHTML).
685
+ * @attribute label
686
+ * @type String
687
+ */
688
+ this.setAttributeConfig(LABEL, {
689
+ value: attr.label || this._getLabel(),
690
+ method: function(value) {
691
+ var labelEl = this.get(LABEL_EL);
692
+ if (!labelEl) { // create if needed
693
+ this.set(LABEL_EL, this._createLabelEl());
694
+ }
695
+
696
+ labelEl.innerHTML = value;
697
+ }
698
+ });
699
+
700
+ /**
701
+ * The HTMLElement that contains the tab's content.
702
+ * @attribute contentEl
703
+ * @type HTMLElement
704
+ */
705
+ this.setAttributeConfig(CONTENT_EL, {
706
+ value: attr[CONTENT_EL] || document.createElement('div'),
707
+ method: function(value) {
708
+ value = Dom.get(value);
709
+ var current = this.get(CONTENT_EL);
710
+
711
+ if (current) {
712
+ if (current === value) {
713
+ return false; // already set
714
+ }
715
+ if (!this.get('selected')) {
716
+ Dom.addClass(value, this.HIDDEN_CLASSNAME);
717
+ }
718
+ current.parentNode.replaceChild(value, current);
719
+ this.set(CONTENT, value.innerHTML);
720
+ }
721
+ }
722
+ });
723
+
724
+ /**
725
+ * The tab's content.
726
+ * @attribute content
727
+ * @type String
728
+ */
729
+ this.setAttributeConfig(CONTENT, {
730
+ value: attr[CONTENT],
731
+ method: function(value) {
732
+ this.get(CONTENT_EL).innerHTML = value;
733
+ }
734
+ });
735
+
736
+ /**
737
+ * The tab's data source, used for loading content dynamically.
738
+ * @attribute dataSrc
739
+ * @type String
740
+ */
741
+ this.setAttributeConfig(DATA_SRC, {
742
+ value: attr.dataSrc
743
+ });
744
+
745
+ /**
746
+ * Whether or not content should be reloaded for every view.
747
+ * @attribute cacheData
748
+ * @type Boolean
749
+ * @default false
750
+ */
751
+ this.setAttributeConfig(CACHE_DATA, {
752
+ value: attr.cacheData || false,
753
+ validator: Lang.isBoolean
754
+ });
755
+
756
+ /**
757
+ * The method to use for the data request.
758
+ * @attribute loadMethod
759
+ * @type String
760
+ * @default "GET"
761
+ */
762
+ this.setAttributeConfig(LOAD_METHOD, {
763
+ value: attr.loadMethod || 'GET',
764
+ validator: Lang.isString
765
+ });
766
+
767
+ /**
768
+ * Whether or not any data has been loaded from the server.
769
+ * @attribute dataLoaded
770
+ * @type Boolean
771
+ */
772
+ this.setAttributeConfig(DATA_LOADED, {
773
+ value: false,
774
+ validator: Lang.isBoolean,
775
+ writeOnce: true
776
+ });
777
+
778
+ /**
779
+ * Number if milliseconds before aborting and calling failure handler.
780
+ * @attribute dataTimeout
781
+ * @type Number
782
+ * @default null
783
+ */
784
+ this.setAttributeConfig(DATA_TIMEOUT, {
785
+ value: attr.dataTimeout || null,
786
+ validator: Lang.isNumber
787
+ });
788
+
789
+ /**
790
+ * Arguments to pass when POST method is used
791
+ * @attribute postData
792
+ * @default null
793
+ */
794
+ this.setAttributeConfig(POST_DATA, {
795
+ value: attr.postData || null
796
+ });
797
+
798
+ /**
799
+ * Whether or not the tab is currently active.
800
+ * If a dataSrc is set for the tab, the content will be loaded from
801
+ * the given source.
802
+ * @attribute active
803
+ * @type Boolean
804
+ */
805
+ this.setAttributeConfig('active', {
806
+ value: attr.active || this.hasClass(this.ACTIVE_CLASSNAME),
807
+ method: function(value) {
808
+ if (value === true) {
809
+ this.addClass(this.ACTIVE_CLASSNAME);
810
+ this.set('title', this.ACTIVE_TITLE);
811
+ } else {
812
+ this.removeClass(this.ACTIVE_CLASSNAME);
813
+ this.set('title', '');
814
+ }
815
+ },
816
+ validator: function(value) {
817
+ return Lang.isBoolean(value) && !this.get(DISABLED) ;
818
+ }
819
+ });
820
+
821
+ /**
822
+ * Whether or not the tab is disabled.
823
+ * @attribute disabled
824
+ * @type Boolean
825
+ */
826
+ this.setAttributeConfig(DISABLED, {
827
+ value: attr.disabled || this.hasClass(this.DISABLED_CLASSNAME),
828
+ method: function(value) {
829
+ if (value === true) {
830
+ Dom.addClass(this.get(ELEMENT), this.DISABLED_CLASSNAME);
831
+ } else {
832
+ Dom.removeClass(this.get(ELEMENT), this.DISABLED_CLASSNAME);
833
+ }
834
+ },
835
+ validator: Lang.isBoolean
836
+ });
837
+
838
+ /**
839
+ * The href of the tab's anchor element.
840
+ * @attribute href
841
+ * @type String
842
+ * @default '#'
843
+ */
844
+ this.setAttributeConfig('href', {
845
+ value: attr.href ||
846
+ this.getElementsByTagName('a')[0].getAttribute('href', 2) || '#',
847
+ method: function(value) {
848
+ this.getElementsByTagName('a')[0].href = value;
849
+ },
850
+ validator: Lang.isString
851
+ });
852
+
853
+ /**
854
+ * The Whether or not the tab's content is visible.
855
+ * @attribute contentVisible
856
+ * @type Boolean
857
+ * @default false
858
+ */
859
+ this.setAttributeConfig('contentVisible', {
860
+ value: attr.contentVisible,
861
+ method: function(value) {
862
+ if (value) {
863
+ Dom.removeClass(this.get(CONTENT_EL), this.HIDDEN_CLASSNAME);
864
+
865
+ if ( this.get(DATA_SRC) ) {
866
+ // load dynamic content unless already loading or loaded and caching
867
+ if ( !this._loading && !(this.get(DATA_LOADED) && this.get(CACHE_DATA)) ) {
868
+ this._dataConnect();
869
+ }
870
+ }
871
+ } else {
872
+ Dom.addClass(this.get(CONTENT_EL), this.HIDDEN_CLASSNAME);
873
+ }
874
+ },
875
+ validator: Lang.isBoolean
876
+ });
877
+ },
878
+
879
+ _dataConnect: function() {
880
+ if (!Y.Connect) {
881
+ return false;
882
+ }
883
+
884
+ Dom.addClass(this.get(CONTENT_EL).parentNode, this.LOADING_CLASSNAME);
885
+ this._loading = true;
886
+ this.dataConnection = Y.Connect.asyncRequest(
887
+ this.get(LOAD_METHOD),
888
+ this.get(DATA_SRC),
889
+ {
890
+ success: function(o) {
891
+ this.loadHandler.success.call(this, o);
892
+ this.set(DATA_LOADED, true);
893
+ this.dataConnection = null;
894
+ Dom.removeClass(this.get(CONTENT_EL).parentNode,
895
+ this.LOADING_CLASSNAME);
896
+ this._loading = false;
897
+ },
898
+ failure: function(o) {
899
+ this.loadHandler.failure.call(this, o);
900
+ this.dataConnection = null;
901
+ Dom.removeClass(this.get(CONTENT_EL).parentNode,
902
+ this.LOADING_CLASSNAME);
903
+ this._loading = false;
904
+ },
905
+ scope: this,
906
+ timeout: this.get(DATA_TIMEOUT)
907
+ },
908
+
909
+ this.get(POST_DATA)
910
+ );
911
+ },
912
+ _createTabElement: function(attr) {
913
+ var el = document.createElement('li'),
914
+ a = document.createElement('a'),
915
+ label = attr.label || null,
916
+ labelEl = attr.labelEl || null;
917
+
918
+ a.href = attr.href || '#'; // TODO: Use Dom.setAttribute?
919
+ el.appendChild(a);
920
+
921
+ if (labelEl) { // user supplied labelEl
922
+ if (!label) { // user supplied label
923
+ label = this._getLabel();
924
+ }
925
+ } else {
926
+ labelEl = this._createLabelEl();
927
+ }
928
+
929
+ a.appendChild(labelEl);
930
+
931
+ return el;
932
+ },
933
+
934
+ _getLabelEl: function() {
935
+ return this.getElementsByTagName(this.LABEL_TAGNAME)[0];
936
+ },
937
+
938
+ _createLabelEl: function() {
939
+ var el = document.createElement(this.LABEL_TAGNAME);
940
+ return el;
941
+ },
942
+
943
+
944
+ _getLabel: function() {
945
+ var el = this.get(LABEL_EL);
946
+
947
+ if (!el) {
948
+ return undefined;
949
+ }
950
+
951
+ return el.innerHTML;
952
+ },
953
+
954
+ _onActivate: function(e, tabview) {
955
+ var tab = this,
956
+ silent = false;
957
+
958
+ Y.Event.preventDefault(e);
959
+ if (tab === tabview.get(ACTIVE_TAB)) {
960
+ silent = true; // dont fire activeTabChange if already active
961
+ }
962
+ tabview.set(ACTIVE_TAB, tab, silent);
963
+ },
964
+
965
+ _onActivationEventChange: function(e) {
966
+ var tab = this;
967
+
968
+ if (e.prevValue != e.newValue) {
969
+ tab.removeListener(e.prevValue, tab._onActivate);
970
+ tab.addListener(e.newValue, tab._onActivate, this, tab);
971
+ }
972
+ }
973
+ });
974
+
975
+
976
+ /**
977
+ * Fires when a tab is removed from the tabview
978
+ * @event remove
979
+ * @type CustomEvent
980
+ * @param {Event} An event object with fields for "type" ("remove")
981
+ * and "tabview" (the tabview instance it was removed from)
982
+ */
983
+
984
+ YAHOO.widget.Tab = Tab;
985
+ })();
986
+
987
+ YAHOO.register("tabview", YAHOO.widget.TabView, {version: "2.8.1", build: "19"});