sproutcore 1.5.0 → 1.6.0.beta.1

Sign up to get free protection for your applications and to get access to all the features.
Files changed (292) hide show
  1. data/.mailmap +32 -0
  2. data/CHANGELOG +8 -1
  3. data/Rakefile +16 -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 +13 -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/ext/handlebars/collection.js +23 -21
  23. data/lib/frameworks/sproutcore/frameworks/core_foundation/mixins/delegate_support.js +1 -1
  24. data/lib/frameworks/sproutcore/frameworks/core_foundation/panes/pane.js +3 -3
  25. data/lib/frameworks/sproutcore/frameworks/core_foundation/system/device.js +2 -2
  26. data/lib/frameworks/sproutcore/frameworks/core_foundation/system/event.js +16 -16
  27. data/lib/frameworks/sproutcore/frameworks/core_foundation/system/platform.js +2 -2
  28. data/lib/frameworks/sproutcore/frameworks/core_foundation/system/render_context.js +1 -34
  29. data/lib/frameworks/sproutcore/frameworks/core_foundation/system/root_responder.js +29 -23
  30. data/lib/frameworks/sproutcore/frameworks/core_foundation/system/sparse_array.js +8 -4
  31. data/lib/frameworks/sproutcore/frameworks/core_foundation/system/string.js +20 -23
  32. data/lib/frameworks/sproutcore/frameworks/core_foundation/tests/system/sparse_array.js +55 -0
  33. data/lib/frameworks/sproutcore/frameworks/core_foundation/tests/views/template/collection.js +49 -1
  34. data/lib/frameworks/sproutcore/frameworks/core_foundation/tests/views/template/handlebars.js +19 -1
  35. data/lib/frameworks/sproutcore/frameworks/core_foundation/views/template_collection.js +2 -0
  36. data/lib/frameworks/sproutcore/frameworks/core_foundation/views/view/animation.js +4 -3
  37. data/lib/frameworks/sproutcore/frameworks/core_foundation/views/view/layout.js +1 -0
  38. data/lib/frameworks/sproutcore/frameworks/core_foundation/views/view.js +38 -41
  39. data/lib/frameworks/sproutcore/frameworks/datastore/system/query.js +7 -82
  40. data/lib/frameworks/sproutcore/frameworks/datastore/system/record_array.js +12 -5
  41. data/lib/frameworks/sproutcore/frameworks/datastore/system/store.js +1 -1
  42. data/lib/frameworks/sproutcore/frameworks/datastore/tests/system/record_array/array_observers.js +82 -0
  43. data/lib/frameworks/sproutcore/frameworks/datastore/tests/system/record_array/flush.js +17 -0
  44. data/lib/frameworks/sproutcore/frameworks/debug/core.js +1 -1
  45. data/lib/frameworks/sproutcore/frameworks/debug/invoke_once_last_debugging.js +1 -1
  46. data/lib/frameworks/sproutcore/frameworks/desktop/core.js +2 -2
  47. data/lib/frameworks/sproutcore/frameworks/desktop/english.lproj/slider.css +33 -30
  48. data/lib/frameworks/sproutcore/frameworks/desktop/mixins/border.js +12 -11
  49. data/lib/frameworks/sproutcore/frameworks/desktop/mixins/collection_fast_path.js +7 -7
  50. data/lib/frameworks/sproutcore/frameworks/desktop/mixins/collection_row_delegate.js +4 -4
  51. data/lib/frameworks/sproutcore/frameworks/desktop/mixins/collection_view_delegate.js +20 -20
  52. data/lib/frameworks/sproutcore/frameworks/desktop/mixins/navigation_builder.js +5 -5
  53. data/lib/frameworks/sproutcore/frameworks/desktop/mixins/scrollable.js +10 -10
  54. data/lib/frameworks/sproutcore/frameworks/desktop/panes/alert.js +24 -23
  55. data/lib/frameworks/sproutcore/frameworks/desktop/panes/menu.js +51 -54
  56. data/lib/frameworks/sproutcore/frameworks/desktop/panes/modal.js +3 -3
  57. data/lib/frameworks/sproutcore/frameworks/desktop/panes/panel.js +1 -1
  58. data/lib/frameworks/sproutcore/frameworks/desktop/panes/select_button.js +29 -29
  59. data/lib/frameworks/sproutcore/frameworks/desktop/panes/sheet.js +1 -1
  60. data/lib/frameworks/sproutcore/frameworks/desktop/protocols/drag_source.js +3 -3
  61. data/lib/frameworks/sproutcore/frameworks/desktop/protocols/drop_target.js +6 -6
  62. data/lib/frameworks/sproutcore/frameworks/desktop/protocols/responder.js +4 -4
  63. data/lib/frameworks/sproutcore/frameworks/desktop/render_delegates/checkbox.js +5 -5
  64. data/lib/frameworks/sproutcore/frameworks/desktop/render_delegates/master_detail.js +1 -1
  65. data/lib/frameworks/sproutcore/frameworks/desktop/render_delegates/progress.js +5 -5
  66. data/lib/frameworks/sproutcore/frameworks/desktop/render_delegates/radio.js +7 -7
  67. data/lib/frameworks/sproutcore/frameworks/desktop/render_delegates/radio_group.js +3 -3
  68. data/lib/frameworks/sproutcore/frameworks/desktop/render_delegates/slider.js +7 -5
  69. data/lib/frameworks/sproutcore/frameworks/desktop/system/drag.js +31 -31
  70. data/lib/frameworks/sproutcore/frameworks/desktop/system/undo_manager.js +1 -1
  71. data/lib/frameworks/sproutcore/frameworks/desktop/views/button.js +35 -29
  72. data/lib/frameworks/sproutcore/frameworks/desktop/views/checkbox.js +2 -2
  73. data/lib/frameworks/sproutcore/frameworks/desktop/views/collection.js +61 -50
  74. data/lib/frameworks/sproutcore/frameworks/desktop/views/segmented.js +9 -2
  75. data/lib/frameworks/sproutcore/frameworks/desktop/views/select.js +2 -2
  76. data/lib/frameworks/sproutcore/frameworks/desktop/views/select_field.js +6 -1
  77. data/lib/frameworks/sproutcore/frameworks/desktop/views/static_content.js +1 -1
  78. data/lib/frameworks/sproutcore/frameworks/experimental/Buildfile +2 -0
  79. data/lib/frameworks/sproutcore/frameworks/experimental/frameworks/designer/coders/object.js +12 -12
  80. data/lib/frameworks/sproutcore/frameworks/experimental/frameworks/designer/controllers/designs.js +6 -6
  81. data/lib/frameworks/sproutcore/frameworks/experimental/frameworks/designer/controllers/page_files.js +1 -1
  82. data/lib/frameworks/sproutcore/frameworks/experimental/frameworks/designer/css/css_style_sheet.js +7 -9
  83. data/lib/frameworks/sproutcore/frameworks/experimental/frameworks/designer/designers/object_designer.js +13 -13
  84. data/lib/frameworks/sproutcore/frameworks/experimental/frameworks/designer/designers/view_designer.js +37 -37
  85. data/lib/frameworks/sproutcore/frameworks/experimental/frameworks/designer/ext/object.js +3 -2
  86. data/lib/frameworks/sproutcore/frameworks/experimental/frameworks/designer/ext/page.js +2 -2
  87. data/lib/frameworks/sproutcore/frameworks/experimental/frameworks/designer/ext/view.js +4 -3
  88. data/lib/frameworks/sproutcore/frameworks/experimental/frameworks/designer/mixins/snap_lines.js +7 -6
  89. data/lib/frameworks/sproutcore/frameworks/experimental/frameworks/designer/views/designer_drop_target.js +3 -3
  90. data/lib/frameworks/sproutcore/frameworks/experimental/frameworks/designer/views/drawing.js +49 -42
  91. data/lib/frameworks/sproutcore/frameworks/experimental/frameworks/designer/views/high_light.js +1 -1
  92. data/lib/frameworks/sproutcore/frameworks/experimental/frameworks/designer/views/page_item_view.js +6 -6
  93. data/lib/frameworks/sproutcore/frameworks/experimental/frameworks/device_motion/device.js +1 -1
  94. data/lib/frameworks/sproutcore/frameworks/{forms → experimental/frameworks/forms}/english.lproj/default_styles.css +0 -0
  95. data/lib/frameworks/sproutcore/frameworks/{forms → experimental/frameworks/forms}/english.lproj/strings.js +0 -0
  96. data/lib/frameworks/sproutcore/frameworks/{forms → experimental/frameworks/forms}/mixins/edit_mode.js +0 -0
  97. data/lib/frameworks/sproutcore/frameworks/{forms → experimental/frameworks/forms}/mixins/emptiness.js +0 -0
  98. data/lib/frameworks/sproutcore/frameworks/{forms → experimental/frameworks/forms}/render_delegates/form.js +0 -0
  99. data/lib/frameworks/sproutcore/frameworks/{forms → experimental/frameworks/forms}/render_delegates/form_row.js +0 -0
  100. data/lib/frameworks/sproutcore/frameworks/{forms → experimental/frameworks/forms}/tests/views/form.js +0 -0
  101. data/lib/frameworks/sproutcore/frameworks/{forms → experimental/frameworks/forms}/tests/views/form_checkbox_field.js +0 -0
  102. data/lib/frameworks/sproutcore/frameworks/{forms → experimental/frameworks/forms}/tests/views/form_field.js +0 -0
  103. data/lib/frameworks/sproutcore/frameworks/{forms → experimental/frameworks/forms}/tests/views/form_label.js +0 -0
  104. data/lib/frameworks/sproutcore/frameworks/{forms → experimental/frameworks/forms}/tests/views/form_radio_field.js +0 -0
  105. data/lib/frameworks/sproutcore/frameworks/{forms → experimental/frameworks/forms}/tests/views/form_row.js +0 -0
  106. data/lib/frameworks/sproutcore/frameworks/{forms → experimental/frameworks/forms}/tests/views/form_text_field.js +0 -0
  107. data/lib/frameworks/sproutcore/frameworks/{forms → experimental/frameworks/forms}/views/form.js +13 -14
  108. data/lib/frameworks/sproutcore/frameworks/{forms → experimental/frameworks/forms}/views/form_row.js +0 -0
  109. data/lib/frameworks/sproutcore/frameworks/experimental/frameworks/polymorphism/models/record.js +4 -6
  110. data/lib/frameworks/sproutcore/frameworks/foundation/mixins/static_layout.js +0 -1
  111. data/lib/frameworks/sproutcore/frameworks/foundation/private/tree_item_observer.js +2 -4
  112. data/lib/frameworks/sproutcore/frameworks/foundation/system/image_queue.js +8 -12
  113. data/lib/frameworks/sproutcore/frameworks/foundation/views/inline_text_field.js +28 -34
  114. data/lib/frameworks/sproutcore/frameworks/{foundation → routing}/system/routes.js +31 -47
  115. data/lib/frameworks/sproutcore/frameworks/{foundation → routing}/tests/system/routes.js +0 -0
  116. data/lib/frameworks/sproutcore/frameworks/runtime/core.js +2 -2
  117. data/lib/frameworks/sproutcore/frameworks/runtime/debug/test_suites/array/base.js +15 -21
  118. data/lib/frameworks/sproutcore/frameworks/runtime/mixins/array.js +8 -0
  119. data/lib/frameworks/sproutcore/frameworks/runtime/mixins/enumerable.js +3 -3
  120. data/lib/frameworks/sproutcore/frameworks/runtime/tests/mixins/array_observers.js +23 -0
  121. data/lib/frameworks/sproutcore/frameworks/runtime/tests/system/binding.js +1 -1
  122. data/lib/frameworks/sproutcore/frameworks/runtime/tests/system/index_set/contains.js +3 -3
  123. data/lib/frameworks/sproutcore/frameworks/runtime/tests/system/index_set/intersects.js +3 -3
  124. data/lib/frameworks/sproutcore/frameworks/statechart/system/state.js +66 -133
  125. data/lib/frameworks/sproutcore/frameworks/statechart/system/statechart.js +68 -139
  126. data/lib/frameworks/sproutcore/frameworks/testing/system/plan.js +11 -11
  127. data/lib/frameworks/sproutcore/frameworks/testing/system/suite.js +23 -29
  128. data/lib/frameworks/sproutcore/lib/index.rhtml +5 -2
  129. data/lib/sproutcore/builders/minify.rb +5 -5
  130. data/lib/sproutcore/helpers/minifier.rb +6 -10
  131. data/lib/sproutcore/models/target.rb +2 -2
  132. data/lib/sproutcore/rack/proxy.rb +8 -7
  133. data/lib/sproutcore/tools.rb +16 -5
  134. data/lib/sproutcore.rb +2 -9
  135. data/spec/lib/builders/html_spec.rb +5 -5
  136. data/sproutcore.gemspec +11 -5
  137. data/vendor/chance/lib/chance.rb +4 -2
  138. data/{lib/sproutcore/vendor → vendor}/jsdoc/README.txt +0 -0
  139. data/{lib/sproutcore/vendor → vendor}/jsdoc/app/frame/Chain.js +0 -0
  140. data/{lib/sproutcore/vendor → vendor}/jsdoc/app/frame/Dumper.js +0 -0
  141. data/{lib/sproutcore/vendor → vendor}/jsdoc/app/frame/Hash.js +0 -0
  142. data/{lib/sproutcore/vendor → vendor}/jsdoc/app/frame/Link.js +0 -0
  143. data/{lib/sproutcore/vendor → vendor}/jsdoc/app/frame/Namespace.js +0 -0
  144. data/{lib/sproutcore/vendor → vendor}/jsdoc/app/frame/Opt.js +0 -0
  145. data/{lib/sproutcore/vendor → vendor}/jsdoc/app/frame/Reflection.js +0 -0
  146. data/{lib/sproutcore/vendor → vendor}/jsdoc/app/frame/String.js +0 -0
  147. data/{lib/sproutcore/vendor → vendor}/jsdoc/app/frame/Testrun.js +0 -0
  148. data/{lib/sproutcore/vendor → vendor}/jsdoc/app/frame.js +0 -0
  149. data/{lib/sproutcore/vendor → vendor}/jsdoc/app/handlers/FOODOC.js +0 -0
  150. data/{lib/sproutcore/vendor → vendor}/jsdoc/app/handlers/XMLDOC/DomReader.js +0 -0
  151. data/{lib/sproutcore/vendor → vendor}/jsdoc/app/handlers/XMLDOC/XMLDoc.js +0 -0
  152. data/{lib/sproutcore/vendor → vendor}/jsdoc/app/handlers/XMLDOC/XMLParse.js +0 -0
  153. data/{lib/sproutcore/vendor → vendor}/jsdoc/app/handlers/XMLDOC.js +0 -0
  154. data/{lib/sproutcore/vendor → vendor}/jsdoc/app/lib/JSDOC/DocComment.js +0 -0
  155. data/{lib/sproutcore/vendor → vendor}/jsdoc/app/lib/JSDOC/DocTag.js +0 -0
  156. data/{lib/sproutcore/vendor → vendor}/jsdoc/app/lib/JSDOC/JsDoc.js +0 -0
  157. data/{lib/sproutcore/vendor → vendor}/jsdoc/app/lib/JSDOC/JsPlate.js +0 -0
  158. data/{lib/sproutcore/vendor → vendor}/jsdoc/app/lib/JSDOC/Lang.js +0 -0
  159. data/{lib/sproutcore/vendor → vendor}/jsdoc/app/lib/JSDOC/Parser.js +0 -0
  160. data/{lib/sproutcore/vendor → vendor}/jsdoc/app/lib/JSDOC/PluginManager.js +0 -0
  161. data/{lib/sproutcore/vendor → vendor}/jsdoc/app/lib/JSDOC/Symbol.js +0 -0
  162. data/{lib/sproutcore/vendor → vendor}/jsdoc/app/lib/JSDOC/SymbolSet.js +0 -0
  163. data/{lib/sproutcore/vendor → vendor}/jsdoc/app/lib/JSDOC/TextStream.js +0 -0
  164. data/{lib/sproutcore/vendor → vendor}/jsdoc/app/lib/JSDOC/Token.js +0 -0
  165. data/{lib/sproutcore/vendor → vendor}/jsdoc/app/lib/JSDOC/TokenReader.js +0 -0
  166. data/{lib/sproutcore/vendor → vendor}/jsdoc/app/lib/JSDOC/TokenStream.js +0 -0
  167. data/{lib/sproutcore/vendor → vendor}/jsdoc/app/lib/JSDOC/Util.js +0 -0
  168. data/{lib/sproutcore/vendor → vendor}/jsdoc/app/lib/JSDOC/Walker.js +0 -0
  169. data/{lib/sproutcore/vendor → vendor}/jsdoc/app/lib/JSDOC.js +0 -0
  170. data/{lib/sproutcore/vendor → vendor}/jsdoc/app/main.js +0 -0
  171. data/{lib/sproutcore/vendor → vendor}/jsdoc/app/plugins/commentSrcJson.js +0 -0
  172. data/{lib/sproutcore/vendor → vendor}/jsdoc/app/plugins/frameworkPrototype.js +0 -0
  173. data/{lib/sproutcore/vendor → vendor}/jsdoc/app/plugins/functionCall.js +0 -0
  174. data/{lib/sproutcore/vendor → vendor}/jsdoc/app/plugins/publishSrcHilite.js +0 -0
  175. data/{lib/sproutcore/vendor → vendor}/jsdoc/app/plugins/sproutcoreTags.js +0 -0
  176. data/{lib/sproutcore/vendor → vendor}/jsdoc/app/plugins/symbolLink.js +0 -0
  177. data/{lib/sproutcore/vendor → vendor}/jsdoc/app/plugins/tagParamConfig.js +0 -0
  178. data/{lib/sproutcore/vendor → vendor}/jsdoc/app/plugins/tagSynonyms.js +0 -0
  179. data/{lib/sproutcore/vendor → vendor}/jsdoc/app/run.js +0 -0
  180. data/{lib/sproutcore/vendor → vendor}/jsdoc/app/t/TestDoc.js +0 -0
  181. data/{lib/sproutcore/vendor → vendor}/jsdoc/app/t/runner.js +0 -0
  182. data/{lib/sproutcore/vendor → vendor}/jsdoc/app/test/addon.js +0 -0
  183. data/{lib/sproutcore/vendor → vendor}/jsdoc/app/test/anon_inner.js +0 -0
  184. data/{lib/sproutcore/vendor → vendor}/jsdoc/app/test/augments.js +0 -0
  185. data/{lib/sproutcore/vendor → vendor}/jsdoc/app/test/augments2.js +0 -0
  186. data/{lib/sproutcore/vendor → vendor}/jsdoc/app/test/borrows.js +0 -0
  187. data/{lib/sproutcore/vendor → vendor}/jsdoc/app/test/borrows2.js +0 -0
  188. data/{lib/sproutcore/vendor → vendor}/jsdoc/app/test/config.js +0 -0
  189. data/{lib/sproutcore/vendor → vendor}/jsdoc/app/test/constructs.js +0 -0
  190. data/{lib/sproutcore/vendor → vendor}/jsdoc/app/test/encoding.js +0 -0
  191. data/{lib/sproutcore/vendor → vendor}/jsdoc/app/test/encoding_other.js +0 -0
  192. data/{lib/sproutcore/vendor → vendor}/jsdoc/app/test/functions_anon.js +0 -0
  193. data/{lib/sproutcore/vendor → vendor}/jsdoc/app/test/functions_nested.js +0 -0
  194. data/{lib/sproutcore/vendor → vendor}/jsdoc/app/test/global.js +0 -0
  195. data/{lib/sproutcore/vendor → vendor}/jsdoc/app/test/globals.js +0 -0
  196. data/{lib/sproutcore/vendor → vendor}/jsdoc/app/test/ignore.js +0 -0
  197. data/{lib/sproutcore/vendor → vendor}/jsdoc/app/test/inner.js +0 -0
  198. data/{lib/sproutcore/vendor → vendor}/jsdoc/app/test/jsdoc_test.js +0 -0
  199. data/{lib/sproutcore/vendor → vendor}/jsdoc/app/test/lend.js +0 -0
  200. data/{lib/sproutcore/vendor → vendor}/jsdoc/app/test/memberof.js +0 -0
  201. data/{lib/sproutcore/vendor → vendor}/jsdoc/app/test/memberof_constructor.js +0 -0
  202. data/{lib/sproutcore/vendor → vendor}/jsdoc/app/test/name.js +0 -0
  203. data/{lib/sproutcore/vendor → vendor}/jsdoc/app/test/namespace_nested.js +0 -0
  204. data/{lib/sproutcore/vendor → vendor}/jsdoc/app/test/nocode.js +0 -0
  205. data/{lib/sproutcore/vendor → vendor}/jsdoc/app/test/oblit_anon.js +0 -0
  206. data/{lib/sproutcore/vendor → vendor}/jsdoc/app/test/overview.js +0 -0
  207. data/{lib/sproutcore/vendor → vendor}/jsdoc/app/test/param_inline.js +0 -0
  208. data/{lib/sproutcore/vendor → vendor}/jsdoc/app/test/params_optional.js +0 -0
  209. data/{lib/sproutcore/vendor → vendor}/jsdoc/app/test/prototype.js +0 -0
  210. data/{lib/sproutcore/vendor → vendor}/jsdoc/app/test/prototype_nested.js +0 -0
  211. data/{lib/sproutcore/vendor → vendor}/jsdoc/app/test/prototype_oblit.js +0 -0
  212. data/{lib/sproutcore/vendor → vendor}/jsdoc/app/test/prototype_oblit_constructor.js +0 -0
  213. data/{lib/sproutcore/vendor → vendor}/jsdoc/app/test/public.js +0 -0
  214. data/{lib/sproutcore/vendor → vendor}/jsdoc/app/test/shared.js +0 -0
  215. data/{lib/sproutcore/vendor → vendor}/jsdoc/app/test/shared2.js +0 -0
  216. data/{lib/sproutcore/vendor → vendor}/jsdoc/app/test/shortcuts.js +0 -0
  217. data/{lib/sproutcore/vendor → vendor}/jsdoc/app/test/static_this.js +0 -0
  218. data/{lib/sproutcore/vendor → vendor}/jsdoc/app/test/synonyms.js +0 -0
  219. data/{lib/sproutcore/vendor → vendor}/jsdoc/app/test/tosource.js +0 -0
  220. data/{lib/sproutcore/vendor → vendor}/jsdoc/app/test/variable_redefine.js +0 -0
  221. data/{lib/sproutcore/vendor → vendor}/jsdoc/app/test.js +0 -0
  222. data/{lib/sproutcore/vendor → vendor}/jsdoc/changes.txt +0 -0
  223. data/{lib/sproutcore/vendor → vendor}/jsdoc/conf/sample.conf +0 -0
  224. data/{lib/sproutcore/vendor → vendor}/jsdoc/java/build.xml +0 -0
  225. data/{lib/sproutcore/vendor → vendor}/jsdoc/java/build_1.4.xml +0 -0
  226. data/{lib/sproutcore/vendor → vendor}/jsdoc/java/classes/js.jar +0 -0
  227. data/{lib/sproutcore/vendor → vendor}/jsdoc/java/src/JsDebugRun.java +0 -0
  228. data/{lib/sproutcore/vendor → vendor}/jsdoc/java/src/JsRun.java +0 -0
  229. data/{lib/sproutcore/vendor → vendor}/jsdoc/jsdebug.jar +0 -0
  230. data/{lib/sproutcore/vendor → vendor}/jsdoc/jsrun.jar +0 -0
  231. data/{lib/sproutcore/vendor → vendor}/jsdoc/t/TestDoc.js +0 -0
  232. data/{lib/sproutcore/vendor → vendor}/jsdoc/t/runner.js +0 -0
  233. data/{lib/sproutcore/vendor → vendor}/jsdoc/test/addon.js +0 -0
  234. data/{lib/sproutcore/vendor → vendor}/jsdoc/test/anon_inner.js +0 -0
  235. data/{lib/sproutcore/vendor → vendor}/jsdoc/test/augments.js +0 -0
  236. data/{lib/sproutcore/vendor → vendor}/jsdoc/test/augments2.js +0 -0
  237. data/{lib/sproutcore/vendor → vendor}/jsdoc/test/borrows.js +0 -0
  238. data/{lib/sproutcore/vendor → vendor}/jsdoc/test/borrows2.js +0 -0
  239. data/{lib/sproutcore/vendor → vendor}/jsdoc/test/config.js +0 -0
  240. data/{lib/sproutcore/vendor → vendor}/jsdoc/test/constructs.js +0 -0
  241. data/{lib/sproutcore/vendor → vendor}/jsdoc/test/encoding.js +0 -0
  242. data/{lib/sproutcore/vendor → vendor}/jsdoc/test/encoding_other.js +0 -0
  243. data/{lib/sproutcore/vendor → vendor}/jsdoc/test/functions_anon.js +0 -0
  244. data/{lib/sproutcore/vendor → vendor}/jsdoc/test/functions_nested.js +0 -0
  245. data/{lib/sproutcore/vendor → vendor}/jsdoc/test/global.js +0 -0
  246. data/{lib/sproutcore/vendor → vendor}/jsdoc/test/globals.js +0 -0
  247. data/{lib/sproutcore/vendor → vendor}/jsdoc/test/ignore.js +0 -0
  248. data/{lib/sproutcore/vendor → vendor}/jsdoc/test/inner.js +0 -0
  249. data/{lib/sproutcore/vendor → vendor}/jsdoc/test/jsdoc_test.js +0 -0
  250. data/{lib/sproutcore/vendor → vendor}/jsdoc/test/lend.js +0 -0
  251. data/{lib/sproutcore/vendor → vendor}/jsdoc/test/memberof.js +0 -0
  252. data/{lib/sproutcore/vendor → vendor}/jsdoc/test/memberof_constructor.js +0 -0
  253. data/{lib/sproutcore/vendor → vendor}/jsdoc/test/name.js +0 -0
  254. data/{lib/sproutcore/vendor → vendor}/jsdoc/test/namespace_nested.js +0 -0
  255. data/{lib/sproutcore/vendor → vendor}/jsdoc/test/nocode.js +0 -0
  256. data/{lib/sproutcore/vendor → vendor}/jsdoc/test/oblit_anon.js +0 -0
  257. data/{lib/sproutcore/vendor → vendor}/jsdoc/test/overview.js +0 -0
  258. data/{lib/sproutcore/vendor → vendor}/jsdoc/test/param_inline.js +0 -0
  259. data/{lib/sproutcore/vendor → vendor}/jsdoc/test/params_optional.js +0 -0
  260. data/{lib/sproutcore/vendor → vendor}/jsdoc/test/prototype.js +0 -0
  261. data/{lib/sproutcore/vendor → vendor}/jsdoc/test/prototype_nested.js +0 -0
  262. data/{lib/sproutcore/vendor → vendor}/jsdoc/test/prototype_oblit.js +0 -0
  263. data/{lib/sproutcore/vendor → vendor}/jsdoc/test/prototype_oblit_constructor.js +0 -0
  264. data/{lib/sproutcore/vendor → vendor}/jsdoc/test/public.js +0 -0
  265. data/{lib/sproutcore/vendor → vendor}/jsdoc/test/shared.js +0 -0
  266. data/{lib/sproutcore/vendor → vendor}/jsdoc/test/shared2.js +0 -0
  267. data/{lib/sproutcore/vendor → vendor}/jsdoc/test/shortcuts.js +0 -0
  268. data/{lib/sproutcore/vendor → vendor}/jsdoc/test/static_this.js +0 -0
  269. data/{lib/sproutcore/vendor → vendor}/jsdoc/test/synonyms.js +0 -0
  270. data/{lib/sproutcore/vendor → vendor}/jsdoc/test/tosource.js +0 -0
  271. data/{lib/sproutcore/vendor → vendor}/jsdoc/test/variable_redefine.js +0 -0
  272. data/{lib/sproutcore/vendor → vendor}/jsdoc/test.js +0 -0
  273. data/vendor/sproutcore/{src/SCCompiler/lib/yuicompressor-2.4.4.jar → lib/yuicompressor-2.4.6.jar} +0 -0
  274. metadata +176 -202
  275. data/lib/frameworks/sproutcore/frameworks/desktop/views/file.js +0 -148
  276. data/lib/sproutcore/vendor/github_gem_lint.rb +0 -22
  277. data/vendor/sproutcore/SCCompiler.jar +0 -0
  278. data/vendor/sproutcore/lib/args4j-2.0.12.jar +0 -0
  279. data/vendor/sproutcore/lib/yuicompressor-2.4.2.jar +0 -0
  280. data/vendor/sproutcore/src/SCCompiler/build.xml +0 -74
  281. data/vendor/sproutcore/src/SCCompiler/lib/args4j-2.0.12.jar +0 -0
  282. data/vendor/sproutcore/src/SCCompiler/lib/htmlcompressor-0.9.3.jar +0 -0
  283. data/vendor/sproutcore/src/SCCompiler/lib/yuicompressor-2.4.2.jar +0 -0
  284. data/vendor/sproutcore/src/SCCompiler/manifest.mf +0 -3
  285. data/vendor/sproutcore/src/SCCompiler/nbproject/build-impl.xml +0 -894
  286. data/vendor/sproutcore/src/SCCompiler/nbproject/genfiles.properties +0 -8
  287. data/vendor/sproutcore/src/SCCompiler/nbproject/private/config.properties +0 -0
  288. data/vendor/sproutcore/src/SCCompiler/nbproject/private/private.properties +0 -10
  289. data/vendor/sproutcore/src/SCCompiler/nbproject/private/private.xml +0 -4
  290. data/vendor/sproutcore/src/SCCompiler/nbproject/project.properties +0 -90
  291. data/vendor/sproutcore/src/SCCompiler/nbproject/project.xml +0 -15
  292. data/vendor/sproutcore/src/SCCompiler/src/com/sproutcore/Main.java +0 -348
@@ -1293,29 +1293,14 @@ SC.Query.mixin( /** @scope SC.Query */ {
1293
1293
  orderStoreKeys: function(storeKeys, query, store) {
1294
1294
  // apply the sort if there is one
1295
1295
  if (storeKeys) {
1296
-
1297
- // Set tmp variable because we can't pass variables to sort function.
1298
- // Do this instead of generating a temporary closure function for perf.
1299
- // We'll use a stack-based approach in case our sort routine ends up
1300
- // calling code that triggers a recursive invocation of orderStoreKeys.
1301
- var K = SC.Query,
1302
- tempStores = K._TMP_STORES,
1303
- tempQueries = K._TMP_QUERIES;
1304
- if (!tempStores) tempStores = K._TMP_STORES = [];
1305
- if (!tempQueries) tempQueries = K._TMP_QUERIES = [];
1306
-
1307
- tempStores.push(store);
1308
- tempQueries.push(query);
1309
-
1310
- var res = storeKeys.sort(SC.Query.compareStoreKeys);
1311
-
1312
- K._TMP_STORES.pop();
1313
- K._TMP_QUERIES.pop();
1296
+ var res = storeKeys.sort(function(a, b) {
1297
+ return SC.Query.compareStoreKeys(query, store, a, b);
1298
+ });
1314
1299
  }
1315
1300
 
1316
1301
  return storeKeys;
1317
1302
  },
1318
-
1303
+
1319
1304
  /**
1320
1305
  Default sort method that is used when calling `containsStoreKeys()`
1321
1306
  or `containsRecords()` on this query. Simply materializes two records
@@ -1325,71 +1310,11 @@ SC.Query.mixin( /** @scope SC.Query */ {
1325
1310
  @param {Number} storeKey2 a store key
1326
1311
  @returns {Number} -1 if record1 < record2, +1 if record1 > record2, 0 if equal
1327
1312
  */
1328
- compareStoreKeys: function(storeKey1, storeKey2) {
1329
- var K = SC.Query,
1330
- tempStores = K._TMP_STORES,
1331
- tempQueries = K._TMP_QUERIES,
1332
- store = tempStores[tempStores.length - 1],
1333
- query = tempQueries[tempQueries.length - 1],
1334
- compareFunc = query.compare,
1335
- record1 = store.materializeRecord(storeKey1),
1313
+ compareStoreKeys: function(query, store, storeKey1, storeKey2) {
1314
+ var record1 = store.materializeRecord(storeKey1),
1336
1315
  record2 = store.materializeRecord(storeKey2);
1337
1316
 
1338
- // If the query implements a custom 'compare' function, then use it.
1339
- // Otherwise, we have the logic from the standard version inlined here.
1340
- if (compareFunc !== K.prototype.compare) {
1341
- return compareFunc.call(query, record1, record2);
1342
- }
1343
- else {
1344
- // THIS CODE IS THE SAME AS THE 'compare' METHOD, EXCEPT THAT 'this' HAS
1345
- // BEEN CHANGED TO 'query'.
1346
- //
1347
- // It is inlined here to avoid the extra method invocation in the
1348
- // typical case where the client does not supply a custom 'compare'
1349
- // function.
1350
-
1351
- var result = 0,
1352
- propertyName, order, len, i;
1353
-
1354
- // fast cases go here
1355
- if (record1 === record2) return 0;
1356
-
1357
- // if called for the first time we have to build the order array
1358
- if (!query._isReady) query.parse();
1359
- if (!query._isReady) { // can't parse. guid is wrong but consistent
1360
- return SC.compare(record1.get('id'),record2.get('id'));
1361
- }
1362
-
1363
- // For every property specified in orderBy until non-eql result is found.
1364
- // Or, if orderBy is a comparison function, simply invoke it with the
1365
- // records.
1366
- order = query._order;
1367
- if (SC.typeOf(order) === SC.T_FUNCTION) {
1368
- result = order.call(null, record1, record2);
1369
- }
1370
- else {
1371
- len = order ? order.length : 0;
1372
- for (i=0; result===0 && (i < len); i++) {
1373
- propertyName = order[i].propertyName;
1374
- // if query property has a registered comparison use that
1375
- if (SC.Query.comparisons[propertyName]) {
1376
- result = SC.Query.comparisons[propertyName](
1377
- record1.get(propertyName),record2.get(propertyName));
1378
-
1379
- // if not use default SC.compare()
1380
- } else {
1381
- result = SC.compare(
1382
- record1.get(propertyName), record2.get(propertyName) );
1383
- }
1384
-
1385
- if ((result!==0) && order[i].descending) result = (-1) * result;
1386
- }
1387
- }
1388
-
1389
- // return result or compare by guid
1390
- if (result !== 0) return result ;
1391
- else return SC.compare(record1.get('id'),record2.get('id'));
1392
- }
1317
+ return query.compare(record1, record2);
1393
1318
  },
1394
1319
 
1395
1320
  /**
@@ -438,13 +438,10 @@ SC.RecordArray = SC.Object.extend(SC.Enumerable, SC.Array,
438
438
 
439
439
  this.set('needsFlush', YES);
440
440
 
441
- // if we have storeKeys already, then flush immediately because
442
- // it will not be as expensive as if we are starting from scratch
443
441
  if (this.get('storeKeys')) {
444
442
  this.flush();
445
- }
446
- else {
447
- this.enumerableContentDidChange();
443
+ } else {
444
+ this.arrayContentDidChange();
448
445
  }
449
446
 
450
447
  return this;
@@ -712,6 +709,16 @@ SC.RecordArray = SC.Object.extend(SC.Enumerable, SC.Array,
712
709
 
713
710
  }.observes('storeKeys'),
714
711
 
712
+ /** @private
713
+ If anyone adds an array observer on to the record array, make sure
714
+ we flush so that the observers don't fire the first time length is
715
+ calculated.
716
+ */
717
+ addArrayObservers: function() {
718
+ this.flush();
719
+ return SC.Array.addArrayObservers.apply(this, arguments);
720
+ },
721
+
715
722
  /** @private
716
723
  Invoked whenever the content of the `storeKeys` array changes. This will
717
724
  dump any cached record lookup and then notify that the enumerable content
@@ -1406,7 +1406,7 @@ SC.Store = SC.Object.extend( /** @scope SC.Store.prototype */ {
1406
1406
  },
1407
1407
 
1408
1408
  /**
1409
- function that propigates a function all to all children
1409
+ function that propagates a function call to all children
1410
1410
  */
1411
1411
  _propagateToChildren: function(storeKey, func){
1412
1412
  // Handle all the child Records
@@ -0,0 +1,82 @@
1
+ (function(root) {
2
+ var store;
3
+ var query;
4
+ var recordArray;
5
+
6
+ module("SC.RecordArray - implements array content observers", {
7
+ setup: function() {
8
+ },
9
+
10
+ teardown: function() {
11
+ root.MyRecord = undefined;
12
+ }
13
+ });
14
+
15
+ test("notifies when a record is added to the store that matches a query", function() {
16
+ var callCount = 0,
17
+ lastRemovedCount = 0,
18
+ lastAddedCount = 0;
19
+
20
+ SC.run(function() {
21
+ store = SC.Store.create();
22
+ root.MyRecord = SC.Record.extend();
23
+ query = SC.Query.local(MyRecord);
24
+
25
+ recordArray = store.find(query);
26
+
27
+ recordArray.addArrayObservers({
28
+ didChange: function(start, removedCount, addedCount) {
29
+ lastRemovedCount = removedCount;
30
+ lastAddedCount = addedCount;
31
+ },
32
+
33
+ willChange: function() {}
34
+ });
35
+
36
+ store.createRecord(MyRecord, {});
37
+ });
38
+
39
+ equals(lastAddedCount, 1);
40
+ equals(lastRemovedCount, 0);
41
+ equals(recordArray.get('length'), 1);
42
+ });
43
+
44
+ test("notifies when a record is removed from the store that matches a query", function() {
45
+ var lastRemovedCount = 0,
46
+ lastAddedCount = 0;
47
+
48
+ var record;
49
+
50
+ SC.run(function() {
51
+ store = SC.Store.create();
52
+ root.MyRecord = SC.Record.extend();
53
+ query = SC.Query.local(MyRecord);
54
+
55
+ recordArray = store.find(query);
56
+
57
+ recordArray.addArrayObservers({
58
+ didChange: function(start, removedCount, addedCount) {
59
+ lastRemovedCount = removedCount;
60
+ lastAddedCount = addedCount;
61
+ },
62
+
63
+ willChange: function() {}
64
+ });
65
+
66
+ record = store.createRecord(MyRecord, {
67
+ guid: 1
68
+ });
69
+ });
70
+
71
+ equals(lastAddedCount, 1);
72
+ equals(lastRemovedCount, 0);
73
+
74
+ SC.run(function() {
75
+ record.destroy();
76
+ });
77
+
78
+ equals(lastAddedCount, 0);
79
+ equals(lastRemovedCount, 1);
80
+ equals(recordArray.get('length'), 0);
81
+ });
82
+ })(this);
@@ -165,6 +165,23 @@ test("calling storeDidChangeStoreKeys() with a matching recordType should not un
165
165
  equals(fooRecsController.get('bigCost'), NO, 'fooRecsController should not have spent big cost');
166
166
  });
167
167
 
168
+ test("adding an array observer to a SC.RecordArray should cause the array to flush", function() {
169
+ var callCount = 0;
170
+ debugger;
171
+
172
+ recs.addArrayObservers({
173
+ didChange: function() {
174
+ callCount++;
175
+ },
176
+
177
+ willChange: function() { }
178
+ });
179
+
180
+ recs.get('length');
181
+
182
+ equals(callCount, 0, "does not cause array observers to be fired when getting length");
183
+ });
184
+
168
185
 
169
186
  // ..........................................................
170
187
  // SPECIAL CASES
@@ -19,7 +19,7 @@ SC.mapDisplayNames = function(obj, level, path, seenHash, seenArray) {
19
19
  // Lazily instantiate the hash of types we'll use a hash for the "have we
20
20
  // seen this before?" structure. (Some types are not safe to put in a hash
21
21
  // in this manner, so we'll use the hash for its algorithmic advantage when
22
- // possible, but fall back to an array using indexOf() when necessary.)
22
+ // possible, but fall back to an array using `indexOf()` when necessary.)
23
23
  if (!SC._mapDisplayNamesUseHashForSeenTypesHash) {
24
24
  var types = SC._mapDisplayNamesUseHashForSeenTypes ;
25
25
  var typesHash = {} ;
@@ -7,7 +7,7 @@
7
7
 
8
8
  // When in debug mode, it’s useful for our observer sets (which are used by
9
9
  // invokeOnce and invokeLast) to record which code scheduled the
10
- // invokeOnce/invokeLast targets/methods.
10
+ // `invokeOnce`/`invokeLast` targets/methods.
11
11
 
12
12
  window.SC = window.SC || {};
13
13
 
@@ -7,10 +7,10 @@
7
7
 
8
8
 
9
9
  /**
10
- If set to NO, then pressing backspace will NOT navigate to the previous
10
+ If set to `NO`, then pressing backspace will NOT navigate to the previous
11
11
  page in the browser history, which is the default behavior in most browsers.
12
12
 
13
- Usually it is best to leave this property set to NO in order to prever the
13
+ Usually it is best to leave this property set to `NO` in order to prevent the
14
14
  user from inadvertantly losing data by pressing the backspace key.
15
15
 
16
16
  @static
@@ -1,9 +1,8 @@
1
1
  /* @override http://localhost:4020/static/sproutcore/en/desktop/_cache/sc.theme/1228020574/slider.css */
2
2
 
3
3
  /* @group SC.SliderView */
4
-
5
4
  .sc-slider-view {
6
- height: 21px;
5
+ height: 21px;
7
6
  }
8
7
 
9
8
  .blur .sc-slider-view,
@@ -14,46 +13,50 @@
14
13
  }
15
14
 
16
15
  /* sc-inner is the slider bar */
17
- .sc-slider-view .sc-inner {
18
- position: absolute;
19
- left: 8px;
20
- right: 8px;
21
- height: 5px;
22
- top: 6px;
23
- background: gray ;
24
- -webkit-border-radius: 3px;
25
- -moz-border-radius: 3px;
26
- border-radius: 3px;
16
+ .sc-slider-view .track {
17
+ position: absolute;
18
+ left: 8px;
19
+ right: 8px;
20
+ height: 5px;
21
+ top: 6px;
22
+ background: gray;
23
+ -webkit-border-radius: 3px;
24
+ -moz-border-radius: 3px;
25
+ border-radius: 3px;
26
+ }
27
+ .sc-slider-view .track .middle {
28
+
27
29
  }
28
30
 
29
- .sc-slider-view .sc-inner .sc-leftcap,
30
- .sc-slider-view .sc-inner .sc-righcap {
31
+ .sc-slider-view .track .left,
32
+ .sc-slider-view .track .right {
31
33
  display: none;
32
34
  }
33
35
 
34
- .blur .sc-slider-view .sc-inner,
35
- .focus .sc-slider-view.disabled .sc-inner {
36
- border: 1px #ccc solid;
36
+ .blur .sc-slider-view .track,
37
+ .focus .sc-slider-view.disabled .track {
38
+ border: 1px #ccc solid;
37
39
  }
38
40
 
39
- .focus .sc-slider-view .sc-inner {
40
- border: 1px #999 solid;
41
+ .focus .sc-slider-view .track {
42
+ border: 1px #999 solid;
41
43
  }
42
44
 
43
- .sc-slider-view .sc-handle {
44
- height: 12px;
45
- width: 12px;
46
- margin-left: -9px;
47
- top: -4px;
48
- position: absolute ;
49
- background: black;
50
- border-radius:6px;
51
- -moz-border-radius:6px;
52
- -webkit-transform: translate3d(0,0,0);
53
- -webkit-transition: left 0.01s ease-in-out;
45
+ .sc-slider-view .sc-handle {
46
+ height: 12px;
47
+ width: 12px;
48
+ margin-left: -9px;
49
+ top: -4px;
50
+ position: absolute;
51
+ background: black;
52
+ border-radius: 6px;
53
+ -moz-border-radius: 6px;
54
+ -webkit-transform: translate3d(0, 0, 0);
55
+ -webkit-transition: left 0.01s ease-in-out;
54
56
  }
55
57
 
56
58
  .focus .sc-slider-view .sc-handle {
59
+
57
60
  }
58
61
 
59
62
  .blur .sc-slider-view .sc-handle,
@@ -17,8 +17,8 @@ SC.BORDER_NONE = null ;
17
17
  @namespace
18
18
  @deprecated
19
19
 
20
- The SC.Border mixin has be deprecated in favour of applying border properties
21
- to an SC.View's layout object. See {@link SC.View#layout}.
20
+ The `SC.Border` mixin has be deprecated in favour of applying border properties
21
+ to an `SC.View`'s layout object. See {@link SC.View#layout}.
22
22
 
23
23
  The Border mixin can be applied to any view to give it a visual border.
24
24
  In addition to specifying the mixin itself, you should specify the border
@@ -27,17 +27,18 @@ SC.BORDER_NONE = null ;
27
27
  Border style can be any predefined CSS class name or a border color.
28
28
 
29
29
  If you specify a CSS class name, it must end in "-border". Additionally,
30
- you should set the borderTop, borderRight, borderBottom, and borderLeft
31
- properties so SproutCore can accurately account for the size of your view.
30
+ you should set the `borderTop`, `borderRight`, `borderBottom`, and
31
+ `borderLeft` properties so SproutCore can accurately account for the size
32
+ of your view.
32
33
 
33
34
  SproutCore pre-defines several useful border styles including:
34
35
 
35
- - SC.BORDER_BEZEL - displays an inlaid bezel
36
- - SC.BORDER_BLACK - displays a black border
37
- - SC.BORDER_GRAY - displays a gray border
38
- - SC.BORDER_TOP - displays a border on the top only
39
- - SC.BORDER_BOTTOM - displays a border on the bottom only
40
- - SC.BORDER_NONE - disables the border
36
+ - `SC.BORDER_BEZEL` -- displays an inlaid bezel
37
+ - `SC.BORDER_BLACK` -- displays a black border
38
+ - `SC.BORDER_GRAY` -- displays a gray border
39
+ - `SC.BORDER_TOP` -- displays a border on the top only
40
+ - `SC.BORDER_BOTTOM` -- displays a border on the bottom only
41
+ - `SC.BORDER_NONE` -- disables the border
41
42
 
42
43
  @since SproutCore 1.0
43
44
  */
@@ -98,7 +99,7 @@ SC.Border = {
98
99
  hasBorder: YES,
99
100
 
100
101
  /**
101
- Make sure we re-render if the borderStyle property changes.
102
+ Make sure we re-render if the `borderStyle` property changes.
102
103
  @private
103
104
  */
104
105
  displayProperties: ['borderStyle'],
@@ -8,7 +8,7 @@
8
8
  /**
9
9
  @namespace
10
10
 
11
- An experimental CollectionView mixin that makes it extremely fast under
11
+ An experimental `CollectionView` mixin that makes it extremely fast under
12
12
  certain circumstances, including for mobile devices.
13
13
  */
14
14
  SC.CollectionFastPath = {
@@ -80,7 +80,7 @@ SC.CollectionFastPath = {
80
80
  },
81
81
 
82
82
  /**
83
- Configures a pooled view, calling .awakeFromPool if it is defined.
83
+ Configures a pooled view, calling `.awakeFromPool` if it is defined.
84
84
 
85
85
  @param {SC.View} itemView
86
86
  @param {Hash} attrs
@@ -123,7 +123,7 @@ SC.CollectionFastPath = {
123
123
 
124
124
  /**
125
125
  Releases an item view. If the item view is pooled, it puts it into the pool;
126
- otherwise, this calls .destroy().
126
+ otherwise, this calls `.destroy()`.
127
127
 
128
128
  This is called for one of two purposes: to release a view that is no longer displaying,
129
129
  or to release an older cached version of a view that needed to be replaced because the
@@ -163,7 +163,7 @@ SC.CollectionFastPath = {
163
163
 
164
164
  /** @private
165
165
  Determines the example view for a content index. There are two optional parameters that will
166
- speed things up: contentObject and isGroupView. If you don't supply them, they must be computed.
166
+ speed things up: `contentObject` and `isGroupView`. If you don't supply them, they must be computed.
167
167
  */
168
168
  exampleViewForItem: function(item, index) {
169
169
  var del = this.get('contentDelegate'),
@@ -190,7 +190,7 @@ SC.CollectionFastPath = {
190
190
  This may seem somewhat awkward, but it is for memory performance: this fills in a hash
191
191
  YOU provide with the properties for the given content index.
192
192
 
193
- Properties include both the attributes given to the view and some CollectionView tracking
193
+ Properties include both the attributes given to the view and some `CollectionView` tracking
194
194
  properties, most importantly the exampleView.
195
195
  */
196
196
  setAttributesForItem: function(item, index, attrs) {
@@ -563,7 +563,7 @@ SC.CollectionFastPath = {
563
563
 
564
564
  /** @private
565
565
  Tries to find an item for the given example view in a dom pool.
566
- If one could not be found, returns null.
566
+ If one could not be found, returns `null`.
567
567
  */
568
568
  itemFromDOMPool: function(exampleView) {
569
569
  var pool = this.domPoolForExampleView(exampleView);
@@ -663,7 +663,7 @@ SC.CollectionFastPath = {
663
663
 
664
664
 
665
665
  /** @private
666
- Tells ScrollView that this should receive live updates during touch scrolling.
666
+ Tells `ScrollView` that this should receive live updates during touch scrolling.
667
667
  We are so fast, aren't we?
668
668
  */
669
669
  _lastTopUpdate: 0,
@@ -9,7 +9,7 @@
9
9
  /**
10
10
  @namespace
11
11
 
12
- CollectionRowDelegates are consulted by SC.ListView and SC.TableView to
12
+ `CollectionRowDelegate`s are consulted by `SC.ListView` and `SC.TableView` to
13
13
  control the height of rows, including specifying custom heights for
14
14
  specific rows.
15
15
 
@@ -45,7 +45,7 @@ SC.CollectionRowDelegate = {
45
45
 
46
46
  /**
47
47
  This is useful if you are using a custom item view that needs to be padded.
48
- This value is added to the top and bottom of the itemHeight.
48
+ This value is added to the top and bottom of the `itemHeight`.
49
49
 
50
50
  @type Number
51
51
  @default 0
@@ -53,7 +53,7 @@ SC.CollectionRowDelegate = {
53
53
  rowPadding: 0,
54
54
 
55
55
  /**
56
- Total row height used for calculation. Equal to itemHeight + twice rowPadding.
56
+ Total row height used for calculation. Equal to `itemHeight + (2 * rowPadding)`.
57
57
 
58
58
  @type Number
59
59
  */
@@ -79,7 +79,7 @@ SC.CollectionRowDelegate = {
79
79
  customRowHeightIndexes: null,
80
80
 
81
81
  /**
82
- Called for each index in the customRowHeightIndexes set to get the
82
+ Called for each index in the `customRowHeightIndexes` set to get the
83
83
  actual row height for the index. This method should return the default
84
84
  rowHeight if you don't want the row to have a custom height.
85
85
 
@@ -8,10 +8,10 @@
8
8
  /**
9
9
  @namespace
10
10
 
11
- A Collection View Delegate is consulted by a SC.CollectionView to make
11
+ A Collection View Delegate is consulted by a `SC.CollectionView` to make
12
12
  policy decisions about certain behaviors such as selection control and
13
13
  drag and drop. If you need to control other aspects of your data, you may
14
- also want to add the SC.CollectionContent mixin.
14
+ also want to add the `SC.CollectionContent` mixin.
15
15
 
16
16
  To act as a Collection Delegate, just apply this mixin to your class. You
17
17
  must then set the "delegate" property on the CollectionView to your object.
@@ -74,7 +74,7 @@ SC.CollectionViewDelegate = {
74
74
 
75
75
  /**
76
76
  Called by the collection when attempting to deselect an item. Return the
77
- actual indexes you want to allow to be deselected. Return null to
77
+ actual indexes you want to allow to be deselected. Return `null` to
78
78
  disallow the change. The default allows all selection.
79
79
 
80
80
  Note that you should not modify the passed in IndexSet. clone it instead.
@@ -93,11 +93,11 @@ SC.CollectionViewDelegate = {
93
93
  //
94
94
 
95
95
  /**
96
- Called by the collection view whenever the deleteSelection() method is
96
+ Called by the collection view whenever the `deleteSelection()` method is
97
97
  called. You can implement this method to get fine-grained control over
98
98
  which items can be deleted. To prevent deletion, return null.
99
99
 
100
- This method is only called if canDeleteContent is YES on the collection
100
+ This method is only called if canDeleteContent is `YES` on the collection
101
101
  view.
102
102
 
103
103
  @param {SC.CollectionView} view the collection view
@@ -116,8 +116,8 @@ SC.CollectionViewDelegate = {
116
116
  deletion method.
117
117
 
118
118
  If you simply want to control the items to be deleted, you should instead
119
- implement collectionViewShouldDeleteItems(). This method will only be
120
- called if canDeleteContent is YES and collectionViewShouldDeleteIndexes()
119
+ implement `collectionViewShouldDeleteItems()`. This method will only be
120
+ called if canDeleteContent is `YES` and `collectionViewShouldDeleteIndexes()`
121
121
  returns a non-empty index set
122
122
 
123
123
  @param {SC.CollectionView} view collection view
@@ -154,7 +154,7 @@ SC.CollectionViewDelegate = {
154
154
  may enable content reordering but then implement this method to prevent
155
155
  reordering of certain items in the view.
156
156
 
157
- The default implementation always returns YES.
157
+ The default implementation always returns `YES`.
158
158
 
159
159
  @param {SC.CollectionView} view the collection view
160
160
  @returns {Boolean} YES to alow, NO to prevent it
@@ -170,13 +170,13 @@ SC.CollectionViewDelegate = {
170
170
  You can implement this method to return an array of the data types you
171
171
  will provide for the drag data.
172
172
 
173
- If you return null or an empty array, can you have set canReorderContent
174
- to YES on the CollectionView, then the drag will go ahead but only
175
- reordering will be allowed. If canReorderContent is NO, then the drag
173
+ If you return `null` or an empty array, can you have set `canReorderContent`
174
+ to `YES` on the CollectionView, then the drag will go ahead but only
175
+ reordering will be allowed. If `canReorderContent` is `NO`, then the drag
176
176
  will not be allowed to start.
177
177
 
178
178
  If you simply want to control whether a drag is allowed or not, you
179
- should instead implement collectionViewShouldBeginDrag().
179
+ should instead implement `collectionViewShouldBeginDrag()`.
180
180
 
181
181
  The default returns an empty array.
182
182
 
@@ -192,7 +192,7 @@ SC.CollectionViewDelegate = {
192
192
  to provide the drag data for the drop.
193
193
 
194
194
  This method should be implemented essentially as you would implement the
195
- dragDataForType() if you were a drag data source. You will never be asked
195
+ `dragDataForType()` if you were a drag data source. You will never be asked
196
196
  to provide drag data for a reorder event, only for other types of data.
197
197
 
198
198
  The default implementation returns null.
@@ -230,14 +230,14 @@ SC.CollectionViewDelegate = {
230
230
  general which operations you might support and specifically the operations
231
231
  you would support if the user dropped an item over a specific location.
232
232
 
233
- If the proposedDropOperation parameter is SC.DROP_ON or SC.DROP_BEFORE,
234
- then the proposedInsertionPoint will be a non-negative value and you
233
+ If the `proposedDropOperation` parameter is `SC.DROP_ON` or `SC.DROP_BEFORE`,
234
+ then the `proposedInsertionPoint` will be a non-negative value and you
235
235
  should determine the specific operations you will support if the user
236
236
  dropped the drag item at that point.
237
237
 
238
238
  If you do not like the proposed drop operation or insertion point, you
239
- can override these properties as well by setting the proposedDropOperation
240
- and proposedInsertionIndex properties on the collection view during this
239
+ can override these properties as well by setting the `proposedDropOperation`
240
+ and `proposedInsertionIndex` properties on the collection view during this
241
241
  method. These properties are ignored all other times.
242
242
 
243
243
  @param {SC.CollectionView} view the collection view
@@ -254,12 +254,12 @@ SC.CollectionViewDelegate = {
254
254
 
255
255
  /**
256
256
  Called by the collection view to actually accept a drop. This method will
257
- only be invoked AFTER your validateDrop method has been called to
257
+ only be invoked AFTER your `validateDrop method has been called to
258
258
  determine if you want to even allow the drag operation to go through.
259
259
 
260
260
  You should actually make changes to the data model if needed here and
261
261
  then return the actual drag operation that was performed. If you return
262
- SC.DRAG_NONE and the dragOperation was SC.DRAG_REORDER, then the default
262
+ `SC.DRAG_NONE` and the dragOperation was `SC.DRAG_REORDER`, then the default
263
263
  reorder behavior will be provided by the collection view.
264
264
 
265
265
  @param {SC.CollectionView} view
@@ -288,7 +288,7 @@ SC.CollectionViewDelegate = {
288
288
  },
289
289
 
290
290
  /**
291
- Allows the ghost view created in collectionViewDragViewFor to be displayed
291
+ Allows the ghost view created in `collectionViewDragViewFor` to be displayed
292
292
  like a cursor instead of the default implementation. This sets the view
293
293
  origin to be the location of the mouse cursor.
294
294