javascriptmvc 3.0.0.pre15

Sign up to get free protection for your applications and to get access to all the features.
Files changed (550) hide show
  1. data/.document +5 -0
  2. data/.gitignore +21 -0
  3. data/README.markdown +15 -0
  4. data/Rakefile +17 -0
  5. data/VERSION +1 -0
  6. data/bin/jmvc-build +4 -0
  7. data/bin/jmvc-gen +4 -0
  8. data/bin/jmvc-get +4 -0
  9. data/bin/jmvc-init +4 -0
  10. data/bin/jmvc-update +4 -0
  11. data/lib/javascriptmvc.rb +97 -0
  12. data/lib/javascriptmvc/documentjs/README +0 -0
  13. data/lib/javascriptmvc/documentjs/add.js +76 -0
  14. data/lib/javascriptmvc/documentjs/application.js +285 -0
  15. data/lib/javascriptmvc/documentjs/attribute.js +61 -0
  16. data/lib/javascriptmvc/documentjs/baseclass.js +537 -0
  17. data/lib/javascriptmvc/documentjs/class.js +141 -0
  18. data/lib/javascriptmvc/documentjs/constructor.js +145 -0
  19. data/lib/javascriptmvc/documentjs/directives.js +394 -0
  20. data/lib/javascriptmvc/documentjs/distance.js +49 -0
  21. data/lib/javascriptmvc/documentjs/document +21 -0
  22. data/lib/javascriptmvc/documentjs/documentjs.js +76 -0
  23. data/lib/javascriptmvc/documentjs/file.js +55 -0
  24. data/lib/javascriptmvc/documentjs/function.js +112 -0
  25. data/lib/javascriptmvc/documentjs/jmvcdoc/images/close.png +0 -0
  26. data/lib/javascriptmvc/documentjs/jmvcdoc/images/download.png +0 -0
  27. data/lib/javascriptmvc/documentjs/jmvcdoc/images/fav-off.png +0 -0
  28. data/lib/javascriptmvc/documentjs/jmvcdoc/images/fav-on.png +0 -0
  29. data/lib/javascriptmvc/documentjs/jmvcdoc/images/favicon.ico +0 -0
  30. data/lib/javascriptmvc/documentjs/jmvcdoc/images/logo.png +0 -0
  31. data/lib/javascriptmvc/documentjs/jmvcdoc/images/pre.png +0 -0
  32. data/lib/javascriptmvc/documentjs/jmvcdoc/images/ui-bg_flat_0_aaaaaa_40x100.png +0 -0
  33. data/lib/javascriptmvc/documentjs/jmvcdoc/images/ui-bg_flat_75_ffffff_40x100.png +0 -0
  34. data/lib/javascriptmvc/documentjs/jmvcdoc/images/ui-bg_glass_55_fbf9ee_1x400.png +0 -0
  35. data/lib/javascriptmvc/documentjs/jmvcdoc/images/ui-bg_glass_65_ffffff_1x400.png +0 -0
  36. data/lib/javascriptmvc/documentjs/jmvcdoc/images/ui-bg_glass_75_dadada_1x400.png +0 -0
  37. data/lib/javascriptmvc/documentjs/jmvcdoc/images/ui-bg_glass_75_e6e6e6_1x400.png +0 -0
  38. data/lib/javascriptmvc/documentjs/jmvcdoc/images/ui-bg_glass_95_fef1ec_1x400.png +0 -0
  39. data/lib/javascriptmvc/documentjs/jmvcdoc/images/ui-bg_highlight-soft_75_cccccc_1x100.png +0 -0
  40. data/lib/javascriptmvc/documentjs/jmvcdoc/images/ui-icons_222222_256x240.png +0 -0
  41. data/lib/javascriptmvc/documentjs/jmvcdoc/images/ui-icons_2e83ff_256x240.png +0 -0
  42. data/lib/javascriptmvc/documentjs/jmvcdoc/images/ui-icons_454545_256x240.png +0 -0
  43. data/lib/javascriptmvc/documentjs/jmvcdoc/images/ui-icons_888888_256x240.png +0 -0
  44. data/lib/javascriptmvc/documentjs/jmvcdoc/images/ui-icons_cd0a0a_256x240.png +0 -0
  45. data/lib/javascriptmvc/documentjs/jmvcdoc/images/video.png +0 -0
  46. data/lib/javascriptmvc/documentjs/jmvcdoc/production.js +552 -0
  47. data/lib/javascriptmvc/documentjs/jmvcdoc/style.css +354 -0
  48. data/lib/javascriptmvc/documentjs/jmvcdoc/summary.ejs +134 -0
  49. data/lib/javascriptmvc/documentjs/json.js +172 -0
  50. data/lib/javascriptmvc/documentjs/page.js +107 -0
  51. data/lib/javascriptmvc/documentjs/pair.js +302 -0
  52. data/lib/javascriptmvc/documentjs/prototype.js +13 -0
  53. data/lib/javascriptmvc/documentjs/scripts/build.js +6 -0
  54. data/lib/javascriptmvc/documentjs/static.js +25 -0
  55. data/lib/javascriptmvc/documentjs/test/docs/Something.json +1 -0
  56. data/lib/javascriptmvc/documentjs/test/docs/searchData.json +1 -0
  57. data/lib/javascriptmvc/documentjs/test/something.js +8 -0
  58. data/lib/javascriptmvc/documentjs/test/test.html +6 -0
  59. data/lib/javascriptmvc/documentjs/test_doc.html +1 -0
  60. data/lib/javascriptmvc/documentjs/update +5 -0
  61. data/lib/javascriptmvc/funcunit/README +17 -0
  62. data/lib/javascriptmvc/funcunit/autosuggest/auto_suggest.js +495 -0
  63. data/lib/javascriptmvc/funcunit/autosuggest/autosuggest.css +24 -0
  64. data/lib/javascriptmvc/funcunit/autosuggest/autosuggest.html +26 -0
  65. data/lib/javascriptmvc/funcunit/autosuggest/autosuggest.js +17 -0
  66. data/lib/javascriptmvc/funcunit/autosuggest/autosuggest_test.js +14 -0
  67. data/lib/javascriptmvc/funcunit/autosuggest/funcunit.html +15 -0
  68. data/lib/javascriptmvc/funcunit/build.js +54 -0
  69. data/lib/javascriptmvc/funcunit/drivers/selenium.js +129 -0
  70. data/lib/javascriptmvc/funcunit/drivers/standard.js +169 -0
  71. data/lib/javascriptmvc/funcunit/envjs +13 -0
  72. data/lib/javascriptmvc/funcunit/envjs.bat +28 -0
  73. data/lib/javascriptmvc/funcunit/funcunit.html +20 -0
  74. data/lib/javascriptmvc/funcunit/funcunit.js +1509 -0
  75. data/lib/javascriptmvc/funcunit/java/selenium-java-client-driver.jar +0 -0
  76. data/lib/javascriptmvc/funcunit/java/selenium-server.jar +0 -0
  77. data/lib/javascriptmvc/funcunit/qunit.html +22 -0
  78. data/lib/javascriptmvc/funcunit/qunit/qunit.css +119 -0
  79. data/lib/javascriptmvc/funcunit/qunit/qunit.js +1124 -0
  80. data/lib/javascriptmvc/funcunit/qunit/rhino/rhino.js +24 -0
  81. data/lib/javascriptmvc/funcunit/qunit/test/qunit.html +18 -0
  82. data/lib/javascriptmvc/funcunit/qunit/test/test.js +7 -0
  83. data/lib/javascriptmvc/funcunit/resources/funcunit.js +31 -0
  84. data/lib/javascriptmvc/funcunit/resources/jquery.js +6378 -0
  85. data/lib/javascriptmvc/funcunit/resources/json.js +201 -0
  86. data/lib/javascriptmvc/funcunit/resources/selenium_start.js +43 -0
  87. data/lib/javascriptmvc/funcunit/scripts/run.js +36 -0
  88. data/lib/javascriptmvc/funcunit/scripts/test.js +55 -0
  89. data/lib/javascriptmvc/funcunit/settings.js +10 -0
  90. data/lib/javascriptmvc/funcunit/synthetic/browsers.js +151 -0
  91. data/lib/javascriptmvc/funcunit/synthetic/demo.html +150 -0
  92. data/lib/javascriptmvc/funcunit/synthetic/demo/record.js +254 -0
  93. data/lib/javascriptmvc/funcunit/synthetic/drag/drag.html +41 -0
  94. data/lib/javascriptmvc/funcunit/synthetic/drag/drag.js +268 -0
  95. data/lib/javascriptmvc/funcunit/synthetic/drag/qunit.html +20 -0
  96. data/lib/javascriptmvc/funcunit/synthetic/drag/test/qunit/drag_test.js +195 -0
  97. data/lib/javascriptmvc/funcunit/synthetic/drag/test/qunit/qunit.js +7 -0
  98. data/lib/javascriptmvc/funcunit/synthetic/key.js +832 -0
  99. data/lib/javascriptmvc/funcunit/synthetic/mouse.js +291 -0
  100. data/lib/javascriptmvc/funcunit/synthetic/qunit.html +22 -0
  101. data/lib/javascriptmvc/funcunit/synthetic/recorder.html +303 -0
  102. data/lib/javascriptmvc/funcunit/synthetic/synthetic.html +85 -0
  103. data/lib/javascriptmvc/funcunit/synthetic/synthetic.js +796 -0
  104. data/lib/javascriptmvc/funcunit/synthetic/test/qunit/key_test.js +391 -0
  105. data/lib/javascriptmvc/funcunit/synthetic/test/qunit/mouse_test.js +233 -0
  106. data/lib/javascriptmvc/funcunit/synthetic/test/qunit/qunit.js +6 -0
  107. data/lib/javascriptmvc/funcunit/synthetic/test/qunit/synthetic_test.js +91 -0
  108. data/lib/javascriptmvc/funcunit/synthetic/test/submit.html +29 -0
  109. data/lib/javascriptmvc/funcunit/synthetic/test/submitted.html +3 -0
  110. data/lib/javascriptmvc/funcunit/template.html +18 -0
  111. data/lib/javascriptmvc/funcunit/test/drag.html +63 -0
  112. data/lib/javascriptmvc/funcunit/test/funcunit/funcunit.js +3 -0
  113. data/lib/javascriptmvc/funcunit/test/funcunit/funcunit_test.js +87 -0
  114. data/lib/javascriptmvc/funcunit/test/funcunit/open_test.js +28 -0
  115. data/lib/javascriptmvc/funcunit/test/funcunit/protodrag_test.js +13 -0
  116. data/lib/javascriptmvc/funcunit/test/funcunit/syn_test.js +41 -0
  117. data/lib/javascriptmvc/funcunit/test/jquery.event.drag.js +801 -0
  118. data/lib/javascriptmvc/funcunit/test/jquery.event.drop.js +439 -0
  119. data/lib/javascriptmvc/funcunit/test/jquery.js +6360 -0
  120. data/lib/javascriptmvc/funcunit/test/myapp.html +103 -0
  121. data/lib/javascriptmvc/funcunit/test/myotherapp.html +15 -0
  122. data/lib/javascriptmvc/funcunit/test/protodrag/dragdrop.js +974 -0
  123. data/lib/javascriptmvc/funcunit/test/protodrag/effects.js +1123 -0
  124. data/lib/javascriptmvc/funcunit/test/protodrag/funcunit_test.js +20 -0
  125. data/lib/javascriptmvc/funcunit/test/protodrag/myapp.html +63 -0
  126. data/lib/javascriptmvc/funcunit/test/protodrag/prototype.js +4874 -0
  127. data/lib/javascriptmvc/funcunit/test/protodrag/scriptaculous.js +68 -0
  128. data/lib/javascriptmvc/funcunit/update +5 -0
  129. data/lib/javascriptmvc/jquery/README +24 -0
  130. data/lib/javascriptmvc/jquery/build.js +73 -0
  131. data/lib/javascriptmvc/jquery/class/class.html +109 -0
  132. data/lib/javascriptmvc/jquery/class/class.js +627 -0
  133. data/lib/javascriptmvc/jquery/class/qunit.html +15 -0
  134. data/lib/javascriptmvc/jquery/class/test/qunit/class_test.js +146 -0
  135. data/lib/javascriptmvc/jquery/class/test/qunit/qunit.js +5 -0
  136. data/lib/javascriptmvc/jquery/class/test/qunit/test.html +20 -0
  137. data/lib/javascriptmvc/jquery/controller/controller.html +89 -0
  138. data/lib/javascriptmvc/jquery/controller/controller.js +735 -0
  139. data/lib/javascriptmvc/jquery/controller/history/history.html +44 -0
  140. data/lib/javascriptmvc/jquery/controller/history/history.js +177 -0
  141. data/lib/javascriptmvc/jquery/controller/qunit.html +21 -0
  142. data/lib/javascriptmvc/jquery/controller/subscribe/funcunit.html +21 -0
  143. data/lib/javascriptmvc/jquery/controller/subscribe/scripts/compress.js +6 -0
  144. data/lib/javascriptmvc/jquery/controller/subscribe/scripts/docs.js +6 -0
  145. data/lib/javascriptmvc/jquery/controller/subscribe/subscribe.html +56 -0
  146. data/lib/javascriptmvc/jquery/controller/subscribe/subscribe.js +27 -0
  147. data/lib/javascriptmvc/jquery/controller/subscribe/test/funcunit/funcunit.js +3 -0
  148. data/lib/javascriptmvc/jquery/controller/subscribe/test/funcunit/run.js +10 -0
  149. data/lib/javascriptmvc/jquery/controller/subscribe/test/funcunit/subscribe_test.js +11 -0
  150. data/lib/javascriptmvc/jquery/controller/subscribe/test/qunit/qunit.html +21 -0
  151. data/lib/javascriptmvc/jquery/controller/subscribe/test/qunit/qunit.js +9 -0
  152. data/lib/javascriptmvc/jquery/controller/subscribe/test/qunit/run.js +2 -0
  153. data/lib/javascriptmvc/jquery/controller/subscribe/test/qunit/subscribe_test.js +4 -0
  154. data/lib/javascriptmvc/jquery/controller/test/qunit/controller_test.js +170 -0
  155. data/lib/javascriptmvc/jquery/controller/test/qunit/qunit.js +9 -0
  156. data/lib/javascriptmvc/jquery/controller/view/qunit.html +21 -0
  157. data/lib/javascriptmvc/jquery/controller/view/test/qunit/controller_view_test.js +15 -0
  158. data/lib/javascriptmvc/jquery/controller/view/test/qunit/qunit.js +6 -0
  159. data/lib/javascriptmvc/jquery/controller/view/test/qunit/views/init.micro +1 -0
  160. data/lib/javascriptmvc/jquery/controller/view/view.js +102 -0
  161. data/lib/javascriptmvc/jquery/dom/closest/closest.html +23 -0
  162. data/lib/javascriptmvc/jquery/dom/closest/closest.js +47 -0
  163. data/lib/javascriptmvc/jquery/dom/closest/funcunit.html +20 -0
  164. data/lib/javascriptmvc/jquery/dom/closest/qunit.html +22 -0
  165. data/lib/javascriptmvc/jquery/dom/closest/scripts/compress.js +3 -0
  166. data/lib/javascriptmvc/jquery/dom/closest/scripts/doc.js +4 -0
  167. data/lib/javascriptmvc/jquery/dom/closest/scripts/test.js +55 -0
  168. data/lib/javascriptmvc/jquery/dom/closest/settings.js +40 -0
  169. data/lib/javascriptmvc/jquery/dom/closest/test/funcunit/funcunit.js +3 -0
  170. data/lib/javascriptmvc/jquery/dom/closest/test/funcunit/tests/basic.js +11 -0
  171. data/lib/javascriptmvc/jquery/dom/closest/test/qunit/qunit.js +4 -0
  172. data/lib/javascriptmvc/jquery/dom/closest/test/qunit/tests/basic.js +4 -0
  173. data/lib/javascriptmvc/jquery/dom/compare/compare.html +88 -0
  174. data/lib/javascriptmvc/jquery/dom/compare/compare.js +67 -0
  175. data/lib/javascriptmvc/jquery/dom/compare/qunit.html +20 -0
  176. data/lib/javascriptmvc/jquery/dom/compare/test/qunit/compare_test.js +19 -0
  177. data/lib/javascriptmvc/jquery/dom/compare/test/qunit/qunit.js +5 -0
  178. data/lib/javascriptmvc/jquery/dom/cookie/cookie.html +25 -0
  179. data/lib/javascriptmvc/jquery/dom/cookie/cookie.js +119 -0
  180. data/lib/javascriptmvc/jquery/dom/cookie/scripts/compress.js +6 -0
  181. data/lib/javascriptmvc/jquery/dom/cookie/scripts/doc.js +6 -0
  182. data/lib/javascriptmvc/jquery/dom/cookie/test/funcunit/cookie_test.js +11 -0
  183. data/lib/javascriptmvc/jquery/dom/cookie/test/funcunit/funcunit.html +21 -0
  184. data/lib/javascriptmvc/jquery/dom/cookie/test/funcunit/funcunit.js +3 -0
  185. data/lib/javascriptmvc/jquery/dom/cookie/test/funcunit/run.js +10 -0
  186. data/lib/javascriptmvc/jquery/dom/cookie/test/qunit/cookie_test.js +4 -0
  187. data/lib/javascriptmvc/jquery/dom/cookie/test/qunit/qunit.html +21 -0
  188. data/lib/javascriptmvc/jquery/dom/cookie/test/qunit/qunit.js +9 -0
  189. data/lib/javascriptmvc/jquery/dom/cookie/test/qunit/run.js +2 -0
  190. data/lib/javascriptmvc/jquery/dom/cur_styles/cur_styles.html +71 -0
  191. data/lib/javascriptmvc/jquery/dom/cur_styles/cur_styles.js +120 -0
  192. data/lib/javascriptmvc/jquery/dom/cur_styles/qunit.html +22 -0
  193. data/lib/javascriptmvc/jquery/dom/cur_styles/test/qunit/curStyles.micro +3 -0
  194. data/lib/javascriptmvc/jquery/dom/cur_styles/test/qunit/cur_styles_test.js +22 -0
  195. data/lib/javascriptmvc/jquery/dom/cur_styles/test/qunit/outer.micro +0 -0
  196. data/lib/javascriptmvc/jquery/dom/cur_styles/test/qunit/qunit.js +4 -0
  197. data/lib/javascriptmvc/jquery/dom/dimensions/curstyles.html +22 -0
  198. data/lib/javascriptmvc/jquery/dom/dimensions/dimensions.html +132 -0
  199. data/lib/javascriptmvc/jquery/dom/dimensions/dimensions.js +140 -0
  200. data/lib/javascriptmvc/jquery/dom/dimensions/qunit.html +22 -0
  201. data/lib/javascriptmvc/jquery/dom/dimensions/test/qunit/curStyles.micro +3 -0
  202. data/lib/javascriptmvc/jquery/dom/dimensions/test/qunit/dimensions_test.js +8 -0
  203. data/lib/javascriptmvc/jquery/dom/dimensions/test/qunit/outer.micro +0 -0
  204. data/lib/javascriptmvc/jquery/dom/dimensions/test/qunit/qunit.js +4 -0
  205. data/lib/javascriptmvc/jquery/dom/dom.js +7 -0
  206. data/lib/javascriptmvc/jquery/dom/fixture/fixture.html +143 -0
  207. data/lib/javascriptmvc/jquery/dom/fixture/fixture.js +521 -0
  208. data/lib/javascriptmvc/jquery/dom/fixture/fixtures/messages.html +31 -0
  209. data/lib/javascriptmvc/jquery/dom/fixture/fixtures/test.json +3 -0
  210. data/lib/javascriptmvc/jquery/dom/fixture/qunit.html +22 -0
  211. data/lib/javascriptmvc/jquery/dom/fixture/test/qunit/fixture_test.js +50 -0
  212. data/lib/javascriptmvc/jquery/dom/fixture/test/qunit/qunit.js +4 -0
  213. data/lib/javascriptmvc/jquery/dom/form_params/form_params.html +57 -0
  214. data/lib/javascriptmvc/jquery/dom/form_params/form_params.js +106 -0
  215. data/lib/javascriptmvc/jquery/dom/form_params/qunit.html +22 -0
  216. data/lib/javascriptmvc/jquery/dom/form_params/test/qunit/basics.micro +27 -0
  217. data/lib/javascriptmvc/jquery/dom/form_params/test/qunit/checkbox.micro +20 -0
  218. data/lib/javascriptmvc/jquery/dom/form_params/test/qunit/form_params_test.js +43 -0
  219. data/lib/javascriptmvc/jquery/dom/form_params/test/qunit/qunit.js +4 -0
  220. data/lib/javascriptmvc/jquery/dom/form_params/test/qunit/truthy.micro +8 -0
  221. data/lib/javascriptmvc/jquery/dom/within/within.js +67 -0
  222. data/lib/javascriptmvc/jquery/error/background.png +0 -0
  223. data/lib/javascriptmvc/jquery/error/error.html +31 -0
  224. data/lib/javascriptmvc/jquery/error/error.js +227 -0
  225. data/lib/javascriptmvc/jquery/error/setup.js +4 -0
  226. data/lib/javascriptmvc/jquery/error/test/test.html +23 -0
  227. data/lib/javascriptmvc/jquery/error/test/test.js +4 -0
  228. data/lib/javascriptmvc/jquery/event/default/compress.js +7 -0
  229. data/lib/javascriptmvc/jquery/event/default/default.html +85 -0
  230. data/lib/javascriptmvc/jquery/event/default/default.js +193 -0
  231. data/lib/javascriptmvc/jquery/event/default/defaultjquery.html +117 -0
  232. data/lib/javascriptmvc/jquery/event/default/qunit.html +22 -0
  233. data/lib/javascriptmvc/jquery/event/default/test/qunit/default_test.js +104 -0
  234. data/lib/javascriptmvc/jquery/event/default/test/qunit/html.micro +8 -0
  235. data/lib/javascriptmvc/jquery/event/default/test/qunit/qunit.js +6 -0
  236. data/lib/javascriptmvc/jquery/event/default/test/qunit/run.js +2 -0
  237. data/lib/javascriptmvc/jquery/event/destroyed/destroyed.html +24 -0
  238. data/lib/javascriptmvc/jquery/event/destroyed/destroyed.js +40 -0
  239. data/lib/javascriptmvc/jquery/event/destroyed/destroyed_menu.html +96 -0
  240. data/lib/javascriptmvc/jquery/event/destroyed/qunit.html +21 -0
  241. data/lib/javascriptmvc/jquery/event/destroyed/test/qunit/destroyed_test.js +12 -0
  242. data/lib/javascriptmvc/jquery/event/destroyed/test/qunit/qunit.js +6 -0
  243. data/lib/javascriptmvc/jquery/event/drag/drag.html +105 -0
  244. data/lib/javascriptmvc/jquery/event/drag/drag.js +466 -0
  245. data/lib/javascriptmvc/jquery/event/drag/limit/limit.html +74 -0
  246. data/lib/javascriptmvc/jquery/event/drag/limit/limit.js +56 -0
  247. data/lib/javascriptmvc/jquery/event/drag/limit/scripts/compress.js +6 -0
  248. data/lib/javascriptmvc/jquery/event/drag/limit/scripts/doc.js +6 -0
  249. data/lib/javascriptmvc/jquery/event/drag/limit/test/funcunit/funcunit.html +21 -0
  250. data/lib/javascriptmvc/jquery/event/drag/limit/test/funcunit/funcunit.js +3 -0
  251. data/lib/javascriptmvc/jquery/event/drag/limit/test/funcunit/limit_test.js +11 -0
  252. data/lib/javascriptmvc/jquery/event/drag/limit/test/funcunit/run.js +10 -0
  253. data/lib/javascriptmvc/jquery/event/drag/limit/test/qunit/limit_test.js +4 -0
  254. data/lib/javascriptmvc/jquery/event/drag/limit/test/qunit/qunit.html +21 -0
  255. data/lib/javascriptmvc/jquery/event/drag/limit/test/qunit/qunit.js +9 -0
  256. data/lib/javascriptmvc/jquery/event/drag/limit/test/qunit/run.js +2 -0
  257. data/lib/javascriptmvc/jquery/event/drag/qunit.html +16 -0
  258. data/lib/javascriptmvc/jquery/event/drag/scroll/scroll.js +120 -0
  259. data/lib/javascriptmvc/jquery/event/drag/test/qunit/drag_test.js +130 -0
  260. data/lib/javascriptmvc/jquery/event/drag/test/qunit/qunit.js +4 -0
  261. data/lib/javascriptmvc/jquery/event/drop/drop.html +74 -0
  262. data/lib/javascriptmvc/jquery/event/drop/drop.js +301 -0
  263. data/lib/javascriptmvc/jquery/event/event.js +6 -0
  264. data/lib/javascriptmvc/jquery/event/hashchange/hashchange.js +245 -0
  265. data/lib/javascriptmvc/jquery/event/hover/compress.js +7 -0
  266. data/lib/javascriptmvc/jquery/event/hover/hover.html +56 -0
  267. data/lib/javascriptmvc/jquery/event/hover/hover.js +219 -0
  268. data/lib/javascriptmvc/jquery/event/hover/qunit.html +16 -0
  269. data/lib/javascriptmvc/jquery/event/hover/test/qunit/hover_test.js +55 -0
  270. data/lib/javascriptmvc/jquery/event/hover/test/qunit/qunit.js +4 -0
  271. data/lib/javascriptmvc/jquery/event/livehack/compress.js +7 -0
  272. data/lib/javascriptmvc/jquery/event/livehack/funcunit.html +21 -0
  273. data/lib/javascriptmvc/jquery/event/livehack/livehack.html +25 -0
  274. data/lib/javascriptmvc/jquery/event/livehack/livehack.js +167 -0
  275. data/lib/javascriptmvc/jquery/event/offline/funcunit.html +20 -0
  276. data/lib/javascriptmvc/jquery/event/offline/offline.html +26 -0
  277. data/lib/javascriptmvc/jquery/event/offline/offline.js +36 -0
  278. data/lib/javascriptmvc/jquery/event/offline/qunit.html +22 -0
  279. data/lib/javascriptmvc/jquery/event/offline/scripts/compress.js +3 -0
  280. data/lib/javascriptmvc/jquery/event/offline/scripts/doc.js +4 -0
  281. data/lib/javascriptmvc/jquery/event/offline/settings.js +41 -0
  282. data/lib/javascriptmvc/jquery/event/offline/test/funcunit/funcunit.js +3 -0
  283. data/lib/javascriptmvc/jquery/event/offline/test/funcunit/tests/basic.js +11 -0
  284. data/lib/javascriptmvc/jquery/event/offline/test/qunit/qunit.js +4 -0
  285. data/lib/javascriptmvc/jquery/event/offline/test/qunit/tests/basic.js +4 -0
  286. data/lib/javascriptmvc/jquery/event/resize/funcunit.html +20 -0
  287. data/lib/javascriptmvc/jquery/event/resize/qunit.html +22 -0
  288. data/lib/javascriptmvc/jquery/event/resize/resize.html +23 -0
  289. data/lib/javascriptmvc/jquery/event/resize/resize.js +50 -0
  290. data/lib/javascriptmvc/jquery/event/resize/scripts/compress.js +3 -0
  291. data/lib/javascriptmvc/jquery/event/resize/scripts/doc.js +4 -0
  292. data/lib/javascriptmvc/jquery/event/resize/scripts/test.js +55 -0
  293. data/lib/javascriptmvc/jquery/event/resize/settings.js +40 -0
  294. data/lib/javascriptmvc/jquery/event/resize/test/funcunit/funcunit.js +3 -0
  295. data/lib/javascriptmvc/jquery/event/resize/test/funcunit/tests/basic.js +11 -0
  296. data/lib/javascriptmvc/jquery/event/resize/test/qunit/qunit.js +4 -0
  297. data/lib/javascriptmvc/jquery/event/resize/test/qunit/tests/basic.js +4 -0
  298. data/lib/javascriptmvc/jquery/event/select/scripts/compress.js +6 -0
  299. data/lib/javascriptmvc/jquery/event/select/scripts/doc.js +6 -0
  300. data/lib/javascriptmvc/jquery/event/select/select.html +63 -0
  301. data/lib/javascriptmvc/jquery/event/select/select.js +65 -0
  302. data/lib/javascriptmvc/jquery/event/select/test/funcunit/funcunit.html +21 -0
  303. data/lib/javascriptmvc/jquery/event/select/test/funcunit/funcunit.js +3 -0
  304. data/lib/javascriptmvc/jquery/event/select/test/funcunit/run.js +10 -0
  305. data/lib/javascriptmvc/jquery/event/select/test/funcunit/select_test.js +11 -0
  306. data/lib/javascriptmvc/jquery/event/select/test/qunit/qunit.html +21 -0
  307. data/lib/javascriptmvc/jquery/event/select/test/qunit/qunit.js +5 -0
  308. data/lib/javascriptmvc/jquery/event/select/test/qunit/run.js +2 -0
  309. data/lib/javascriptmvc/jquery/event/select/test/qunit/select_test.js +4 -0
  310. data/lib/javascriptmvc/jquery/generate/app +23 -0
  311. data/lib/javascriptmvc/jquery/generate/controller +21 -0
  312. data/lib/javascriptmvc/jquery/generate/model +26 -0
  313. data/lib/javascriptmvc/jquery/generate/page +20 -0
  314. data/lib/javascriptmvc/jquery/generate/plugin +20 -0
  315. data/lib/javascriptmvc/jquery/generate/scaffold +23 -0
  316. data/lib/javascriptmvc/jquery/generate/templates/app/(application_name).css.ejs +4 -0
  317. data/lib/javascriptmvc/jquery/generate/templates/app/(application_name).html.ejs +23 -0
  318. data/lib/javascriptmvc/jquery/generate/templates/app/(application_name).js.ejs +21 -0
  319. data/lib/javascriptmvc/jquery/generate/templates/app/controllers/.ignore +0 -0
  320. data/lib/javascriptmvc/jquery/generate/templates/app/docs/.ignore +0 -0
  321. data/lib/javascriptmvc/jquery/generate/templates/app/fixtures/.ignore +0 -0
  322. data/lib/javascriptmvc/jquery/generate/templates/app/funcunit.html.ejs +15 -0
  323. data/lib/javascriptmvc/jquery/generate/templates/app/models/.ignore +0 -0
  324. data/lib/javascriptmvc/jquery/generate/templates/app/qunit.html.ejs +20 -0
  325. data/lib/javascriptmvc/jquery/generate/templates/app/resources/.ignore +0 -0
  326. data/lib/javascriptmvc/jquery/generate/templates/app/scripts/build.js.ejs +6 -0
  327. data/lib/javascriptmvc/jquery/generate/templates/app/scripts/clean.js.ejs +6 -0
  328. data/lib/javascriptmvc/jquery/generate/templates/app/scripts/docs.js.ejs +4 -0
  329. data/lib/javascriptmvc/jquery/generate/templates/app/test/funcunit/(application_name)_test.js.ejs +9 -0
  330. data/lib/javascriptmvc/jquery/generate/templates/app/test/funcunit/funcunit.js.ejs +3 -0
  331. data/lib/javascriptmvc/jquery/generate/templates/app/test/qunit/(application_name)_test.js.ejs +5 -0
  332. data/lib/javascriptmvc/jquery/generate/templates/app/test/qunit/qunit.js.ejs +3 -0
  333. data/lib/javascriptmvc/jquery/generate/templates/app/views/.ignore +0 -0
  334. data/lib/javascriptmvc/jquery/generate/templates/controller/controllers/(underscore)_controller.js.ejs +12 -0
  335. data/lib/javascriptmvc/jquery/generate/templates/model/fixtures.link +1 -0
  336. data/lib/javascriptmvc/jquery/generate/templates/model/models.link +1 -0
  337. data/lib/javascriptmvc/jquery/generate/templates/model/test/qunit.link +1 -0
  338. data/lib/javascriptmvc/jquery/generate/templates/page.ejs +23 -0
  339. data/lib/javascriptmvc/jquery/generate/templates/plugin/(application_name).html.ejs +23 -0
  340. data/lib/javascriptmvc/jquery/generate/templates/plugin/(application_name).js.ejs +3 -0
  341. data/lib/javascriptmvc/jquery/generate/templates/plugin/fixtures/.ignore +0 -0
  342. data/lib/javascriptmvc/jquery/generate/templates/plugin/funcunit.html.ejs +15 -0
  343. data/lib/javascriptmvc/jquery/generate/templates/plugin/qunit.html.ejs +20 -0
  344. data/lib/javascriptmvc/jquery/generate/templates/plugin/resources/.ignore +0 -0
  345. data/lib/javascriptmvc/jquery/generate/templates/plugin/scripts.link +1 -0
  346. data/lib/javascriptmvc/jquery/generate/templates/plugin/test.link +1 -0
  347. data/lib/javascriptmvc/jquery/generate/templates/plugin/views/.ignore +0 -0
  348. data/lib/javascriptmvc/jquery/generate/templates/scaffold/controllers/(underscore)_controller.js.ejs +96 -0
  349. data/lib/javascriptmvc/jquery/generate/templates/scaffold/fixtures/(plural).json.get.ejs +3 -0
  350. data/lib/javascriptmvc/jquery/generate/templates/scaffold/models/(underscore).js.ejs +83 -0
  351. data/lib/javascriptmvc/jquery/generate/templates/scaffold/test/funcunit/(underscore)_controller_test.js.ejs +63 -0
  352. data/lib/javascriptmvc/jquery/generate/templates/scaffold/test/qunit/(underscore)_test.js.ejs +45 -0
  353. data/lib/javascriptmvc/jquery/generate/templates/scaffold/views/(underscore)/edit.ejs.ejs +10 -0
  354. data/lib/javascriptmvc/jquery/generate/templates/scaffold/views/(underscore)/init.ejs.ejs +26 -0
  355. data/lib/javascriptmvc/jquery/generate/templates/scaffold/views/(underscore)/list.ejs.ejs +5 -0
  356. data/lib/javascriptmvc/jquery/generate/templates/scaffold/views/(underscore)/show.ejs.ejs +10 -0
  357. data/lib/javascriptmvc/jquery/jquery.js +6360 -0
  358. data/lib/javascriptmvc/jquery/lang/json/json.html +25 -0
  359. data/lib/javascriptmvc/jquery/lang/json/json.js +201 -0
  360. data/lib/javascriptmvc/jquery/lang/json/scripts/compress.js +6 -0
  361. data/lib/javascriptmvc/jquery/lang/json/scripts/doc.js +6 -0
  362. data/lib/javascriptmvc/jquery/lang/json/test/funcunit/funcunit.html +21 -0
  363. data/lib/javascriptmvc/jquery/lang/json/test/funcunit/funcunit.js +3 -0
  364. data/lib/javascriptmvc/jquery/lang/json/test/funcunit/json_test.js +11 -0
  365. data/lib/javascriptmvc/jquery/lang/json/test/funcunit/run.js +10 -0
  366. data/lib/javascriptmvc/jquery/lang/json/test/qunit/json_test.js +4 -0
  367. data/lib/javascriptmvc/jquery/lang/json/test/qunit/qunit.html +21 -0
  368. data/lib/javascriptmvc/jquery/lang/json/test/qunit/qunit.js +9 -0
  369. data/lib/javascriptmvc/jquery/lang/json/test/qunit/run.js +2 -0
  370. data/lib/javascriptmvc/jquery/lang/lang.html +27 -0
  371. data/lib/javascriptmvc/jquery/lang/lang.js +104 -0
  372. data/lib/javascriptmvc/jquery/lang/openajax/openajax.js +202 -0
  373. data/lib/javascriptmvc/jquery/lang/rsplit/rsplit.js +31 -0
  374. data/lib/javascriptmvc/jquery/lang/vector/vector.js +167 -0
  375. data/lib/javascriptmvc/jquery/model/associations/associations.html +25 -0
  376. data/lib/javascriptmvc/jquery/model/associations/associations.js +46 -0
  377. data/lib/javascriptmvc/jquery/model/associations/qunit.html +21 -0
  378. data/lib/javascriptmvc/jquery/model/associations/test/qunit/associations_test.js +51 -0
  379. data/lib/javascriptmvc/jquery/model/associations/test/qunit/qunit.js +9 -0
  380. data/lib/javascriptmvc/jquery/model/associations/test/qunit/run.js +2 -0
  381. data/lib/javascriptmvc/jquery/model/backup/backup.js +82 -0
  382. data/lib/javascriptmvc/jquery/model/json_rest/json_rest.js +91 -0
  383. data/lib/javascriptmvc/jquery/model/list/list.js +148 -0
  384. data/lib/javascriptmvc/jquery/model/list/qunit.html +16 -0
  385. data/lib/javascriptmvc/jquery/model/list/test/qunit/list_test.js +58 -0
  386. data/lib/javascriptmvc/jquery/model/list/test/qunit/qunit.js +6 -0
  387. data/lib/javascriptmvc/jquery/model/list/test/qunit/run.js +0 -0
  388. data/lib/javascriptmvc/jquery/model/model.js +537 -0
  389. data/lib/javascriptmvc/jquery/model/qunit.html +17 -0
  390. data/lib/javascriptmvc/jquery/model/store/store.js +66 -0
  391. data/lib/javascriptmvc/jquery/model/test/qunit/model_test.js +71 -0
  392. data/lib/javascriptmvc/jquery/model/test/qunit/qunit.js +5 -0
  393. data/lib/javascriptmvc/jquery/qunit.html +15 -0
  394. data/lib/javascriptmvc/jquery/test/funcunit/funcunit.html +21 -0
  395. data/lib/javascriptmvc/jquery/test/funcunit/funcunit.js +3 -0
  396. data/lib/javascriptmvc/jquery/test/funcunit/jquerytest_test.js +11 -0
  397. data/lib/javascriptmvc/jquery/test/funcunit/run.js +10 -0
  398. data/lib/javascriptmvc/jquery/test/qunit/qunit.js +22 -0
  399. data/lib/javascriptmvc/jquery/update +5 -0
  400. data/lib/javascriptmvc/jquery/view/compress.js +7 -0
  401. data/lib/javascriptmvc/jquery/view/ejs/ejs.html +25 -0
  402. data/lib/javascriptmvc/jquery/view/ejs/ejs.js +489 -0
  403. data/lib/javascriptmvc/jquery/view/ejs/funcunit.html +21 -0
  404. data/lib/javascriptmvc/jquery/view/ejs/test/funcunit/ejs_test.js +11 -0
  405. data/lib/javascriptmvc/jquery/view/ejs/test/funcunit/funcunit.js +3 -0
  406. data/lib/javascriptmvc/jquery/view/ejs/test/funcunit/run.js +10 -0
  407. data/lib/javascriptmvc/jquery/view/ejs/test/qunit/ejs_test.js +4 -0
  408. data/lib/javascriptmvc/jquery/view/ejs/test/qunit/qunit.html +21 -0
  409. data/lib/javascriptmvc/jquery/view/ejs/test/qunit/qunit.js +9 -0
  410. data/lib/javascriptmvc/jquery/view/ejs/test/qunit/run.js +2 -0
  411. data/lib/javascriptmvc/jquery/view/fulljslint.js +3774 -0
  412. data/lib/javascriptmvc/jquery/view/helpers/helpers.js +338 -0
  413. data/lib/javascriptmvc/jquery/view/jaml/compress.js +7 -0
  414. data/lib/javascriptmvc/jquery/view/jaml/funcunit.html +21 -0
  415. data/lib/javascriptmvc/jquery/view/jaml/jaml.html +25 -0
  416. data/lib/javascriptmvc/jquery/view/jaml/jaml.js +73 -0
  417. data/lib/javascriptmvc/jquery/view/jaml/node.js +149 -0
  418. data/lib/javascriptmvc/jquery/view/jaml/template.js +131 -0
  419. data/lib/javascriptmvc/jquery/view/jaml/test/funcunit/funcunit.js +3 -0
  420. data/lib/javascriptmvc/jquery/view/jaml/test/funcunit/jaml_test.js +11 -0
  421. data/lib/javascriptmvc/jquery/view/jaml/test/funcunit/run.js +10 -0
  422. data/lib/javascriptmvc/jquery/view/jaml/test/qunit/jaml_test.js +4 -0
  423. data/lib/javascriptmvc/jquery/view/jaml/test/qunit/qunit.html +21 -0
  424. data/lib/javascriptmvc/jquery/view/jaml/test/qunit/qunit.js +9 -0
  425. data/lib/javascriptmvc/jquery/view/jaml/test/qunit/run.js +2 -0
  426. data/lib/javascriptmvc/jquery/view/micro/compress.js +7 -0
  427. data/lib/javascriptmvc/jquery/view/micro/funcunit.html +21 -0
  428. data/lib/javascriptmvc/jquery/view/micro/micro.html +25 -0
  429. data/lib/javascriptmvc/jquery/view/micro/micro.js +57 -0
  430. data/lib/javascriptmvc/jquery/view/micro/test/funcunit/funcunit.js +3 -0
  431. data/lib/javascriptmvc/jquery/view/micro/test/funcunit/micro_test.js +11 -0
  432. data/lib/javascriptmvc/jquery/view/micro/test/funcunit/run.js +10 -0
  433. data/lib/javascriptmvc/jquery/view/micro/test/qunit/micro_test.js +4 -0
  434. data/lib/javascriptmvc/jquery/view/micro/test/qunit/qunit.html +21 -0
  435. data/lib/javascriptmvc/jquery/view/micro/test/qunit/qunit.js +9 -0
  436. data/lib/javascriptmvc/jquery/view/micro/test/qunit/run.js +2 -0
  437. data/lib/javascriptmvc/jquery/view/qunit.html +16 -0
  438. data/lib/javascriptmvc/jquery/view/test/compression/compression.html +12 -0
  439. data/lib/javascriptmvc/jquery/view/test/compression/compression.js +11 -0
  440. data/lib/javascriptmvc/jquery/view/test/compression/run.js +36 -0
  441. data/lib/javascriptmvc/jquery/view/test/funcunit/funcunit.js +3 -0
  442. data/lib/javascriptmvc/jquery/view/test/funcunit/run.js +10 -0
  443. data/lib/javascriptmvc/jquery/view/test/funcunit/view_test.js +11 -0
  444. data/lib/javascriptmvc/jquery/view/test/qunit/nested_plugin.ejs +1 -0
  445. data/lib/javascriptmvc/jquery/view/test/qunit/plugin.ejs +1 -0
  446. data/lib/javascriptmvc/jquery/view/test/qunit/qunit.js +9 -0
  447. data/lib/javascriptmvc/jquery/view/test/qunit/template.ejs +1 -0
  448. data/lib/javascriptmvc/jquery/view/test/qunit/template.jaml +3 -0
  449. data/lib/javascriptmvc/jquery/view/test/qunit/template.micro +1 -0
  450. data/lib/javascriptmvc/jquery/view/test/qunit/template.tmpl +1 -0
  451. data/lib/javascriptmvc/jquery/view/test/qunit/view_test.js +24 -0
  452. data/lib/javascriptmvc/jquery/view/tmpl/tmpl.js +150 -0
  453. data/lib/javascriptmvc/jquery/view/view.html +65 -0
  454. data/lib/javascriptmvc/jquery/view/view.js +296 -0
  455. data/lib/javascriptmvc/js +56 -0
  456. data/lib/javascriptmvc/js.bat +57 -0
  457. data/lib/javascriptmvc/steal/README +26 -0
  458. data/lib/javascriptmvc/steal/build/apps/apps.js +208 -0
  459. data/lib/javascriptmvc/steal/build/apps/test.js +4 -0
  460. data/lib/javascriptmvc/steal/build/build.js +281 -0
  461. data/lib/javascriptmvc/steal/build/pluginify.js +73 -0
  462. data/lib/javascriptmvc/steal/build/scripts/compiler.jar +0 -0
  463. data/lib/javascriptmvc/steal/build/scripts/scripts.js +155 -0
  464. data/lib/javascriptmvc/steal/build/styles/cssmin.js +17 -0
  465. data/lib/javascriptmvc/steal/build/styles/styles.js +84 -0
  466. data/lib/javascriptmvc/steal/build/test/basicpage.html +6 -0
  467. data/lib/javascriptmvc/steal/build/test/basicproduction.js +1 -0
  468. data/lib/javascriptmvc/steal/build/test/basicsource.js +6 -0
  469. data/lib/javascriptmvc/steal/build/test/css/css/css1.css +1 -0
  470. data/lib/javascriptmvc/steal/build/test/css/css/justin.png +0 -0
  471. data/lib/javascriptmvc/steal/build/test/css/css2.css +5 -0
  472. data/lib/javascriptmvc/steal/build/test/css/page.html +9 -0
  473. data/lib/javascriptmvc/steal/build/test/css/production.css +1 -0
  474. data/lib/javascriptmvc/steal/build/test/css/test.js +7 -0
  475. data/lib/javascriptmvc/steal/build/test/css/upload.PNG +0 -0
  476. data/lib/javascriptmvc/steal/build/test/foreign.html +6 -0
  477. data/lib/javascriptmvc/steal/build/test/foreign.js +2 -0
  478. data/lib/javascriptmvc/steal/build/test/removecode.js +11 -0
  479. data/lib/javascriptmvc/steal/build/test/run.js +57 -0
  480. data/lib/javascriptmvc/steal/build/test/stealpage.html +10 -0
  481. data/lib/javascriptmvc/steal/build/test/stealprodpage.html +10 -0
  482. data/lib/javascriptmvc/steal/build/test/test.js +3 -0
  483. data/lib/javascriptmvc/steal/buildjs +21 -0
  484. data/lib/javascriptmvc/steal/clean/beautify.js +1108 -0
  485. data/lib/javascriptmvc/steal/clean/clean.js +179 -0
  486. data/lib/javascriptmvc/steal/clean/jslint.js +5662 -0
  487. data/lib/javascriptmvc/steal/clean/test.js +7 -0
  488. data/lib/javascriptmvc/steal/cleanjs +5 -0
  489. data/lib/javascriptmvc/steal/coffee/coffee-script.js +9 -0
  490. data/lib/javascriptmvc/steal/coffee/coffee.js +56 -0
  491. data/lib/javascriptmvc/steal/dev/dev.js +83 -0
  492. data/lib/javascriptmvc/steal/end.js +1 -0
  493. data/lib/javascriptmvc/steal/generate/app +23 -0
  494. data/lib/javascriptmvc/steal/generate/ejs.js +470 -0
  495. data/lib/javascriptmvc/steal/generate/generate.js +211 -0
  496. data/lib/javascriptmvc/steal/generate/inflector.js +117 -0
  497. data/lib/javascriptmvc/steal/generate/system.js +33 -0
  498. data/lib/javascriptmvc/steal/generate/templates/app/(application_name).css.ejs +10 -0
  499. data/lib/javascriptmvc/steal/generate/templates/app/(application_name).html.ejs +18 -0
  500. data/lib/javascriptmvc/steal/generate/templates/app/(application_name).js.ejs +10 -0
  501. data/lib/javascriptmvc/steal/generate/templates/app/docs/.ignore +0 -0
  502. data/lib/javascriptmvc/steal/generate/templates/app/resources/.ignore +0 -0
  503. data/lib/javascriptmvc/steal/generate/templates/app/resources/example.coffee.ejs +5 -0
  504. data/lib/javascriptmvc/steal/generate/templates/app/resources/example.js.ejs +13 -0
  505. data/lib/javascriptmvc/steal/generate/templates/app/resources/example.less.ejs +9 -0
  506. data/lib/javascriptmvc/steal/generate/templates/app/scripts/build.js.ejs +6 -0
  507. data/lib/javascriptmvc/steal/generate/templates/app/scripts/clean.js.ejs +6 -0
  508. data/lib/javascriptmvc/steal/generate/templates/app/test/.ignore +0 -0
  509. data/lib/javascriptmvc/steal/generate/templates/page.ejs +23 -0
  510. data/lib/javascriptmvc/steal/generate/test/test.js +92 -0
  511. data/lib/javascriptmvc/steal/get/get.js +163 -0
  512. data/lib/javascriptmvc/steal/get/gets.json +10 -0
  513. data/lib/javascriptmvc/steal/get/getter.js +115 -0
  514. data/lib/javascriptmvc/steal/get/github.js +134 -0
  515. data/lib/javascriptmvc/steal/get/json.js +172 -0
  516. data/lib/javascriptmvc/steal/getjs +5 -0
  517. data/lib/javascriptmvc/steal/js +56 -0
  518. data/lib/javascriptmvc/steal/js.bat +57 -0
  519. data/lib/javascriptmvc/steal/less/less.js +117 -0
  520. data/lib/javascriptmvc/steal/less/less_engine.js +2529 -0
  521. data/lib/javascriptmvc/steal/rhino/blank.html +6 -0
  522. data/lib/javascriptmvc/steal/rhino/build.js +31 -0
  523. data/lib/javascriptmvc/steal/rhino/docs.js +68 -0
  524. data/lib/javascriptmvc/steal/rhino/empty.html +12 -0
  525. data/lib/javascriptmvc/steal/rhino/env.js +11537 -0
  526. data/lib/javascriptmvc/steal/rhino/file.js +299 -0
  527. data/lib/javascriptmvc/steal/rhino/js.jar +0 -0
  528. data/lib/javascriptmvc/steal/rhino/loader.js +8 -0
  529. data/lib/javascriptmvc/steal/rhino/prompt.js +49 -0
  530. data/lib/javascriptmvc/steal/rhino/steal.js +122 -0
  531. data/lib/javascriptmvc/steal/rhino/test.js +16 -0
  532. data/lib/javascriptmvc/steal/steal.js +1317 -0
  533. data/lib/javascriptmvc/steal/steal.production.js +23 -0
  534. data/lib/javascriptmvc/steal/test/absoluteurl.html +7 -0
  535. data/lib/javascriptmvc/steal/test/absoluteurl/absoluteurl.js +1 -0
  536. data/lib/javascriptmvc/steal/test/absoluteurl/alert.js +1 -0
  537. data/lib/javascriptmvc/steal/test/another/two.js +2 -0
  538. data/lib/javascriptmvc/steal/test/one/four.js +1 -0
  539. data/lib/javascriptmvc/steal/test/one/one.js +6 -0
  540. data/lib/javascriptmvc/steal/test/qunit/qunit.html +22 -0
  541. data/lib/javascriptmvc/steal/test/qunit/qunit.js +3 -0
  542. data/lib/javascriptmvc/steal/test/qunit/steal_test.js +197 -0
  543. data/lib/javascriptmvc/steal/test/run.js +12 -0
  544. data/lib/javascriptmvc/steal/test/steal.html +37 -0
  545. data/lib/javascriptmvc/steal/test/test.js +82 -0
  546. data/lib/javascriptmvc/steal/test/three.js +3 -0
  547. data/lib/javascriptmvc/steal/testing/test.html +20 -0
  548. data/lib/javascriptmvc/steal/testing/testing.js +48 -0
  549. data/lib/javascriptmvc/steal/update +5 -0
  550. metadata +622 -0
@@ -0,0 +1,141 @@
1
+ /**
2
+ * @hide
3
+ * Documents a 'Class'. A class is typically a collection of static and prototype functions.
4
+ * steal Doc can automatically detect classes created with jQuery.Class. However, you can make anything
5
+ * a class with the <b>@class <i>ClassName</i></b> directive.
6
+ * @author Jupiter IT
7
+ * @codestart
8
+ * /**
9
+ * * Person represents a human with a name. Read about the
10
+ * * animal class [Animal | here].
11
+ * * @init
12
+ * * You must pass in a name.
13
+ * * @params {String} name A person's name
14
+ * *|
15
+ * Person = Animal.extend(
16
+ * /* @Static *|
17
+ * {
18
+ * /* Number of People *|
19
+ * count: 0
20
+ * },
21
+ * /* @Prototype *|
22
+ * {
23
+ * init : function(name){
24
+ * this.name = name
25
+ * this._super({warmblood: true})
26
+ * },
27
+ * /* Returns a formal name
28
+ * * @return {String} the name with "Mrs." added
29
+ * *|
30
+ * fancy_name : function(){
31
+ * return "Mrs. "+this.name;
32
+ * }
33
+ * })
34
+ * @codeend
35
+ */
36
+ DocumentJS.Pair.extend('DocumentJS.Class',
37
+ /* @Static */
38
+ {
39
+ code_match: /([\w\.\$]+?).extend\(\s*["']([^"']*)["']/, // /([\w\.]*)\s*=\s*([\w\.]+?).extend\(/,
40
+ starts_scope: true,
41
+ listing: [],
42
+ /**
43
+ * Loads the class view.
44
+ */
45
+ init : function(){
46
+ this.add(DocumentJS.Directive.Inherits,
47
+ DocumentJS.Directive.Author,
48
+ DocumentJS.Directive.Hide,
49
+ DocumentJS.Directive.Download,
50
+ DocumentJS.Directive.CodeStart,
51
+ DocumentJS.Directive.CodeEnd,
52
+ DocumentJS.Directive.Alias,
53
+ DocumentJS.Directive.Plugin,
54
+ DocumentJS.Directive.Tag,
55
+ DocumentJS.Directive.iFrame,
56
+ DocumentJS.Directive.Parent,
57
+ DocumentJS.Directive.Demo,
58
+ DocumentJS.Directive.Test)
59
+
60
+ this._super();
61
+
62
+ var ejs = "jmvc/plugins/documentation/templates/file.ejs"
63
+
64
+ this.serialize('name',['linker','children'],'author','inherits','alias',['real_comment','comment'],
65
+ 'plugin','shortName','tags','download','downloadSize','test')
66
+ }
67
+ },
68
+ /* @Prototype */
69
+ {
70
+ /**
71
+ * Called when a new class comment is encountered.
72
+ * @param {String} comment the comment text
73
+ * @param {String} code the first line of source following the comment
74
+ * @param {DocumentJS.Pair} scope where the class was created, typically the file
75
+ */
76
+ init: function(comment, code, scope ){
77
+ this._super(comment, code, scope);
78
+
79
+ },
80
+ /**
81
+ * Verifies the class was created successfully.
82
+ */
83
+ comment_setup_complete : function(){
84
+ if(!this.name){
85
+ print("Error! No name defined for \n-----------------------")
86
+ print(this.comment)
87
+ print('-----------------------')
88
+ }
89
+ },
90
+ /**
91
+ * Adds this class to the file it was created in.
92
+ * @param {DocumentJS.Pair} scope
93
+ */
94
+ add_parent : function(scope){
95
+ //always go back to the file:
96
+ while(scope.Class.shortName.toLowerCase() != 'script') scope = scope.parent;
97
+ this.parent = scope;
98
+ this.parent.add(this);
99
+ },
100
+
101
+ code_setup: function(){
102
+ var parts = this.code.match(this.Class.code_match);
103
+ this.name = parts[2];
104
+ this.inherits = parts[1].replace("$.","jQuery.");
105
+ },
106
+ class_add: function(line){
107
+
108
+ var m = line.match(/^@\w+ ([\w\.]+)/)
109
+ if(m){
110
+ this.name = m[1];
111
+ }
112
+ },
113
+ /**
114
+ * Renders this class to a file.
115
+ * @param {String} left_side The left side content / list of all documented classes & constructors.
116
+ */
117
+ toFile : function(name){
118
+ try{
119
+ var res = this.jsonp();
120
+ new steal.File('apps/'+name+'/docs/'+this.name+".json").save(res);
121
+
122
+ }catch(e ){
123
+ print("Unable to generate class for "+this.name+" !")
124
+ print(" Error: "+e)
125
+ }
126
+ },
127
+ /**
128
+ * Returns a comment that has been cleaned.
129
+ */
130
+ cleaned_comment : function(){
131
+ return DocumentJS.link_content(this.real_comment).replace(/\n\s*\n/g,"<br/><br/>");
132
+ },
133
+ /**
134
+ * Returns the url for this page
135
+ * @return {String}
136
+ */
137
+ url : function(){
138
+ return this.name+".html";
139
+ }
140
+
141
+ });
@@ -0,0 +1,145 @@
1
+ /**
2
+ * Documents javascript constructor classes typically created like:
3
+ * new MyContructor(args).
4
+ *
5
+ * A constructor can be described by putting @constructor as the first declaritive.
6
+ * To describe the construction function, write that after init. Example:
7
+ *
8
+ * @codestart
9
+ * /* @constructor
10
+ * * Person represents a human with a name
11
+ * * @init
12
+ * * You must pass in a name.
13
+ * * @params {String} name A person's name
14
+ * *|
15
+ * Person = function(name){
16
+ * this.name = name
17
+ * Person.count ++;
18
+ * }
19
+ * /* @Static *|
20
+ * steal.Object.extend(Person, {
21
+ * /* Number of People *|
22
+ * count: 0
23
+ * })
24
+ * /* @Prototype *|
25
+ * Person.prototype = {
26
+ * /* Returns a formal name
27
+ * * @return {String} the name with "Mrs." added
28
+ * *|
29
+ * fancy_name : function(){
30
+ * return "Mrs. "+this.name;
31
+ * }
32
+ * }
33
+ * @codeend
34
+ *
35
+ */
36
+ DocumentJS.Pair.extend('DocumentJS.Constructor',
37
+ /* @Static */
38
+ {
39
+ code_match: DocumentJS.Function.code_match,
40
+ starts_scope: true,
41
+ listing: [],
42
+ create_index : function(){
43
+ var res = '<html><head><link rel="stylesheet" href="../style.css" type="text/css" />'+
44
+ '<title>Constructors</title></head><body>'
45
+ res += '<h1>Constructors <label>LIST</label></h1>'
46
+ for(var i = 0; i < this.listing.length; i++){
47
+ var name = this.listing[i].name;
48
+ res += "<a href='"+name+".html'>"+name+"</a> "
49
+ }
50
+ res +="</body></html>"
51
+ new steal.File('docs/constructors/index2.html').save(res);
52
+ //MVCOptions.save('docs/constructors/index2.html', res)
53
+ },
54
+ init : function(){
55
+ this.add(
56
+ DocumentJS.Directive.Init,
57
+ DocumentJS.Directive.Param,
58
+ DocumentJS.Directive.Inherits,
59
+ DocumentJS.Directive.Parent,
60
+ DocumentJS.Directive.Author,
61
+ DocumentJS.Directive.Return,
62
+ DocumentJS.Directive.Download,
63
+ DocumentJS.Directive.Hide, DocumentJS.Directive.CodeStart, DocumentJS.Directive.CodeEnd, DocumentJS.Directive.Alias,
64
+ DocumentJS.Directive.Plugin, DocumentJS.Directive.Tag, DocumentJS.Directive.iFrame, DocumentJS.Directive.Demo,
65
+ DocumentJS.Directive.Test);
66
+ this._super();
67
+ this.serialize('name',['linker','children'],'inherits','alias',['real_comment','comment'],'shortName',
68
+ 'ret','params','plugin','tags','download','downloadSize',['init_description','init'],'test')
69
+ }
70
+ },
71
+ /* @Prototype */
72
+ {
73
+ /**
74
+ *
75
+ * @param {Object} comment
76
+ * @param {Object} code
77
+ * @param {Object} scope
78
+ */
79
+ init: function(comment, code, scope ){
80
+ this._super(comment, code, scope);
81
+ //this.Class.listing.push(this);
82
+ },
83
+ add_parent : function(scope){
84
+ while(scope.Class.shortName.toLowerCase() != 'script'){
85
+ scope = scope.parent;
86
+ if(!scope)
87
+ print("cant find file parent of "+this.comment)
88
+
89
+ }
90
+ this.parent = scope;
91
+ this.parent.add(this);
92
+ },
93
+ code_setup: DocumentJS.Function.prototype.code_setup,
94
+ toFile : function(name){
95
+ //try{
96
+ var res = this.jsonp();
97
+ new steal.File('apps/'+name+'/docs/'+this.name+".json").save(res);
98
+ //}catch(e ){
99
+ // throw
100
+ //}
101
+ },
102
+ /**
103
+ * Returns the HTML signiture of the constructor function.
104
+ */
105
+ signiture : function(){
106
+ var res = [];
107
+ var ordered = this.ordered_params();
108
+ for(var n = 0; n < ordered.length; n++){
109
+ res.push(ordered[n].name)
110
+ }
111
+ var n = this.alias ? this.alias : this.name;
112
+ //if(this.parent.Class.shortName == 'static')
113
+ // n = this.parent.parent.name+"."+this.name;
114
+ //else if(this.parent.Class.shortName == 'prototype')
115
+ // n = this.parent.parent.name.toLowerCase()+"."+this.name;
116
+ if(this.ret.type =='undefined'){
117
+ n = "new "+n;
118
+ this.ret.type = this.alias ? this.alias.toLowerCase() : this.name.toLowerCase();
119
+ }
120
+ return n+"("+res.join(", ")+") -> "+this.ret.type;
121
+ },
122
+ cleaned_comment : function(){
123
+ return DocumentJS.link_content(this.real_comment).replace(/\n\s*\n/g,"<br/><br/>");
124
+ },
125
+ url : function(){
126
+ return this.name+".html";
127
+ },
128
+ comment_setup_complete : function(){
129
+ if(!this.name){
130
+ print("Error! No name defined for \n-----------------------")
131
+ print(this.comment)
132
+ print('-----------------------')
133
+ } else if(!this.init_description){
134
+ print("Error! No init_description defined for "+this.name+"\n-----------------------")
135
+ print(this.comment)
136
+ print('-----------------------')
137
+ }
138
+ },
139
+ constructor_add: function(line){
140
+ var m = line.match(/^@\w+ ([\w\.]+)/)
141
+ if(m){
142
+ this.name = m[1];
143
+ }
144
+ }
145
+ });
@@ -0,0 +1,394 @@
1
+ /**
2
+ * @hide
3
+ * The base directive class. Classes extending [DocumentJS.Pair] [DocumentJS.Pair.static.add|add] directives
4
+ * to be matched against. The available directives are:
5
+ * <ul>
6
+ * <li>[DocumentJS.Directive.Init|init]</li>
7
+ * <li>[DocumentJS.Directive.Param|param]</li>
8
+ * <li>[DocumentJS.Directive.Inherits|inherits]</li>
9
+ * <li>[DocumentJS.Directive.Return|return]</li>
10
+ * <li>[DocumentJS.Directive.Author|author]</li>
11
+ * <li>[DocumentJS.Directive.Hide|hide]</li>
12
+ * <li>[DocumentJS.Directive.CodeStart|codestart]</li>
13
+ * <li>[DocumentJS.Directive.CodeEnd|codeend]</li>
14
+ * <li>[DocumentJS.Directive.Alias|alias]</li>
15
+ * <li>[DocumentJS.Directive.Plugin|plugin]</li>
16
+ * </ul>
17
+ * <h3>How directives work</h3>
18
+ * Directives mix in their add and add_more functions into DocumentJS.Pair classes.
19
+ * These functions work with [DocumentJS.Pair.prototype.comment_setup|Pair::comment_setup] to
20
+ * read directives (things that look like <i>@something</i>) and make sense of their data.
21
+ *
22
+ *
23
+ */
24
+ DocumentJS.Class.extend("DocumentJS.Directive",{
25
+ init : function(){
26
+ this.directives.push(this.shortName)
27
+ },
28
+ directives : []
29
+ },
30
+ /* @prototype */
31
+ {
32
+ /**
33
+ * Called when [DocumentJS.Pair.prototype.comment_setup|comment_setup] first sees a line with the matching
34
+ * directive.
35
+ * If the function returns null or false, following lines without another directive will be added to
36
+ * real_comment. If the function returns data, the add_more will be called with lines following this line
37
+ * and the data returned.
38
+ *
39
+ * In these functions, save the data from comments like:
40
+ * @codestart
41
+ * this.my_data = line.match(/\d\d/)
42
+ * @codeend
43
+ * It's important to note that this refers to the Pair instance of the class that has added this directive.
44
+ *
45
+ * @param {String} line the line with the directive on it.
46
+ * @return {Object} if false, add future lines to real_comment, otherwise, call add_more with future lines
47
+ * and the data returned.
48
+ */
49
+ add: function(line){
50
+ var m = line.match(/^\s*@(\w+)\s*(.*)/)
51
+ if(m){
52
+ this[m[1]] = m[2];
53
+ }
54
+ }
55
+ /**
56
+ * @function add_more
57
+ * Adds lines following a directive.
58
+ * @param {String} line the current comment line
59
+ * @param {Object} prior data the data returned from the previous add or add_more.
60
+ * @return {Object} if false, ends calling add_more with future lines, otherwise; calls add_more with the next
61
+ * line and the return value.
62
+ */
63
+ })
64
+ //start directives
65
+ /**
66
+ * @hide
67
+ * Describes constructor functionality. Matches multiple lines
68
+ */
69
+ DocumentJS.Directive.extend('DocumentJS.Directive.Init',
70
+ {
71
+ add: function(line){
72
+ var parts = line.match(/\s?@init(.*)?/);
73
+ if(!parts || !parts[1]){
74
+ this.init_description = " ";
75
+ return true;
76
+ }
77
+ this.init_description = parts.pop();
78
+ return this.init_description;
79
+ },
80
+ add_more: function(line){
81
+ this.init_description +="\n"+ line;
82
+ }
83
+ });
84
+ /**
85
+ * @hide
86
+ * Adds parameter information of the format: "@param {<i>optional:</i>type} name description" .
87
+ * Matches multiple lines.
88
+ */
89
+ DocumentJS.Directive.extend('DocumentJS.Directive.Param',{
90
+ add_more : function(line, last){
91
+ if(last)
92
+ last.description += "\n"+line;
93
+ },
94
+ /**
95
+ * Adds @param data to the constructor function
96
+ * @param {String} line
97
+ */
98
+ add: function(line){
99
+ var parts = line.match(/\s*@param\s+(?:\{?([^}]+)\}?)?\s+([^\s]+) ?(.*)?/);
100
+ if(!parts){
101
+ print("LINE: \n"+line+"\n does not match @params {TYPE} NAME DESCRIPTION")
102
+ return;
103
+ }
104
+ var description = parts.pop();
105
+ var n = parts.pop(), optional = false, defaultVal;
106
+ //check if it has anything ...
107
+ var nameParts = n.match(/\[([\w\.]+)(?:=([^\]]*))?\]/)
108
+ if(nameParts){
109
+ optional = true;
110
+ defaultVal = nameParts[2]
111
+ n = nameParts[1]
112
+ }
113
+
114
+ var param = this.params[n] ? this.params[n] : this.params[n] = {order: this.ordered_params().length };
115
+
116
+ param.description = description || "";
117
+ param.name = n;
118
+ param.type = parts.pop()|| "";
119
+
120
+
121
+ param.optional = optional;
122
+ if(defaultVal){
123
+ param["default"] = defaultVal;
124
+ }
125
+
126
+ return this.params[n];
127
+ }
128
+ });
129
+ /**
130
+ * @hide
131
+ * Says current class or constructor inherits from another class or contructor.
132
+ * Looks for "@inherits <i>constructor or class name</i>"
133
+ */
134
+ DocumentJS.Directive.extend('DocumentJS.Directive.Inherits',{
135
+ add: function(line){
136
+ var m = line.match(/^\s*@\w+ ([\w\.]+)/)
137
+ if(m){
138
+ this.inherits = m[1];
139
+ }
140
+ }
141
+ })
142
+ /**
143
+ * @hide
144
+ * Describes return data in the format "@return {type} description".
145
+ * Matches multiple lines.
146
+ */
147
+ DocumentJS.Directive.extend('DocumentJS.Directive.Return',{
148
+ add: function(line){
149
+ var parts = line.match(/\s*@return\s+(?:\{([\w\|\.\/]+)\})?\s*(.*)?/);
150
+
151
+ if(!parts) {
152
+ return;
153
+ }
154
+
155
+ var description = parts.pop() || "";
156
+ var type = parts.pop();
157
+ this.ret = {description: description, type: type};
158
+ return this.ret;
159
+ },
160
+ add_more : function(line){
161
+ this.ret.description += "\n"+line;
162
+ }
163
+ })
164
+ /**
165
+ * @hide
166
+ * Describes who the author of a class is.
167
+ */
168
+ DocumentJS.Directive.extend('DocumentJS.Directive.Author',{
169
+ add: function(line){
170
+ var m = line.match(/^\s*@author\s*(.*)/)
171
+ if(m){
172
+ this.author = m[1];
173
+ }
174
+ }
175
+ });
176
+ /**
177
+ * @hide
178
+ * Hides this class or constructor from the left hand side bar.
179
+ */
180
+ DocumentJS.Directive.extend('DocumentJS.Directive.Hide',{
181
+ add: function(line){
182
+ var m = line.match(/^\s*@hide/)
183
+ if(m){
184
+ this.hide = true;
185
+ }
186
+ }
187
+ });
188
+ /**
189
+ * @hide
190
+ * Starts a code block. Looks for "@codestart code_type". Matches
191
+ * multiple lines. Must end with "@codeend".
192
+ */
193
+ DocumentJS.Directive.extend('DocumentJS.Directive.CodeStart',{
194
+ add: function(line, last){
195
+ var m = line.match(/^\s*@codestart\s*([\w-]*)\s*(.*)/)
196
+
197
+
198
+ if(m){
199
+ this.comment_code = {
200
+ type: m[1] ? m[1].toLowerCase() : 'javascript',
201
+ lines : [],
202
+ last: last,
203
+ _last: this._last
204
+ }
205
+ return true;
206
+ }
207
+
208
+ },
209
+ add_more : function(line){
210
+ this.comment_code.lines.push(line);
211
+ }
212
+ });
213
+ /**
214
+ * @hide
215
+ * Stops a code block
216
+ */
217
+ DocumentJS.Directive.extend('DocumentJS.Directive.CodeEnd',{
218
+ add: function(line){
219
+ var m = line.match(/^\s*@codeend/)
220
+
221
+
222
+ if(m){
223
+ if(!this.comment_code){
224
+ print('you probably have a @codeend without a @codestart')
225
+ }
226
+
227
+ var joined = this.comment_code.lines.join("\n");
228
+
229
+ if(this.comment_code.type == "javascript"){ //convert comments
230
+ joined = joined.replace(/\*\|/g,"*/")
231
+ }
232
+ var out = "<pre><code class='"+this.comment_code.type+"'>"+joined+"</code></pre>"
233
+ if(this.comment_code.last){
234
+ this[this.comment_code._last+'_add_more'](out, this.comment_code.last);
235
+ this._last = this.comment_code._last;
236
+ return ['keep',this.comment_code.last]
237
+ }else{
238
+ this.real_comment += out;
239
+ }
240
+
241
+ }
242
+ return false;
243
+ }
244
+ });
245
+ /**
246
+ * @hide
247
+ * This Class or Constructor is known by another name. Format: "@alias other_name"
248
+ *
249
+ */
250
+ DocumentJS.Directive.extend('DocumentJS.Directive.Alias',{
251
+ add: function(line){
252
+ var m = line.match(/^\s*@alias\s*([\w\-\.]*)/)
253
+ if(m){
254
+ this.alias = m[1];
255
+ }
256
+ }
257
+ });
258
+ /**
259
+ * @hide
260
+ * Adds to another plugin. Format: "@plugin plugin_name"
261
+ */
262
+ DocumentJS.Directive.extend('DocumentJS.Directive.Plugin',{
263
+ add: function(line){
264
+ this.plugin = line.match(/@plugin ([^ ]+)/)[1];
265
+ }
266
+ });
267
+
268
+ /**
269
+ * @hide
270
+ * Adds to another plugin. Format: "@plugin plugin_name"
271
+ */
272
+ DocumentJS.Directive.extend('DocumentJS.Directive.Test',{
273
+ add: function(line){
274
+ this.test = line.match(/@test ([^ ]+)/)[1];
275
+ }
276
+ });
277
+ /**
278
+ * @hide
279
+ * Adds a download link
280
+ */
281
+ DocumentJS.Directive.extend('DocumentJS.Directive.Download',{
282
+ add: function(line){
283
+ var parts = line.match(/^\s*@download\s*([^ ]*)\s*([\w]*)/)
284
+ this.download = parts[1];
285
+ this.downloadSize = parts[2] || 0
286
+ }
287
+ });
288
+ /**
289
+ * @hide
290
+ * Adds tags for searching
291
+ */
292
+ DocumentJS.Directive.extend('DocumentJS.Directive.Tag',{
293
+ add: function(line){
294
+ var parts = line.match(/^\s*@tag\s*(.+)/);
295
+
296
+ if(!parts) {
297
+ return;
298
+ }
299
+ this.tags = parts[1].split(/\s*,\s*/g)
300
+ //return this.ret;
301
+ }//,
302
+ //add_more : function(line){
303
+ // this.tags.concat(line.split(/\s*,\s*/g))
304
+ //}
305
+ });
306
+
307
+ /**
308
+ * @hide
309
+ * Adds an iframe to some page with example code, e.g. @iframe phui/menu/menu.html 320
310
+ * 320 is the iframe default height.
311
+ */
312
+ DocumentJS.Directive.extend('DocumentJS.Directive.iFrame',{
313
+ add: function(line){
314
+ var m = line.match(/^\s*@iframe\s*([\w\.\/]*)\s*([\w]*)\s*(.*)/)
315
+
316
+ if (m) {
317
+ var src = m[1] ? m[1].toLowerCase() : '';
318
+ var height = m[2] ? m[2] : '320';
319
+ this.real_comment += "<div class='iframe_wrapper' "
320
+ this.real_comment += "data-iframe-src='" + src + "' "
321
+ this.real_comment += "data-iframe-height='" + height + "'></div>";
322
+ }
323
+ }
324
+ });
325
+
326
+ /**
327
+ * @hide
328
+ * Placeholder for an application demo, e.g. @demo jquery/event/default/default.html
329
+ */
330
+ DocumentJS.Directive.extend('DocumentJS.Directive.Demo',{
331
+ add: function(line){
332
+ var m = line.match(/^\s*@demo\s*([\w\.\/]*)\s*([\w]*)/)
333
+ if(m){
334
+ var src = m[1] ? m[1].toLowerCase() : '';
335
+ this.real_comment += "<div class='demo_wrapper' data-demo-src='" + src + "'></div>";
336
+ }
337
+ }
338
+ });
339
+
340
+ /**
341
+ * @hide
342
+ * Adds an iframe to some page with example code, e.g. @iframe phui/menu/menu.html 320
343
+ * 320 is the iframe height.
344
+ */
345
+ DocumentJS.Directive.extend('DocumentJS.Directive.Scope',{
346
+ add: function(line){
347
+ print("Scope! "+line)
348
+ this.starts_scope = true;
349
+ }
350
+ });
351
+
352
+ /**
353
+ * @hide
354
+ * Adds an iframe to some page with example code, e.g. @iframe phui/menu/menu.html 320
355
+ * 320 is the iframe height.
356
+ */
357
+ DocumentJS.Directive.extend('DocumentJS.Directive.Type',{
358
+ add: function(line){
359
+ var m = line.match(/^\s*@type\s*([\w\.\/]*)/)
360
+ if(m){
361
+ this.attribute_type = m[0]
362
+ }
363
+ }
364
+ });
365
+ /**
366
+ * @hide
367
+ * Adds an iframe to some page with example code, e.g. @iframe phui/menu/menu.html 320
368
+ * 320 is the iframe height.
369
+ */
370
+ DocumentJS.Directive.extend('DocumentJS.Directive.Parent',{
371
+ waiting : {}
372
+ },{
373
+ add: function(line){
374
+ var m = line.match(/^\s*@parent\s*([\w\.\/]*)\s*([\w]*)/)
375
+ var name = m[1],
376
+ Class = DocumentJS.Page,
377
+ inst
378
+ for(var l =0 ; l < Class.listing.length; l++){
379
+ if(Class.listing[l].name == name) {
380
+ inst = Class.listing[l];break;
381
+ }
382
+ }
383
+ if(!inst){
384
+ if(!DocumentJS.Directive.Parent.waiting[name]){
385
+ DocumentJS.Directive.Parent.waiting[name] = [];
386
+ }
387
+ DocumentJS.Directive.Parent.waiting[name].push(this)
388
+ } else {
389
+ inst.children.push(this);
390
+ this.shallowParents.push(inst)
391
+ }
392
+ }
393
+ });
394
+