sproutcore 1.5.0-java → 1.6.0.beta.2-java

Sign up to get free protection for your applications and to get access to all the features.
Files changed (301) hide show
  1. data/.mailmap +32 -0
  2. data/CHANGELOG +15 -0
  3. data/Rakefile +18 -0
  4. data/VERSION.yml +2 -2
  5. data/bin/sc-build +0 -5
  6. data/bin/sc-build-number +0 -5
  7. data/bin/sc-docs +0 -5
  8. data/bin/sc-gen +0 -5
  9. data/bin/sc-init +0 -5
  10. data/bin/sc-manifest +0 -5
  11. data/bin/sc-server +0 -5
  12. data/bin/sproutcore +0 -5
  13. data/lib/frameworks/sproutcore/Buildfile +3 -3
  14. data/lib/frameworks/sproutcore/CHANGELOG.md +21 -0
  15. data/lib/frameworks/sproutcore/README.md +77 -7
  16. data/lib/frameworks/sproutcore/frameworks/ajax/system/request.js +0 -2
  17. data/lib/frameworks/sproutcore/frameworks/animation/core.js +3 -2
  18. data/lib/frameworks/sproutcore/frameworks/bootstrap/system/browser.js +1 -1
  19. data/lib/frameworks/sproutcore/frameworks/core_foundation/controllers/array.js +1 -17
  20. data/lib/frameworks/sproutcore/frameworks/core_foundation/controllers/controller.js +1 -1
  21. data/lib/frameworks/sproutcore/frameworks/core_foundation/controllers/object.js +4 -4
  22. data/lib/frameworks/sproutcore/frameworks/core_foundation/controls/button.js +49 -0
  23. data/lib/frameworks/sproutcore/frameworks/core_foundation/ext/handlebars/collection.js +23 -21
  24. data/lib/frameworks/sproutcore/frameworks/core_foundation/mixins/delegate_support.js +1 -1
  25. data/lib/frameworks/sproutcore/frameworks/core_foundation/mixins/template_helpers/checkbox_support.js +36 -1
  26. data/lib/frameworks/sproutcore/frameworks/core_foundation/mixins/template_helpers/text_field_support.js +126 -7
  27. data/lib/frameworks/sproutcore/frameworks/core_foundation/panes/pane.js +3 -3
  28. data/lib/frameworks/sproutcore/frameworks/core_foundation/panes/template.js +13 -1
  29. data/lib/frameworks/sproutcore/frameworks/core_foundation/system/device.js +2 -2
  30. data/lib/frameworks/sproutcore/frameworks/core_foundation/system/event.js +16 -16
  31. data/lib/frameworks/sproutcore/frameworks/core_foundation/system/platform.js +2 -2
  32. data/lib/frameworks/sproutcore/frameworks/core_foundation/system/render_context.js +1 -34
  33. data/lib/frameworks/sproutcore/frameworks/core_foundation/system/root_responder.js +29 -23
  34. data/lib/frameworks/sproutcore/frameworks/core_foundation/system/sparse_array.js +8 -4
  35. data/lib/frameworks/sproutcore/frameworks/core_foundation/system/string.js +20 -23
  36. data/lib/frameworks/sproutcore/frameworks/core_foundation/tests/controls/button.js +78 -0
  37. data/lib/frameworks/sproutcore/frameworks/core_foundation/tests/mixins/template_helpers/checkbox_support.js +26 -0
  38. data/lib/frameworks/sproutcore/frameworks/core_foundation/tests/mixins/template_helpers/text_field_support.js +115 -1
  39. data/lib/frameworks/sproutcore/frameworks/core_foundation/tests/system/sparse_array.js +55 -0
  40. data/lib/frameworks/sproutcore/frameworks/core_foundation/tests/views/template/collection.js +49 -1
  41. data/lib/frameworks/sproutcore/frameworks/core_foundation/tests/views/template/handlebars.js +19 -1
  42. data/lib/frameworks/sproutcore/frameworks/core_foundation/views/template.js +1 -0
  43. data/lib/frameworks/sproutcore/frameworks/core_foundation/views/template_collection.js +2 -0
  44. data/lib/frameworks/sproutcore/frameworks/core_foundation/views/view.js +38 -41
  45. data/lib/frameworks/sproutcore/frameworks/core_foundation/views/view/animation.js +4 -3
  46. data/lib/frameworks/sproutcore/frameworks/core_foundation/views/view/base.js +1 -0
  47. data/lib/frameworks/sproutcore/frameworks/core_foundation/views/view/layout.js +1 -0
  48. data/lib/frameworks/sproutcore/frameworks/datastore/system/query.js +7 -82
  49. data/lib/frameworks/sproutcore/frameworks/datastore/system/record_array.js +12 -5
  50. data/lib/frameworks/sproutcore/frameworks/datastore/system/store.js +1 -1
  51. data/lib/frameworks/sproutcore/frameworks/datastore/tests/system/record_array/array_observers.js +82 -0
  52. data/lib/frameworks/sproutcore/frameworks/datastore/tests/system/record_array/flush.js +17 -0
  53. data/lib/frameworks/sproutcore/frameworks/debug/core.js +1 -1
  54. data/lib/frameworks/sproutcore/frameworks/debug/invoke_once_last_debugging.js +1 -1
  55. data/lib/frameworks/sproutcore/frameworks/desktop/core.js +2 -2
  56. data/lib/frameworks/sproutcore/frameworks/desktop/english.lproj/slider.css +33 -30
  57. data/lib/frameworks/sproutcore/frameworks/desktop/mixins/border.js +12 -11
  58. data/lib/frameworks/sproutcore/frameworks/desktop/mixins/collection_fast_path.js +7 -7
  59. data/lib/frameworks/sproutcore/frameworks/desktop/mixins/collection_row_delegate.js +4 -4
  60. data/lib/frameworks/sproutcore/frameworks/desktop/mixins/collection_view_delegate.js +20 -20
  61. data/lib/frameworks/sproutcore/frameworks/desktop/mixins/navigation_builder.js +5 -5
  62. data/lib/frameworks/sproutcore/frameworks/desktop/mixins/scrollable.js +10 -10
  63. data/lib/frameworks/sproutcore/frameworks/desktop/panes/alert.js +24 -23
  64. data/lib/frameworks/sproutcore/frameworks/desktop/panes/menu.js +51 -54
  65. data/lib/frameworks/sproutcore/frameworks/desktop/panes/modal.js +3 -3
  66. data/lib/frameworks/sproutcore/frameworks/desktop/panes/panel.js +1 -1
  67. data/lib/frameworks/sproutcore/frameworks/desktop/panes/select_button.js +29 -29
  68. data/lib/frameworks/sproutcore/frameworks/desktop/panes/sheet.js +1 -1
  69. data/lib/frameworks/sproutcore/frameworks/desktop/protocols/drag_source.js +3 -3
  70. data/lib/frameworks/sproutcore/frameworks/desktop/protocols/drop_target.js +6 -6
  71. data/lib/frameworks/sproutcore/frameworks/desktop/protocols/responder.js +4 -4
  72. data/lib/frameworks/sproutcore/frameworks/desktop/render_delegates/checkbox.js +5 -5
  73. data/lib/frameworks/sproutcore/frameworks/desktop/render_delegates/master_detail.js +1 -1
  74. data/lib/frameworks/sproutcore/frameworks/desktop/render_delegates/progress.js +5 -5
  75. data/lib/frameworks/sproutcore/frameworks/desktop/render_delegates/radio.js +7 -7
  76. data/lib/frameworks/sproutcore/frameworks/desktop/render_delegates/radio_group.js +3 -3
  77. data/lib/frameworks/sproutcore/frameworks/desktop/render_delegates/slider.js +7 -5
  78. data/lib/frameworks/sproutcore/frameworks/desktop/system/drag.js +31 -31
  79. data/lib/frameworks/sproutcore/frameworks/desktop/system/undo_manager.js +1 -1
  80. data/lib/frameworks/sproutcore/frameworks/desktop/views/button.js +35 -29
  81. data/lib/frameworks/sproutcore/frameworks/desktop/views/checkbox.js +2 -2
  82. data/lib/frameworks/sproutcore/frameworks/desktop/views/collection.js +61 -50
  83. data/lib/frameworks/sproutcore/frameworks/desktop/views/segmented.js +9 -2
  84. data/lib/frameworks/sproutcore/frameworks/desktop/views/select.js +2 -2
  85. data/lib/frameworks/sproutcore/frameworks/desktop/views/select_field.js +6 -1
  86. data/lib/frameworks/sproutcore/frameworks/desktop/views/static_content.js +1 -1
  87. data/lib/frameworks/sproutcore/frameworks/experimental/Buildfile +2 -0
  88. data/lib/frameworks/sproutcore/frameworks/experimental/frameworks/designer/coders/object.js +12 -12
  89. data/lib/frameworks/sproutcore/frameworks/experimental/frameworks/designer/controllers/designs.js +6 -6
  90. data/lib/frameworks/sproutcore/frameworks/experimental/frameworks/designer/controllers/page_files.js +1 -1
  91. data/lib/frameworks/sproutcore/frameworks/experimental/frameworks/designer/css/css_style_sheet.js +7 -9
  92. data/lib/frameworks/sproutcore/frameworks/experimental/frameworks/designer/designers/object_designer.js +13 -13
  93. data/lib/frameworks/sproutcore/frameworks/experimental/frameworks/designer/designers/view_designer.js +37 -37
  94. data/lib/frameworks/sproutcore/frameworks/experimental/frameworks/designer/ext/object.js +3 -2
  95. data/lib/frameworks/sproutcore/frameworks/experimental/frameworks/designer/ext/page.js +2 -2
  96. data/lib/frameworks/sproutcore/frameworks/experimental/frameworks/designer/ext/view.js +4 -3
  97. data/lib/frameworks/sproutcore/frameworks/experimental/frameworks/designer/mixins/snap_lines.js +7 -6
  98. data/lib/frameworks/sproutcore/frameworks/experimental/frameworks/designer/views/designer_drop_target.js +3 -3
  99. data/lib/frameworks/sproutcore/frameworks/experimental/frameworks/designer/views/drawing.js +49 -42
  100. data/lib/frameworks/sproutcore/frameworks/experimental/frameworks/designer/views/high_light.js +1 -1
  101. data/lib/frameworks/sproutcore/frameworks/experimental/frameworks/designer/views/page_item_view.js +6 -6
  102. data/lib/frameworks/sproutcore/frameworks/experimental/frameworks/device_motion/device.js +1 -1
  103. data/lib/frameworks/sproutcore/frameworks/{forms → experimental/frameworks/forms}/english.lproj/default_styles.css +0 -0
  104. data/lib/frameworks/sproutcore/frameworks/{forms → experimental/frameworks/forms}/english.lproj/strings.js +0 -0
  105. data/lib/frameworks/sproutcore/frameworks/{forms → experimental/frameworks/forms}/mixins/edit_mode.js +0 -0
  106. data/lib/frameworks/sproutcore/frameworks/{forms → experimental/frameworks/forms}/mixins/emptiness.js +0 -0
  107. data/lib/frameworks/sproutcore/frameworks/{forms → experimental/frameworks/forms}/render_delegates/form.js +0 -0
  108. data/lib/frameworks/sproutcore/frameworks/{forms → experimental/frameworks/forms}/render_delegates/form_row.js +0 -0
  109. data/lib/frameworks/sproutcore/frameworks/{forms → experimental/frameworks/forms}/tests/views/form.js +0 -0
  110. data/lib/frameworks/sproutcore/frameworks/{forms → experimental/frameworks/forms}/tests/views/form_checkbox_field.js +0 -0
  111. data/lib/frameworks/sproutcore/frameworks/{forms → experimental/frameworks/forms}/tests/views/form_field.js +0 -0
  112. data/lib/frameworks/sproutcore/frameworks/{forms → experimental/frameworks/forms}/tests/views/form_label.js +0 -0
  113. data/lib/frameworks/sproutcore/frameworks/{forms → experimental/frameworks/forms}/tests/views/form_radio_field.js +0 -0
  114. data/lib/frameworks/sproutcore/frameworks/{forms → experimental/frameworks/forms}/tests/views/form_row.js +0 -0
  115. data/lib/frameworks/sproutcore/frameworks/{forms → experimental/frameworks/forms}/tests/views/form_text_field.js +0 -0
  116. data/lib/frameworks/sproutcore/frameworks/{forms → experimental/frameworks/forms}/views/form.js +13 -14
  117. data/lib/frameworks/sproutcore/frameworks/{forms → experimental/frameworks/forms}/views/form_row.js +0 -0
  118. data/lib/frameworks/sproutcore/frameworks/experimental/frameworks/polymorphism/models/record.js +4 -6
  119. data/lib/frameworks/sproutcore/frameworks/foundation/mixins/static_layout.js +0 -1
  120. data/lib/frameworks/sproutcore/frameworks/foundation/private/tree_item_observer.js +2 -4
  121. data/lib/frameworks/sproutcore/frameworks/foundation/system/image_queue.js +8 -12
  122. data/lib/frameworks/sproutcore/frameworks/foundation/views/inline_text_field.js +28 -34
  123. data/lib/frameworks/sproutcore/frameworks/{foundation → routing}/system/routes.js +31 -47
  124. data/lib/frameworks/sproutcore/frameworks/{foundation → routing}/tests/system/routes.js +0 -0
  125. data/lib/frameworks/sproutcore/frameworks/runtime/core.js +2 -2
  126. data/lib/frameworks/sproutcore/frameworks/runtime/debug/test_suites/array/base.js +15 -21
  127. data/lib/frameworks/sproutcore/frameworks/runtime/mixins/array.js +8 -0
  128. data/lib/frameworks/sproutcore/frameworks/runtime/mixins/enumerable.js +3 -3
  129. data/lib/frameworks/sproutcore/frameworks/runtime/tests/mixins/array_observers.js +23 -0
  130. data/lib/frameworks/sproutcore/frameworks/runtime/tests/system/binding.js +1 -1
  131. data/lib/frameworks/sproutcore/frameworks/runtime/tests/system/index_set/contains.js +3 -3
  132. data/lib/frameworks/sproutcore/frameworks/runtime/tests/system/index_set/intersects.js +3 -3
  133. data/lib/frameworks/sproutcore/frameworks/statechart/system/state.js +66 -133
  134. data/lib/frameworks/sproutcore/frameworks/statechart/system/statechart.js +68 -139
  135. data/lib/frameworks/sproutcore/frameworks/testing/system/plan.js +11 -11
  136. data/lib/frameworks/sproutcore/frameworks/testing/system/suite.js +23 -29
  137. data/lib/frameworks/sproutcore/lib/index.rhtml +5 -2
  138. data/lib/sproutcore.rb +2 -9
  139. data/lib/sproutcore/builders/minify.rb +5 -5
  140. data/lib/sproutcore/helpers/minifier.rb +6 -10
  141. data/lib/sproutcore/models/target.rb +2 -2
  142. data/lib/sproutcore/rack/proxy.rb +8 -7
  143. data/lib/sproutcore/tools.rb +16 -5
  144. data/spec/lib/builders/html_spec.rb +5 -5
  145. data/sproutcore.gemspec +11 -5
  146. data/vendor/chance/lib/chance.rb +4 -2
  147. data/{lib/sproutcore/vendor → vendor}/jsdoc/README.txt +0 -0
  148. data/{lib/sproutcore/vendor → vendor}/jsdoc/app/frame.js +0 -0
  149. data/{lib/sproutcore/vendor → vendor}/jsdoc/app/frame/Chain.js +0 -0
  150. data/{lib/sproutcore/vendor → vendor}/jsdoc/app/frame/Dumper.js +0 -0
  151. data/{lib/sproutcore/vendor → vendor}/jsdoc/app/frame/Hash.js +0 -0
  152. data/{lib/sproutcore/vendor → vendor}/jsdoc/app/frame/Link.js +0 -0
  153. data/{lib/sproutcore/vendor → vendor}/jsdoc/app/frame/Namespace.js +0 -0
  154. data/{lib/sproutcore/vendor → vendor}/jsdoc/app/frame/Opt.js +0 -0
  155. data/{lib/sproutcore/vendor → vendor}/jsdoc/app/frame/Reflection.js +0 -0
  156. data/{lib/sproutcore/vendor → vendor}/jsdoc/app/frame/String.js +0 -0
  157. data/{lib/sproutcore/vendor → vendor}/jsdoc/app/frame/Testrun.js +0 -0
  158. data/{lib/sproutcore/vendor → vendor}/jsdoc/app/handlers/FOODOC.js +0 -0
  159. data/{lib/sproutcore/vendor → vendor}/jsdoc/app/handlers/XMLDOC.js +0 -0
  160. data/{lib/sproutcore/vendor → vendor}/jsdoc/app/handlers/XMLDOC/DomReader.js +0 -0
  161. data/{lib/sproutcore/vendor → vendor}/jsdoc/app/handlers/XMLDOC/XMLDoc.js +0 -0
  162. data/{lib/sproutcore/vendor → vendor}/jsdoc/app/handlers/XMLDOC/XMLParse.js +0 -0
  163. data/{lib/sproutcore/vendor → vendor}/jsdoc/app/lib/JSDOC.js +0 -0
  164. data/{lib/sproutcore/vendor → vendor}/jsdoc/app/lib/JSDOC/DocComment.js +0 -0
  165. data/{lib/sproutcore/vendor → vendor}/jsdoc/app/lib/JSDOC/DocTag.js +0 -0
  166. data/{lib/sproutcore/vendor → vendor}/jsdoc/app/lib/JSDOC/JsDoc.js +0 -0
  167. data/{lib/sproutcore/vendor → vendor}/jsdoc/app/lib/JSDOC/JsPlate.js +0 -0
  168. data/{lib/sproutcore/vendor → vendor}/jsdoc/app/lib/JSDOC/Lang.js +0 -0
  169. data/{lib/sproutcore/vendor → vendor}/jsdoc/app/lib/JSDOC/Parser.js +0 -0
  170. data/{lib/sproutcore/vendor → vendor}/jsdoc/app/lib/JSDOC/PluginManager.js +0 -0
  171. data/{lib/sproutcore/vendor → vendor}/jsdoc/app/lib/JSDOC/Symbol.js +0 -0
  172. data/{lib/sproutcore/vendor → vendor}/jsdoc/app/lib/JSDOC/SymbolSet.js +0 -0
  173. data/{lib/sproutcore/vendor → vendor}/jsdoc/app/lib/JSDOC/TextStream.js +0 -0
  174. data/{lib/sproutcore/vendor → vendor}/jsdoc/app/lib/JSDOC/Token.js +0 -0
  175. data/{lib/sproutcore/vendor → vendor}/jsdoc/app/lib/JSDOC/TokenReader.js +0 -0
  176. data/{lib/sproutcore/vendor → vendor}/jsdoc/app/lib/JSDOC/TokenStream.js +0 -0
  177. data/{lib/sproutcore/vendor → vendor}/jsdoc/app/lib/JSDOC/Util.js +0 -0
  178. data/{lib/sproutcore/vendor → vendor}/jsdoc/app/lib/JSDOC/Walker.js +0 -0
  179. data/{lib/sproutcore/vendor → vendor}/jsdoc/app/main.js +0 -0
  180. data/{lib/sproutcore/vendor → vendor}/jsdoc/app/plugins/commentSrcJson.js +0 -0
  181. data/{lib/sproutcore/vendor → vendor}/jsdoc/app/plugins/frameworkPrototype.js +0 -0
  182. data/{lib/sproutcore/vendor → vendor}/jsdoc/app/plugins/functionCall.js +0 -0
  183. data/{lib/sproutcore/vendor → vendor}/jsdoc/app/plugins/publishSrcHilite.js +0 -0
  184. data/{lib/sproutcore/vendor → vendor}/jsdoc/app/plugins/sproutcoreTags.js +0 -0
  185. data/{lib/sproutcore/vendor → vendor}/jsdoc/app/plugins/symbolLink.js +0 -0
  186. data/{lib/sproutcore/vendor → vendor}/jsdoc/app/plugins/tagParamConfig.js +0 -0
  187. data/{lib/sproutcore/vendor → vendor}/jsdoc/app/plugins/tagSynonyms.js +0 -0
  188. data/{lib/sproutcore/vendor → vendor}/jsdoc/app/run.js +0 -0
  189. data/{lib/sproutcore/vendor → vendor}/jsdoc/app/t/TestDoc.js +0 -0
  190. data/{lib/sproutcore/vendor → vendor}/jsdoc/app/t/runner.js +0 -0
  191. data/{lib/sproutcore/vendor → vendor}/jsdoc/app/test.js +0 -0
  192. data/{lib/sproutcore/vendor → vendor}/jsdoc/app/test/addon.js +0 -0
  193. data/{lib/sproutcore/vendor → vendor}/jsdoc/app/test/anon_inner.js +0 -0
  194. data/{lib/sproutcore/vendor → vendor}/jsdoc/app/test/augments.js +0 -0
  195. data/{lib/sproutcore/vendor → vendor}/jsdoc/app/test/augments2.js +0 -0
  196. data/{lib/sproutcore/vendor → vendor}/jsdoc/app/test/borrows.js +0 -0
  197. data/{lib/sproutcore/vendor → vendor}/jsdoc/app/test/borrows2.js +0 -0
  198. data/{lib/sproutcore/vendor → vendor}/jsdoc/app/test/config.js +0 -0
  199. data/{lib/sproutcore/vendor → vendor}/jsdoc/app/test/constructs.js +0 -0
  200. data/{lib/sproutcore/vendor → vendor}/jsdoc/app/test/encoding.js +0 -0
  201. data/{lib/sproutcore/vendor → vendor}/jsdoc/app/test/encoding_other.js +0 -0
  202. data/{lib/sproutcore/vendor → vendor}/jsdoc/app/test/functions_anon.js +0 -0
  203. data/{lib/sproutcore/vendor → vendor}/jsdoc/app/test/functions_nested.js +0 -0
  204. data/{lib/sproutcore/vendor → vendor}/jsdoc/app/test/global.js +0 -0
  205. data/{lib/sproutcore/vendor → vendor}/jsdoc/app/test/globals.js +0 -0
  206. data/{lib/sproutcore/vendor → vendor}/jsdoc/app/test/ignore.js +0 -0
  207. data/{lib/sproutcore/vendor → vendor}/jsdoc/app/test/inner.js +0 -0
  208. data/{lib/sproutcore/vendor → vendor}/jsdoc/app/test/jsdoc_test.js +0 -0
  209. data/{lib/sproutcore/vendor → vendor}/jsdoc/app/test/lend.js +0 -0
  210. data/{lib/sproutcore/vendor → vendor}/jsdoc/app/test/memberof.js +0 -0
  211. data/{lib/sproutcore/vendor → vendor}/jsdoc/app/test/memberof_constructor.js +0 -0
  212. data/{lib/sproutcore/vendor → vendor}/jsdoc/app/test/name.js +0 -0
  213. data/{lib/sproutcore/vendor → vendor}/jsdoc/app/test/namespace_nested.js +0 -0
  214. data/{lib/sproutcore/vendor → vendor}/jsdoc/app/test/nocode.js +0 -0
  215. data/{lib/sproutcore/vendor → vendor}/jsdoc/app/test/oblit_anon.js +0 -0
  216. data/{lib/sproutcore/vendor → vendor}/jsdoc/app/test/overview.js +0 -0
  217. data/{lib/sproutcore/vendor → vendor}/jsdoc/app/test/param_inline.js +0 -0
  218. data/{lib/sproutcore/vendor → vendor}/jsdoc/app/test/params_optional.js +0 -0
  219. data/{lib/sproutcore/vendor → vendor}/jsdoc/app/test/prototype.js +0 -0
  220. data/{lib/sproutcore/vendor → vendor}/jsdoc/app/test/prototype_nested.js +0 -0
  221. data/{lib/sproutcore/vendor → vendor}/jsdoc/app/test/prototype_oblit.js +0 -0
  222. data/{lib/sproutcore/vendor → vendor}/jsdoc/app/test/prototype_oblit_constructor.js +0 -0
  223. data/{lib/sproutcore/vendor → vendor}/jsdoc/app/test/public.js +0 -0
  224. data/{lib/sproutcore/vendor → vendor}/jsdoc/app/test/shared.js +0 -0
  225. data/{lib/sproutcore/vendor → vendor}/jsdoc/app/test/shared2.js +0 -0
  226. data/{lib/sproutcore/vendor → vendor}/jsdoc/app/test/shortcuts.js +0 -0
  227. data/{lib/sproutcore/vendor → vendor}/jsdoc/app/test/static_this.js +0 -0
  228. data/{lib/sproutcore/vendor → vendor}/jsdoc/app/test/synonyms.js +0 -0
  229. data/{lib/sproutcore/vendor → vendor}/jsdoc/app/test/tosource.js +0 -0
  230. data/{lib/sproutcore/vendor → vendor}/jsdoc/app/test/variable_redefine.js +0 -0
  231. data/{lib/sproutcore/vendor → vendor}/jsdoc/changes.txt +0 -0
  232. data/{lib/sproutcore/vendor → vendor}/jsdoc/conf/sample.conf +0 -0
  233. data/{lib/sproutcore/vendor → vendor}/jsdoc/java/build.xml +0 -0
  234. data/{lib/sproutcore/vendor → vendor}/jsdoc/java/build_1.4.xml +0 -0
  235. data/{lib/sproutcore/vendor → vendor}/jsdoc/java/classes/js.jar +0 -0
  236. data/{lib/sproutcore/vendor → vendor}/jsdoc/java/src/JsDebugRun.java +0 -0
  237. data/{lib/sproutcore/vendor → vendor}/jsdoc/java/src/JsRun.java +0 -0
  238. data/{lib/sproutcore/vendor → vendor}/jsdoc/jsdebug.jar +0 -0
  239. data/{lib/sproutcore/vendor → vendor}/jsdoc/jsrun.jar +0 -0
  240. data/{lib/sproutcore/vendor → vendor}/jsdoc/t/TestDoc.js +0 -0
  241. data/{lib/sproutcore/vendor → vendor}/jsdoc/t/runner.js +0 -0
  242. data/{lib/sproutcore/vendor → vendor}/jsdoc/test.js +0 -0
  243. data/{lib/sproutcore/vendor → vendor}/jsdoc/test/addon.js +0 -0
  244. data/{lib/sproutcore/vendor → vendor}/jsdoc/test/anon_inner.js +0 -0
  245. data/{lib/sproutcore/vendor → vendor}/jsdoc/test/augments.js +0 -0
  246. data/{lib/sproutcore/vendor → vendor}/jsdoc/test/augments2.js +0 -0
  247. data/{lib/sproutcore/vendor → vendor}/jsdoc/test/borrows.js +0 -0
  248. data/{lib/sproutcore/vendor → vendor}/jsdoc/test/borrows2.js +0 -0
  249. data/{lib/sproutcore/vendor → vendor}/jsdoc/test/config.js +0 -0
  250. data/{lib/sproutcore/vendor → vendor}/jsdoc/test/constructs.js +0 -0
  251. data/{lib/sproutcore/vendor → vendor}/jsdoc/test/encoding.js +0 -0
  252. data/{lib/sproutcore/vendor → vendor}/jsdoc/test/encoding_other.js +0 -0
  253. data/{lib/sproutcore/vendor → vendor}/jsdoc/test/functions_anon.js +0 -0
  254. data/{lib/sproutcore/vendor → vendor}/jsdoc/test/functions_nested.js +0 -0
  255. data/{lib/sproutcore/vendor → vendor}/jsdoc/test/global.js +0 -0
  256. data/{lib/sproutcore/vendor → vendor}/jsdoc/test/globals.js +0 -0
  257. data/{lib/sproutcore/vendor → vendor}/jsdoc/test/ignore.js +0 -0
  258. data/{lib/sproutcore/vendor → vendor}/jsdoc/test/inner.js +0 -0
  259. data/{lib/sproutcore/vendor → vendor}/jsdoc/test/jsdoc_test.js +0 -0
  260. data/{lib/sproutcore/vendor → vendor}/jsdoc/test/lend.js +0 -0
  261. data/{lib/sproutcore/vendor → vendor}/jsdoc/test/memberof.js +0 -0
  262. data/{lib/sproutcore/vendor → vendor}/jsdoc/test/memberof_constructor.js +0 -0
  263. data/{lib/sproutcore/vendor → vendor}/jsdoc/test/name.js +0 -0
  264. data/{lib/sproutcore/vendor → vendor}/jsdoc/test/namespace_nested.js +0 -0
  265. data/{lib/sproutcore/vendor → vendor}/jsdoc/test/nocode.js +0 -0
  266. data/{lib/sproutcore/vendor → vendor}/jsdoc/test/oblit_anon.js +0 -0
  267. data/{lib/sproutcore/vendor → vendor}/jsdoc/test/overview.js +0 -0
  268. data/{lib/sproutcore/vendor → vendor}/jsdoc/test/param_inline.js +0 -0
  269. data/{lib/sproutcore/vendor → vendor}/jsdoc/test/params_optional.js +0 -0
  270. data/{lib/sproutcore/vendor → vendor}/jsdoc/test/prototype.js +0 -0
  271. data/{lib/sproutcore/vendor → vendor}/jsdoc/test/prototype_nested.js +0 -0
  272. data/{lib/sproutcore/vendor → vendor}/jsdoc/test/prototype_oblit.js +0 -0
  273. data/{lib/sproutcore/vendor → vendor}/jsdoc/test/prototype_oblit_constructor.js +0 -0
  274. data/{lib/sproutcore/vendor → vendor}/jsdoc/test/public.js +0 -0
  275. data/{lib/sproutcore/vendor → vendor}/jsdoc/test/shared.js +0 -0
  276. data/{lib/sproutcore/vendor → vendor}/jsdoc/test/shared2.js +0 -0
  277. data/{lib/sproutcore/vendor → vendor}/jsdoc/test/shortcuts.js +0 -0
  278. data/{lib/sproutcore/vendor → vendor}/jsdoc/test/static_this.js +0 -0
  279. data/{lib/sproutcore/vendor → vendor}/jsdoc/test/synonyms.js +0 -0
  280. data/{lib/sproutcore/vendor → vendor}/jsdoc/test/tosource.js +0 -0
  281. data/{lib/sproutcore/vendor → vendor}/jsdoc/test/variable_redefine.js +0 -0
  282. data/vendor/sproutcore/{src/SCCompiler/lib/yuicompressor-2.4.4.jar → lib/yuicompressor-2.4.6.jar} +0 -0
  283. metadata +169 -178
  284. data/lib/frameworks/sproutcore/frameworks/desktop/views/file.js +0 -148
  285. data/lib/sproutcore/vendor/github_gem_lint.rb +0 -22
  286. data/vendor/sproutcore/SCCompiler.jar +0 -0
  287. data/vendor/sproutcore/lib/args4j-2.0.12.jar +0 -0
  288. data/vendor/sproutcore/lib/yuicompressor-2.4.2.jar +0 -0
  289. data/vendor/sproutcore/src/SCCompiler/build.xml +0 -74
  290. data/vendor/sproutcore/src/SCCompiler/lib/args4j-2.0.12.jar +0 -0
  291. data/vendor/sproutcore/src/SCCompiler/lib/htmlcompressor-0.9.3.jar +0 -0
  292. data/vendor/sproutcore/src/SCCompiler/lib/yuicompressor-2.4.2.jar +0 -0
  293. data/vendor/sproutcore/src/SCCompiler/manifest.mf +0 -3
  294. data/vendor/sproutcore/src/SCCompiler/nbproject/build-impl.xml +0 -894
  295. data/vendor/sproutcore/src/SCCompiler/nbproject/genfiles.properties +0 -8
  296. data/vendor/sproutcore/src/SCCompiler/nbproject/private/config.properties +0 -0
  297. data/vendor/sproutcore/src/SCCompiler/nbproject/private/private.properties +0 -10
  298. data/vendor/sproutcore/src/SCCompiler/nbproject/private/private.xml +0 -4
  299. data/vendor/sproutcore/src/SCCompiler/nbproject/project.properties +0 -90
  300. data/vendor/sproutcore/src/SCCompiler/nbproject/project.xml +0 -15
  301. data/vendor/sproutcore/src/SCCompiler/src/com/sproutcore/Main.java +0 -348
@@ -18,15 +18,15 @@ sc_require('controllers/controller') ;
18
18
  object controller one time for all of your views and then swap out the
19
19
  content as needed.
20
20
 
21
- h2. Working with Arrays
21
+ ## Working with Arrays
22
22
 
23
23
  An ObjectController can accept both arrays and single objects as content.
24
24
  If the content is an array, the ObjectController will do its best to treat
25
25
  the array as a single object. For example, if you set the content of an
26
26
  ObjectController to an array of Contact records and then call:
27
27
 
28
- contactController.get('name');
29
-
28
+ contactController.get('name');
29
+
30
30
  The controller will check the name property of each Contact in the array.
31
31
  If the value of the property for each Contact is the same, that value will
32
32
  be returned. If the any values are different, then an array will be
@@ -41,7 +41,7 @@ sc_require('controllers/controller') ;
41
41
  setup your bindings so that they will convert the content to a single object
42
42
  like so:
43
43
 
44
- contentBinding: SC.Binding.single('MyApp.listController.selection') ;
44
+ contentBinding: SC.Binding.single('MyApp.listController.selection') ;
45
45
 
46
46
  This will ensure that your content property is always a single object
47
47
  instead of an array.
@@ -0,0 +1,49 @@
1
+ sc_require('views/template');
2
+
3
+ SC.Button = SC.TemplateView.extend({
4
+ classNames: ['sc-button'],
5
+
6
+ // Setting isActive to true will trigger the classBinding and add
7
+ // 'is-active' to our layer's class names.
8
+ mouseDown: function() {
9
+ this.set('isActive', true);
10
+ this._isMouseDown = YES;
11
+ },
12
+
13
+ mouseExited: function() {
14
+ this.set('isActive', false);
15
+ },
16
+
17
+ mouseEntered: function() {
18
+ if (this._isMouseDown) {
19
+ this.set('isActive', true);
20
+ }
21
+ },
22
+
23
+ // Setting isActive to false will remove 'is-active' from our
24
+ // layer's class names.
25
+ mouseUp: function(event) {
26
+ if (this.get('isActive')) {
27
+ var action = this.get('action'),
28
+ target = this.get('target') || null,
29
+ rootResponder = this.getPath('pane.rootResponder');
30
+
31
+ if (action && rootResponder) {
32
+ rootResponder.sendAction(action, target, this, this.get('pane'), null, this);
33
+ }
34
+
35
+ this.set('isActive', false);
36
+ }
37
+
38
+ this._isMouseDown = NO;
39
+ },
40
+
41
+ touchStart: function(touch) {
42
+ this.mouseDown(touch);
43
+ },
44
+
45
+ touchEnd: function(touch) {
46
+ this.mouseUp(touch);
47
+ }
48
+ });
49
+
@@ -1,9 +1,12 @@
1
+ /*globals Handlebars */
2
+
1
3
  sc_require('ext/handlebars');
2
4
 
3
5
  Handlebars.registerHelper('collection', function(path, options) {
4
6
  var fn = options.fn;
5
7
  var data = options.data;
6
8
  var inverse = options.inverse;
9
+ var hash = options.hash;
7
10
  var collectionClass, collectionObject;
8
11
 
9
12
  collectionClass = path ? SC.objectForPropertyPath(path) : SC.TemplateCollectionView;
@@ -13,34 +16,33 @@ Handlebars.registerHelper('collection', function(path, options) {
13
16
  }
14
17
  //@ endif
15
18
 
16
- var hash = fn.hash, itemHash = {}, match;
19
+ var extensions = {};
20
+
21
+ if (hash) {
22
+ var itemHash = {}, match;
17
23
 
18
- for (var prop in hash) {
19
- if (fn.hash.hasOwnProperty(prop)) {
20
- match = prop.match(/^item(.)(.*)$/);
24
+ for (var prop in hash) {
25
+ if (hash.hasOwnProperty(prop)) {
26
+ match = prop.match(/^item(.)(.*)$/);
21
27
 
22
- if(match) {
23
- itemHash[match[1].toLowerCase() + match[2]] = hash[prop];
24
- delete hash[prop];
28
+ if(match) {
29
+ itemHash[match[1].toLowerCase() + match[2]] = hash[prop];
30
+ delete hash[prop];
31
+ }
25
32
  }
26
33
  }
27
- }
28
34
 
29
- if(fn) {
30
- var extensions = SC.clone(hash);
35
+ extensions = SC.clone(hash);
36
+ extensions.itemViewOptions = itemHash;
37
+ }
31
38
 
32
- SC.mixin(extensions, {
33
- itemViewTemplate: fn,
34
- inverseTemplate: inverse,
35
- itemViewOptions: itemHash
36
- });
39
+ if (fn) { extensions.itemViewTemplate = fn; }
40
+ if (inverse) { extensions.inverseTemplate = inverse; }
37
41
 
38
- if(collectionClass.isClass) {
39
- collectionObject = collectionClass.extend(extensions);
40
- } else {
41
- SC.mixin(collectionClass, extensions);
42
- collectionObject = collectionClass;
43
- }
42
+ if(collectionClass.isClass) {
43
+ collectionObject = collectionClass.extend(extensions);
44
+ } else {
45
+ collectionObject = SC.mixin(collectionClass, extensions);
44
46
  }
45
47
 
46
48
  options.fn = function() { return ""; };
@@ -18,7 +18,7 @@
18
18
  The methods provided by this mixin make it easier to implement this pattern
19
19
  but they are not required to support delegates.
20
20
 
21
- h2. The Pattern
21
+ ## The Pattern
22
22
 
23
23
  The delegate design pattern typically means that you provide a property,
24
24
  usually ending in "delegate", that can be set to another object in the
@@ -4,9 +4,44 @@
4
4
  // ©2008-2011 Apple Inc. All rights reserved.
5
5
  // License: Licensed under MIT license (see license.js)
6
6
  // ==========================================================================
7
+
8
+ sc_require('views/template');
9
+
7
10
  /** @class */
8
11
 
9
- SC.CheckboxSupport = /** @scope SC.CheckboxSupport.prototype */{
12
+ SC.Checkbox = SC.TemplateView.extend(
13
+ /** @scope SC.Checkbox.prototype */ {
14
+
15
+ title: null,
16
+ value: null,
17
+
18
+ classNames: ['sc-checkbox'],
19
+ template: SC.Handlebars.compile('<label><input type="checkbox">{{title}}</label>'),
20
+
21
+ didCreateLayer: function() {
22
+ var self = this;
23
+
24
+ this.$('input').bind('change', function() {
25
+ self.domValueDidChange(this);
26
+ });
27
+ },
28
+
29
+ domValueDidChange: function(node) {
30
+ this.set('value', !!$(node).attr('checked'));
31
+ },
32
+
33
+ value: function(key, value) {
34
+ if (value !== undefined) {
35
+ this.$('input').attr('checked', value);
36
+ } else {
37
+ value = this.$('input').attr('checked');
38
+ }
39
+
40
+ return value;
41
+ }.property()
42
+ });
43
+
44
+ SC.CheckboxSupport = /** @scope SC.CheckboxSupport */{
10
45
  didCreateLayer: function() {
11
46
  this.$('input').change(jQuery.proxy(function() {
12
47
  SC.RunLoop.begin();
@@ -4,23 +4,142 @@
4
4
  // ©2008-2011 Apple Inc. All rights reserved.
5
5
  // License: Licensed under MIT license (see license.js)
6
6
  // ==========================================================================
7
- /** @class
8
7
 
9
- */
10
- SC.TextFieldSupport = /** @scope SC.TextFieldSupport.prototype */{
8
+ sc_require('views/template');
9
+
10
+ /** @class */
11
+
12
+ SC.TextField = SC.TemplateView.extend(
13
+ /** @scope SC.TextField.prototype */ {
14
+
15
+ classNames: ['sc-text-field'],
16
+
17
+ // we can't use bindAttr because of a race condition:
18
+ //
19
+ // when `value` is set, the bindAttr observer immediately calls
20
+ // `get` in order to persist it to the DOM, but because we made
21
+ // the `value` property idempotent, when it gets called by
22
+ // bindAttr, it fetches the not-yet-updated value from the DOM
23
+ // and returns it.
24
+ //
25
+ // In short, because we need to be able to catch changes to the
26
+ // DOM made directly, we cannot also rely on bindAttr to update
27
+ // the property: a chicken-and-egg problem.
28
+ template: SC.Handlebars.compile('<input type="text">'),
29
+
30
+ didCreateLayer: function() {
31
+ var self = this;
32
+
33
+ var input = this.$('input');
34
+ input.val(this._value);
35
+
36
+ SC.Event.add(input, 'focus', this, this.focusIn);
37
+ SC.Event.add(input, 'blur', this, this.focusOut);
38
+
39
+ this.$('input').bind('change', function() {
40
+ self.domValueDidChange(SC.$(this));
41
+ });
42
+ },
43
+
44
+ /**
45
+ The problem this property is trying to solve is twofold:
46
+
47
+ 1. Make it possible to set the value of a text field that has
48
+ not yet been inserted into the DOM
49
+ 2. Make sure that `value` properly reflects changes made directly
50
+ to the element's `value` property.
51
+
52
+ In order to achieve (2), we need to make the property volatile,
53
+ so that SproutCore will call the getter no matter what if get()
54
+ is called.
55
+
56
+ In order to achieve (1), we need to store a local cache of the
57
+ value, so that SproutCore can set the proper value as soon as
58
+ the underlying DOM element is created.
59
+ */
60
+ value: function(key, value) {
61
+ var input = this.$('input');
62
+
63
+ if (value !== undefined) {
64
+ this._value = value;
65
+ input.val(value);
66
+ } else if (input.length) {
67
+ if(window.billy) { debugger; }
68
+ this._value = value = input.val();
69
+ } else {
70
+ if(window.billy) { debugger; }
71
+ value = this._value;
72
+ }
73
+
74
+ return value;
75
+ }.property().idempotent(),
76
+
77
+ domValueDidChange: function(jquery) {
78
+ this.set('value', jquery.val());
79
+ },
80
+
81
+ focusIn: function(event) {
82
+ this.becomeFirstResponder();
83
+ this.tryToPerform('focus', event);
84
+ },
85
+
86
+ focusOut: function(event) {
87
+ this.resignFirstResponder();
88
+ this.tryToPerform('blur', event);
89
+ },
90
+
91
+ willLoseFirstResponder: function() {
92
+ this.notifyPropertyChange('value');
93
+ },
94
+
95
+ keyUp: function(evt) {
96
+ this.domValueDidChange(this.$('input'));
97
+
98
+ if (evt.keyCode === 13) {
99
+ return this.insertNewline(evt);
100
+ } else if (evt.keyCode === 27) {
101
+ return this.cancel(evt);
102
+ }
103
+
104
+ return true;
105
+ }
106
+ });
107
+
108
+ SC.TextFieldSupport = /** @scope SC.TextFieldSupport */{
109
+
110
+ /** @private
111
+ Used internally to store value because the layer may not exist
112
+ */
113
+ _value: null,
114
+
115
+ /**
116
+ @type String
117
+ @default null
118
+ */
11
119
  value: function(key, value) {
120
+ var input = this.$('input');
121
+
12
122
  if (value !== undefined) {
13
- this.$('input').val(value);
123
+ this._value = value;
124
+ input.val(value);
14
125
  } else {
15
- value = this.$('input').val();
126
+ if (input.length > 0) {
127
+ value = this._value = input.val();
128
+ } else {
129
+ value = this._value;
130
+ }
16
131
  }
17
132
 
18
133
  return value;
19
134
  }.property().idempotent(),
20
135
 
21
136
  didCreateLayer: function() {
22
- SC.Event.add(this.$('input'), 'focus', this, this.focusIn);
23
- SC.Event.add(this.$('input'), 'blur', this, this.focusOut);
137
+ var input = this.$('input');
138
+
139
+ input.val(this._value);
140
+
141
+ SC.Event.add(input, 'focus', this, this.focusIn);
142
+ SC.Event.add(input, 'blur', this, this.focusOut);
24
143
  },
25
144
 
26
145
  focusIn: function(event) {
@@ -24,7 +24,7 @@ SC.MIXED_STATE = '__MIXED__' ;
24
24
  Usually you will not work directly with the SC.Pane class, but with one of
25
25
  its subclasses such as SC.MainPane, SC.Panel, or SC.PopupPane.
26
26
 
27
- h1. Showing a Pane
27
+ ## Showing a Pane
28
28
 
29
29
  To make a pane visible, you need to add it to your HTML document. The
30
30
  simplest way to do this is to call the append() method:
@@ -47,7 +47,7 @@ SC.MIXED_STATE = '__MIXED__' ;
47
47
  resize with the window if needed, relaying resize notifications to children
48
48
  as well.
49
49
 
50
- h1. Hiding a Pane
50
+ ## Hiding a Pane
51
51
 
52
52
  When you are finished with a pane, you can hide the pane by calling the
53
53
  remove() method. This method will actually remove the Pane from the
@@ -61,7 +61,7 @@ SC.MIXED_STATE = '__MIXED__' ;
61
61
  You can readd a pane to the document again any time in the future by using
62
62
  any of the insertion methods defined in the previous section.
63
63
 
64
- h1. Receiving Events
64
+ ## Receiving Events
65
65
 
66
66
  Your pane and its child views will automatically receive any mouse or touch
67
67
  events as long as it is on the screen. To receive keyboard events, however,
@@ -16,7 +16,19 @@
16
16
  })
17
17
  }
18
18
  */
19
- SC.TemplatePane = SC.Object.extend({});
19
+ SC.TemplatePane = SC.Object.extend({
20
+ touchStart: function(touch) {
21
+ touch.allowDefault();
22
+ },
23
+
24
+ touchesDragged: function(evt, touches) {
25
+ evt.allowDefault();
26
+ },
27
+
28
+ touchEnd: function(touch) {
29
+ touch.allowDefault();
30
+ }
31
+ });
20
32
 
21
33
  SC.mixin(SC.TemplatePane, {
22
34
  append: function(attrs) {
@@ -19,11 +19,11 @@ SC.NO_ORIENTATION = 'desktop'; // value 'desktop' for backwards compatibility
19
19
  orientation and if the device is offline, as well as observe when they change
20
20
  state.
21
21
 
22
- h1. Orientation
22
+ ## Orientation
23
23
  When a touch device changes orientation, the orientation property will be
24
24
  set accordingly which you can observe
25
25
 
26
- h1. Offline support
26
+ ## Offline support
27
27
  In order to build a good offline-capable web application, you need to know
28
28
  when your app has gone offline so you can for instance queue your server
29
29
  requests for a later time or provide a specific UI/message.
@@ -195,10 +195,10 @@ SC.mixin(SC.Event, /** @scope SC.Event */ {
195
195
  relevant event occurs on the named element. This method supports a
196
196
  variety of handler types, depending on the kind of support you need.
197
197
 
198
- h2. Simple Function Handlers
198
+ ## Simple Function Handlers
199
+
200
+ SC.Event.add(anElement, "click", myClickHandler) ;
199
201
 
200
- SC.Event.add(anElement, "click", myClickHandler) ;
201
-
202
202
  The most basic type of handler you can pass is a function. This function
203
203
  will be executed everytime an event of the type you specify occurs on the
204
204
  named element. You can optionally pass an additional context object which
@@ -209,24 +209,24 @@ SC.mixin(SC.Event, /** @scope SC.Event */ {
209
209
 
210
210
  The click handler for this method must have a method signature like:
211
211
 
212
- function(event) { return YES|NO; }
213
-
214
- h2. Method Invocations
212
+ function(event) { return YES|NO; }
215
213
 
216
- SC.Event.add(anElement, "click", myObject, myObject.aMethod) ;
217
-
214
+ ## Method Invocations
215
+
216
+ SC.Event.add(anElement, "click", myObject, myObject.aMethod) ;
217
+
218
218
  Optionally you can specify a target object and a method on the object to
219
219
  be invoked when the event occurs. This will invoke the method function
220
220
  with the target object you pass as "this". The method should have a
221
221
  signature like:
222
222
 
223
- function(event, targetElement) { return YES|NO; }
224
-
223
+ function(event, targetElement) { return YES|NO; }
224
+
225
225
  Like function handlers, you can pass an additional context data paramater
226
226
  that will be included on the event in the event.data property.
227
-
228
- h2. Handler Return Values
229
227
 
228
+ ## Handler Return Values
229
+
230
230
  Both handler functions should return YES if you want the event to
231
231
  continue to propagate and NO if you want it to stop. Returning NO will
232
232
  both stop bubbling of the event and will prevent any default action
@@ -234,7 +234,7 @@ SC.mixin(SC.Event, /** @scope SC.Event */ {
234
234
  by calling the stopPropagation() or preventDefault() methods on the event
235
235
  itself, returning YES from your method.
236
236
 
237
- h2. Limitations
237
+ ## Limitations
238
238
 
239
239
  Although SproutCore's event implementation is based on jQuery, it is
240
240
  much simpler in design. Notably, it does not support namespaced events
@@ -315,7 +315,7 @@ SC.mixin(SC.Event, /** @scope SC.Event */ {
315
315
  and element, then all handlers for all events on that element will be
316
316
  removed.
317
317
 
318
- h2. Limitations
318
+ ## Limitations
319
319
 
320
320
  Although SproutCore's event implementation is based on jQuery, it is
321
321
  much simpler in design. Notably, it does not support namespaced events
@@ -523,8 +523,8 @@ SC.mixin(SC.Event, /** @scope SC.Event */ {
523
523
  be the element the event occurred on, so you should always call this
524
524
  method like:
525
525
 
526
- SC.Event.handle.call(element, event) ;
527
-
526
+ SC.Event.handle.call(element, event) ;
527
+
528
528
  Note that like other parts of this library, the handle function does not
529
529
  support namespaces.
530
530