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,301 +0,0 @@
1
- /**
2
- * Listeners should be defined here instead of in the view classes
3
- */
4
- Ext.define('Docs.controller.Classes', {
5
- extend: 'Ext.app.Controller',
6
-
7
- requires: [
8
- 'Docs.History',
9
- 'Docs.Syntax',
10
- 'Docs.view.cls.Overview'
11
- ],
12
-
13
- stores: [
14
- 'Favorites',
15
- 'Settings'
16
- ],
17
-
18
- models: [
19
- 'Favorite',
20
- 'Setting'
21
- ],
22
-
23
- refs: [
24
- {
25
- ref: 'viewport',
26
- selector: '#viewport'
27
- },
28
- {
29
- ref: 'header',
30
- selector: 'classheader'
31
- },
32
- {
33
- ref: 'overview',
34
- selector: 'classoverview'
35
- },
36
- {
37
- ref: 'tree',
38
- selector: 'classtree'
39
- },
40
- {
41
- ref: 'favoritesGrid',
42
- selector: '#favorites-grid'
43
- }
44
- ],
45
-
46
- activeUrl: null,
47
-
48
- init: function() {
49
- this.addEvents(
50
- /**
51
- * @event showClass
52
- * Fired after class shown. Used for analytics event tracking.
53
- * @param {String} cls name of the class.
54
- */
55
- "showClass",
56
- /**
57
- * @event showMember
58
- * Fired after class member scrolled to view. Used for analytics event tracking.
59
- * @param {String} cls name of the class.
60
- * @param {String} anchor name of the member in form type-name like "method-bind".
61
- */
62
- "showMember",
63
- /**
64
- * @event showGuide
65
- * Fired after guide shown. Used for analytics event tracking.
66
- * @param {String} guide name of the guide.
67
- */
68
- "showGuide"
69
- );
70
-
71
- Ext.getBody().addListener('click', function(event, el) {
72
- this.handleUrlClick(el.href, event);
73
- }, this, {
74
- preventDefault: true,
75
- delegate: '.docClass'
76
- });
77
-
78
- this.control({
79
- 'classtree': {
80
- urlclick: function(url, event) {
81
- this.handleUrlClick(url, event, this.getTree());
82
- }
83
- },
84
- 'classgrid': {
85
- urlclick: function(url, event) {
86
- this.handleUrlClick(url, event, this.getFavoritesGrid());
87
- }
88
- },
89
-
90
- 'indexcontainer': {
91
- afterrender: function(cmp) {
92
- cmp.el.addListener('click', function(event, el) {
93
- this.handleUrlClick(el.href, event);
94
- }, this, {
95
- preventDefault: true,
96
- delegate: '.guide'
97
- });
98
- }
99
- },
100
-
101
- 'toolbar': {
102
- toggleExpanded: function(expanded) {
103
- Ext.Array.forEach(Ext.query('.side.expandable'), function(el) {
104
- Ext.get(el).parent()[expanded ? "addCls" : "removeCls"]('open');
105
- });
106
- }
107
- },
108
-
109
- 'classoverview': {
110
- afterrender: function(cmp) {
111
- // Expand member when clicked
112
- cmp.el.addListener('click', function(cmp, el) {
113
- Ext.get(Ext.get(el).up('.member')).toggleCls('open');
114
- }, this, {
115
- preventDefault: true,
116
- delegate: '.expandable'
117
- });
118
-
119
- // Do nothing when clicking on not-expandable items
120
- cmp.el.addListener('click', Ext.emptyFn, this, {
121
- preventDefault: true,
122
- delegate: '.not-expandable'
123
- });
124
- }
125
- }
126
- });
127
- },
128
-
129
- // We don't want to select the class that was opened in another window,
130
- // so restore the previous selection.
131
- handleUrlClick: function(url, event, view) {
132
- // Remove everything up to #
133
- url = url.replace(/.*#/, "");
134
-
135
- if (this.opensNewWindow(event)) {
136
- window.open("#"+url);
137
- view && view.selectUrl(this.activeUrl ? this.activeUrl : "");
138
- }
139
- else {
140
- if (/^\/api\//.test(url)) {
141
- this.loadClass(url);
142
- }
143
- else {
144
- this.loadGuide(url);
145
- }
146
- }
147
- },
148
-
149
- // Code for the middle mouse button
150
- MIDDLE: 1,
151
-
152
- // True when middle mouse button pressed or shift/ctrl key pressed
153
- // together with mouse button (for Mac)
154
- opensNewWindow: function(event) {
155
- return event.button === this.MIDDLE || event.shiftKey || event.ctrlKey;
156
- },
157
-
158
- /**
159
- * Loads main page.
160
- *
161
- * @param {Boolean} noHistory true to disable adding entry to browser history
162
- */
163
- loadIndex: function(noHistory) {
164
- this.activeUrl = "";
165
- if (!noHistory) {
166
- Docs.History.push("");
167
- }
168
- this.getViewport().setPageTitle("");
169
- Ext.getCmp('card-panel').layout.setActiveItem(0);
170
- },
171
-
172
- cache: {},
173
-
174
- /**
175
- * Loads class.
176
- *
177
- * @param {String} url name of the class + optionally name of the method, separated with dash.
178
- * @param {Boolean} noHistory true to disable adding entry to browser history
179
- */
180
- loadClass: function(url, noHistory) {
181
- if (this.activeUrl === url) return;
182
- this.activeUrl = url;
183
-
184
- if (!noHistory) {
185
- Docs.History.push(url);
186
- }
187
-
188
- Ext.getCmp('card-panel').layout.setActiveItem(1);
189
-
190
- // separate class and member name
191
- var matches = url.match(/^\/api\/(.*?)(?:-(.*))?$/);
192
- var cls = matches[1];
193
- var member = matches[2];
194
-
195
- if (this.cache[cls]) {
196
- this.showClass(this.cache[cls], member);
197
- }
198
- else {
199
- if (this.getOverview()) {
200
- this.getOverview().setLoading(true);
201
- }
202
-
203
- Ext.data.JsonP.request({
204
- url: this.getBaseUrl() + '/output/' + cls + '.js',
205
- callbackName: cls.replace(/\./g, '_'),
206
- success: function(json, opts) {
207
- this.cache[cls] = json;
208
- this.showClass(json, member);
209
- },
210
- failure: function(response, opts) {
211
- this.showFailure("Class <b>"+cls+"</b> was not found.");
212
- },
213
- scope: this
214
- });
215
- }
216
- },
217
-
218
- showClass: function(cls, anchor) {
219
- if (this.currentCls !== cls) {
220
- this.getViewport().setPageTitle(cls.name);
221
- this.getHeader().load(cls);
222
- this.getOverview().load(cls);
223
-
224
- this.getOverview().setLoading(false);
225
-
226
- this.getTree().selectUrl("/api/"+cls.name);
227
- this.fireEvent('showClass', cls.name);
228
- }
229
-
230
- if (anchor) {
231
- this.getOverview().scrollToEl("#" + anchor);
232
- this.fireEvent('showMember', cls.name, anchor);
233
- } else {
234
- this.getOverview().getEl().down('.x-panel-body').scrollTo('top', 0);
235
- }
236
-
237
- this.currentCls = cls;
238
-
239
- this.getFavoritesGrid().selectUrl("/api/"+cls.name);
240
- },
241
-
242
- /**
243
- * Loads guide.
244
- *
245
- * @param {String} url URL of the guide
246
- * @param {Boolean} noHistory true to disable adding entry to browser history
247
- */
248
- loadGuide: function(url, noHistory) {
249
- if (this.activeUrl === url) return;
250
- this.activeUrl = url;
251
-
252
- noHistory || Docs.History.push(url);
253
-
254
- var name = url.match(/^\/guide\/(.*)$/)[1];
255
- Ext.data.JsonP.request({
256
- url: this.getBaseUrl() + "/guides/" + name + "/README.js",
257
- callbackName: name,
258
- success: function(json) {
259
- this.getViewport().setPageTitle(json.guide.match(/<h1>(.*)<\/h1>/)[1]);
260
- Ext.getCmp("guide").update(json.guide);
261
- Ext.getCmp('card-panel').layout.setActiveItem(2);
262
- Docs.Syntax.highlight(Ext.get("guide"));
263
- this.fireEvent('showGuide', name);
264
- this.getTree().selectUrl(url);
265
- this.getFavoritesGrid().selectUrl(url);
266
- },
267
- failure: function(response, opts) {
268
- this.showFailure("Guide <b>"+name+"</b> was not found.");
269
- },
270
- scope: this
271
- });
272
- },
273
-
274
- /**
275
- * Displays page with 404 error message.
276
- * @param {String} msg
277
- * @private
278
- */
279
- showFailure: function(msg) {
280
- this.getOverview().setLoading(false);
281
- var tpl = new Ext.XTemplate(
282
- "<h1>Oops...</h1>",
283
- "<p>{msg}</p>",
284
- "<p>Maybe it was renamed to something else? Or maybe it has passed away permanently to the 404 land? ",
285
- "This would be sad. Hopefully it's just a bug in our side. ",
286
- "Report it to <a href='http://www.sencha.com/forum/showthread.php?135036'>Sencha Forum</a> if you feel so.</p>",
287
- "<p>Sorry for all this :(</p>"
288
- );
289
- Ext.getCmp("failure").update(tpl.apply({msg: msg}));
290
- Ext.getCmp('card-panel').layout.setActiveItem("failure");
291
- },
292
-
293
- /**
294
- * Returns base URL used for making AJAX requests.
295
- * @return {String} URL
296
- */
297
- getBaseUrl: function() {
298
- return document.location.href.replace(/#.*/, "").replace(/index.html/, "");
299
- }
300
-
301
- });
@@ -1,189 +0,0 @@
1
- /**
2
- * Controller for search.
3
- */
4
- Ext.define('Docs.controller.Search', {
5
- extend: 'Ext.app.Controller',
6
-
7
- views: [
8
- 'search.Dropdown'
9
- ],
10
-
11
- stores: ['Search'],
12
-
13
- refs: [
14
- {
15
- ref: 'field',
16
- selector: '#search-field'
17
- }
18
- ],
19
-
20
- // Currentl page in search results and nr of items on one page
21
- pageIndex: 0,
22
- pageSize: 10,
23
-
24
- init: function() {
25
- this.control({
26
- '#search-dropdown': {
27
- itemclick: function(dropdown, record) {
28
- this.loadRecord(record);
29
- },
30
- changePage: function(dropdown, delta) {
31
- // don't hide dropdown
32
- clearTimeout(this.hideTimeout);
33
- this.getField().focus();
34
-
35
- // increment page number and update search results display
36
- this.pageIndex += delta;
37
- this.search(this.getField().getValue());
38
- }
39
- },
40
- '#search-field': {
41
- keyup: function(el, ev) {
42
- var dropdown = this.getDropdown();
43
-
44
- el.setHideTrigger(el.getValue().length === 0);
45
-
46
- if (ev.keyCode === Ext.EventObject.ESC || !el.value) {
47
- dropdown.hide();
48
- el.setValue("");
49
- return;
50
- }
51
- else {
52
- dropdown.show();
53
- }
54
-
55
- var selModel = dropdown.getSelectionModel();
56
- var record = selModel.getLastSelected();
57
- var curIndex = dropdown.store.indexOf(record);
58
- var lastIndex = dropdown.store.getCount() - 1;
59
-
60
- if (ev.keyCode === Ext.EventObject.UP) {
61
- if (curIndex === undefined) {
62
- selModel.select(0);
63
- } else {
64
- selModel.select(curIndex === 0 ? lastIndex : (curIndex - 1));
65
- }
66
- }
67
- else if (ev.keyCode === Ext.EventObject.DOWN) {
68
- if (curIndex === undefined) {
69
- selModel.select(0);
70
- } else {
71
- selModel.select(curIndex === lastIndex ? 0 : curIndex + 1);
72
- }
73
- }
74
- else if (ev.keyCode === Ext.EventObject.ENTER) {
75
- ev.preventDefault();
76
- record && this.loadRecord(record);
77
- }
78
- else {
79
- // A new search - reset paging back to first page
80
- this.pageIndex = 0;
81
- // Wait a bit before actually performing the search.
82
- // When user is typing fast, the value of el.value
83
- // might not right away be the final value. For example
84
- // user might type "tre" but we will get three keyup events
85
- // where el.value === "t".
86
- clearTimeout(this.searchTimeout);
87
- this.searchTimeout = Ext.Function.defer(function() {
88
- this.search(el.value);
89
- }, 50, this);
90
- }
91
- },
92
- focus: function(el) {
93
- if (el.value && this.getDropdown().store.getCount() > 0) {
94
- this.getDropdown().show();
95
- }
96
- },
97
- blur: function() {
98
- // Don't hide the dropdown right away, otherwise
99
- // we don't receive the itemclick event when focus
100
- // was lost because we clicked on dropdown item.
101
- // Not really a good solution, but I can't
102
- // currently think of anything better. Behaves
103
- // badly when you make a long mouse press on
104
- // dropdown item.
105
- var dropdown = this.getDropdown();
106
- this.hideTimeout = Ext.Function.defer(dropdown.hide, 500, dropdown);
107
- }
108
- }
109
- });
110
- },
111
-
112
- getDropdown: function() {
113
- return this.dropdown || (this.dropdown = Ext.getCmp('search-dropdown'));
114
- },
115
-
116
- // loads class/method corrseponding to the record
117
- loadRecord: function(record) {
118
- var name = record.get("cls");
119
- if (record.get("type") !== 'cls') {
120
- name += '-' + record.get("type") + '-' + record.get("member");
121
- }
122
- Docs.App.getController('Classes').loadClass("/api/"+name);
123
- this.getDropdown().hide();
124
- },
125
-
126
- search: function(term) {
127
- // perform search and load results to store
128
- var results = this.filterMembers(term);
129
-
130
- // Don't allow paging before first or after the last page.
131
- if (this.pageIndex < 0) {
132
- this.pageIndex = 0;
133
- }
134
- else if (this.pageIndex > Math.floor(results.length / this.pageSize)) {
135
- this.pageIndex = Math.floor(results.length / this.pageSize);
136
- }
137
- var start = this.pageIndex * this.pageSize;
138
- var end = start + this.pageSize;
139
-
140
- this.getDropdown().setTotal(results.length);
141
- this.getDropdown().setStart(start);
142
- this.getDropdown().getStore().loadData(results.slice(start, end));
143
- // position dropdown below search box
144
- this.getDropdown().alignTo('search-field', 'bl', [-23, 2]);
145
- // hide dropdown when nothing found
146
- if (results.length === 0) {
147
- this.getDropdown().hide();
148
- }
149
- else {
150
- // auto-select first result
151
- this.getDropdown().getSelectionModel().select(0);
152
- }
153
- },
154
-
155
- filterMembers: function(text) {
156
- var results = [[], [], [], [], [], [], [], []];
157
- var xFull=0, clsFull=1, mFull=2, xBeg=3, clsBeg=4, mBeg=5, clsMid=6, mMid=7;
158
- var hasDot = /\./.test(text);
159
- var safeText = Ext.escapeRe(text);
160
- var reFull = new RegExp("^" + safeText + "$", "i");
161
- var reBeg = new RegExp("^" + safeText, "i");
162
- var reMid = new RegExp(safeText, "i");
163
-
164
- Ext.Array.forEach(Docs.searchData.data, function(r) {
165
- // when search text has "." in it, search from the full name (e.g. "Ext.Component.focus")
166
- // Otherwise search from just the member name (e.g. "focus" or "Component")
167
- var name = hasDot ? r.cls + (r.type === "cls" ? "" : "." + r.member) : r.member;
168
-
169
- if (r.xtypes && Ext.Array.some(r.xtypes, function(x) {return reFull.test(x);})) {
170
- results[xFull].push(r);
171
- }
172
- else if (reFull.test(name)) {
173
- results[r.type === "cls" ? clsFull : mFull].push(r);
174
- }
175
- else if (r.xtypes && Ext.Array.some(r.xtypes, function(x) {return reBeg.test(x);})) {
176
- results[xBeg].push(r);
177
- }
178
- else if (reBeg.test(name)) {
179
- results[r.type === "cls" ? clsBeg : mBeg].push(r);
180
- }
181
- else if (reMid.test(name)) {
182
- results[r.type === "cls" ? clsMid : mMid].push(r);
183
- }
184
- });
185
-
186
- return Ext.Array.flatten(results);
187
- }
188
-
189
- });
@@ -1,11 +0,0 @@
1
- /**
2
- * Favorite classes
3
- */
4
- Ext.define('Docs.model.Favorite', {
5
- fields: ['id', 'url', 'title', 'cls'],
6
- extend: 'Ext.data.Model',
7
- proxy: {
8
- type: ('localStorage' in window && window['localStorage'] !== null) ? 'localstorage' : 'memory',
9
- id: Docs.localStorageDb + '-favorites'
10
- }
11
- });
@@ -1,11 +0,0 @@
1
- /**
2
- * Key-value pairs of Docs app settings.
3
- */
4
- Ext.define('Docs.model.Setting', {
5
- fields: ['id', 'key', 'value'],
6
- extend: 'Ext.data.Model',
7
- proxy: {
8
- type: ('localStorage' in window && window['localStorage'] !== null) ? 'localstorage' : 'memory',
9
- id: Docs.localStorageDb + '-settings'
10
- }
11
- });
@@ -1,7 +0,0 @@
1
- /**
2
- * Favorites Store
3
- */
4
- Ext.define('Docs.store.Favorites', {
5
- extend: 'Ext.data.Store',
6
- model: 'Docs.model.Favorite'
7
- });
@@ -1,14 +0,0 @@
1
- /**
2
- * Store for keeping search results.
3
- */
4
- Ext.define('Docs.store.Search', {
5
- extend: 'Ext.data.Store',
6
-
7
- fields: ['cls', 'member', 'type', 'xtypes'],
8
- proxy: {
9
- type: 'memory',
10
- reader: {
11
- type: 'json'
12
- }
13
- }
14
- });
@@ -1,7 +0,0 @@
1
- /**
2
- * Store for keeping Docs app settings
3
- */
4
- Ext.define('Docs.store.Settings', {
5
- extend: 'Ext.data.Store',
6
- model: 'Docs.model.Setting'
7
- });
@@ -1,114 +0,0 @@
1
- /**
2
- * Gridpanel for showing list of classes.
3
- */
4
- Ext.define('Docs.view.ClassGrid', {
5
- extend: 'Ext.grid.Panel',
6
- alias: 'widget.classgrid',
7
- hideHeaders: true,
8
- border: false,
9
- bodyBorder: false,
10
-
11
- /**
12
- * @cfg {Object} icons
13
- * Mapping of class names to icon class names.
14
- */
15
- icons: {},
16
-
17
- /**
18
- * @cfg {Boolean} enableClose
19
- * Show or hide the close column
20
- */
21
- enableClose: true,
22
-
23
- initComponent: function() {
24
- this.addEvents(
25
- /**
26
- * @event
27
- * Fired when class in grid clicked.
28
- * @param {String} url URL of the page that was selected. For example "/api/Ext.Ajax".
29
- * @param {Ext.EventObject} e
30
- */
31
- "urlclick",
32
- /**
33
- * @event
34
- * Fired when close button in grid clicked.
35
- * @param {String} url URL of the page that was closed. For example "/api/Ext.Ajax".
36
- */
37
- "closeclick"
38
- );
39
-
40
- this.columns = [
41
- {
42
- width: 18,
43
- dataIndex: 'url',
44
- renderer: function(url, data) {
45
- data.tdCls = this.icons[url];
46
- },
47
- scope: this
48
- },
49
- {
50
- dataIndex: 'title',
51
- flex: true,
52
- renderer: function(title, data, r) {
53
- return Ext.String.format('<a href="#{0}" rel="{0}" class="docClass">{1}</a>', r.get("url"), title);
54
- }
55
- }
56
- ];
57
-
58
- if (this.enableClose) {
59
- this.columns = this.columns.concat([
60
- {
61
- xtype: 'actioncolumn',
62
- width: 18,
63
- icon: 'resources/images/x12.png',
64
- tooltip: 'Delete',
65
- handler: function(view, rowIndex) {
66
- this.fireEvent("closeclick", this.getStore().getAt(rowIndex).get("url"));
67
- },
68
- scope: this
69
- }
70
- ]);
71
- }
72
-
73
- this.callParent(arguments);
74
-
75
- this.on("itemclick", function(view, record, item, index, event) {
76
- // Only fire urlclick when the row background is clicked
77
- // (that doesn't contain neither the link nor the close
78
- // button).
79
- if (!event.getTarget("img") && !event.getTarget("a")) {
80
- this.fireEvent("urlclick", record.get("url"), event);
81
- }
82
- }, this);
83
-
84
- // Initialize selection after rendering
85
- this.on("afterrender", function() {
86
- this.selectUrl(this.selectedUrl);
87
- }, this);
88
- },
89
-
90
- /**
91
- * Selects page if grid contains such.
92
- * Fires no events while selecting.
93
- * @param {String} url page URL.
94
- */
95
- selectUrl: function(url) {
96
- this.selectedUrl = url;
97
- // when grid hasn't been rendered yet, trying to select will give us error.
98
- if (this.rendered) {
99
- var index = this.getStore().findExact('url', url);
100
- this.selectIndex(index);
101
- }
102
- },
103
-
104
- selectIndex: function(index) {
105
- if (index > -1) {
106
- this.view.focusRow(index);
107
- this.getSelectionModel().select(index, false, true);
108
- }
109
- else {
110
- this.getSelectionModel().deselectAll(true);
111
- }
112
- }
113
-
114
- });