jsduck 2.0.pre4 → 3.0.pre

Sign up to get free protection for your applications and to get access to all the features.
Files changed (485) hide show
  1. data/.gitignore +1 -0
  2. data/README.md +126 -34
  3. data/Rakefile +343 -115
  4. data/bin/jsduck +4 -196
  5. data/example.js +144 -0
  6. data/jsduck.gemspec +4 -9
  7. data/lib/jsduck/aggregator.rb +1 -1
  8. data/lib/jsduck/app.rb +165 -182
  9. data/lib/jsduck/categories.rb +17 -2
  10. data/lib/jsduck/class.rb +10 -0
  11. data/lib/jsduck/class_formatter.rb +77 -0
  12. data/lib/jsduck/doc_formatter.rb +42 -4
  13. data/lib/jsduck/doc_parser.rb +64 -10
  14. data/lib/jsduck/examples.rb +33 -0
  15. data/lib/jsduck/exporter.rb +18 -42
  16. data/lib/jsduck/guides.rb +41 -74
  17. data/lib/jsduck/icons.rb +28 -0
  18. data/lib/jsduck/js_literal_builder.rb +21 -0
  19. data/lib/jsduck/js_literal_parser.rb +106 -0
  20. data/lib/jsduck/js_parser.rb +115 -97
  21. data/lib/jsduck/json_duck.rb +45 -0
  22. data/lib/jsduck/lexer.rb +55 -25
  23. data/lib/jsduck/lint.rb +84 -0
  24. data/lib/jsduck/merger.rb +91 -21
  25. data/lib/jsduck/options.rb +320 -0
  26. data/lib/jsduck/relations.rb +7 -1
  27. data/lib/jsduck/renderer.rb +315 -0
  28. data/lib/jsduck/source_writer.rb +2 -2
  29. data/lib/jsduck/type_parser.rb +85 -0
  30. data/lib/jsduck/videos.rb +33 -0
  31. data/lib/jsduck/welcome.rb +21 -0
  32. data/{template → template-min}/README.md +0 -0
  33. data/template-min/app.js +1 -0
  34. data/template-min/build-js.html +25 -0
  35. data/template-min/egIframe.html +24 -0
  36. data/template-min/extjs/bootstrap.js +73 -0
  37. data/template-min/extjs/ext-all-debug.js +90047 -0
  38. data/{template → template-min}/extjs/ext-all.js +0 -0
  39. data/template-min/extjs/resources/css/ext-all.css +1 -0
  40. data/template-min/extjs/resources/themes/images/default/boundlist/trigger-arrow.png +0 -0
  41. data/template-min/extjs/resources/themes/images/default/box/corners-blue.gif +0 -0
  42. data/template-min/extjs/resources/themes/images/default/box/corners.gif +0 -0
  43. data/template-min/extjs/resources/themes/images/default/box/l-blue.gif +0 -0
  44. data/template-min/extjs/resources/themes/images/default/box/l.gif +0 -0
  45. data/template-min/extjs/resources/themes/images/default/box/r-blue.gif +0 -0
  46. data/template-min/extjs/resources/themes/images/default/box/r.gif +0 -0
  47. data/template-min/extjs/resources/themes/images/default/box/tb-blue.gif +0 -0
  48. data/template-min/extjs/resources/themes/images/default/box/tb.gif +0 -0
  49. data/template-min/extjs/resources/themes/images/default/btn/btn-default-large-bg.gif +0 -0
  50. data/template-min/extjs/resources/themes/images/default/btn/btn-default-large-corners.gif +0 -0
  51. data/template-min/extjs/resources/themes/images/default/btn/btn-default-large-disabled-bg.gif +0 -0
  52. data/template-min/extjs/resources/themes/images/default/btn/btn-default-large-disabled-corners.gif +0 -0
  53. data/template-min/extjs/resources/themes/images/default/btn/btn-default-large-disabled-sides.gif +0 -0
  54. data/template-min/extjs/resources/themes/images/default/btn/btn-default-large-focus-bg.gif +0 -0
  55. data/template-min/extjs/resources/themes/images/default/btn/btn-default-large-focus-corners.gif +0 -0
  56. data/template-min/extjs/resources/themes/images/default/btn/btn-default-large-focus-sides.gif +0 -0
  57. data/template-min/extjs/resources/themes/images/default/btn/btn-default-large-over-bg.gif +0 -0
  58. data/template-min/extjs/resources/themes/images/default/btn/btn-default-large-over-corners.gif +0 -0
  59. data/template-min/extjs/resources/themes/images/default/btn/btn-default-large-over-sides.gif +0 -0
  60. data/template-min/extjs/resources/themes/images/default/btn/btn-default-large-pressed-bg.gif +0 -0
  61. data/template-min/extjs/resources/themes/images/default/btn/btn-default-large-pressed-corners.gif +0 -0
  62. data/template-min/extjs/resources/themes/images/default/btn/btn-default-large-pressed-sides.gif +0 -0
  63. data/template-min/extjs/resources/themes/images/default/btn/btn-default-large-sides.gif +0 -0
  64. data/template-min/extjs/resources/themes/images/default/btn/btn-default-medium-bg.gif +0 -0
  65. data/template-min/extjs/resources/themes/images/default/btn/btn-default-medium-corners.gif +0 -0
  66. data/template-min/extjs/resources/themes/images/default/btn/btn-default-medium-disabled-bg.gif +0 -0
  67. data/template-min/extjs/resources/themes/images/default/btn/btn-default-medium-disabled-corners.gif +0 -0
  68. data/template-min/extjs/resources/themes/images/default/btn/btn-default-medium-disabled-sides.gif +0 -0
  69. data/template-min/extjs/resources/themes/images/default/btn/btn-default-medium-focus-bg.gif +0 -0
  70. data/template-min/extjs/resources/themes/images/default/btn/btn-default-medium-focus-corners.gif +0 -0
  71. data/template-min/extjs/resources/themes/images/default/btn/btn-default-medium-focus-sides.gif +0 -0
  72. data/template-min/extjs/resources/themes/images/default/btn/btn-default-medium-over-bg.gif +0 -0
  73. data/template-min/extjs/resources/themes/images/default/btn/btn-default-medium-over-corners.gif +0 -0
  74. data/template-min/extjs/resources/themes/images/default/btn/btn-default-medium-over-sides.gif +0 -0
  75. data/template-min/extjs/resources/themes/images/default/btn/btn-default-medium-pressed-bg.gif +0 -0
  76. data/template-min/extjs/resources/themes/images/default/btn/btn-default-medium-pressed-corners.gif +0 -0
  77. data/template-min/extjs/resources/themes/images/default/btn/btn-default-medium-pressed-sides.gif +0 -0
  78. data/template-min/extjs/resources/themes/images/default/btn/btn-default-medium-sides.gif +0 -0
  79. data/template-min/extjs/resources/themes/images/default/btn/btn-default-small-bg.gif +0 -0
  80. data/template-min/extjs/resources/themes/images/default/btn/btn-default-small-corners.gif +0 -0
  81. data/template-min/extjs/resources/themes/images/default/btn/btn-default-small-disabled-bg.gif +0 -0
  82. data/template-min/extjs/resources/themes/images/default/btn/btn-default-small-disabled-corners.gif +0 -0
  83. data/template-min/extjs/resources/themes/images/default/btn/btn-default-small-disabled-sides.gif +0 -0
  84. data/template-min/extjs/resources/themes/images/default/btn/btn-default-small-focus-bg.gif +0 -0
  85. data/template-min/extjs/resources/themes/images/default/btn/btn-default-small-focus-corners.gif +0 -0
  86. data/template-min/extjs/resources/themes/images/default/btn/btn-default-small-focus-sides.gif +0 -0
  87. data/template-min/extjs/resources/themes/images/default/btn/btn-default-small-over-bg.gif +0 -0
  88. data/template-min/extjs/resources/themes/images/default/btn/btn-default-small-over-corners.gif +0 -0
  89. data/template-min/extjs/resources/themes/images/default/btn/btn-default-small-over-sides.gif +0 -0
  90. data/template-min/extjs/resources/themes/images/default/btn/btn-default-small-pressed-bg.gif +0 -0
  91. data/template-min/extjs/resources/themes/images/default/btn/btn-default-small-pressed-corners.gif +0 -0
  92. data/template-min/extjs/resources/themes/images/default/btn/btn-default-small-pressed-sides.gif +0 -0
  93. data/template-min/extjs/resources/themes/images/default/btn/btn-default-small-sides.gif +0 -0
  94. data/template-min/extjs/resources/themes/images/default/btn/btn-default-toolbar-large-corners.gif +0 -0
  95. data/template-min/extjs/resources/themes/images/default/btn/btn-default-toolbar-large-disabled-corners.gif +0 -0
  96. data/template-min/extjs/resources/themes/images/default/btn/btn-default-toolbar-large-disabled-sides.gif +0 -0
  97. data/template-min/extjs/resources/themes/images/default/btn/btn-default-toolbar-large-focus-bg.gif +0 -0
  98. data/template-min/extjs/resources/themes/images/default/btn/btn-default-toolbar-large-focus-corners.gif +0 -0
  99. data/template-min/extjs/resources/themes/images/default/btn/btn-default-toolbar-large-focus-sides.gif +0 -0
  100. data/template-min/extjs/resources/themes/images/default/btn/btn-default-toolbar-large-over-bg.gif +0 -0
  101. data/template-min/extjs/resources/themes/images/default/btn/btn-default-toolbar-large-over-corners.gif +0 -0
  102. data/template-min/extjs/resources/themes/images/default/btn/btn-default-toolbar-large-over-sides.gif +0 -0
  103. data/template-min/extjs/resources/themes/images/default/btn/btn-default-toolbar-large-pressed-bg.gif +0 -0
  104. data/template-min/extjs/resources/themes/images/default/btn/btn-default-toolbar-large-pressed-corners.gif +0 -0
  105. data/template-min/extjs/resources/themes/images/default/btn/btn-default-toolbar-large-pressed-sides.gif +0 -0
  106. data/template-min/extjs/resources/themes/images/default/btn/btn-default-toolbar-large-sides.gif +0 -0
  107. data/template-min/extjs/resources/themes/images/default/btn/btn-default-toolbar-medium-corners.gif +0 -0
  108. data/template-min/extjs/resources/themes/images/default/btn/btn-default-toolbar-medium-disabled-corners.gif +0 -0
  109. data/template-min/extjs/resources/themes/images/default/btn/btn-default-toolbar-medium-disabled-sides.gif +0 -0
  110. data/template-min/extjs/resources/themes/images/default/btn/btn-default-toolbar-medium-focus-bg.gif +0 -0
  111. data/template-min/extjs/resources/themes/images/default/btn/btn-default-toolbar-medium-focus-corners.gif +0 -0
  112. data/template-min/extjs/resources/themes/images/default/btn/btn-default-toolbar-medium-focus-sides.gif +0 -0
  113. data/template-min/extjs/resources/themes/images/default/btn/btn-default-toolbar-medium-over-bg.gif +0 -0
  114. data/template-min/extjs/resources/themes/images/default/btn/btn-default-toolbar-medium-over-corners.gif +0 -0
  115. data/template-min/extjs/resources/themes/images/default/btn/btn-default-toolbar-medium-over-sides.gif +0 -0
  116. data/template-min/extjs/resources/themes/images/default/btn/btn-default-toolbar-medium-pressed-bg.gif +0 -0
  117. data/template-min/extjs/resources/themes/images/default/btn/btn-default-toolbar-medium-pressed-corners.gif +0 -0
  118. data/template-min/extjs/resources/themes/images/default/btn/btn-default-toolbar-medium-pressed-sides.gif +0 -0
  119. data/template-min/extjs/resources/themes/images/default/btn/btn-default-toolbar-medium-sides.gif +0 -0
  120. data/template-min/extjs/resources/themes/images/default/btn/btn-default-toolbar-small-corners.gif +0 -0
  121. data/template-min/extjs/resources/themes/images/default/btn/btn-default-toolbar-small-disabled-corners.gif +0 -0
  122. data/template-min/extjs/resources/themes/images/default/btn/btn-default-toolbar-small-disabled-sides.gif +0 -0
  123. data/template-min/extjs/resources/themes/images/default/btn/btn-default-toolbar-small-focus-bg.gif +0 -0
  124. data/template-min/extjs/resources/themes/images/default/btn/btn-default-toolbar-small-focus-corners.gif +0 -0
  125. data/template-min/extjs/resources/themes/images/default/btn/btn-default-toolbar-small-focus-sides.gif +0 -0
  126. data/template-min/extjs/resources/themes/images/default/btn/btn-default-toolbar-small-over-bg.gif +0 -0
  127. data/template-min/extjs/resources/themes/images/default/btn/btn-default-toolbar-small-over-corners.gif +0 -0
  128. data/template-min/extjs/resources/themes/images/default/btn/btn-default-toolbar-small-over-sides.gif +0 -0
  129. data/template-min/extjs/resources/themes/images/default/btn/btn-default-toolbar-small-pressed-bg.gif +0 -0
  130. data/template-min/extjs/resources/themes/images/default/btn/btn-default-toolbar-small-pressed-corners.gif +0 -0
  131. data/template-min/extjs/resources/themes/images/default/btn/btn-default-toolbar-small-pressed-sides.gif +0 -0
  132. data/template-min/extjs/resources/themes/images/default/btn/btn-default-toolbar-small-sides.gif +0 -0
  133. data/template-min/extjs/resources/themes/images/default/btn-group/btn-group-default-framed-corners.gif +0 -0
  134. data/template-min/extjs/resources/themes/images/default/btn-group/btn-group-default-framed-notitle-corners.gif +0 -0
  135. data/template-min/extjs/resources/themes/images/default/btn-group/btn-group-default-framed-notitle-sides.gif +0 -0
  136. data/template-min/extjs/resources/themes/images/default/btn-group/btn-group-default-framed-sides.gif +0 -0
  137. data/template-min/extjs/resources/themes/images/default/button/arrow.gif +0 -0
  138. data/template-min/extjs/resources/themes/images/default/button/btn.gif +0 -0
  139. data/template-min/extjs/resources/themes/images/default/button/group-cs.gif +0 -0
  140. data/template-min/extjs/resources/themes/images/default/button/group-lr.gif +0 -0
  141. data/template-min/extjs/resources/themes/images/default/button/group-tb.gif +0 -0
  142. data/template-min/extjs/resources/themes/images/default/button/s-arrow-b-noline.gif +0 -0
  143. data/template-min/extjs/resources/themes/images/default/button/s-arrow-b.gif +0 -0
  144. data/template-min/extjs/resources/themes/images/default/button/s-arrow-bo.gif +0 -0
  145. data/template-min/extjs/resources/themes/images/default/button/s-arrow-light.gif +0 -0
  146. data/template-min/extjs/resources/themes/images/default/button/s-arrow-noline.gif +0 -0
  147. data/template-min/extjs/resources/themes/images/default/button/s-arrow-o.gif +0 -0
  148. data/template-min/extjs/resources/themes/images/default/button/s-arrow.gif +0 -0
  149. data/template-min/extjs/resources/themes/images/default/datepicker/datepicker-footer-bg.gif +0 -0
  150. data/template-min/extjs/resources/themes/images/default/datepicker/datepicker-footer-bg.png +0 -0
  151. data/template-min/extjs/resources/themes/images/default/datepicker/datepicker-header-bg.gif +0 -0
  152. data/template-min/extjs/resources/themes/images/default/datepicker/datepicker-header-bg.png +0 -0
  153. data/template-min/extjs/resources/themes/images/default/dd/drop-add.gif +0 -0
  154. data/template-min/extjs/resources/themes/images/default/dd/drop-no.gif +0 -0
  155. data/template-min/extjs/resources/themes/images/default/dd/drop-yes.gif +0 -0
  156. data/template-min/extjs/resources/themes/images/default/editor/tb-sprite.gif +0 -0
  157. data/{template → template-min}/extjs/resources/themes/images/default/form/checkbox.gif +0 -0
  158. data/template-min/extjs/resources/themes/images/default/form/clear-trigger.gif +0 -0
  159. data/template-min/extjs/resources/themes/images/default/form/date-trigger.gif +0 -0
  160. data/template-min/extjs/resources/themes/images/default/form/error-tip-corners.gif +0 -0
  161. data/template-min/extjs/resources/themes/images/default/form/exclamation.gif +0 -0
  162. data/template-min/extjs/resources/themes/images/default/form/radio.gif +0 -0
  163. data/template-min/extjs/resources/themes/images/default/form/search-trigger.gif +0 -0
  164. data/template-min/extjs/resources/themes/images/default/form/spinner-small.gif +0 -0
  165. data/template-min/extjs/resources/themes/images/default/form/spinner.gif +0 -0
  166. data/{template → template-min}/extjs/resources/themes/images/default/form/text-bg.gif +0 -0
  167. data/template-min/extjs/resources/themes/images/default/form/trigger-square.gif +0 -0
  168. data/template-min/extjs/resources/themes/images/default/form/trigger-tpl.gif +0 -0
  169. data/template-min/extjs/resources/themes/images/default/form/trigger.gif +0 -0
  170. data/template-min/extjs/resources/themes/images/default/form-invalid-tip/form-invalid-tip-default-corners.gif +0 -0
  171. data/template-min/extjs/resources/themes/images/default/form-invalid-tip/form-invalid-tip-default-sides.gif +0 -0
  172. data/template-min/extjs/resources/themes/images/default/grid/arrow-left-white.gif +0 -0
  173. data/template-min/extjs/resources/themes/images/default/grid/arrow-right-white.gif +0 -0
  174. data/template-min/extjs/resources/themes/images/default/grid/cell-special-bg.gif +0 -0
  175. data/template-min/extjs/resources/themes/images/default/grid/cell-special-bg.png +0 -0
  176. data/template-min/extjs/resources/themes/images/default/grid/cell-special-selected-bg.gif +0 -0
  177. data/template-min/extjs/resources/themes/images/default/grid/cell-special-selected-bg.png +0 -0
  178. data/template-min/extjs/resources/themes/images/default/grid/checked.gif +0 -0
  179. data/template-min/extjs/resources/themes/images/default/grid/col-move-bottom.gif +0 -0
  180. data/template-min/extjs/resources/themes/images/default/grid/col-move-top.gif +0 -0
  181. data/template-min/extjs/resources/themes/images/default/grid/column-header-bg.gif +0 -0
  182. data/template-min/extjs/resources/themes/images/default/grid/column-header-bg.png +0 -0
  183. data/template-min/extjs/resources/themes/images/default/grid/column-header-over-bg.gif +0 -0
  184. data/template-min/extjs/resources/themes/images/default/grid/column-header-over-bg.png +0 -0
  185. data/template-min/extjs/resources/themes/images/default/grid/columns.gif +0 -0
  186. data/template-min/extjs/resources/themes/images/default/grid/dd-insert-arrow-left.gif +0 -0
  187. data/template-min/extjs/resources/themes/images/default/grid/dd-insert-arrow-left.png +0 -0
  188. data/template-min/extjs/resources/themes/images/default/grid/dd-insert-arrow-right.gif +0 -0
  189. data/template-min/extjs/resources/themes/images/default/grid/dd-insert-arrow-right.png +0 -0
  190. data/template-min/extjs/resources/themes/images/default/grid/dirty.gif +0 -0
  191. data/template-min/extjs/resources/themes/images/default/grid/done.gif +0 -0
  192. data/template-min/extjs/resources/themes/images/default/grid/drop-no.gif +0 -0
  193. data/template-min/extjs/resources/themes/images/default/grid/drop-yes.gif +0 -0
  194. data/template-min/extjs/resources/themes/images/default/grid/footer-bg.gif +0 -0
  195. data/template-min/extjs/resources/themes/images/default/grid/grid-blue-hd.gif +0 -0
  196. data/template-min/extjs/resources/themes/images/default/grid/grid-blue-split.gif +0 -0
  197. data/template-min/extjs/resources/themes/images/default/grid/grid-hrow.gif +0 -0
  198. data/template-min/extjs/resources/themes/images/default/grid/grid-loading.gif +0 -0
  199. data/template-min/extjs/resources/themes/images/default/grid/grid-split.gif +0 -0
  200. data/template-min/extjs/resources/themes/images/default/grid/grid-vista-hd.gif +0 -0
  201. data/template-min/extjs/resources/themes/images/default/grid/grid3-hd-btn.gif +0 -0
  202. data/template-min/extjs/resources/themes/images/default/grid/grid3-hrow-over.gif +0 -0
  203. data/template-min/extjs/resources/themes/images/default/grid/grid3-hrow.gif +0 -0
  204. data/template-min/extjs/resources/themes/images/default/grid/grid3-rowheader.gif +0 -0
  205. data/template-min/extjs/resources/themes/images/default/grid/group-by.gif +0 -0
  206. data/template-min/extjs/resources/themes/images/default/grid/group-collapse.gif +0 -0
  207. data/template-min/extjs/resources/themes/images/default/grid/group-expand-sprite.gif +0 -0
  208. data/template-min/extjs/resources/themes/images/default/grid/group-expand.gif +0 -0
  209. data/template-min/extjs/resources/themes/images/default/grid/hd-pop.gif +0 -0
  210. data/template-min/extjs/resources/themes/images/default/grid/hmenu-asc.gif +0 -0
  211. data/template-min/extjs/resources/themes/images/default/grid/hmenu-desc.gif +0 -0
  212. data/template-min/extjs/resources/themes/images/default/grid/hmenu-lock.gif +0 -0
  213. data/template-min/extjs/resources/themes/images/default/grid/hmenu-lock.png +0 -0
  214. data/template-min/extjs/resources/themes/images/default/grid/hmenu-unlock.gif +0 -0
  215. data/template-min/extjs/resources/themes/images/default/grid/hmenu-unlock.png +0 -0
  216. data/template-min/extjs/resources/themes/images/default/grid/invalid_line.gif +0 -0
  217. data/{template → template-min}/extjs/resources/themes/images/default/grid/loading.gif +0 -0
  218. data/template-min/extjs/resources/themes/images/default/grid/mso-hd.gif +0 -0
  219. data/template-min/extjs/resources/themes/images/default/grid/nowait.gif +0 -0
  220. data/template-min/extjs/resources/themes/images/default/grid/page-first-disabled.gif +0 -0
  221. data/template-min/extjs/resources/themes/images/default/grid/page-first.gif +0 -0
  222. data/template-min/extjs/resources/themes/images/default/grid/page-last-disabled.gif +0 -0
  223. data/template-min/extjs/resources/themes/images/default/grid/page-last.gif +0 -0
  224. data/template-min/extjs/resources/themes/images/default/grid/page-next-disabled.gif +0 -0
  225. data/template-min/extjs/resources/themes/images/default/grid/page-next.gif +0 -0
  226. data/template-min/extjs/resources/themes/images/default/grid/page-prev-disabled.gif +0 -0
  227. data/template-min/extjs/resources/themes/images/default/grid/page-prev.gif +0 -0
  228. data/template-min/extjs/resources/themes/images/default/grid/pick-button.gif +0 -0
  229. data/template-min/extjs/resources/themes/images/default/grid/property-cell-bg.gif +0 -0
  230. data/template-min/extjs/resources/themes/images/default/grid/property-cell-selected-bg.gif +0 -0
  231. data/template-min/extjs/resources/themes/images/default/grid/refresh-disabled.gif +0 -0
  232. data/template-min/extjs/resources/themes/images/default/grid/refresh.gif +0 -0
  233. data/template-min/extjs/resources/themes/images/default/grid/row-check-sprite.gif +0 -0
  234. data/template-min/extjs/resources/themes/images/default/grid/row-expand-sprite.gif +0 -0
  235. data/template-min/extjs/resources/themes/images/default/grid/row-over.gif +0 -0
  236. data/template-min/extjs/resources/themes/images/default/grid/row-sel.gif +0 -0
  237. data/template-min/extjs/resources/themes/images/default/grid/sort-hd.gif +0 -0
  238. data/template-min/extjs/resources/themes/images/default/grid/sort_asc.gif +0 -0
  239. data/template-min/extjs/resources/themes/images/default/grid/sort_desc.gif +0 -0
  240. data/template-min/extjs/resources/themes/images/default/grid/unchecked.gif +0 -0
  241. data/template-min/extjs/resources/themes/images/default/grid/wait.gif +0 -0
  242. data/template-min/extjs/resources/themes/images/default/layout/mini-bottom.gif +0 -0
  243. data/template-min/extjs/resources/themes/images/default/layout/mini-left.gif +0 -0
  244. data/template-min/extjs/resources/themes/images/default/layout/mini-right.gif +0 -0
  245. data/template-min/extjs/resources/themes/images/default/layout/mini-top.gif +0 -0
  246. data/template-min/extjs/resources/themes/images/default/menu/checked.gif +0 -0
  247. data/template-min/extjs/resources/themes/images/default/menu/group-checked.gif +0 -0
  248. data/template-min/extjs/resources/themes/images/default/menu/item-over.gif +0 -0
  249. data/template-min/extjs/resources/themes/images/default/menu/menu-item-active-bg.gif +0 -0
  250. data/template-min/extjs/resources/themes/images/default/menu/menu-item-active-corners.gif +0 -0
  251. data/template-min/extjs/resources/themes/images/default/menu/menu-item-active-sides.gif +0 -0
  252. data/template-min/extjs/resources/themes/images/default/menu/menu-parent.gif +0 -0
  253. data/template-min/extjs/resources/themes/images/default/menu/menu.gif +0 -0
  254. data/template-min/extjs/resources/themes/images/default/menu/unchecked.gif +0 -0
  255. data/template-min/extjs/resources/themes/images/default/panel/panel-default-framed-corners.gif +0 -0
  256. data/template-min/extjs/resources/themes/images/default/panel/panel-default-framed-sides.gif +0 -0
  257. data/template-min/extjs/resources/themes/images/default/panel-header/panel-header-default-bottom-bg.gif +0 -0
  258. data/template-min/extjs/resources/themes/images/default/panel-header/panel-header-default-framed-bottom-bg.gif +0 -0
  259. data/template-min/extjs/resources/themes/images/default/panel-header/panel-header-default-framed-bottom-corners.gif +0 -0
  260. data/template-min/extjs/resources/themes/images/default/panel-header/panel-header-default-framed-bottom-sides.gif +0 -0
  261. data/template-min/extjs/resources/themes/images/default/panel-header/panel-header-default-framed-collapsed-bottom-bg.gif +0 -0
  262. data/template-min/extjs/resources/themes/images/default/panel-header/panel-header-default-framed-collapsed-bottom-corners.gif +0 -0
  263. data/template-min/extjs/resources/themes/images/default/panel-header/panel-header-default-framed-collapsed-bottom-sides.gif +0 -0
  264. data/template-min/extjs/resources/themes/images/default/panel-header/panel-header-default-framed-collapsed-left-bg.gif +0 -0
  265. data/template-min/extjs/resources/themes/images/default/panel-header/panel-header-default-framed-collapsed-left-corners.gif +0 -0
  266. data/template-min/extjs/resources/themes/images/default/panel-header/panel-header-default-framed-collapsed-left-sides.gif +0 -0
  267. data/template-min/extjs/resources/themes/images/default/panel-header/panel-header-default-framed-collapsed-right-bg.gif +0 -0
  268. data/template-min/extjs/resources/themes/images/default/panel-header/panel-header-default-framed-collapsed-right-corners.gif +0 -0
  269. data/template-min/extjs/resources/themes/images/default/panel-header/panel-header-default-framed-collapsed-right-sides.gif +0 -0
  270. data/template-min/extjs/resources/themes/images/default/panel-header/panel-header-default-framed-collapsed-top-bg.gif +0 -0
  271. data/template-min/extjs/resources/themes/images/default/panel-header/panel-header-default-framed-collapsed-top-corners.gif +0 -0
  272. data/template-min/extjs/resources/themes/images/default/panel-header/panel-header-default-framed-collapsed-top-sides.gif +0 -0
  273. data/template-min/extjs/resources/themes/images/default/panel-header/panel-header-default-framed-left-bg.gif +0 -0
  274. data/template-min/extjs/resources/themes/images/default/panel-header/panel-header-default-framed-left-corners.gif +0 -0
  275. data/template-min/extjs/resources/themes/images/default/panel-header/panel-header-default-framed-left-sides.gif +0 -0
  276. data/template-min/extjs/resources/themes/images/default/panel-header/panel-header-default-framed-right-bg.gif +0 -0
  277. data/template-min/extjs/resources/themes/images/default/panel-header/panel-header-default-framed-right-corners.gif +0 -0
  278. data/template-min/extjs/resources/themes/images/default/panel-header/panel-header-default-framed-right-sides.gif +0 -0
  279. data/template-min/extjs/resources/themes/images/default/panel-header/panel-header-default-framed-top-bg.gif +0 -0
  280. data/template-min/extjs/resources/themes/images/default/panel-header/panel-header-default-framed-top-corners.gif +0 -0
  281. data/template-min/extjs/resources/themes/images/default/panel-header/panel-header-default-framed-top-sides.gif +0 -0
  282. data/template-min/extjs/resources/themes/images/default/panel-header/panel-header-default-left-bg.gif +0 -0
  283. data/template-min/extjs/resources/themes/images/default/panel-header/panel-header-default-right-bg.gif +0 -0
  284. data/template-min/extjs/resources/themes/images/default/panel-header/panel-header-default-top-bg.gif +0 -0
  285. data/template-min/extjs/resources/themes/images/default/progress/progress-default-bg.gif +0 -0
  286. data/template-min/extjs/resources/themes/images/default/shared/blue-loading.gif +0 -0
  287. data/template-min/extjs/resources/themes/images/default/shared/calendar.gif +0 -0
  288. data/template-min/extjs/resources/themes/images/default/shared/glass-bg.gif +0 -0
  289. data/template-min/extjs/resources/themes/images/default/shared/hd-sprite.gif +0 -0
  290. data/template-min/extjs/resources/themes/images/default/shared/icon-error.gif +0 -0
  291. data/template-min/extjs/resources/themes/images/default/shared/icon-info.gif +0 -0
  292. data/template-min/extjs/resources/themes/images/default/shared/icon-question.gif +0 -0
  293. data/template-min/extjs/resources/themes/images/default/shared/icon-warning.gif +0 -0
  294. data/template-min/extjs/resources/themes/images/default/shared/large-loading.gif +0 -0
  295. data/template-min/extjs/resources/themes/images/default/shared/left-btn.gif +0 -0
  296. data/template-min/extjs/resources/themes/images/default/shared/loading-balls.gif +0 -0
  297. data/template-min/extjs/resources/themes/images/default/shared/right-btn.gif +0 -0
  298. data/template-min/extjs/resources/themes/images/default/shared/shadow-c.png +0 -0
  299. data/template-min/extjs/resources/themes/images/default/shared/shadow-lr.png +0 -0
  300. data/template-min/extjs/resources/themes/images/default/shared/shadow.png +0 -0
  301. data/template-min/extjs/resources/themes/images/default/shared/warning.gif +0 -0
  302. data/template-min/extjs/resources/themes/images/default/sizer/e-handle-dark.gif +0 -0
  303. data/template-min/extjs/resources/themes/images/default/sizer/e-handle.gif +0 -0
  304. data/template-min/extjs/resources/themes/images/default/sizer/ne-handle-dark.gif +0 -0
  305. data/template-min/extjs/resources/themes/images/default/sizer/ne-handle.gif +0 -0
  306. data/template-min/extjs/resources/themes/images/default/sizer/nw-handle-dark.gif +0 -0
  307. data/template-min/extjs/resources/themes/images/default/sizer/nw-handle.gif +0 -0
  308. data/template-min/extjs/resources/themes/images/default/sizer/s-handle-dark.gif +0 -0
  309. data/template-min/extjs/resources/themes/images/default/sizer/s-handle.gif +0 -0
  310. data/template-min/extjs/resources/themes/images/default/sizer/se-handle-dark.gif +0 -0
  311. data/template-min/extjs/resources/themes/images/default/sizer/se-handle.gif +0 -0
  312. data/template-min/extjs/resources/themes/images/default/sizer/square.gif +0 -0
  313. data/template-min/extjs/resources/themes/images/default/sizer/sw-handle-dark.gif +0 -0
  314. data/template-min/extjs/resources/themes/images/default/sizer/sw-handle.gif +0 -0
  315. data/template-min/extjs/resources/themes/images/default/slider/slider-bg.gif +0 -0
  316. data/template-min/extjs/resources/themes/images/default/slider/slider-bg.png +0 -0
  317. data/template-min/extjs/resources/themes/images/default/slider/slider-thumb.gif +0 -0
  318. data/template-min/extjs/resources/themes/images/default/slider/slider-thumb.png +0 -0
  319. data/template-min/extjs/resources/themes/images/default/slider/slider-v-bg.gif +0 -0
  320. data/template-min/extjs/resources/themes/images/default/slider/slider-v-bg.png +0 -0
  321. data/template-min/extjs/resources/themes/images/default/slider/slider-v-thumb.gif +0 -0
  322. data/template-min/extjs/resources/themes/images/default/slider/slider-v-thumb.png +0 -0
  323. data/template-min/extjs/resources/themes/images/default/tab/tab-default-bottom-active-bg.gif +0 -0
  324. data/template-min/extjs/resources/themes/images/default/tab/tab-default-bottom-active-corners.gif +0 -0
  325. data/template-min/extjs/resources/themes/images/default/tab/tab-default-bottom-active-sides.gif +0 -0
  326. data/template-min/extjs/resources/themes/images/default/tab/tab-default-bottom-bg.gif +0 -0
  327. data/template-min/extjs/resources/themes/images/default/tab/tab-default-bottom-corners.gif +0 -0
  328. data/template-min/extjs/resources/themes/images/default/tab/tab-default-bottom-disabled-bg.gif +0 -0
  329. data/template-min/extjs/resources/themes/images/default/tab/tab-default-bottom-disabled-corners.gif +0 -0
  330. data/template-min/extjs/resources/themes/images/default/tab/tab-default-bottom-disabled-sides.gif +0 -0
  331. data/template-min/extjs/resources/themes/images/default/tab/tab-default-bottom-over-bg.gif +0 -0
  332. data/template-min/extjs/resources/themes/images/default/tab/tab-default-bottom-over-corners.gif +0 -0
  333. data/template-min/extjs/resources/themes/images/default/tab/tab-default-bottom-over-sides.gif +0 -0
  334. data/template-min/extjs/resources/themes/images/default/tab/tab-default-bottom-sides.gif +0 -0
  335. data/template-min/extjs/resources/themes/images/default/tab/tab-default-close.gif +0 -0
  336. data/template-min/extjs/resources/themes/images/default/tab/tab-default-top-active-bg.gif +0 -0
  337. data/template-min/extjs/resources/themes/images/default/tab/tab-default-top-active-corners.gif +0 -0
  338. data/template-min/extjs/resources/themes/images/default/tab/tab-default-top-active-sides.gif +0 -0
  339. data/template-min/extjs/resources/themes/images/default/tab/tab-default-top-bg.gif +0 -0
  340. data/template-min/extjs/resources/themes/images/default/tab/tab-default-top-corners.gif +0 -0
  341. data/template-min/extjs/resources/themes/images/default/tab/tab-default-top-disabled-bg.gif +0 -0
  342. data/template-min/extjs/resources/themes/images/default/tab/tab-default-top-disabled-corners.gif +0 -0
  343. data/template-min/extjs/resources/themes/images/default/tab/tab-default-top-disabled-sides.gif +0 -0
  344. data/template-min/extjs/resources/themes/images/default/tab/tab-default-top-over-bg.gif +0 -0
  345. data/template-min/extjs/resources/themes/images/default/tab/tab-default-top-over-corners.gif +0 -0
  346. data/template-min/extjs/resources/themes/images/default/tab/tab-default-top-over-sides.gif +0 -0
  347. data/template-min/extjs/resources/themes/images/default/tab/tab-default-top-sides.gif +0 -0
  348. data/template-min/extjs/resources/themes/images/default/tab-bar/scroll-left.gif +0 -0
  349. data/template-min/extjs/resources/themes/images/default/tab-bar/scroll-right.gif +0 -0
  350. data/template-min/extjs/resources/themes/images/default/tab-bar/tab-bar-default-bg.gif +0 -0
  351. data/template-min/extjs/resources/themes/images/default/tip/tip-corners.gif +0 -0
  352. data/template-min/extjs/resources/themes/images/default/tip/tip-sides.gif +0 -0
  353. data/template-min/extjs/resources/themes/images/default/toolbar/more.gif +0 -0
  354. data/template-min/extjs/resources/themes/images/default/toolbar/scroll-left.gif +0 -0
  355. data/template-min/extjs/resources/themes/images/default/toolbar/scroll-right.gif +0 -0
  356. data/template-min/extjs/resources/themes/images/default/toolbar/toolbar-default-bg.gif +0 -0
  357. data/template-min/extjs/resources/themes/images/default/tools/tool-sprite-tpl.gif +0 -0
  358. data/template-min/extjs/resources/themes/images/default/tools/tool-sprites.gif +0 -0
  359. data/template-min/extjs/resources/themes/images/default/tools/tools-sprites-trans.gif +0 -0
  360. data/{template → template-min}/extjs/resources/themes/images/default/tree/arrows.gif +0 -0
  361. data/template-min/extjs/resources/themes/images/default/tree/drop-above.gif +0 -0
  362. data/template-min/extjs/resources/themes/images/default/tree/drop-add.gif +0 -0
  363. data/template-min/extjs/resources/themes/images/default/tree/drop-append.gif +0 -0
  364. data/template-min/extjs/resources/themes/images/default/tree/drop-below.gif +0 -0
  365. data/template-min/extjs/resources/themes/images/default/tree/drop-between.gif +0 -0
  366. data/template-min/extjs/resources/themes/images/default/tree/drop-no.gif +0 -0
  367. data/template-min/extjs/resources/themes/images/default/tree/drop-over.gif +0 -0
  368. data/template-min/extjs/resources/themes/images/default/tree/drop-under.gif +0 -0
  369. data/template-min/extjs/resources/themes/images/default/tree/drop-yes.gif +0 -0
  370. data/template-min/extjs/resources/themes/images/default/tree/elbow-end-minus-nl.gif +0 -0
  371. data/template-min/extjs/resources/themes/images/default/tree/elbow-end-minus.gif +0 -0
  372. data/template-min/extjs/resources/themes/images/default/tree/elbow-end-plus-nl.gif +0 -0
  373. data/template-min/extjs/resources/themes/images/default/tree/elbow-end-plus.gif +0 -0
  374. data/{template/resources/images → template-min/extjs/resources/themes/images/default/tree}/elbow-end.gif +0 -0
  375. data/template-min/extjs/resources/themes/images/default/tree/elbow-line.gif +0 -0
  376. data/template-min/extjs/resources/themes/images/default/tree/elbow-minus-nl.gif +0 -0
  377. data/template-min/extjs/resources/themes/images/default/tree/elbow-minus.gif +0 -0
  378. data/template-min/extjs/resources/themes/images/default/tree/elbow-plus-nl.gif +0 -0
  379. data/template-min/extjs/resources/themes/images/default/tree/elbow-plus.gif +0 -0
  380. data/template-min/extjs/resources/themes/images/default/tree/elbow.gif +0 -0
  381. data/template-min/extjs/resources/themes/images/default/tree/folder-open.gif +0 -0
  382. data/template-min/extjs/resources/themes/images/default/tree/folder.gif +0 -0
  383. data/template-min/extjs/resources/themes/images/default/tree/leaf.gif +0 -0
  384. data/template-min/extjs/resources/themes/images/default/tree/loading.gif +0 -0
  385. data/template-min/extjs/resources/themes/images/default/tree/s.gif +0 -0
  386. data/template-min/extjs/resources/themes/images/default/util/splitter/mini-bottom.gif +0 -0
  387. data/template-min/extjs/resources/themes/images/default/util/splitter/mini-left.gif +0 -0
  388. data/template-min/extjs/resources/themes/images/default/util/splitter/mini-right.gif +0 -0
  389. data/template-min/extjs/resources/themes/images/default/util/splitter/mini-top.gif +0 -0
  390. data/template-min/extjs/resources/themes/images/default/window/window-default-corners.gif +0 -0
  391. data/template-min/extjs/resources/themes/images/default/window/window-default-sides.gif +0 -0
  392. data/template-min/extjs/resources/themes/images/default/window-header/window-header-default-bottom-corners.gif +0 -0
  393. data/template-min/extjs/resources/themes/images/default/window-header/window-header-default-bottom-sides.gif +0 -0
  394. data/template-min/extjs/resources/themes/images/default/window-header/window-header-default-left-corners.gif +0 -0
  395. data/template-min/extjs/resources/themes/images/default/window-header/window-header-default-left-sides.gif +0 -0
  396. data/template-min/extjs/resources/themes/images/default/window-header/window-header-default-right-corners.gif +0 -0
  397. data/template-min/extjs/resources/themes/images/default/window-header/window-header-default-right-sides.gif +0 -0
  398. data/template-min/extjs/resources/themes/images/default/window-header/window-header-default-top-corners.gif +0 -0
  399. data/template-min/extjs/resources/themes/images/default/window-header/window-header-default-top-sides.gif +0 -0
  400. data/{template → template-min}/favicon.ico +0 -0
  401. data/template-min/index.php +59 -0
  402. data/template-min/print-template.html +22 -0
  403. data/template-min/resources/css/app.css +1 -0
  404. data/template-min/resources/images/arrows.png +0 -0
  405. data/{template → template-min}/resources/images/class-m.png +0 -0
  406. data/{template → template-min}/resources/images/class-sm.png +0 -0
  407. data/{template → template-min}/resources/images/component-m.png +0 -0
  408. data/{template → template-min}/resources/images/configs.png +0 -0
  409. data/{template → template-min}/resources/images/doc-m.png +0 -0
  410. data/template-min/resources/images/elbow-end.gif +0 -0
  411. data/{template → template-min}/resources/images/events.png +0 -0
  412. data/template-min/resources/images/example-icons.png +0 -0
  413. data/{template → template-min}/resources/images/expandcollapse.png +0 -0
  414. data/{template → template-min}/resources/images/guide-icon.png +0 -0
  415. data/{template → template-min}/resources/images/guides.png +0 -0
  416. data/template-min/resources/images/header.png +0 -0
  417. data/template-min/resources/images/hero-extjs4-alt.png +0 -0
  418. data/template-min/resources/images/icons.png +0 -0
  419. data/template-min/resources/images/link-green-standard-over.png +0 -0
  420. data/template-min/resources/images/link-green-standard.png +0 -0
  421. data/{template → template-min}/resources/images/loading-title.png +0 -0
  422. data/{template → template-min}/resources/images/loading.gif +0 -0
  423. data/template-min/resources/images/logo-screen-noglow.png +0 -0
  424. data/template-min/resources/images/logo.png +0 -0
  425. data/{template → template-min}/resources/images/member-collapsed.gif +0 -0
  426. data/{template → template-min}/resources/images/member-expanded.gif +0 -0
  427. data/{template → template-min}/resources/images/member-hover.gif +0 -0
  428. data/{template → template-min}/resources/images/methods.png +0 -0
  429. data/template-min/resources/images/more.png +0 -0
  430. data/template-min/resources/images/preview.png +0 -0
  431. data/template-min/resources/images/print.png +0 -0
  432. data/{template → template-min}/resources/images/properties.png +0 -0
  433. data/template-min/resources/images/search-box.png +0 -0
  434. data/{template → template-min}/resources/images/singleton-m.png +0 -0
  435. data/template-min/resources/images/tabs.png +0 -0
  436. data/{template → template-min}/resources/images/version-tabs.png +0 -0
  437. data/template-min/resources/images/welcome-bg-js4.gif +0 -0
  438. data/{template → template-min}/resources/images/x.png +0 -0
  439. data/{template → template-min}/resources/images/x12.png +0 -0
  440. data/template-min/resources/images/x122.png +0 -0
  441. data/{template/index.html → template-min/template.html} +9 -14
  442. data/template-min/welcome.html +78 -0
  443. metadata +429 -76
  444. data/lib/jsduck/jsonp.rb +0 -17
  445. data/lib/jsduck/tree.rb +0 -117
  446. data/lib/jsduck/tree_icons.rb +0 -19
  447. data/template/app/Application.js +0 -53
  448. data/template/app/Favorites.js +0 -88
  449. data/template/app/History.js +0 -45
  450. data/template/app/LocalStore.js +0 -45
  451. data/template/app/Settings.js +0 -39
  452. data/template/app/Syntax.js +0 -20
  453. data/template/app/controller/Classes.js +0 -301
  454. data/template/app/controller/Search.js +0 -189
  455. data/template/app/model/Favorite.js +0 -11
  456. data/template/app/model/Setting.js +0 -11
  457. data/template/app/store/Favorites.js +0 -7
  458. data/template/app/store/Search.js +0 -14
  459. data/template/app/store/Settings.js +0 -7
  460. data/template/app/view/ClassGrid.js +0 -114
  461. data/template/app/view/HoverMenu.js +0 -59
  462. data/template/app/view/HoverMenuButton.js +0 -147
  463. data/template/app/view/Viewport.js +0 -240
  464. data/template/app/view/cls/Header.js +0 -47
  465. data/template/app/view/cls/Overview.js +0 -415
  466. data/template/app/view/cls/Toolbar.js +0 -199
  467. data/template/app/view/index/Container.js +0 -62
  468. data/template/app/view/search/Dropdown.js +0 -115
  469. data/template/app/view/tree/Tree.js +0 -143
  470. data/template/app.js +0 -25
  471. data/template/prettify/prettify.css +0 -1
  472. data/template/prettify/prettify.js +0 -28
  473. data/template/resources/css/docs-ext.css +0 -3594
  474. data/template/resources/css/reset.css +0 -59
  475. data/template/resources/css/scrollbars.css +0 -14
  476. data/template/resources/css/viewport.css +0 -420
  477. data/template/resources/images/data-package.png +0 -0
  478. data/template/resources/images/drag-bar-center.png +0 -0
  479. data/template/resources/images/headBG.png +0 -0
  480. data/template/resources/images/header.gif +0 -0
  481. data/template/resources/images/icon.png +0 -0
  482. data/template/resources/images/icons.png +0 -0
  483. data/template/resources/images/model.png +0 -0
  484. data/template/resources/images/root-lines.png +0 -0
  485. data/template/resources/images/search-box.png +0 -0
@@ -1,415 +0,0 @@
1
- /**
2
- * Renders the whole class-documentation page.
3
- */
4
- Ext.define('Docs.view.cls.Overview', {
5
- extend: 'Ext.panel.Panel',
6
- alias: 'widget.classoverview',
7
- requires: [
8
- 'Docs.view.cls.Toolbar',
9
- 'Docs.Syntax',
10
- 'Docs.Settings'
11
- ],
12
-
13
- cls: 'class-overview iScroll',
14
- autoScroll: true,
15
- bodyPadding: '20',
16
-
17
- /**
18
- * Scrolls the specified element into view
19
- *
20
- * @param {String} query DomQuery selector string.
21
- */
22
- scrollToEl: function(query) {
23
- var el = Ext.get(Ext.query(query)[0]);
24
- if (el) {
25
- var isMember = el.hasCls("member");
26
- var scrollOffset = el.getY() - (isMember ? 145 : 135);
27
- var docContent = this.getEl().down('.x-panel-body');
28
- var currentScroll = docContent.getScroll()['top'];
29
- docContent.scrollTo('top', currentScroll + scrollOffset);
30
-
31
- if (isMember && el.down(".expandable")) {
32
- el.addCls('open');
33
- }
34
- el.highlight();
35
- }
36
- },
37
-
38
- /**
39
- * Renders class documentation in this panel.
40
- *
41
- * @param {Object} docClass
42
- */
43
- load: function(docClass) {
44
- this.docClass = docClass;
45
-
46
- if (this.toolbar) {
47
- this.removeDocked(this.toolbar, true);
48
- }
49
- this.toolbar = Ext.create('Docs.view.cls.Toolbar', {
50
- docClass: this.docClass,
51
- listeners: {
52
- hideInherited: function(hideInherited) {
53
- this.filterMembers(this.toolbar.getFilterValue(), hideInherited);
54
- },
55
- filter: function(search) {
56
- this.filterMembers(search, Docs.Settings.get("hideInherited"));
57
- },
58
- scope: this
59
- }
60
- });
61
- this.addDocked(this.toolbar);
62
-
63
- this.update(this.renderClass(docClass));
64
- Docs.Syntax.highlight(this.getEl());
65
-
66
- if (Docs.Settings.get("hideInherited")) {
67
- this.filterMembers("", true);
68
- }
69
- },
70
-
71
- /**
72
- * Filters members by search string and inheritance.
73
- * @param {String} search
74
- * @param {Boolean} hideInherited
75
- * @private
76
- */
77
- filterMembers: function(search, hideInherited) {
78
- Docs.Settings.set("hideInherited", hideInherited);
79
- var isSearch = search.length > 0;
80
-
81
- // Hide the class documentation when filtering
82
- Ext.Array.forEach(Ext.query('.doc-contents, .hierarchy'), function(el) {
83
- Ext.get(el).setStyle({display: isSearch ? 'none' : 'block'});
84
- });
85
-
86
- // Hide members who's name doesn't match with the search string
87
- // and hide inherited members if hideInherited=true
88
- var re = new RegExp(Ext.String.escapeRegex(search), "i");
89
- this.eachMember(function(m) {
90
- var el = Ext.get(m.tagname + "-" + m.name);
91
- var byInheritance = !hideInherited || (m.owner === this.docClass.name);
92
- var byFilter = !isSearch || re.test(m.name);
93
- if (byInheritance && byFilter) {
94
- el.setStyle({display: 'block'});
95
- }
96
- else {
97
- el.setStyle({display: 'none'});
98
- }
99
- }, this);
100
-
101
- // Remove all first-child classes
102
- Ext.Array.forEach(Ext.query('.member.first-child'), function(m) {
103
- Ext.get(m).removeCls('first-child');
104
- });
105
-
106
- Ext.Array.forEach(['cfg', 'property', 'method', 'event'], function(type) {
107
- var sectionId = '#m-' + type;
108
-
109
- // Hide the section completely if all items in it are hidden
110
- var visibleEls = this.getVisibleElements(sectionId + " .member");
111
- var section = Ext.query(sectionId)[0];
112
- section && Ext.get(section).setStyle({display: visibleEls.length > 0 ? 'block' : 'none'});
113
-
114
- // Hide subsections completely if all items in them are hidden
115
- Ext.Array.forEach(Ext.query(sectionId+" .subsection"), function(subsection) {
116
- var visibleEls = this.getVisibleElements(".member", subsection);
117
- if (visibleEls.length > 0) {
118
- // add first-child class to first member in subsection
119
- visibleEls[0].addCls('first-child');
120
- // make sure subsection is visible
121
- Ext.get(subsection).setStyle({display: 'block'});
122
- }
123
- else {
124
- // Hide subsection completely if empty
125
- Ext.get(subsection).setStyle({display: 'none'});
126
- }
127
- }, this);
128
- }, this);
129
-
130
- this.toolbar.hideInherited(hideInherited);
131
- },
132
-
133
- getVisibleElements: function(selector, root) {
134
- var els = Ext.Array.map(Ext.query(selector, root), function(node) {
135
- return Ext.get(node);
136
- });
137
- return Ext.Array.filter(els, function(el) {
138
- return el.isVisible();
139
- });
140
- },
141
-
142
- // Loops through each member of class
143
- eachMember: function(callback, scope) {
144
- Ext.Array.forEach(['members', 'statics'], function(group) {
145
- Ext.Object.each(this.docClass[group], function(type, members) {
146
- Ext.Array.forEach(members, callback, scope);
147
- }, this);
148
- }, this);
149
- },
150
-
151
- renderClass: function(cls) {
152
- this.classTpl = this.classTpl || new Ext.XTemplate(
153
- '<div>',
154
- '{hierarchy}',
155
- '<div class="doc-contents">',
156
- '{doc}',
157
- '</div>',
158
- '<div class="members">',
159
- '{members}',
160
- '</div>',
161
- '</div>'
162
- );
163
-
164
- return this.classTpl.apply({
165
- doc: cls.doc,
166
- hierarchy: this.renderHierarchy(cls),
167
- members: this.renderMembers(cls)
168
- });
169
- },
170
-
171
- renderHierarchy: function(cls) {
172
- if (cls.superclasses.length === 0 && cls.allMixins.length === 0 && cls.alternateClassNames.length === 0) {
173
- return "";
174
- }
175
-
176
- this.hierarchyTpl = this.hierarchyTpl || new Ext.XTemplate(
177
- '<pre class="hierarchy">',
178
- '<tpl if="alternateClassNames.length &gt; 0">',
179
- '<h4>Alternate names</h4>',
180
- '<tpl for="alternateClassNames">',
181
- '<div class="alternate-class-name">{.}</div>',
182
- '</tpl>',
183
- '</tpl>',
184
- '<tpl if="tree">',
185
- '<h4>Hierarchy</h4>',
186
- '{tree}',
187
- '</tpl>',
188
- '<tpl if="mixins.length &gt; 0">',
189
- '<h4>Mixins</h4>',
190
- '<tpl for="mixins">',
191
- '<div class="mixin">{.}</div>',
192
- '</tpl>',
193
- '</tpl>',
194
- '</pre>'
195
- );
196
-
197
- return this.hierarchyTpl.apply({
198
- tree: cls.superclasses.length ? this.renderClassTree(cls.superclasses.concat(cls.name), true) : "",
199
- mixins: Ext.Array.map(cls.allMixins, this.renderLink, this),
200
- alternateClassNames: cls.alternateClassNames
201
- });
202
- },
203
-
204
- renderClassTree: function(superclasses, firstChild) {
205
- if (superclasses.length === 0) {
206
- return "";
207
- }
208
-
209
- this.classTreeTpl = this.classTreeTpl || new Ext.XTemplate(
210
- '<div class="subclass {firstChild}">',
211
- '{link}',
212
- '{subtree}',
213
- '</div>'
214
- );
215
-
216
- var name = superclasses[0];
217
- return this.classTreeTpl.apply({
218
- firstChild: firstChild ? 'first-child' : '',
219
- link: superclasses.length > 1 ? this.renderLink(name) : '<strong>'+name+'</strong>',
220
- subtree: this.renderClassTree(superclasses.slice(1))
221
- });
222
- },
223
-
224
- renderLink: function(className) {
225
- return Ext.String.format('<a href="#/api/{0}" rel="{0}" class="docClass">{0}</a>', className);
226
- },
227
-
228
- renderMembers: function(cls) {
229
- var sections = [
230
- {type: "cfg", title: "Config options"},
231
- {type: "property", title: "Properties"},
232
- {type: "method", title: "Methods"},
233
- {type: "event", title: "Events"}
234
- ];
235
-
236
- // Skip rendering empty sections
237
- return Ext.Array.map(sections, function(sec) {
238
- var members = cls.members[sec.type];
239
- var statics = cls.statics[sec.type];
240
- return (members.length > 0 || statics.length > 0) ? this.renderSection(members, statics, sec) : "";
241
- }, this).join("");
242
- },
243
-
244
- renderSection: function(members, statics, section) {
245
- this.sectionTpl = this.sectionTpl || new Ext.XTemplate(
246
- '<div id="m-{type}">',
247
- '<tpl if="!statics.length">',
248
- '<div class="definedBy">Defined By</div>',
249
- '</tpl>',
250
- '<h3 class="members-title">{title}</h3>',
251
- '<tpl if="members.length">',
252
- '<div class="subsection">',
253
- '<tpl if="statics.length">',
254
- '<div class="definedBy">Defined By</div>',
255
- '<h4 class="members-subtitle">Instance {title}</h3>',
256
- '</tpl>',
257
- '{members}',
258
- '</div>',
259
- '</tpl>',
260
- '<tpl if="statics.length">',
261
- '<div class="subsection">',
262
- '<div class="definedBy">Defined By</div>',
263
- '<h4 class="members-subtitle">Static {title}</h3>',
264
- '{statics}',
265
- '</div>',
266
- '</tpl>',
267
- '</div>'
268
- );
269
-
270
- return this.sectionTpl.apply({
271
- type: section.type,
272
- title: section.title,
273
- members: Ext.Array.map(members, this.renderMemberDiv, this).join(""),
274
- statics: Ext.Array.map(statics, this.renderMemberDiv, this).join("")
275
- });
276
- },
277
-
278
- renderMemberDiv: function(member, index) {
279
- this.memberTpl = this.memberTpl || new Ext.XTemplate(
280
- '<div id="{tagname}-{name}" class="member {firstChild} {inherited}">',
281
- // leftmost column: expand button
282
- '<a href="#" class="side {expandable}">',
283
- '<span>&nbsp;</span>',
284
- '</a>',
285
- // member name and type + link to owner class and source
286
- '<div class="title">',
287
- '<div class="meta">',
288
- '<a href="#/api/{owner}" rel="{owner}" class="definedIn docClass">{owner}</a><br/>',
289
- '<a href="source/{href}" target="_blank" class="viewSource">view source</a>',
290
- '</div>',
291
- '{signature}',
292
- '</div>',
293
- // short and long descriptions
294
- '<div class="description">',
295
- '<div class="short">{[this.shortDoc(values)]}</div>',
296
- '<div class="long">{longDoc}</div>',
297
- '</div>',
298
- '</div>',
299
- {
300
- // Returns contents for short documentation
301
- shortDoc: function(cfg) {
302
- return cfg.shortDoc ? cfg.shortDoc : cfg.doc;
303
- }
304
- }
305
- );
306
-
307
- return this.memberTpl.apply(Ext.apply({
308
- // use classname "first-child" when it's first member in its category
309
- firstChild: (index === 0) ? "first-child" : "",
310
- // use classname "expandable" when member has shortened description
311
- expandable: member.shortDoc ? "expandable" : "not-expandable",
312
- // use classname "inherited" when member is not defined in this class
313
- inherited: member.owner === this.docClass.name ? "not-inherited" : "inherited",
314
- // method params signature or property type signature
315
- signature: this.renderSignature(member),
316
- // full documentation together with optional parameters and return value
317
- longDoc: this.renderLongDoc(member)
318
- }, member));
319
- },
320
-
321
- renderSignature: function(member) {
322
- this.signatureTpl = this.signatureTpl || new Ext.XTemplate(
323
- '{before}<a href="#/api/{member}-{tagname}-{name}" class="name {expandable}">{name}</a>{params}{after}'
324
- );
325
-
326
- var cfg = Ext.apply({}, member);
327
- cfg.expandable = member.shortDoc ? "expandable" : "not-expandable";
328
-
329
- if (member.tagname === "method" && member.name === "constructor") {
330
- cfg.before = "<strong class='constructor-signature'>new</strong>";
331
- cfg.name = this.docClass.name;
332
- }
333
-
334
- if (member.tagname === "cfg" || member.tagname === "property") {
335
- cfg.params = "<span> : " + member.type + "</span>";
336
- }
337
- else {
338
- var ps = Ext.Array.map(member.params, this.renderShortParam, this).join(", ");
339
- cfg.params = '( <span class="pre">' + ps + "</span> )";
340
- if (member.tagname === "method") {
341
- cfg.params += " : " + member["return"].type;
342
- }
343
- }
344
-
345
- if (member['protected']) {
346
- cfg.after = "<strong class='protected-signature'>protected</strong>";
347
- }
348
- if (member['static']) {
349
- cfg.after = "<strong class='static-signature'>static</strong>";
350
- }
351
- if (member.deprecated) {
352
- cfg.after = "<strong class='deprecated-signature'>deprecated</strong>";
353
- }
354
-
355
- return this.signatureTpl.apply(cfg);
356
- },
357
-
358
- renderShortParam: function(param) {
359
- var p = param.type + " " + param.name;
360
- return param.optional ? "["+p+"]" : p;
361
- },
362
-
363
- renderLongDoc: function(member) {
364
- var doc = member.doc;
365
-
366
- if (member.deprecated) {
367
- var v = member.deprecated.version ? "since " + member.deprecated.version : "";
368
- doc += '<div class="deprecated">';
369
- doc += Ext.String.format('<p>This {0} has been <strong>deprecated</strong> {1}</p>', member.tagname, v);
370
- doc += member.deprecated.text;
371
- doc += '</div>';
372
- }
373
-
374
- if (member.params && member.params.length > 0) {
375
- doc += '<h3 class="pa">Parameters</h3>';
376
- var ps = Ext.Array.map(member.params, this.renderLongParam, this).join("");
377
- doc += "<ul>" + ps + "</ul>";
378
- }
379
-
380
- if (member["return"]) {
381
- doc += this.renderReturn(member["return"]);
382
- }
383
-
384
- return doc;
385
- },
386
-
387
- renderLongParam: function(param) {
388
- this.paramTpl = this.paramTpl || new Ext.XTemplate(
389
- '<li>',
390
- '<span class="pre">{name}</span> : {type}',
391
- '<div class="sub-desc">',
392
- '{doc}',
393
- '</div>',
394
- '</li>'
395
- );
396
-
397
- return this.paramTpl.apply(param);
398
- },
399
-
400
- renderReturn: function(returnDoc) {
401
- this.returnTpl = this.returnTpl || new Ext.XTemplate(
402
- '<h3 class="pa">Returns</h3>',
403
- '<ul>',
404
- '<li>',
405
- '<span class="pre">{type}</span>',
406
- '<div class="sub-desc">',
407
- '{doc}',
408
- '</div>',
409
- '</li>',
410
- '</ul>'
411
- );
412
-
413
- return this.returnTpl.apply(returnDoc);
414
- }
415
- });
@@ -1,199 +0,0 @@
1
- /**
2
- * Toolbar with menus providing quick access to class members.
3
- */
4
- Ext.define('Docs.view.cls.Toolbar', {
5
- extend: 'Ext.toolbar.Toolbar',
6
- requires: [
7
- 'Docs.view.HoverMenuButton',
8
- 'Docs.Settings',
9
- 'Ext.form.field.Checkbox'
10
- ],
11
-
12
- dock: 'top',
13
- cls: 'member-links',
14
- padding: '3 5',
15
-
16
- /**
17
- * @cfg {Object} docClass
18
- * Documentation for a class.
19
- */
20
- docClass: {},
21
-
22
- initComponent: function() {
23
- this.addEvents(
24
- /**
25
- * @event hideInherited
26
- * Fires when hideInherited checkbox toggled.
27
- * @param {Boolean} hide True when inherited items should get hidden.
28
- */
29
- "hideInherited",
30
- /**
31
- * @event filter
32
- * Fires when text typed to filter.
33
- * @param {String} search The search text.
34
- */
35
- "filter",
36
- /**
37
- * @event toggleExpanded
38
- * Fires expandAll/collapseAll buttons clicked.
39
- * @param {Boolean} expand True to expand all, false to collapse all.
40
- */
41
- "toggleExpanded"
42
- );
43
-
44
- this.items = [];
45
- this.memberButtons = {};
46
-
47
- var memberTitles = {
48
- cfg: "Configs",
49
- property: "Properties",
50
- method: "Methods",
51
- event: "Events"
52
- };
53
- for (var type in memberTitles) {
54
- var members = this.docClass.members[type];
55
- var statics = this.docClass.statics[type];
56
- if (members.length || statics.length) {
57
- var btn = this.createMemberButton({
58
- text: memberTitles[type],
59
- type: type,
60
- members: members.concat(statics)
61
- });
62
- this.memberButtons[type] = btn;
63
- this.items.push(btn);
64
- }
65
- }
66
-
67
- if (this.docClass.subclasses.length) {
68
- this.items.push(this.createClassListButton("Sub Classes", this.docClass.subclasses));
69
- }
70
- if (this.docClass.mixedInto.length) {
71
- this.items.push(this.createClassListButton("Mixed Into", this.docClass.mixedInto));
72
- }
73
-
74
- this.items = this.items.concat([
75
- { xtype: 'tbspacer', width: 10 },
76
- this.filterField = Ext.widget("textfield", {
77
- emptyText: 'Find class members...',
78
- enableKeyEvents: true,
79
- listeners: {
80
- keyup: function(cmp) {
81
- this.fireEvent("filter", cmp.getValue());
82
- },
83
- specialkey: function(cmp, event) {
84
- if (event.keyCode === Ext.EventObject.ESC) {
85
- cmp.reset();
86
- this.fireEvent("filter", "");
87
- }
88
- },
89
- scope: this
90
- }
91
- }),
92
- { xtype: 'tbfill' },
93
- {
94
- boxLabel: 'Hide inherited',
95
- boxLabelAlign: 'before',
96
- xtype: 'checkbox',
97
- margin: '0 5 0 0',
98
- padding: '0 0 5 0',
99
- checked: Docs.Settings.get("hideInherited"),
100
- handler: function(el) {
101
- this.fireEvent("hideInherited", el.checked);
102
- },
103
- scope: this
104
- },
105
- {
106
- xtype: 'button',
107
- iconCls: 'expandAllMembers',
108
- tooltip: "Expand all",
109
- enableToggle: true,
110
- toggleHandler: function(btn, pressed) {
111
- btn.setIconCls(pressed ? 'collapseAllMembers' : 'expandAllMembers');
112
- btn.setTooltip(pressed ? "Collapse all" : "Expand all");
113
- this.fireEvent("toggleExpanded", pressed);
114
- },
115
- scope: this
116
- }
117
- ]);
118
-
119
- this.callParent(arguments);
120
- },
121
-
122
- createMemberButton: function(cfg) {
123
- var data = Ext.Array.map(cfg.members, function(m) {
124
- return this.createLinkRecord(this.docClass.name, m);
125
- }, this);
126
-
127
- return Ext.create('Docs.view.HoverMenuButton', {
128
- text: cfg.text,
129
- cls: 'icon-'+cfg.type,
130
- store: this.createStore(data),
131
- showCount: true,
132
- listeners: {
133
- click: function() {
134
- this.up('classoverview').scrollToEl("#m-" + cfg.type);
135
- },
136
- scope: this
137
- }
138
- });
139
- },
140
-
141
- createClassListButton: function(text, classes) {
142
- var data = Ext.Array.map(classes, function(cls) {
143
- return this.createLinkRecord(cls);
144
- }, this);
145
-
146
- return Ext.create('Docs.view.HoverMenuButton', {
147
- text: text,
148
- cls: 'icon-subclass',
149
- showCount: true,
150
- store: this.createStore(data)
151
- });
152
- },
153
-
154
- // creates store tha holds link records
155
- createStore: function(records) {
156
- var store = Ext.create('Ext.data.Store', {
157
- fields: ['id', 'cls', 'url', 'label', 'inherited', 'static']
158
- });
159
- store.add(records);
160
- return store;
161
- },
162
-
163
- // Creates link object referencing a class (and optionally a class member)
164
- createLinkRecord: function(cls, member) {
165
- return {
166
- cls: cls,
167
- url: member ? cls+"-"+member.tagname+"-"+member.name : cls,
168
- label: member ? ((member.name === "constructor") ? cls : member.name) : cls,
169
- inherited: member ? member.owner !== cls : false,
170
- 'static': member ? member['static'] : false
171
- };
172
- },
173
-
174
- /**
175
- * Hides or unhides inherited members in dropdown menus.
176
- * @param {Boolean} hide
177
- */
178
- hideInherited: function(hide) {
179
- Ext.Array.forEach(['cfg', 'property', 'method', 'event'], function(type) {
180
- if (this.memberButtons[type]) {
181
- var store = this.memberButtons[type].getStore();
182
- if (hide) {
183
- store.filterBy(function(m) { return !m.get("inherited"); });
184
- }
185
- else {
186
- store.clearFilter();
187
- }
188
- }
189
- }, this);
190
- },
191
-
192
- /**
193
- * Returns the current text in filter field.
194
- * @return {String}
195
- */
196
- getFilterValue: function() {
197
- return this.filterField.getValue();
198
- }
199
- });
@@ -1,62 +0,0 @@
1
- /**
2
- * List of classes on front page.
3
- * Together with links to guides and icons legend.
4
- */
5
- Ext.define('Docs.view.index.Container', {
6
- extend: 'Ext.container.Container',
7
- alias : 'widget.indexcontainer',
8
- cls: 'class-list',
9
-
10
- initComponent: function() {
11
- this.tpl = new Ext.XTemplate(
12
- '<h1 class="top">{title}</h1>',
13
- '<tpl if="notice">',
14
- '<div class="notice">{notice}</div>',
15
- '</tpl>',
16
- '<div class="section legend">',
17
- '<h4>Legend</h4>',
18
- '<ul>',
19
- '<li class="icon icon-pkg">Package</li>',
20
- '<li class="icon icon-class">Class</li>',
21
- '<li class="icon icon-singleton">Singleton</li>',
22
- '<li class="icon icon-component">Component</li>',
23
- '<li class="icon icon-guide">Guide</li>',
24
- '</ul>',
25
- '</div>',
26
- '<tpl if="guides">',
27
- '<div class="section guides">',
28
- '<h1>Guides</h1>',
29
- '{guides}',
30
- '<div class="examples">',
31
- '<a href="http://dev.sencha.com/deploy/ext-4.0.2a/examples/index.html">View the Ext 4.0 examples &rarr;</a>',
32
- '</div>',
33
- '</div>',
34
- '</tpl>',
35
- '{categories}'
36
- );
37
- this.data = this.extractData();
38
-
39
- this.callParent(arguments);
40
- },
41
-
42
- // Extracts HTML from hidden elements in page
43
- extractData: function() {
44
- var data = {
45
- notice: Ext.get("notice-text"),
46
- guides: Ext.get("guides-content"),
47
- categories: Ext.get("categories-content")
48
- };
49
- for (var i in data) {
50
- var el = data[i];
51
- if (el) {
52
- // If page contains the div then extract its contents,
53
- // after that remove the original
54
- data[i] = el.dom.innerHTML;
55
- el.remove();
56
- }
57
- }
58
- // Extract <title> text
59
- data.title = Ext.query("title")[0].innerHTML;
60
- return data;
61
- }
62
- });