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,77 @@
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
+ /* default space between tabs */
8
+ .yui-navset .yui-nav li {
9
+ margin-right:0.5em; /* horizontal tabs */
10
+ }
11
+ .yui-navset-left .yui-nav li, .yui-navset-right .yui-nav li {
12
+ margin:0 0 0.5em; /* vertical tabs */
13
+ }
14
+
15
+ /* default width for side tabs */
16
+ .yui-navset-left .yui-nav, .yui-navset-right .yui-nav { width:6em; }
17
+ .yui-navset-left { padding-left:6em; } /* map to nav width */
18
+ .yui-navset-right { padding-right:6em; } /* ditto */
19
+
20
+ /* core */
21
+
22
+ .yui-nav, .yui-nav li {
23
+ margin:0;
24
+ padding:0;
25
+ list-style:none;
26
+ }
27
+ .yui-navset li em { font-style:normal; }
28
+
29
+ .yui-navset {
30
+ position:relative; /* contain absolute positioned tabs (left/right) */
31
+ zoom:1;
32
+ }
33
+
34
+ .yui-navset .yui-content { zoom:1; }
35
+
36
+ .yui-navset .yui-hidden { display:none; }
37
+
38
+ .yui-navset .yui-nav li {
39
+ display:inline-block;
40
+ display:-moz-inline-stack;
41
+ *display:inline; /* IE */
42
+ vertical-align:bottom; /* safari: for overlap */
43
+ cursor:pointer; /* gecko: due to -moz-inline-stack on anchor */
44
+ zoom:1; /* IE: kill space between horizontal tabs */
45
+ }
46
+
47
+ .yui-navset-left .yui-nav li, .yui-navset-right .yui-nav li {
48
+ display:block;
49
+ }
50
+
51
+ .yui-navset .yui-nav a {
52
+ outline:0; /* gecko: keep from shifting */
53
+ }
54
+
55
+ .yui-navset .yui-nav a { position:relative; } /* IE: to allow overlap */
56
+
57
+ .yui-navset .yui-nav li a {
58
+ display:block;
59
+ display:inline-block;
60
+ vertical-align:bottom; /* safari: for overlap */
61
+ zoom:1;
62
+ }
63
+
64
+ .yui-navset-left .yui-nav li a, .yui-navset-right .yui-nav li a {
65
+ display:block;
66
+ }
67
+
68
+ .yui-navset-bottom .yui-nav li a {
69
+ vertical-align:text-top; /* for inline overlap (reverse for Op border bug) */
70
+ }
71
+
72
+ .yui-navset .yui-nav li a em { display:block; }
73
+
74
+ /* position left and right oriented tabs */
75
+ .yui-navset-left .yui-nav, .yui-navset-right .yui-nav { position:absolute; z-index:1; }
76
+ .yui-navset-left .yui-nav { left:0; }
77
+ .yui-navset-right .yui-nav { right:0; }
@@ -0,0 +1,995 @@
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
+ YAHOO.log('attributes initialized', 'info', 'TabView');
378
+ if ( this._tabParent ) {
379
+ this._initTabs();
380
+ }
381
+
382
+ // Due to delegation we add all DOM_EVENTS to the TabView container
383
+ // but IE will leak when unsupported events are added, so remove these
384
+ this.DOM_EVENTS.submit = false;
385
+ this.DOM_EVENTS.focus = false;
386
+ this.DOM_EVENTS.blur = false;
387
+
388
+ for (var type in this.DOM_EVENTS) {
389
+ if ( YAHOO.lang.hasOwnProperty(this.DOM_EVENTS, type) ) {
390
+ this.addListener.call(this, type, this.DOMEventHandler);
391
+ }
392
+ }
393
+ },
394
+
395
+ /**
396
+ * Removes selected state from the given tab if it is the activeTab
397
+ * @method deselectTab
398
+ * @param {Int} index The tab index to deselect
399
+ */
400
+ deselectTab: function(index) {
401
+ if (this.getTab(index) === this.get('activeTab')) {
402
+ this.set('activeTab', null);
403
+ }
404
+ },
405
+
406
+ /**
407
+ * Makes the tab at the given index the active tab
408
+ * @method selectTab
409
+ * @param {Int} index The tab index to be made active
410
+ */
411
+ selectTab: function(index) {
412
+ this.set('activeTab', this.getTab(index));
413
+ },
414
+
415
+ _onActiveTabChange: function(e) {
416
+ var activeIndex = this.get(ACTIVE_INDEX),
417
+ newIndex = this.getTabIndex(e.newValue);
418
+
419
+ if (activeIndex !== newIndex) {
420
+ if (!(this.set(ACTIVE_INDEX, newIndex)) ) { // NOTE: setting
421
+ // revert if activeIndex update fails (cancelled via beforeChange)
422
+ this.set(ACTIVE_TAB, e.prevValue);
423
+ }
424
+ }
425
+ },
426
+
427
+ _onActiveIndexChange: function(e) {
428
+ // no set if called from ActiveTabChange event
429
+ if (e.newValue !== this.getTabIndex(this.get(ACTIVE_TAB))) {
430
+ if (!(this.set(ACTIVE_TAB, this.getTab(e.newValue))) ) { // NOTE: setting
431
+ // revert if activeTab update fails (cancelled via beforeChange)
432
+ this.set(ACTIVE_INDEX, e.prevValue);
433
+ }
434
+ }
435
+ },
436
+
437
+ /**
438
+ * Creates Tab instances from a collection of HTMLElements.
439
+ * @method _initTabs
440
+ * @private
441
+ * @return void
442
+ */
443
+ _initTabs: function() {
444
+ var tabs = Dom.getChildren(this._tabParent),
445
+ contentElements = Dom.getChildren(this._contentParent),
446
+ activeIndex = this.get(ACTIVE_INDEX),
447
+ tab,
448
+ attr,
449
+ active;
450
+
451
+ for (var i = 0, len = tabs.length; i < len; ++i) {
452
+ attr = {};
453
+
454
+ if (contentElements[i]) {
455
+ attr.contentEl = contentElements[i];
456
+ }
457
+
458
+ tab = new YAHOO.widget.Tab(tabs[i], attr);
459
+ this.addTab(tab);
460
+
461
+ if (tab.hasClass(tab.ACTIVE_CLASSNAME) ) {
462
+ active = tab;
463
+ }
464
+ }
465
+ if (activeIndex) {
466
+ this.set(ACTIVE_TAB, this.getTab(activeIndex));
467
+ } else {
468
+ this._configs.activeTab.value = active; // dont invoke method
469
+ this._configs.activeIndex.value = this.getTabIndex(active);
470
+ }
471
+ },
472
+
473
+ _createTabViewElement: function(attr) {
474
+ var el = document.createElement('div');
475
+
476
+ if ( this.CLASSNAME ) {
477
+ el.className = this.CLASSNAME;
478
+ }
479
+
480
+ YAHOO.log('TabView Dom created', 'info', 'TabView');
481
+ return el;
482
+ },
483
+
484
+ _createTabParent: function(attr) {
485
+ var el = document.createElement('ul');
486
+
487
+ if ( this.TAB_PARENT_CLASSNAME ) {
488
+ el.className = this.TAB_PARENT_CLASSNAME;
489
+ }
490
+
491
+ this.get(ELEMENT).appendChild(el);
492
+
493
+ return el;
494
+ },
495
+
496
+ _createContentParent: function(attr) {
497
+ var el = document.createElement('div');
498
+
499
+ if ( this.CONTENT_PARENT_CLASSNAME ) {
500
+ el.className = this.CONTENT_PARENT_CLASSNAME;
501
+ }
502
+
503
+ this.get(ELEMENT).appendChild(el);
504
+
505
+ return el;
506
+ }
507
+ });
508
+
509
+
510
+ YAHOO.widget.TabView = TabView;
511
+ })();
512
+
513
+ (function() {
514
+ var Y = YAHOO.util,
515
+ Dom = Y.Dom,
516
+ Lang = YAHOO.lang,
517
+
518
+
519
+ // STRING CONSTANTS
520
+ ACTIVE_TAB = 'activeTab',
521
+ LABEL = 'label',
522
+ LABEL_EL = 'labelEl',
523
+ CONTENT = 'content',
524
+ CONTENT_EL = 'contentEl',
525
+ ELEMENT = 'element',
526
+ CACHE_DATA = 'cacheData',
527
+ DATA_SRC = 'dataSrc',
528
+ DATA_LOADED = 'dataLoaded',
529
+ DATA_TIMEOUT = 'dataTimeout',
530
+ LOAD_METHOD = 'loadMethod',
531
+ POST_DATA = 'postData',
532
+ DISABLED = 'disabled',
533
+
534
+ /**
535
+ * A representation of a Tab's label and content.
536
+ * @namespace YAHOO.widget
537
+ * @class Tab
538
+ * @extends YAHOO.util.Element
539
+ * @constructor
540
+ * @param element {HTMLElement | String} (optional) The html element that
541
+ * represents the Tab. An element will be created if none provided.
542
+ * @param {Object} properties A key map of initial properties
543
+ */
544
+ Tab = function(el, attr) {
545
+ attr = attr || {};
546
+ if (arguments.length == 1 && !Lang.isString(el) && !el.nodeName) {
547
+ attr = el;
548
+ el = attr.element;
549
+ }
550
+
551
+ if (!el && !attr.element) {
552
+ el = this._createTabElement(attr);
553
+ }
554
+
555
+ this.loadHandler = {
556
+ success: function(o) {
557
+ this.set(CONTENT, o.responseText);
558
+ },
559
+ failure: function(o) {
560
+ }
561
+ };
562
+
563
+ Tab.superclass.constructor.call(this, el, attr);
564
+
565
+ this.DOM_EVENTS = {}; // delegating to tabView
566
+ };
567
+
568
+ YAHOO.extend(Tab, YAHOO.util.Element, {
569
+ /**
570
+ * The default tag name for a Tab's inner element.
571
+ * @property LABEL_INNER_TAGNAME
572
+ * @type String
573
+ * @default "em"
574
+ */
575
+ LABEL_TAGNAME: 'em',
576
+
577
+ /**
578
+ * The class name applied to active tabs.
579
+ * @property ACTIVE_CLASSNAME
580
+ * @type String
581
+ * @default "selected"
582
+ */
583
+ ACTIVE_CLASSNAME: 'selected',
584
+
585
+ /**
586
+ * The class name applied to active tabs.
587
+ * @property HIDDEN_CLASSNAME
588
+ * @type String
589
+ * @default "yui-hidden"
590
+ */
591
+ HIDDEN_CLASSNAME: 'yui-hidden',
592
+
593
+ /**
594
+ * The title applied to active tabs.
595
+ * @property ACTIVE_TITLE
596
+ * @type String
597
+ * @default "active"
598
+ */
599
+ ACTIVE_TITLE: 'active',
600
+
601
+ /**
602
+ * The class name applied to disabled tabs.
603
+ * @property DISABLED_CLASSNAME
604
+ * @type String
605
+ * @default "disabled"
606
+ */
607
+ DISABLED_CLASSNAME: DISABLED,
608
+
609
+ /**
610
+ * The class name applied to dynamic tabs while loading.
611
+ * @property LOADING_CLASSNAME
612
+ * @type String
613
+ * @default "disabled"
614
+ */
615
+ LOADING_CLASSNAME: 'loading',
616
+
617
+ /**
618
+ * Provides a reference to the connection request object when data is
619
+ * loaded dynamically.
620
+ * @property dataConnection
621
+ * @type Object
622
+ */
623
+ dataConnection: null,
624
+
625
+ /**
626
+ * Object containing success and failure callbacks for loading data.
627
+ * @property loadHandler
628
+ * @type object
629
+ */
630
+ loadHandler: null,
631
+
632
+ _loading: false,
633
+
634
+ /**
635
+ * Provides a readable name for the tab.
636
+ * @method toString
637
+ * @return String
638
+ */
639
+ toString: function() {
640
+ var el = this.get(ELEMENT),
641
+ id = el.id || el.tagName;
642
+ return "Tab " + id;
643
+ },
644
+
645
+ /**
646
+ * setAttributeConfigs Tab specific properties.
647
+ * @method initAttributes
648
+ * @param {Object} attr Hash of initial attributes
649
+ */
650
+ initAttributes: function(attr) {
651
+ attr = attr || {};
652
+ Tab.superclass.initAttributes.call(this, attr);
653
+
654
+ /**
655
+ * The event that triggers the tab's activation.
656
+ * @attribute activationEvent
657
+ * @type String
658
+ */
659
+ this.setAttributeConfig('activationEvent', {
660
+ value: attr.activationEvent || 'click'
661
+ });
662
+
663
+ /**
664
+ * The element that contains the tab's label.
665
+ * @attribute labelEl
666
+ * @type HTMLElement
667
+ */
668
+ this.setAttributeConfig(LABEL_EL, {
669
+ value: attr[LABEL_EL] || this._getLabelEl(),
670
+ method: function(value) {
671
+ value = Dom.get(value);
672
+ var current = this.get(LABEL_EL);
673
+
674
+ if (current) {
675
+ if (current == value) {
676
+ return false; // already set
677
+ }
678
+
679
+ current.parentNode.replaceChild(value, current);
680
+ this.set(LABEL, value.innerHTML);
681
+ }
682
+ }
683
+ });
684
+
685
+ /**
686
+ * The tab's label text (or innerHTML).
687
+ * @attribute label
688
+ * @type String
689
+ */
690
+ this.setAttributeConfig(LABEL, {
691
+ value: attr.label || this._getLabel(),
692
+ method: function(value) {
693
+ var labelEl = this.get(LABEL_EL);
694
+ if (!labelEl) { // create if needed
695
+ this.set(LABEL_EL, this._createLabelEl());
696
+ }
697
+
698
+ labelEl.innerHTML = value;
699
+ }
700
+ });
701
+
702
+ /**
703
+ * The HTMLElement that contains the tab's content.
704
+ * @attribute contentEl
705
+ * @type HTMLElement
706
+ */
707
+ this.setAttributeConfig(CONTENT_EL, {
708
+ value: attr[CONTENT_EL] || document.createElement('div'),
709
+ method: function(value) {
710
+ value = Dom.get(value);
711
+ var current = this.get(CONTENT_EL);
712
+
713
+ if (current) {
714
+ if (current === value) {
715
+ return false; // already set
716
+ }
717
+ if (!this.get('selected')) {
718
+ Dom.addClass(value, this.HIDDEN_CLASSNAME);
719
+ }
720
+ current.parentNode.replaceChild(value, current);
721
+ this.set(CONTENT, value.innerHTML);
722
+ }
723
+ }
724
+ });
725
+
726
+ /**
727
+ * The tab's content.
728
+ * @attribute content
729
+ * @type String
730
+ */
731
+ this.setAttributeConfig(CONTENT, {
732
+ value: attr[CONTENT],
733
+ method: function(value) {
734
+ this.get(CONTENT_EL).innerHTML = value;
735
+ }
736
+ });
737
+
738
+ /**
739
+ * The tab's data source, used for loading content dynamically.
740
+ * @attribute dataSrc
741
+ * @type String
742
+ */
743
+ this.setAttributeConfig(DATA_SRC, {
744
+ value: attr.dataSrc
745
+ });
746
+
747
+ /**
748
+ * Whether or not content should be reloaded for every view.
749
+ * @attribute cacheData
750
+ * @type Boolean
751
+ * @default false
752
+ */
753
+ this.setAttributeConfig(CACHE_DATA, {
754
+ value: attr.cacheData || false,
755
+ validator: Lang.isBoolean
756
+ });
757
+
758
+ /**
759
+ * The method to use for the data request.
760
+ * @attribute loadMethod
761
+ * @type String
762
+ * @default "GET"
763
+ */
764
+ this.setAttributeConfig(LOAD_METHOD, {
765
+ value: attr.loadMethod || 'GET',
766
+ validator: Lang.isString
767
+ });
768
+
769
+ /**
770
+ * Whether or not any data has been loaded from the server.
771
+ * @attribute dataLoaded
772
+ * @type Boolean
773
+ */
774
+ this.setAttributeConfig(DATA_LOADED, {
775
+ value: false,
776
+ validator: Lang.isBoolean,
777
+ writeOnce: true
778
+ });
779
+
780
+ /**
781
+ * Number if milliseconds before aborting and calling failure handler.
782
+ * @attribute dataTimeout
783
+ * @type Number
784
+ * @default null
785
+ */
786
+ this.setAttributeConfig(DATA_TIMEOUT, {
787
+ value: attr.dataTimeout || null,
788
+ validator: Lang.isNumber
789
+ });
790
+
791
+ /**
792
+ * Arguments to pass when POST method is used
793
+ * @attribute postData
794
+ * @default null
795
+ */
796
+ this.setAttributeConfig(POST_DATA, {
797
+ value: attr.postData || null
798
+ });
799
+
800
+ /**
801
+ * Whether or not the tab is currently active.
802
+ * If a dataSrc is set for the tab, the content will be loaded from
803
+ * the given source.
804
+ * @attribute active
805
+ * @type Boolean
806
+ */
807
+ this.setAttributeConfig('active', {
808
+ value: attr.active || this.hasClass(this.ACTIVE_CLASSNAME),
809
+ method: function(value) {
810
+ if (value === true) {
811
+ this.addClass(this.ACTIVE_CLASSNAME);
812
+ this.set('title', this.ACTIVE_TITLE);
813
+ } else {
814
+ this.removeClass(this.ACTIVE_CLASSNAME);
815
+ this.set('title', '');
816
+ }
817
+ },
818
+ validator: function(value) {
819
+ return Lang.isBoolean(value) && !this.get(DISABLED) ;
820
+ }
821
+ });
822
+
823
+ /**
824
+ * Whether or not the tab is disabled.
825
+ * @attribute disabled
826
+ * @type Boolean
827
+ */
828
+ this.setAttributeConfig(DISABLED, {
829
+ value: attr.disabled || this.hasClass(this.DISABLED_CLASSNAME),
830
+ method: function(value) {
831
+ if (value === true) {
832
+ Dom.addClass(this.get(ELEMENT), this.DISABLED_CLASSNAME);
833
+ } else {
834
+ Dom.removeClass(this.get(ELEMENT), this.DISABLED_CLASSNAME);
835
+ }
836
+ },
837
+ validator: Lang.isBoolean
838
+ });
839
+
840
+ /**
841
+ * The href of the tab's anchor element.
842
+ * @attribute href
843
+ * @type String
844
+ * @default '#'
845
+ */
846
+ this.setAttributeConfig('href', {
847
+ value: attr.href ||
848
+ this.getElementsByTagName('a')[0].getAttribute('href', 2) || '#',
849
+ method: function(value) {
850
+ this.getElementsByTagName('a')[0].href = value;
851
+ },
852
+ validator: Lang.isString
853
+ });
854
+
855
+ /**
856
+ * The Whether or not the tab's content is visible.
857
+ * @attribute contentVisible
858
+ * @type Boolean
859
+ * @default false
860
+ */
861
+ this.setAttributeConfig('contentVisible', {
862
+ value: attr.contentVisible,
863
+ method: function(value) {
864
+ if (value) {
865
+ Dom.removeClass(this.get(CONTENT_EL), this.HIDDEN_CLASSNAME);
866
+
867
+ if ( this.get(DATA_SRC) ) {
868
+ // load dynamic content unless already loading or loaded and caching
869
+ if ( !this._loading && !(this.get(DATA_LOADED) && this.get(CACHE_DATA)) ) {
870
+ this._dataConnect();
871
+ }
872
+ }
873
+ } else {
874
+ Dom.addClass(this.get(CONTENT_EL), this.HIDDEN_CLASSNAME);
875
+ }
876
+ },
877
+ validator: Lang.isBoolean
878
+ });
879
+ YAHOO.log('attributes initialized', 'info', 'Tab');
880
+ },
881
+
882
+ _dataConnect: function() {
883
+ if (!Y.Connect) {
884
+ YAHOO.log('YAHOO.util.Connect dependency not met',
885
+ 'error', 'Tab');
886
+ return false;
887
+ }
888
+
889
+ Dom.addClass(this.get(CONTENT_EL).parentNode, this.LOADING_CLASSNAME);
890
+ this._loading = true;
891
+ this.dataConnection = Y.Connect.asyncRequest(
892
+ this.get(LOAD_METHOD),
893
+ this.get(DATA_SRC),
894
+ {
895
+ success: function(o) {
896
+ YAHOO.log('content loaded successfully', 'info', 'Tab');
897
+ this.loadHandler.success.call(this, o);
898
+ this.set(DATA_LOADED, true);
899
+ this.dataConnection = null;
900
+ Dom.removeClass(this.get(CONTENT_EL).parentNode,
901
+ this.LOADING_CLASSNAME);
902
+ this._loading = false;
903
+ },
904
+ failure: function(o) {
905
+ YAHOO.log('loading failed: ' + o.statusText, 'error', 'Tab');
906
+ this.loadHandler.failure.call(this, o);
907
+ this.dataConnection = null;
908
+ Dom.removeClass(this.get(CONTENT_EL).parentNode,
909
+ this.LOADING_CLASSNAME);
910
+ this._loading = false;
911
+ },
912
+ scope: this,
913
+ timeout: this.get(DATA_TIMEOUT)
914
+ },
915
+
916
+ this.get(POST_DATA)
917
+ );
918
+ },
919
+ _createTabElement: function(attr) {
920
+ var el = document.createElement('li'),
921
+ a = document.createElement('a'),
922
+ label = attr.label || null,
923
+ labelEl = attr.labelEl || null;
924
+
925
+ a.href = attr.href || '#'; // TODO: Use Dom.setAttribute?
926
+ el.appendChild(a);
927
+
928
+ if (labelEl) { // user supplied labelEl
929
+ if (!label) { // user supplied label
930
+ label = this._getLabel();
931
+ }
932
+ } else {
933
+ labelEl = this._createLabelEl();
934
+ }
935
+
936
+ a.appendChild(labelEl);
937
+
938
+ YAHOO.log('creating Tab Dom', 'info', 'Tab');
939
+ return el;
940
+ },
941
+
942
+ _getLabelEl: function() {
943
+ return this.getElementsByTagName(this.LABEL_TAGNAME)[0];
944
+ },
945
+
946
+ _createLabelEl: function() {
947
+ var el = document.createElement(this.LABEL_TAGNAME);
948
+ return el;
949
+ },
950
+
951
+
952
+ _getLabel: function() {
953
+ var el = this.get(LABEL_EL);
954
+
955
+ if (!el) {
956
+ return undefined;
957
+ }
958
+
959
+ return el.innerHTML;
960
+ },
961
+
962
+ _onActivate: function(e, tabview) {
963
+ var tab = this,
964
+ silent = false;
965
+
966
+ Y.Event.preventDefault(e);
967
+ if (tab === tabview.get(ACTIVE_TAB)) {
968
+ silent = true; // dont fire activeTabChange if already active
969
+ }
970
+ tabview.set(ACTIVE_TAB, tab, silent);
971
+ },
972
+
973
+ _onActivationEventChange: function(e) {
974
+ var tab = this;
975
+
976
+ if (e.prevValue != e.newValue) {
977
+ tab.removeListener(e.prevValue, tab._onActivate);
978
+ tab.addListener(e.newValue, tab._onActivate, this, tab);
979
+ }
980
+ }
981
+ });
982
+
983
+
984
+ /**
985
+ * Fires when a tab is removed from the tabview
986
+ * @event remove
987
+ * @type CustomEvent
988
+ * @param {Event} An event object with fields for "type" ("remove")
989
+ * and "tabview" (the tabview instance it was removed from)
990
+ */
991
+
992
+ YAHOO.widget.Tab = Tab;
993
+ })();
994
+
995
+ YAHOO.register("tabview", YAHOO.widget.TabView, {version: "2.8.1", build: "19"});