sproutcore 1.4.5-java → 1.5.0-java

Sign up to get free protection for your applications and to get access to all the features.
Files changed (1916) hide show
  1. data/.rspec +1 -0
  2. data/CHANGELOG +126 -0
  3. data/README.txt +25 -0
  4. data/VERSION.yml +2 -2
  5. data/bin/sc-build +1 -1
  6. data/bin/sc-build-number +1 -1
  7. data/bin/sc-docs +1 -1
  8. data/bin/sc-gen +1 -1
  9. data/bin/sc-init +1 -1
  10. data/bin/sc-manifest +1 -1
  11. data/bin/sc-server +1 -1
  12. data/bin/sproutcore +1 -1
  13. data/lib/Buildfile +14 -5
  14. data/lib/buildtasks/build.rake +33 -17
  15. data/lib/buildtasks/manifest.rake +381 -103
  16. data/lib/buildtasks/target.rake +1 -0
  17. data/lib/doc_templates/sproutcore/index.tmpl +18 -4
  18. data/lib/doc_templates/sproutcore/publish.js +1 -1
  19. data/lib/frameworks/sproutcore/Buildfile +36 -33
  20. data/lib/frameworks/sproutcore/CHANGELOG.md +414 -0
  21. data/lib/frameworks/sproutcore/README.md +1 -0
  22. data/lib/frameworks/sproutcore/apps/test_controls/Buildfile +0 -0
  23. data/lib/frameworks/sproutcore/apps/test_controls/controllers/alert.js +39 -0
  24. data/lib/frameworks/sproutcore/apps/test_controls/controllers/buttons.js +21 -0
  25. data/lib/frameworks/sproutcore/apps/test_controls/controllers/categories.js +125 -0
  26. data/lib/frameworks/sproutcore/apps/test_controls/controllers/category.js +36 -0
  27. data/lib/frameworks/sproutcore/apps/test_controls/controllers/split.js +74 -0
  28. data/lib/frameworks/sproutcore/apps/test_controls/core.js +29 -0
  29. data/lib/frameworks/sproutcore/apps/test_controls/main.js +14 -0
  30. data/lib/frameworks/sproutcore/apps/test_controls/resources/buttons_page.js +158 -0
  31. data/lib/frameworks/sproutcore/apps/test_controls/resources/checkboxes_page.js +53 -0
  32. data/lib/frameworks/sproutcore/apps/test_controls/resources/flow_layout_page.js +85 -0
  33. data/lib/frameworks/sproutcore/apps/test_controls/resources/list_page.js +40 -0
  34. data/lib/frameworks/sproutcore/apps/test_controls/resources/loading.rhtml +9 -0
  35. data/lib/frameworks/sproutcore/apps/test_controls/resources/main_page.css +60 -0
  36. data/lib/frameworks/sproutcore/apps/test_controls/resources/main_page.js +151 -0
  37. data/lib/frameworks/sproutcore/apps/test_controls/resources/panels_page.js +62 -0
  38. data/lib/frameworks/sproutcore/apps/test_controls/resources/progress_page.js +33 -0
  39. data/lib/frameworks/sproutcore/apps/test_controls/resources/radio_page.js +55 -0
  40. data/lib/frameworks/sproutcore/apps/test_controls/resources/scroll_page.js +77 -0
  41. data/lib/frameworks/sproutcore/apps/test_controls/resources/segmented_page.js +99 -0
  42. data/lib/frameworks/sproutcore/apps/test_controls/resources/select_page.js +61 -0
  43. data/lib/frameworks/sproutcore/apps/test_controls/resources/sliders_page.js +54 -0
  44. data/lib/frameworks/sproutcore/apps/test_controls/resources/split_page.js +141 -0
  45. data/lib/frameworks/sproutcore/apps/test_controls/resources/strings.js +50 -0
  46. data/lib/frameworks/sproutcore/apps/test_controls/resources/tab_page.js +53 -0
  47. data/lib/frameworks/sproutcore/apps/test_controls/resources/text_field_page.js +65 -0
  48. data/lib/frameworks/sproutcore/apps/test_controls/theme.js +34 -0
  49. data/lib/frameworks/sproutcore/apps/tests/controllers/detail.js +1 -1
  50. data/lib/frameworks/sproutcore/apps/tests/controllers/source.js +1 -1
  51. data/lib/frameworks/sproutcore/apps/tests/controllers/target.js +1 -1
  52. data/lib/frameworks/sproutcore/apps/tests/controllers/targets.js +1 -1
  53. data/lib/frameworks/sproutcore/apps/tests/controllers/tests.js +1 -1
  54. data/lib/frameworks/sproutcore/apps/tests/core.js +1 -1
  55. data/lib/frameworks/sproutcore/apps/tests/english.lproj/main_page.js +6 -6
  56. data/lib/frameworks/sproutcore/apps/tests/english.lproj/strings.js +1 -1
  57. data/lib/frameworks/sproutcore/apps/tests/main.js +1 -1
  58. data/lib/frameworks/sproutcore/apps/tests/states/no_targets.js +1 -1
  59. data/lib/frameworks/sproutcore/apps/tests/states/ready.js +1 -1
  60. data/lib/frameworks/sproutcore/apps/tests/states/ready_detail.js +1 -1
  61. data/lib/frameworks/sproutcore/apps/tests/states/ready_empty.js +1 -1
  62. data/lib/frameworks/sproutcore/apps/tests/states/ready_list.js +1 -1
  63. data/lib/frameworks/sproutcore/apps/tests/states/ready_loading.js +1 -1
  64. data/lib/frameworks/sproutcore/apps/tests/states/ready_no_tests.js +1 -1
  65. data/lib/frameworks/sproutcore/apps/tests/states/start.js +1 -1
  66. data/lib/frameworks/sproutcore/apps/tests/tests/controllers/detail.js +1 -1
  67. data/lib/frameworks/sproutcore/apps/tests/tests/controllers/source.js +1 -1
  68. data/lib/frameworks/sproutcore/apps/tests/tests/controllers/target.js +1 -1
  69. data/lib/frameworks/sproutcore/apps/tests/tests/controllers/targets.js +1 -1
  70. data/lib/frameworks/sproutcore/apps/tests/tests/controllers/tests.js +1 -1
  71. data/lib/frameworks/sproutcore/apps/tests/tests/models/target.js +1 -1
  72. data/lib/frameworks/sproutcore/apps/tests/tests/models/test.js +1 -1
  73. data/lib/frameworks/sproutcore/apps/tests/tests/views/offset_checkbox.js +1 -1
  74. data/lib/frameworks/sproutcore/apps/tests/views/offset_checkbox.js +1 -1
  75. data/lib/frameworks/sproutcore/apps/welcome/controllers/targets.js +10 -4
  76. data/lib/frameworks/sproutcore/apps/welcome/core.js +1 -1
  77. data/lib/frameworks/sproutcore/apps/{greenhouse → welcome}/english.lproj/images/main-bg.png +0 -0
  78. data/lib/frameworks/sproutcore/apps/welcome/english.lproj/main_page.css +24 -6
  79. data/lib/frameworks/sproutcore/apps/welcome/english.lproj/main_page.js +37 -47
  80. data/lib/frameworks/sproutcore/apps/welcome/english.lproj/strings.js +1 -1
  81. data/lib/frameworks/sproutcore/apps/welcome/main.js +1 -1
  82. data/lib/frameworks/sproutcore/apps/welcome/tests/controllers/targets.js +1 -1
  83. data/lib/frameworks/sproutcore/design/{SproutCore Datastore Design.graffle → Sproutcore_DatastoreDesign.graffle}/QuickLook/Preview.pdf +0 -0
  84. data/lib/frameworks/sproutcore/design/{SproutCore Datastore Design.graffle → Sproutcore_DatastoreDesign.graffle}/QuickLook/Thumbnail.tiff +0 -0
  85. data/lib/frameworks/sproutcore/design/{SproutCore Datastore Design.graffle → Sproutcore_DatastoreDesign.graffle}/data.plist +0 -0
  86. data/lib/frameworks/sproutcore/{apps/docs/design/Doc Viewer.graffle → design/Sproutcore_DatastoreDesign.graffle}/image8.png +0 -0
  87. data/lib/frameworks/sproutcore/design/{SproutCore Design Template.graffle → Sproutcore_Design_Template.graffle}/QuickLook/Preview.pdf +0 -0
  88. data/lib/frameworks/sproutcore/design/{SproutCore Design Template.graffle → Sproutcore_Design_Template.graffle}/QuickLook/Thumbnail.tiff +0 -0
  89. data/lib/frameworks/sproutcore/design/{SproutCore Design Template.graffle → Sproutcore_Design_Template.graffle}/data.plist +0 -0
  90. data/lib/frameworks/sproutcore/design/{SproutCore Datastore Design.graffle → Sproutcore_Design_Template.graffle}/image8.png +0 -0
  91. data/lib/frameworks/sproutcore/design/{TestRunner Design.graffle → TestRunner_Design.graffle}/QuickLook/Preview.pdf +0 -0
  92. data/lib/frameworks/sproutcore/design/{TestRunner Design.graffle → TestRunner_Design.graffle}/QuickLook/Thumbnail.tiff +0 -0
  93. data/lib/frameworks/sproutcore/design/{TestRunner Design.graffle → TestRunner_Design.graffle}/data.plist +0 -0
  94. data/lib/frameworks/sproutcore/design/{TestRunner Design.graffle → TestRunner_Design.graffle}/image10.png +0 -0
  95. data/lib/frameworks/sproutcore/{apps/docs/design/Doc Viewer.graffle → design/TestRunner_Design.graffle}/image11.png +0 -0
  96. data/lib/frameworks/sproutcore/{apps/docs/design/Doc Viewer.graffle → design/TestRunner_Design.graffle}/image13.png +0 -0
  97. data/lib/frameworks/sproutcore/design/{TestRunner Design.graffle → TestRunner_Design.graffle}/image15.png +0 -0
  98. data/lib/frameworks/sproutcore/design/{TestRunner Design.graffle → TestRunner_Design.graffle}/image16.png +0 -0
  99. data/lib/frameworks/sproutcore/design/{TestRunner Design.graffle → TestRunner_Design.graffle}/image17.png +0 -0
  100. data/lib/frameworks/sproutcore/design/{TestRunner Design.graffle → TestRunner_Design.graffle}/image18.png +0 -0
  101. data/lib/frameworks/sproutcore/design/{TestRunner Design.graffle → TestRunner_Design.graffle}/image19.png +0 -0
  102. data/lib/frameworks/sproutcore/design/{TestRunner Design.graffle → TestRunner_Design.graffle}/image22.tiff +0 -0
  103. data/lib/frameworks/sproutcore/design/{TestRunner Design.graffle → TestRunner_Design.graffle}/image23.png +0 -0
  104. data/lib/frameworks/sproutcore/design/{TestRunner Design.graffle → TestRunner_Design.graffle}/image24.png +0 -0
  105. data/lib/frameworks/sproutcore/design/{TestRunner Design.graffle → TestRunner_Design.graffle}/image25.png +0 -0
  106. data/lib/frameworks/sproutcore/design/{TestRunner Design.graffle → TestRunner_Design.graffle}/image30.png +0 -0
  107. data/lib/frameworks/sproutcore/design/{TestRunner Design.graffle → TestRunner_Design.graffle}/image31.png +0 -0
  108. data/lib/frameworks/sproutcore/design/{SproutCore Design Template.graffle → TestRunner_Design.graffle}/image8.png +0 -0
  109. data/lib/frameworks/sproutcore/design/{TestRunner Design.graffle → TestRunner_Design.graffle}/image9.png +0 -0
  110. data/lib/frameworks/sproutcore/frameworks/ajax/fixtures/file_exists.json +1 -0
  111. data/lib/frameworks/sproutcore/frameworks/ajax/fixtures/malformed.json +11 -0
  112. data/lib/frameworks/sproutcore/frameworks/ajax/system/request.js +611 -0
  113. data/lib/frameworks/sproutcore/frameworks/ajax/system/response.js +550 -0
  114. data/lib/frameworks/sproutcore/frameworks/ajax/tests/system/request.js +276 -0
  115. data/lib/frameworks/sproutcore/frameworks/animation/core.js +57 -45
  116. data/lib/frameworks/sproutcore/frameworks/animation/tests/core.js +10 -5
  117. data/lib/frameworks/sproutcore/frameworks/bootstrap/core.js +1 -1
  118. data/lib/frameworks/sproutcore/frameworks/bootstrap/setup_body_class_names.js +1 -1
  119. data/lib/frameworks/sproutcore/frameworks/bootstrap/system/bench.js +14 -0
  120. data/lib/frameworks/sproutcore/frameworks/bootstrap/system/browser.js +219 -23
  121. data/lib/frameworks/sproutcore/frameworks/bootstrap/system/loader.js +16 -15
  122. data/lib/frameworks/sproutcore/frameworks/bootstrap/tests/system/browser.js +187 -0
  123. data/lib/frameworks/sproutcore/frameworks/core_foundation/controllers/array.js +540 -0
  124. data/lib/frameworks/sproutcore/frameworks/core_foundation/controllers/controller.js +44 -0
  125. data/lib/frameworks/sproutcore/frameworks/core_foundation/controllers/object.js +342 -0
  126. data/lib/frameworks/sproutcore/frameworks/core_foundation/core.js +189 -0
  127. data/lib/frameworks/sproutcore/frameworks/core_foundation/ext/function.js +39 -0
  128. data/lib/frameworks/sproutcore/frameworks/core_foundation/ext/handlebars.js +73 -0
  129. data/lib/frameworks/sproutcore/frameworks/core_foundation/ext/handlebars/bind.js +293 -0
  130. data/lib/frameworks/sproutcore/frameworks/core_foundation/ext/handlebars/collection.js +55 -0
  131. data/lib/frameworks/sproutcore/frameworks/core_foundation/ext/handlebars/localization.js +5 -0
  132. data/lib/frameworks/sproutcore/frameworks/core_foundation/ext/handlebars/view.js +96 -0
  133. data/lib/frameworks/sproutcore/frameworks/core_foundation/ext/object.js +81 -0
  134. data/lib/frameworks/sproutcore/frameworks/core_foundation/ext/run_loop.js +163 -0
  135. data/lib/frameworks/sproutcore/frameworks/core_foundation/ext/string.js +60 -0
  136. data/lib/frameworks/sproutcore/frameworks/core_foundation/mixins/delegate_support.js +110 -0
  137. data/lib/frameworks/sproutcore/frameworks/core_foundation/mixins/responder_context.js +268 -0
  138. data/lib/frameworks/sproutcore/frameworks/core_foundation/mixins/selection_support.js +249 -0
  139. data/lib/frameworks/sproutcore/frameworks/core_foundation/mixins/template_helpers/checkbox_support.js +28 -0
  140. data/lib/frameworks/sproutcore/frameworks/core_foundation/mixins/template_helpers/text_field_support.js +55 -0
  141. data/lib/frameworks/sproutcore/frameworks/core_foundation/panes/keyboard.js +74 -0
  142. data/lib/frameworks/sproutcore/frameworks/core_foundation/panes/layout.js +95 -0
  143. data/lib/frameworks/sproutcore/frameworks/core_foundation/panes/main.js +50 -0
  144. data/lib/frameworks/sproutcore/frameworks/core_foundation/panes/manipulation.js +33 -0
  145. data/lib/frameworks/sproutcore/frameworks/core_foundation/panes/pane.js +670 -0
  146. data/lib/frameworks/sproutcore/frameworks/core_foundation/panes/template.js +31 -0
  147. data/lib/frameworks/sproutcore/frameworks/core_foundation/panes/visibility.js +17 -0
  148. data/lib/frameworks/sproutcore/frameworks/core_foundation/protocols/observable_protocol.js +40 -0
  149. data/lib/frameworks/sproutcore/frameworks/core_foundation/protocols/sparse_array_delegate.js +131 -0
  150. data/lib/frameworks/sproutcore/frameworks/core_foundation/resources/core.css +378 -0
  151. data/lib/frameworks/sproutcore/frameworks/core_foundation/resources/view.css +57 -0
  152. data/lib/frameworks/sproutcore/frameworks/core_foundation/system/application.js +33 -0
  153. data/lib/frameworks/sproutcore/frameworks/core_foundation/system/bindable_span.js +164 -0
  154. data/lib/frameworks/sproutcore/frameworks/core_foundation/system/browser.js +36 -0
  155. data/lib/frameworks/sproutcore/frameworks/core_foundation/system/builder.js +202 -0
  156. data/lib/frameworks/sproutcore/frameworks/core_foundation/system/core_query.js +141 -0
  157. data/lib/frameworks/sproutcore/frameworks/core_foundation/system/cursor.js +131 -0
  158. data/lib/frameworks/sproutcore/frameworks/core_foundation/system/datetime.js +0 -0
  159. data/lib/frameworks/sproutcore/frameworks/core_foundation/system/device.js +210 -0
  160. data/lib/frameworks/sproutcore/frameworks/core_foundation/system/event.js +991 -0
  161. data/lib/frameworks/sproutcore/frameworks/core_foundation/system/locale.js +289 -0
  162. data/lib/frameworks/sproutcore/frameworks/core_foundation/system/page.js +106 -0
  163. data/lib/frameworks/sproutcore/frameworks/core_foundation/system/platform.js +419 -0
  164. data/lib/frameworks/sproutcore/frameworks/core_foundation/system/ready.js +103 -0
  165. data/lib/frameworks/sproutcore/frameworks/core_foundation/system/render_context.js +1063 -0
  166. data/lib/frameworks/sproutcore/frameworks/core_foundation/system/responder.js +124 -0
  167. data/lib/frameworks/sproutcore/frameworks/core_foundation/system/root_responder.js +2174 -0
  168. data/lib/frameworks/sproutcore/frameworks/core_foundation/system/selection_set.js +693 -0
  169. data/lib/frameworks/sproutcore/frameworks/core_foundation/system/sparse_array.js +397 -0
  170. data/lib/frameworks/sproutcore/frameworks/core_foundation/system/string.js +165 -0
  171. data/lib/frameworks/sproutcore/frameworks/core_foundation/system/theme.js +316 -0
  172. data/lib/frameworks/sproutcore/frameworks/core_foundation/system/timer.js +548 -0
  173. data/lib/frameworks/sproutcore/frameworks/core_foundation/system/utils.js +155 -0
  174. data/lib/frameworks/sproutcore/frameworks/core_foundation/system/utils/rect.js +104 -0
  175. data/lib/frameworks/sproutcore/frameworks/core_foundation/tests/controllers/array/array_case.js +301 -0
  176. data/lib/frameworks/sproutcore/frameworks/core_foundation/tests/controllers/array/enum_case.js +206 -0
  177. data/lib/frameworks/sproutcore/frameworks/core_foundation/tests/controllers/array/null_case.js +64 -0
  178. data/lib/frameworks/sproutcore/frameworks/core_foundation/tests/controllers/array/selection_support.js +344 -0
  179. data/lib/frameworks/sproutcore/frameworks/core_foundation/tests/controllers/array/single_case.js +136 -0
  180. data/lib/frameworks/sproutcore/frameworks/core_foundation/tests/controllers/object/empty_case.js +82 -0
  181. data/lib/frameworks/sproutcore/frameworks/core_foundation/tests/controllers/object/multiple_case.js +111 -0
  182. data/lib/frameworks/sproutcore/frameworks/core_foundation/tests/controllers/object/single_case.js +193 -0
  183. data/lib/frameworks/sproutcore/frameworks/core_foundation/tests/controllers/object/single_enumerable_case.js +265 -0
  184. data/lib/frameworks/sproutcore/frameworks/core_foundation/tests/mixins/responder_context.js +76 -0
  185. data/lib/frameworks/sproutcore/frameworks/core_foundation/tests/mixins/string.js +78 -0
  186. data/lib/frameworks/sproutcore/frameworks/core_foundation/tests/mixins/template_helpers/checkbox_support.js +38 -0
  187. data/lib/frameworks/sproutcore/frameworks/core_foundation/tests/mixins/template_helpers/text_field_support.js +79 -0
  188. data/lib/frameworks/sproutcore/frameworks/core_foundation/tests/panes/template.js +20 -0
  189. data/lib/frameworks/sproutcore/frameworks/core_foundation/tests/system/builder.js +49 -0
  190. data/lib/frameworks/sproutcore/frameworks/core_foundation/tests/system/core_query/within.js +71 -0
  191. data/lib/frameworks/sproutcore/frameworks/core_foundation/tests/system/locale.js +140 -0
  192. data/lib/frameworks/sproutcore/frameworks/core_foundation/tests/system/ready/done.js +40 -0
  193. data/lib/frameworks/sproutcore/frameworks/core_foundation/tests/system/render_context/begin.js +47 -0
  194. data/lib/frameworks/sproutcore/frameworks/core_foundation/tests/system/render_context/element.js +44 -0
  195. data/lib/frameworks/sproutcore/frameworks/core_foundation/tests/system/render_context/end.js +124 -0
  196. data/lib/frameworks/sproutcore/frameworks/core_foundation/tests/system/render_context/get.js +51 -0
  197. data/lib/frameworks/sproutcore/frameworks/core_foundation/tests/system/render_context/helpers_attr.js +50 -0
  198. data/lib/frameworks/sproutcore/frameworks/core_foundation/tests/system/render_context/helpers_basic.js +28 -0
  199. data/lib/frameworks/sproutcore/frameworks/core_foundation/tests/system/render_context/helpers_className.js +177 -0
  200. data/lib/frameworks/sproutcore/frameworks/core_foundation/tests/system/render_context/helpers_style.js +109 -0
  201. data/lib/frameworks/sproutcore/frameworks/core_foundation/tests/system/render_context/init.js +55 -0
  202. data/lib/frameworks/sproutcore/frameworks/core_foundation/tests/system/render_context/join.js +28 -0
  203. data/lib/frameworks/sproutcore/frameworks/core_foundation/tests/system/render_context/push_text.js +74 -0
  204. data/lib/frameworks/sproutcore/frameworks/core_foundation/tests/system/render_context/tag.js +46 -0
  205. data/lib/frameworks/sproutcore/frameworks/core_foundation/tests/system/render_context/update.js +219 -0
  206. data/lib/frameworks/sproutcore/frameworks/core_foundation/tests/system/root_responder/makeKeyPane.js +124 -0
  207. data/lib/frameworks/sproutcore/frameworks/core_foundation/tests/system/root_responder/makeMainPane.js +68 -0
  208. data/lib/frameworks/sproutcore/frameworks/core_foundation/tests/system/root_responder/makeMenuPane.js +48 -0
  209. data/lib/frameworks/sproutcore/frameworks/core_foundation/tests/system/root_responder/root_responder.js +108 -0
  210. data/lib/frameworks/sproutcore/frameworks/core_foundation/tests/system/root_responder/targetForAction.js +288 -0
  211. data/lib/frameworks/sproutcore/frameworks/core_foundation/tests/system/selection_set/add.js +92 -0
  212. data/lib/frameworks/sproutcore/frameworks/core_foundation/tests/system/selection_set/copy.js +17 -0
  213. data/lib/frameworks/sproutcore/frameworks/core_foundation/tests/system/selection_set/indexSetForSource.js +98 -0
  214. data/lib/frameworks/sproutcore/frameworks/core_foundation/tests/system/selection_set/isEqual.js +60 -0
  215. data/lib/frameworks/sproutcore/frameworks/core_foundation/tests/system/selection_set/remove.js +111 -0
  216. data/lib/frameworks/sproutcore/frameworks/core_foundation/tests/system/sparse_array.js +201 -0
  217. data/lib/frameworks/sproutcore/frameworks/core_foundation/tests/system/theme.js +78 -0
  218. data/lib/frameworks/sproutcore/frameworks/core_foundation/tests/system/timer/invalidate.js +44 -0
  219. data/lib/frameworks/sproutcore/frameworks/core_foundation/tests/system/timer/invokeLater.js +209 -0
  220. data/lib/frameworks/sproutcore/frameworks/core_foundation/tests/system/timer/isPaused.js +77 -0
  221. data/lib/frameworks/sproutcore/frameworks/core_foundation/tests/system/timer/performAction.js +75 -0
  222. data/lib/frameworks/sproutcore/frameworks/core_foundation/tests/system/timer/schedule.js +176 -0
  223. data/lib/frameworks/sproutcore/frameworks/core_foundation/tests/system/utils/normalizeURL.js +24 -0
  224. data/lib/frameworks/sproutcore/frameworks/core_foundation/tests/system/utils/offset.js +284 -0
  225. data/lib/frameworks/sproutcore/frameworks/core_foundation/tests/system/utils/rect.js +105 -0
  226. data/lib/frameworks/sproutcore/frameworks/core_foundation/tests/views/main_pane.js +49 -0
  227. data/lib/frameworks/sproutcore/frameworks/core_foundation/tests/views/pane/append_remove.js +224 -0
  228. data/lib/frameworks/sproutcore/frameworks/core_foundation/tests/views/pane/child_view.js +26 -0
  229. data/lib/frameworks/sproutcore/frameworks/core_foundation/tests/views/pane/firstResponder.js +148 -0
  230. data/lib/frameworks/sproutcore/frameworks/core_foundation/tests/views/pane/keyPane.js +133 -0
  231. data/lib/frameworks/sproutcore/frameworks/core_foundation/tests/views/pane/layout.js +31 -0
  232. data/lib/frameworks/sproutcore/frameworks/core_foundation/tests/views/pane/sendEvent.js +206 -0
  233. data/lib/frameworks/sproutcore/frameworks/core_foundation/tests/views/template/collection.js +201 -0
  234. data/lib/frameworks/sproutcore/frameworks/core_foundation/tests/views/template/core.js +160 -0
  235. data/lib/frameworks/sproutcore/frameworks/core_foundation/tests/views/template/handlebars.js +919 -0
  236. data/lib/frameworks/sproutcore/frameworks/core_foundation/tests/views/view/animation.js +382 -0
  237. data/lib/frameworks/sproutcore/frameworks/core_foundation/tests/views/view/build.js +85 -0
  238. data/lib/frameworks/sproutcore/frameworks/core_foundation/tests/views/view/build_children.js +89 -0
  239. data/lib/frameworks/sproutcore/frameworks/core_foundation/tests/views/view/clippingFrame.js +117 -0
  240. data/lib/frameworks/sproutcore/frameworks/core_foundation/tests/views/view/convertFrames.js +248 -0
  241. data/lib/frameworks/sproutcore/frameworks/core_foundation/tests/views/view/convertLayouts.js +153 -0
  242. data/lib/frameworks/sproutcore/frameworks/core_foundation/tests/views/view/createChildViews.js +132 -0
  243. data/lib/frameworks/sproutcore/frameworks/core_foundation/tests/views/view/createLayer.js +97 -0
  244. data/lib/frameworks/sproutcore/frameworks/core_foundation/tests/views/view/destroyLayer.js +83 -0
  245. data/lib/frameworks/sproutcore/frameworks/core_foundation/tests/views/view/didAppendToDocument.js +83 -0
  246. data/lib/frameworks/sproutcore/frameworks/core_foundation/tests/views/view/findLayerInParentLayer.js +50 -0
  247. data/lib/frameworks/sproutcore/frameworks/core_foundation/tests/views/view/init.js +50 -0
  248. data/lib/frameworks/sproutcore/frameworks/core_foundation/tests/views/view/insertBefore.js +217 -0
  249. data/lib/frameworks/sproutcore/frameworks/core_foundation/tests/views/view/isVisible.js +85 -0
  250. data/lib/frameworks/sproutcore/frameworks/core_foundation/tests/views/view/isVisibleInWindow.js +122 -0
  251. data/lib/frameworks/sproutcore/frameworks/core_foundation/tests/views/view/keyboard.js +28 -0
  252. data/lib/frameworks/sproutcore/frameworks/core_foundation/tests/views/view/layer.js +146 -0
  253. data/lib/frameworks/sproutcore/frameworks/core_foundation/tests/views/view/layoutChildViews.js +162 -0
  254. data/lib/frameworks/sproutcore/frameworks/core_foundation/tests/views/view/layoutDidChange.js +180 -0
  255. data/lib/frameworks/sproutcore/frameworks/core_foundation/tests/views/view/layoutStyle.js +745 -0
  256. data/lib/frameworks/sproutcore/frameworks/core_foundation/tests/views/view/parentViewDidChange.js +67 -0
  257. data/lib/frameworks/sproutcore/frameworks/core_foundation/tests/views/view/prepareContext.js +203 -0
  258. data/lib/frameworks/sproutcore/frameworks/core_foundation/tests/views/view/removeChild.js +189 -0
  259. data/lib/frameworks/sproutcore/frameworks/core_foundation/tests/views/view/render.js +203 -0
  260. data/lib/frameworks/sproutcore/frameworks/core_foundation/tests/views/view/render_delegate_support.js +163 -0
  261. data/lib/frameworks/sproutcore/frameworks/core_foundation/tests/views/view/replaceChild.js +29 -0
  262. data/lib/frameworks/sproutcore/frameworks/core_foundation/tests/views/view/static_layout.js +28 -0
  263. data/lib/frameworks/sproutcore/frameworks/core_foundation/tests/views/view/theme.js +45 -0
  264. data/lib/frameworks/sproutcore/frameworks/core_foundation/tests/views/view/updateLayer.js +148 -0
  265. data/lib/frameworks/sproutcore/frameworks/core_foundation/tests/views/view/updateLayerLocation.js +213 -0
  266. data/lib/frameworks/sproutcore/frameworks/core_foundation/tests/views/view/view.js +64 -0
  267. data/lib/frameworks/sproutcore/frameworks/core_foundation/tests/views/view/viewDidResize.js +202 -0
  268. data/lib/frameworks/sproutcore/frameworks/core_foundation/views/template.js +131 -0
  269. data/lib/frameworks/sproutcore/frameworks/core_foundation/views/template_collection.js +242 -0
  270. data/lib/frameworks/sproutcore/frameworks/core_foundation/views/view.js +1524 -0
  271. data/lib/frameworks/sproutcore/frameworks/core_foundation/views/view/animation.js +181 -0
  272. data/lib/frameworks/sproutcore/frameworks/core_foundation/views/view/base.js +3 -0
  273. data/lib/frameworks/sproutcore/frameworks/core_foundation/views/view/cursor.js +48 -0
  274. data/lib/frameworks/sproutcore/frameworks/core_foundation/views/view/enabled.js +57 -0
  275. data/lib/frameworks/sproutcore/frameworks/core_foundation/views/view/keyboard.js +223 -0
  276. data/lib/frameworks/sproutcore/frameworks/core_foundation/views/view/layout.js +1115 -0
  277. data/lib/frameworks/sproutcore/frameworks/core_foundation/views/view/layout_style.js +624 -0
  278. data/lib/frameworks/sproutcore/frameworks/core_foundation/views/view/manipulation.js +401 -0
  279. data/lib/frameworks/sproutcore/frameworks/core_foundation/views/view/theming.js +400 -0
  280. data/lib/frameworks/sproutcore/frameworks/core_foundation/views/view/touch.js +67 -0
  281. data/lib/frameworks/sproutcore/frameworks/core_foundation/views/view/visibility.js +118 -0
  282. data/lib/frameworks/sproutcore/frameworks/core_tools/core.js +1 -1
  283. data/lib/frameworks/sproutcore/frameworks/core_tools/data_source.js +1 -1
  284. data/lib/frameworks/sproutcore/frameworks/core_tools/english.lproj/strings.js +1 -1
  285. data/lib/frameworks/sproutcore/frameworks/core_tools/fixtures/target.js +1 -1
  286. data/lib/frameworks/sproutcore/frameworks/core_tools/fixtures/test.js +1 -1
  287. data/lib/frameworks/sproutcore/frameworks/core_tools/models/target.js +1 -1
  288. data/lib/frameworks/sproutcore/frameworks/core_tools/models/test.js +1 -1
  289. data/lib/frameworks/sproutcore/frameworks/datastore/core.js +1 -1
  290. data/lib/frameworks/sproutcore/frameworks/datastore/data_sources/cascade.js +17 -21
  291. data/lib/frameworks/sproutcore/frameworks/datastore/data_sources/data_source.js +322 -132
  292. data/lib/frameworks/sproutcore/frameworks/datastore/data_sources/fixtures.js +5 -5
  293. data/lib/frameworks/sproutcore/frameworks/datastore/debug/json.js +1 -1
  294. data/lib/frameworks/sproutcore/frameworks/datastore/debug/standard_setup.js +1 -1
  295. data/lib/frameworks/sproutcore/frameworks/datastore/models/child_attribute.js +44 -61
  296. data/lib/frameworks/sproutcore/frameworks/datastore/models/child_record.js +16 -100
  297. data/lib/frameworks/sproutcore/frameworks/datastore/models/children_attribute.js +17 -24
  298. data/lib/frameworks/sproutcore/frameworks/datastore/models/fetched_attribute.js +8 -8
  299. data/lib/frameworks/sproutcore/frameworks/datastore/models/many_attribute.js +20 -21
  300. data/lib/frameworks/sproutcore/frameworks/datastore/models/record.js +457 -216
  301. data/lib/frameworks/sproutcore/frameworks/datastore/models/record_attribute.js +204 -94
  302. data/lib/frameworks/sproutcore/frameworks/datastore/models/single_attribute.js +17 -19
  303. data/lib/frameworks/sproutcore/frameworks/datastore/system/child_array.js +150 -115
  304. data/lib/frameworks/sproutcore/frameworks/datastore/system/many_array.js +148 -110
  305. data/lib/frameworks/sproutcore/frameworks/datastore/system/nested_store.js +51 -26
  306. data/lib/frameworks/sproutcore/frameworks/datastore/system/query.js +160 -158
  307. data/lib/frameworks/sproutcore/frameworks/datastore/system/record_array.js +298 -204
  308. data/lib/frameworks/sproutcore/frameworks/datastore/system/store.js +419 -233
  309. data/lib/frameworks/sproutcore/frameworks/datastore/tests/data_sources/cascade.js +1 -1
  310. data/lib/frameworks/sproutcore/frameworks/datastore/tests/data_sources/fixtures.js +7 -2
  311. data/lib/frameworks/sproutcore/frameworks/datastore/tests/integration/contact_model.js +1 -1
  312. data/lib/frameworks/sproutcore/frameworks/datastore/tests/integration/cyclical_relationship.js +2 -2
  313. data/lib/frameworks/sproutcore/frameworks/datastore/tests/integration/mail_model.js +1 -1
  314. data/lib/frameworks/sproutcore/frameworks/datastore/tests/integration/test_runner_model.js +1 -1
  315. data/lib/frameworks/sproutcore/frameworks/datastore/tests/models/datetime_recordattribute.js +1 -1
  316. data/lib/frameworks/sproutcore/frameworks/datastore/tests/models/many_attribute.js +1 -1
  317. data/lib/frameworks/sproutcore/frameworks/datastore/tests/models/nested_records/data_store.js +180 -0
  318. data/lib/frameworks/sproutcore/frameworks/datastore/tests/models/nested_records/nested_record.js +56 -18
  319. data/lib/frameworks/sproutcore/frameworks/datastore/tests/models/nested_records/nested_record_array.js +36 -10
  320. data/lib/frameworks/sproutcore/frameworks/datastore/tests/models/nested_records/nested_record_array_complex.js +11 -11
  321. data/lib/frameworks/sproutcore/frameworks/datastore/tests/models/nested_records/nested_record_complex.js +8 -8
  322. data/lib/frameworks/sproutcore/frameworks/datastore/tests/models/record/core_methods.js +1 -1
  323. data/lib/frameworks/sproutcore/frameworks/datastore/tests/models/record/destroy.js +1 -1
  324. data/lib/frameworks/sproutcore/frameworks/datastore/tests/models/record/error_methods.js +1 -1
  325. data/lib/frameworks/sproutcore/frameworks/datastore/tests/models/record/normalize.js +26 -4
  326. data/lib/frameworks/sproutcore/frameworks/datastore/tests/models/record/readAttribute.js +1 -1
  327. data/lib/frameworks/sproutcore/frameworks/datastore/tests/models/record/refresh.js +2 -2
  328. data/lib/frameworks/sproutcore/frameworks/datastore/tests/models/record/storeDidChangeProperties.js +1 -1
  329. data/lib/frameworks/sproutcore/frameworks/datastore/tests/models/record/unknownProperty.js +1 -1
  330. data/lib/frameworks/sproutcore/frameworks/datastore/tests/models/record/writeAttribute.js +1 -1
  331. data/lib/frameworks/sproutcore/frameworks/datastore/tests/models/record_attribute.js +1 -1
  332. data/lib/frameworks/sproutcore/frameworks/datastore/tests/models/single_attribute.js +1 -1
  333. data/lib/frameworks/sproutcore/frameworks/datastore/tests/system/many_array/core_methods.js +1 -1
  334. data/lib/frameworks/sproutcore/frameworks/datastore/tests/system/nested_store/chain.js +1 -1
  335. data/lib/frameworks/sproutcore/frameworks/datastore/tests/system/nested_store/commitChanges.js +5 -3
  336. data/lib/frameworks/sproutcore/frameworks/datastore/tests/system/nested_store/commitChangesFromNestedStore.js +5 -1
  337. data/lib/frameworks/sproutcore/frameworks/datastore/tests/system/nested_store/core_methods.js +1 -1
  338. data/lib/frameworks/sproutcore/frameworks/datastore/tests/system/nested_store/dataHashDidChange.js +1 -1
  339. data/lib/frameworks/sproutcore/frameworks/datastore/tests/system/nested_store/discardChanges.js +5 -2
  340. data/lib/frameworks/sproutcore/frameworks/datastore/tests/system/nested_store/readDataHash.js +1 -1
  341. data/lib/frameworks/sproutcore/frameworks/datastore/tests/system/nested_store/readEditableDataHash.js +1 -1
  342. data/lib/frameworks/sproutcore/frameworks/datastore/tests/system/nested_store/removeDataHash.js +1 -1
  343. data/lib/frameworks/sproutcore/frameworks/datastore/tests/system/nested_store/writeDataHash.js +1 -1
  344. data/lib/frameworks/sproutcore/frameworks/datastore/tests/system/query/builders.js +22 -22
  345. data/lib/frameworks/sproutcore/frameworks/datastore/tests/system/query/compare.js +1 -1
  346. data/lib/frameworks/sproutcore/frameworks/datastore/tests/system/query/contains.js +1 -1
  347. data/lib/frameworks/sproutcore/frameworks/datastore/tests/system/query/containsRecordTypes.js +1 -1
  348. data/lib/frameworks/sproutcore/frameworks/datastore/tests/system/query/copy.js +1 -1
  349. data/lib/frameworks/sproutcore/frameworks/datastore/tests/system/query/evaluation.js +1 -1
  350. data/lib/frameworks/sproutcore/frameworks/datastore/tests/system/query/evaluation_of_records.js +39 -14
  351. data/lib/frameworks/sproutcore/frameworks/datastore/tests/system/query/expandedRecordTypes.js +1 -1
  352. data/lib/frameworks/sproutcore/frameworks/datastore/tests/system/query/parse.js +14 -6
  353. data/lib/frameworks/sproutcore/frameworks/datastore/tests/system/query/queryWithScope.js +1 -1
  354. data/lib/frameworks/sproutcore/frameworks/datastore/tests/system/query/record_type_is.js +5 -1
  355. data/lib/frameworks/sproutcore/frameworks/datastore/tests/system/query/registered_comparisons.js +5 -1
  356. data/lib/frameworks/sproutcore/frameworks/datastore/tests/system/query/registered_query_extensions.js +5 -1
  357. data/lib/frameworks/sproutcore/frameworks/datastore/tests/system/record_array/core_methods.js +1 -1
  358. data/lib/frameworks/sproutcore/frameworks/datastore/tests/system/record_array/error_methods.js +1 -1
  359. data/lib/frameworks/sproutcore/frameworks/datastore/tests/system/record_array/flush.js +89 -53
  360. data/lib/frameworks/sproutcore/frameworks/datastore/tests/system/store/cancelRecord.js +1 -1
  361. data/lib/frameworks/sproutcore/frameworks/datastore/tests/system/store/commitChangesFromNestedStore.js +5 -1
  362. data/lib/frameworks/sproutcore/frameworks/datastore/tests/system/store/commitRecord.js +11 -1
  363. data/lib/frameworks/sproutcore/frameworks/datastore/tests/system/store/core_methods.js +1 -1
  364. data/lib/frameworks/sproutcore/frameworks/datastore/tests/system/store/createRecord.js +6 -2
  365. data/lib/frameworks/sproutcore/frameworks/datastore/tests/system/store/dataHashDidChange.js +1 -1
  366. data/lib/frameworks/sproutcore/frameworks/datastore/tests/system/store/dataSourceCallbacks.js +1 -1
  367. data/lib/frameworks/sproutcore/frameworks/datastore/tests/system/store/destroyRecord.js +6 -2
  368. data/lib/frameworks/sproutcore/frameworks/datastore/tests/system/store/error_methods.js +1 -1
  369. data/lib/frameworks/sproutcore/frameworks/datastore/tests/system/store/find.js +1 -1
  370. data/lib/frameworks/sproutcore/frameworks/datastore/tests/system/store/init.js +1 -1
  371. data/lib/frameworks/sproutcore/frameworks/datastore/tests/system/store/loadRecord.js +64 -0
  372. data/lib/frameworks/sproutcore/frameworks/datastore/tests/system/store/loadRecords.js +100 -0
  373. data/lib/frameworks/sproutcore/frameworks/datastore/tests/system/store/pushChanges.js +1 -1
  374. data/lib/frameworks/sproutcore/frameworks/datastore/tests/system/store/readDataHash.js +1 -1
  375. data/lib/frameworks/sproutcore/frameworks/datastore/tests/system/store/readEditableDataHash.js +1 -1
  376. data/lib/frameworks/sproutcore/frameworks/datastore/tests/system/store/recordDidChange.js +39 -36
  377. data/lib/frameworks/sproutcore/frameworks/datastore/tests/system/store/removeDataHash.js +1 -1
  378. data/lib/frameworks/sproutcore/frameworks/datastore/tests/system/store/retrieveRecord.js +17 -1
  379. data/lib/frameworks/sproutcore/frameworks/datastore/tests/system/store/unloadRecord.js +55 -0
  380. data/lib/frameworks/sproutcore/frameworks/datastore/tests/system/store/unloadRecords.js +85 -32
  381. data/lib/frameworks/sproutcore/frameworks/datastore/tests/system/store/writeDataHash.js +1 -1
  382. data/lib/frameworks/sproutcore/frameworks/datetime/frameworks/core/system/datetime.js +1103 -0
  383. data/lib/frameworks/sproutcore/frameworks/datetime/frameworks/core/tests/system/datetime.js +390 -0
  384. data/lib/frameworks/sproutcore/frameworks/datetime/frameworks/localized/resources/strings.js +14 -0
  385. data/lib/frameworks/sproutcore/frameworks/datetime/frameworks/localized/system/datetime.js +91 -0
  386. data/lib/frameworks/sproutcore/frameworks/debug/core.js +3 -3
  387. data/lib/frameworks/sproutcore/frameworks/debug/invoke_once_last_debugging.js +10 -11
  388. data/lib/frameworks/sproutcore/frameworks/desktop/core.js +19 -3
  389. data/lib/frameworks/sproutcore/frameworks/desktop/debug/drag.js +8 -7
  390. data/lib/frameworks/sproutcore/frameworks/desktop/english.lproj/disclosure.css +0 -1
  391. data/lib/frameworks/sproutcore/frameworks/desktop/english.lproj/icons.css +0 -27
  392. data/lib/frameworks/sproutcore/frameworks/desktop/english.lproj/list_item.css +27 -3
  393. data/lib/frameworks/sproutcore/frameworks/desktop/english.lproj/menu_item_view.css +1 -9
  394. data/lib/frameworks/sproutcore/frameworks/desktop/english.lproj/segmented.css +72 -74
  395. data/lib/frameworks/sproutcore/frameworks/desktop/mixins/border.js +49 -27
  396. data/lib/frameworks/sproutcore/frameworks/desktop/mixins/collection_fast_path.js +63 -46
  397. data/lib/frameworks/sproutcore/frameworks/desktop/mixins/collection_group.js +6 -3
  398. data/lib/frameworks/sproutcore/frameworks/desktop/mixins/collection_row_delegate.js +53 -17
  399. data/lib/frameworks/sproutcore/frameworks/desktop/mixins/collection_view_delegate.js +84 -79
  400. data/lib/frameworks/sproutcore/frameworks/desktop/mixins/navigation_builder.js +138 -0
  401. data/lib/frameworks/sproutcore/frameworks/desktop/mixins/scrollable.js +38 -24
  402. data/lib/frameworks/sproutcore/frameworks/desktop/panes/alert.js +396 -218
  403. data/lib/frameworks/sproutcore/frameworks/desktop/panes/menu.js +92 -123
  404. data/lib/frameworks/sproutcore/frameworks/desktop/panes/modal.js +23 -18
  405. data/lib/frameworks/sproutcore/frameworks/desktop/panes/palette.js +39 -17
  406. data/lib/frameworks/sproutcore/frameworks/desktop/panes/panel.js +66 -53
  407. data/lib/frameworks/sproutcore/frameworks/desktop/panes/picker.js +364 -121
  408. data/lib/frameworks/sproutcore/frameworks/desktop/panes/select_button.js +209 -108
  409. data/lib/frameworks/sproutcore/frameworks/desktop/panes/sheet.js +40 -17
  410. data/lib/frameworks/sproutcore/frameworks/desktop/protocols/drag_data_source.js +16 -12
  411. data/lib/frameworks/sproutcore/frameworks/desktop/protocols/drag_source.js +25 -27
  412. data/lib/frameworks/sproutcore/frameworks/desktop/protocols/drop_target.js +36 -24
  413. data/lib/frameworks/sproutcore/frameworks/desktop/protocols/responder.js +7 -5
  414. data/lib/frameworks/sproutcore/frameworks/desktop/render_delegates/button.js +112 -0
  415. data/lib/frameworks/sproutcore/frameworks/desktop/render_delegates/checkbox.js +98 -0
  416. data/lib/frameworks/sproutcore/frameworks/desktop/render_delegates/collection.js +25 -0
  417. data/lib/frameworks/sproutcore/frameworks/desktop/render_delegates/disclosure.js +59 -0
  418. data/lib/frameworks/sproutcore/frameworks/desktop/render_delegates/helpers/slicing.js +35 -0
  419. data/lib/frameworks/sproutcore/frameworks/desktop/render_delegates/image_button.js +51 -0
  420. data/lib/frameworks/sproutcore/frameworks/desktop/render_delegates/master_detail.js +29 -0
  421. data/lib/frameworks/sproutcore/frameworks/desktop/render_delegates/menu.js +60 -0
  422. data/lib/frameworks/sproutcore/frameworks/desktop/render_delegates/panel.js +28 -0
  423. data/lib/frameworks/sproutcore/frameworks/desktop/render_delegates/picker.js +44 -0
  424. data/lib/frameworks/sproutcore/frameworks/desktop/render_delegates/popup_button.js +21 -0
  425. data/lib/frameworks/sproutcore/frameworks/desktop/render_delegates/progress.js +100 -0
  426. data/lib/frameworks/sproutcore/frameworks/desktop/render_delegates/radio.js +84 -0
  427. data/lib/frameworks/sproutcore/frameworks/desktop/render_delegates/radio_group.js +116 -0
  428. data/lib/frameworks/sproutcore/frameworks/desktop/render_delegates/segment.js +58 -0
  429. data/lib/frameworks/sproutcore/frameworks/desktop/render_delegates/segmented.js +80 -0
  430. data/lib/frameworks/sproutcore/frameworks/desktop/render_delegates/slider.js +81 -0
  431. data/lib/frameworks/sproutcore/frameworks/desktop/render_delegates/source_list.js +8 -0
  432. data/lib/frameworks/sproutcore/frameworks/desktop/render_delegates/toolbar.js +18 -0
  433. data/lib/frameworks/sproutcore/frameworks/desktop/render_delegates/well.js +17 -0
  434. data/lib/frameworks/sproutcore/frameworks/desktop/render_delegates/workspace.js +18 -0
  435. data/lib/frameworks/sproutcore/frameworks/desktop/system/drag.js +197 -103
  436. data/lib/frameworks/sproutcore/frameworks/desktop/system/key_bindings.js +7 -5
  437. data/lib/frameworks/sproutcore/frameworks/desktop/system/undo_manager.js +74 -37
  438. data/lib/frameworks/sproutcore/frameworks/desktop/tests/integration/dialog.js +26 -5
  439. data/lib/frameworks/sproutcore/frameworks/desktop/tests/mixins/border.js +16 -6
  440. data/lib/frameworks/sproutcore/frameworks/desktop/tests/panes/alert/methods.js +1 -1
  441. data/lib/frameworks/sproutcore/frameworks/desktop/tests/panes/alert/ui.js +190 -22
  442. data/lib/frameworks/sproutcore/frameworks/desktop/tests/panes/menu/methods.js +2 -1
  443. data/lib/frameworks/sproutcore/frameworks/desktop/tests/panes/menu/ui.js +69 -9
  444. data/lib/frameworks/sproutcore/frameworks/desktop/tests/panes/palette/methods.js +1 -1
  445. data/lib/frameworks/sproutcore/frameworks/desktop/tests/panes/palette/ui.js +2 -2
  446. data/lib/frameworks/sproutcore/frameworks/desktop/tests/panes/pane_page.js +4 -3
  447. data/lib/frameworks/sproutcore/frameworks/desktop/tests/panes/panel/methods.js +1 -1
  448. data/lib/frameworks/sproutcore/frameworks/desktop/tests/panes/panel/ui.js +30 -1
  449. data/lib/frameworks/sproutcore/frameworks/desktop/tests/panes/picker/methods.js +91 -3
  450. data/lib/frameworks/sproutcore/frameworks/desktop/tests/panes/picker/ui.js +9 -3
  451. data/lib/frameworks/sproutcore/frameworks/desktop/tests/panes/select_button/methods.js +1 -1
  452. data/lib/frameworks/sproutcore/frameworks/desktop/tests/panes/select_button/ui.js +11 -3
  453. data/lib/frameworks/sproutcore/frameworks/desktop/tests/panes/sheet/methods.js +1 -1
  454. data/lib/frameworks/sproutcore/frameworks/desktop/tests/panes/sheet/ui.js +4 -2
  455. data/lib/frameworks/sproutcore/frameworks/desktop/tests/views/button/content.js +189 -0
  456. data/lib/frameworks/sproutcore/frameworks/desktop/tests/views/button/displayProperties.js +89 -0
  457. data/lib/frameworks/sproutcore/frameworks/desktop/tests/views/button/keyEquivalents.js +57 -0
  458. data/lib/frameworks/sproutcore/frameworks/desktop/tests/views/button/methods.js +46 -4
  459. data/lib/frameworks/sproutcore/frameworks/desktop/tests/views/button/ui.js +91 -18
  460. data/lib/frameworks/sproutcore/frameworks/desktop/tests/views/checkbox/methods.js +16 -32
  461. data/lib/frameworks/sproutcore/frameworks/desktop/tests/views/checkbox/ui.js +29 -3
  462. data/lib/frameworks/sproutcore/frameworks/desktop/tests/views/collection/content.js +1 -1
  463. data/lib/frameworks/sproutcore/frameworks/desktop/tests/views/collection/deleteSelection.js +1 -1
  464. data/lib/frameworks/sproutcore/frameworks/desktop/tests/views/collection/deselect.js +1 -1
  465. data/lib/frameworks/sproutcore/frameworks/desktop/tests/views/collection/displayProperties.js +1 -1
  466. data/lib/frameworks/sproutcore/frameworks/desktop/tests/views/collection/itemViewForContentIndex.js +1 -1
  467. data/lib/frameworks/sproutcore/frameworks/desktop/tests/views/collection/layerIdFor.js +1 -1
  468. data/lib/frameworks/sproutcore/frameworks/desktop/tests/views/collection/length.js +1 -1
  469. data/lib/frameworks/sproutcore/frameworks/desktop/tests/views/collection/mouse.js +27 -5
  470. data/lib/frameworks/sproutcore/frameworks/desktop/tests/views/collection/nowShowing.js +1 -1
  471. data/lib/frameworks/sproutcore/frameworks/desktop/tests/views/collection/reload.js +1 -1
  472. data/lib/frameworks/sproutcore/frameworks/desktop/tests/views/collection/select.js +1 -1
  473. data/lib/frameworks/sproutcore/frameworks/desktop/tests/views/collection/selectNextItem.js +1 -1
  474. data/lib/frameworks/sproutcore/frameworks/desktop/tests/views/collection/selectPreviousItem.js +1 -1
  475. data/lib/frameworks/sproutcore/frameworks/desktop/tests/views/collection/selection.js +1 -1
  476. data/lib/frameworks/sproutcore/frameworks/desktop/tests/views/collection/ui_diagram.js +16 -10
  477. data/lib/frameworks/sproutcore/frameworks/desktop/tests/views/date_field/methods.js +1 -1
  478. data/lib/frameworks/sproutcore/frameworks/desktop/tests/views/date_field/ui.js +2 -2
  479. data/lib/frameworks/sproutcore/frameworks/desktop/tests/views/disclosure/methods.js +1 -1
  480. data/lib/frameworks/sproutcore/frameworks/desktop/tests/views/disclosure/ui.js +40 -2
  481. data/lib/frameworks/sproutcore/frameworks/desktop/tests/views/grid/methods.js +1 -1
  482. data/lib/frameworks/sproutcore/frameworks/desktop/tests/views/grid/ui.js +1 -1
  483. data/lib/frameworks/sproutcore/frameworks/desktop/tests/views/image_button/ui.js +52 -0
  484. data/lib/frameworks/sproutcore/frameworks/desktop/tests/views/list/render.js +1 -1
  485. data/lib/frameworks/sproutcore/frameworks/desktop/tests/views/list/rowDelegate.js +1 -1
  486. data/lib/frameworks/sproutcore/frameworks/desktop/tests/views/list/rowHeightForContentIndex.js +1 -1
  487. data/lib/frameworks/sproutcore/frameworks/desktop/tests/views/list/rowOffsetForContentIndex.js +1 -1
  488. data/lib/frameworks/sproutcore/frameworks/desktop/tests/views/list/ui_alternatingrows.js +1 -1
  489. data/lib/frameworks/sproutcore/frameworks/desktop/tests/views/list/ui_outline.js +1 -1
  490. data/lib/frameworks/sproutcore/frameworks/desktop/tests/views/list/ui_row_heights.js +1 -1
  491. data/lib/frameworks/sproutcore/frameworks/desktop/tests/views/list/ui_simple.js +5 -1
  492. data/lib/frameworks/sproutcore/frameworks/desktop/tests/views/list_item.js +129 -21
  493. data/lib/frameworks/sproutcore/frameworks/desktop/tests/views/menu_item/methods.js +1 -1
  494. data/lib/frameworks/sproutcore/frameworks/desktop/tests/views/menu_item/ui.js +1 -1
  495. data/lib/frameworks/sproutcore/frameworks/desktop/tests/views/progress/methods.js +1 -1
  496. data/lib/frameworks/sproutcore/frameworks/desktop/tests/views/progress/ui.js +174 -43
  497. data/lib/frameworks/sproutcore/frameworks/desktop/tests/views/radio/methods.js +1 -1
  498. data/lib/frameworks/sproutcore/frameworks/desktop/tests/views/radio/ui.js +93 -8
  499. data/lib/frameworks/sproutcore/frameworks/desktop/tests/views/scroll/integration.js +50 -0
  500. data/lib/frameworks/sproutcore/frameworks/desktop/tests/views/scroll/methods.js +1 -1
  501. data/lib/frameworks/sproutcore/frameworks/desktop/tests/views/scroll/ui.js +14 -2
  502. data/lib/frameworks/sproutcore/frameworks/desktop/tests/views/scroller.js +29 -1
  503. data/lib/frameworks/sproutcore/frameworks/desktop/tests/views/segmented/methods.js +26 -83
  504. data/lib/frameworks/sproutcore/frameworks/desktop/tests/views/segmented/ui.js +292 -61
  505. data/lib/frameworks/sproutcore/frameworks/desktop/tests/views/select/methods.js +1 -1
  506. data/lib/frameworks/sproutcore/frameworks/desktop/tests/views/select/ui.js +11 -3
  507. data/lib/frameworks/sproutcore/frameworks/desktop/tests/views/select_field/methods.js +32 -1
  508. data/lib/frameworks/sproutcore/frameworks/desktop/tests/views/select_field/ui.js +78 -8
  509. data/lib/frameworks/sproutcore/frameworks/desktop/tests/views/separator.js +11 -4
  510. data/lib/frameworks/sproutcore/frameworks/desktop/tests/views/source_list/methods.js +1 -1
  511. data/lib/frameworks/sproutcore/frameworks/desktop/tests/views/source_list/ui.js +1 -1
  512. data/lib/frameworks/sproutcore/frameworks/desktop/tests/views/split/methods.js +1 -1
  513. data/lib/frameworks/sproutcore/frameworks/desktop/tests/views/split/ui.js +11 -4
  514. data/lib/frameworks/sproutcore/frameworks/desktop/tests/views/stacked/ui_comments.js +16 -9
  515. data/lib/frameworks/sproutcore/frameworks/desktop/tests/views/static_content.js +1 -1
  516. data/lib/frameworks/sproutcore/frameworks/desktop/tests/views/tab/methods.js +1 -1
  517. data/lib/frameworks/sproutcore/frameworks/desktop/tests/views/tab/ui.js +33 -29
  518. data/lib/frameworks/sproutcore/frameworks/desktop/tests/views/toolbar/method.js +33 -0
  519. data/lib/frameworks/sproutcore/frameworks/desktop/tests/views/toolbar/ui.js +29 -0
  520. data/lib/frameworks/sproutcore/frameworks/desktop/tests/views/web/methods.js +1 -1
  521. data/lib/frameworks/sproutcore/frameworks/desktop/tests/views/web/ui.js +1 -1
  522. data/lib/frameworks/sproutcore/frameworks/desktop/tests/views/well/ui.js +1 -1
  523. data/lib/frameworks/sproutcore/frameworks/desktop/views/button.js +550 -231
  524. data/lib/frameworks/sproutcore/frameworks/desktop/views/checkbox.js +63 -55
  525. data/lib/frameworks/sproutcore/frameworks/desktop/views/collection.js +286 -187
  526. data/lib/frameworks/sproutcore/frameworks/desktop/views/date_field.js +77 -53
  527. data/lib/frameworks/sproutcore/frameworks/desktop/views/disclosure.js +39 -31
  528. data/lib/frameworks/sproutcore/frameworks/desktop/views/file.js +148 -0
  529. data/lib/frameworks/sproutcore/frameworks/desktop/views/grid.js +43 -7
  530. data/lib/frameworks/sproutcore/frameworks/desktop/views/image_button.js +82 -0
  531. data/lib/frameworks/sproutcore/frameworks/desktop/views/list.js +58 -36
  532. data/lib/frameworks/sproutcore/frameworks/desktop/views/list_item.js +668 -509
  533. data/lib/frameworks/sproutcore/frameworks/desktop/views/master_detail.js +313 -0
  534. data/lib/frameworks/sproutcore/frameworks/desktop/views/menu_item.js +93 -54
  535. data/lib/frameworks/sproutcore/frameworks/desktop/views/menu_scroll.js +152 -38
  536. data/lib/frameworks/sproutcore/frameworks/desktop/views/navigation.js +261 -0
  537. data/lib/frameworks/sproutcore/frameworks/desktop/views/navigation_bar.js +191 -0
  538. data/lib/frameworks/sproutcore/frameworks/desktop/views/popup_button.js +35 -30
  539. data/lib/frameworks/sproutcore/frameworks/desktop/views/progress.js +131 -122
  540. data/lib/frameworks/sproutcore/frameworks/desktop/views/radio.js +208 -208
  541. data/lib/frameworks/sproutcore/frameworks/desktop/views/scene.js +24 -17
  542. data/lib/frameworks/sproutcore/frameworks/desktop/views/scroll.js +332 -135
  543. data/lib/frameworks/sproutcore/frameworks/desktop/views/scroller.js +184 -73
  544. data/lib/frameworks/sproutcore/frameworks/desktop/views/segment.js +193 -0
  545. data/lib/frameworks/sproutcore/frameworks/desktop/views/segmented.js +829 -426
  546. data/lib/frameworks/sproutcore/frameworks/desktop/views/select.js +377 -143
  547. data/lib/frameworks/sproutcore/frameworks/desktop/views/select_field.js +96 -37
  548. data/lib/frameworks/sproutcore/frameworks/desktop/views/separator.js +26 -10
  549. data/lib/frameworks/sproutcore/frameworks/desktop/views/slider.js +52 -39
  550. data/lib/frameworks/sproutcore/frameworks/desktop/views/source_list.js +19 -5
  551. data/lib/frameworks/sproutcore/frameworks/desktop/views/source_list_group.js +15 -8
  552. data/lib/frameworks/sproutcore/frameworks/desktop/views/split.js +387 -271
  553. data/lib/frameworks/sproutcore/frameworks/desktop/views/split_divider.js +10 -9
  554. data/lib/frameworks/sproutcore/frameworks/desktop/views/stacked.js +15 -4
  555. data/lib/frameworks/sproutcore/frameworks/desktop/views/static_content.js +18 -4
  556. data/lib/frameworks/sproutcore/frameworks/desktop/views/tab.js +114 -12
  557. data/lib/frameworks/sproutcore/frameworks/desktop/views/thumb.js +14 -2
  558. data/lib/frameworks/sproutcore/frameworks/desktop/views/toolbar.js +103 -14
  559. data/lib/frameworks/sproutcore/frameworks/desktop/views/web.js +36 -20
  560. data/lib/frameworks/sproutcore/frameworks/desktop/views/well.js +27 -31
  561. data/lib/frameworks/sproutcore/frameworks/desktop/views/workspace.js +285 -0
  562. data/lib/frameworks/sproutcore/frameworks/documentation/core.js +0 -0
  563. data/lib/frameworks/sproutcore/frameworks/experimental/Buildfile +6 -0
  564. data/lib/frameworks/sproutcore/frameworks/experimental/README.md +23 -0
  565. data/lib/frameworks/sproutcore/frameworks/experimental/apps/greenhouse/README +18 -0
  566. data/lib/frameworks/sproutcore/frameworks/experimental/apps/greenhouse/TODO +56 -0
  567. data/lib/frameworks/sproutcore/{apps → frameworks/experimental/apps}/greenhouse/beautify.js +0 -0
  568. data/lib/frameworks/sproutcore/{apps → frameworks/experimental/apps}/greenhouse/controllers/design.js +0 -0
  569. data/lib/frameworks/sproutcore/frameworks/experimental/apps/greenhouse/controllers/file.js +35 -0
  570. data/lib/frameworks/sproutcore/{apps → frameworks/experimental/apps}/greenhouse/controllers/files.js +0 -0
  571. data/lib/frameworks/sproutcore/{apps → frameworks/experimental/apps}/greenhouse/controllers/layout.js +0 -0
  572. data/lib/frameworks/sproutcore/frameworks/experimental/apps/greenhouse/controllers/library.js +194 -0
  573. data/lib/frameworks/sproutcore/{apps → frameworks/experimental/apps}/greenhouse/controllers/page.js +0 -0
  574. data/lib/frameworks/sproutcore/{apps → frameworks/experimental/apps}/greenhouse/controllers/property.js +0 -0
  575. data/lib/frameworks/sproutcore/{apps → frameworks/experimental/apps}/greenhouse/controllers/property_editor.js +0 -0
  576. data/lib/frameworks/sproutcore/{apps → frameworks/experimental/apps}/greenhouse/controllers/target.js +0 -0
  577. data/lib/frameworks/sproutcore/{apps → frameworks/experimental/apps}/greenhouse/controllers/targets.js +0 -0
  578. data/lib/frameworks/sproutcore/{apps → frameworks/experimental/apps}/greenhouse/controllers/view_configs.js +0 -0
  579. data/lib/frameworks/sproutcore/frameworks/experimental/apps/greenhouse/core.js +65 -0
  580. data/lib/frameworks/sproutcore/frameworks/experimental/apps/greenhouse/core_file.js +124 -0
  581. data/lib/frameworks/sproutcore/frameworks/experimental/apps/greenhouse/data_source.js +250 -0
  582. data/lib/frameworks/sproutcore/frameworks/experimental/apps/greenhouse/english.lproj/app_page.js +399 -0
  583. data/lib/frameworks/sproutcore/frameworks/experimental/apps/greenhouse/english.lproj/css/app-selector.css +107 -0
  584. data/lib/frameworks/sproutcore/frameworks/experimental/apps/greenhouse/english.lproj/css/button.css +314 -0
  585. data/lib/frameworks/sproutcore/frameworks/experimental/apps/greenhouse/english.lproj/css/dock.css +90 -0
  586. data/lib/frameworks/sproutcore/frameworks/experimental/apps/greenhouse/english.lproj/css/general.css +51 -0
  587. data/lib/frameworks/sproutcore/frameworks/experimental/apps/greenhouse/english.lproj/css/main-page.css +93 -0
  588. data/lib/frameworks/sproutcore/frameworks/experimental/apps/greenhouse/english.lproj/css/menu.css +49 -0
  589. data/lib/frameworks/sproutcore/frameworks/experimental/apps/greenhouse/english.lproj/css/modal.css +41 -0
  590. data/lib/frameworks/sproutcore/frameworks/experimental/apps/greenhouse/english.lproj/css/picker.css +195 -0
  591. data/lib/frameworks/sproutcore/{apps → frameworks/experimental/apps}/greenhouse/english.lproj/css/search.css +0 -0
  592. data/lib/frameworks/sproutcore/{apps → frameworks/experimental/apps}/greenhouse/english.lproj/css/text-field.css +0 -0
  593. data/lib/frameworks/sproutcore/frameworks/experimental/apps/greenhouse/english.lproj/dialogs.js +303 -0
  594. data/lib/frameworks/sproutcore/{apps → frameworks/experimental/apps}/greenhouse/english.lproj/fonts/museosans_500.eot +0 -0
  595. data/lib/frameworks/sproutcore/{apps → frameworks/experimental/apps}/greenhouse/english.lproj/fonts/museosans_500.otf +0 -0
  596. data/lib/frameworks/sproutcore/{apps → frameworks/experimental/apps}/greenhouse/english.lproj/fonts/museosans_500.woff +0 -0
  597. data/lib/frameworks/sproutcore/{apps → frameworks/experimental/apps}/greenhouse/english.lproj/fonts/museosans_500_italic.eot +0 -0
  598. data/lib/frameworks/sproutcore/{apps → frameworks/experimental/apps}/greenhouse/english.lproj/fonts/museosans_500_italic.otf +0 -0
  599. data/lib/frameworks/sproutcore/{apps → frameworks/experimental/apps}/greenhouse/english.lproj/fonts/museosans_500_italic.woff +0 -0
  600. data/lib/frameworks/sproutcore/{apps → frameworks/experimental/apps}/greenhouse/english.lproj/images/app-selector/choose-app.png +0 -0
  601. data/lib/frameworks/sproutcore/{apps → frameworks/experimental/apps}/greenhouse/english.lproj/images/app-selector/list-item-sel.png +0 -0
  602. data/lib/frameworks/sproutcore/{apps → frameworks/experimental/apps}/greenhouse/english.lproj/images/buttons/capsule-xl/active-l.png +0 -0
  603. data/lib/frameworks/sproutcore/{apps → frameworks/experimental/apps}/greenhouse/english.lproj/images/buttons/capsule-xl/active-m.png +0 -0
  604. data/lib/frameworks/sproutcore/{apps → frameworks/experimental/apps}/greenhouse/english.lproj/images/buttons/capsule-xl/active-r.png +0 -0
  605. data/lib/frameworks/sproutcore/{apps → frameworks/experimental/apps}/greenhouse/english.lproj/images/buttons/capsule-xl/regular-l.png +0 -0
  606. data/lib/frameworks/sproutcore/{apps → frameworks/experimental/apps}/greenhouse/english.lproj/images/buttons/capsule-xl/regular-m.png +0 -0
  607. data/lib/frameworks/sproutcore/{apps → frameworks/experimental/apps}/greenhouse/english.lproj/images/buttons/capsule-xl/regular-r.png +0 -0
  608. data/lib/frameworks/sproutcore/{apps → frameworks/experimental/apps}/greenhouse/english.lproj/images/buttons/capsule/active-l.png +0 -0
  609. data/lib/frameworks/sproutcore/{apps → frameworks/experimental/apps}/greenhouse/english.lproj/images/buttons/capsule/active-r.png +0 -0
  610. data/lib/frameworks/sproutcore/{apps → frameworks/experimental/apps}/greenhouse/english.lproj/images/buttons/capsule/disabled-l.png +0 -0
  611. data/lib/frameworks/sproutcore/{apps → frameworks/experimental/apps}/greenhouse/english.lproj/images/buttons/capsule/disabled-r.png +0 -0
  612. data/lib/frameworks/sproutcore/{apps → frameworks/experimental/apps}/greenhouse/english.lproj/images/buttons/capsule/regular-l.png +0 -0
  613. data/lib/frameworks/sproutcore/{apps → frameworks/experimental/apps}/greenhouse/english.lproj/images/buttons/capsule/regular-r.png +0 -0
  614. data/lib/frameworks/sproutcore/{apps → frameworks/experimental/apps}/greenhouse/english.lproj/images/buttons/capsule/sel-active-l.png +0 -0
  615. data/lib/frameworks/sproutcore/{apps → frameworks/experimental/apps}/greenhouse/english.lproj/images/buttons/capsule/sel-active-r.png +0 -0
  616. data/lib/frameworks/sproutcore/{apps → frameworks/experimental/apps}/greenhouse/english.lproj/images/buttons/capsule/sel-disabled-l.png +0 -0
  617. data/lib/frameworks/sproutcore/{apps → frameworks/experimental/apps}/greenhouse/english.lproj/images/buttons/capsule/sel-disabled-r.png +0 -0
  618. data/lib/frameworks/sproutcore/{apps → frameworks/experimental/apps}/greenhouse/english.lproj/images/buttons/capsule/sel-l.png +0 -0
  619. data/lib/frameworks/sproutcore/{apps → frameworks/experimental/apps}/greenhouse/english.lproj/images/buttons/capsule/sel-r.png +0 -0
  620. data/lib/frameworks/sproutcore/{apps → frameworks/experimental/apps}/greenhouse/english.lproj/images/buttons/dark/active-l.png +0 -0
  621. data/lib/frameworks/sproutcore/{apps → frameworks/experimental/apps}/greenhouse/english.lproj/images/buttons/dark/active-m.png +0 -0
  622. data/lib/frameworks/sproutcore/{apps → frameworks/experimental/apps}/greenhouse/english.lproj/images/buttons/dark/active-r.png +0 -0
  623. data/lib/frameworks/sproutcore/{apps → frameworks/experimental/apps}/greenhouse/english.lproj/images/buttons/dark/cap-active-l.png +0 -0
  624. data/lib/frameworks/sproutcore/{apps → frameworks/experimental/apps}/greenhouse/english.lproj/images/buttons/dark/cap-active-r.png +0 -0
  625. data/lib/frameworks/sproutcore/{apps → frameworks/experimental/apps}/greenhouse/english.lproj/images/buttons/dark/cap-l.png +0 -0
  626. data/lib/frameworks/sproutcore/{apps → frameworks/experimental/apps}/greenhouse/english.lproj/images/buttons/dark/cap-r.png +0 -0
  627. data/lib/frameworks/sproutcore/{apps → frameworks/experimental/apps}/greenhouse/english.lproj/images/buttons/dark/cap-sel-active-l.png +0 -0
  628. data/lib/frameworks/sproutcore/{apps → frameworks/experimental/apps}/greenhouse/english.lproj/images/buttons/dark/cap-sel-active-r.png +0 -0
  629. data/lib/frameworks/sproutcore/{apps → frameworks/experimental/apps}/greenhouse/english.lproj/images/buttons/dark/cap-sel-l.png +0 -0
  630. data/lib/frameworks/sproutcore/{apps → frameworks/experimental/apps}/greenhouse/english.lproj/images/buttons/dark/cap-sel-r.png +0 -0
  631. data/lib/frameworks/sproutcore/{apps → frameworks/experimental/apps}/greenhouse/english.lproj/images/buttons/dark/disabled-l.png +0 -0
  632. data/lib/frameworks/sproutcore/{apps → frameworks/experimental/apps}/greenhouse/english.lproj/images/buttons/dark/disabled-m.png +0 -0
  633. data/lib/frameworks/sproutcore/{apps → frameworks/experimental/apps}/greenhouse/english.lproj/images/buttons/dark/disabled-r.png +0 -0
  634. data/lib/frameworks/sproutcore/{apps → frameworks/experimental/apps}/greenhouse/english.lproj/images/buttons/dark/regular-l.png +0 -0
  635. data/lib/frameworks/sproutcore/{apps → frameworks/experimental/apps}/greenhouse/english.lproj/images/buttons/dark/regular-m.png +0 -0
  636. data/lib/frameworks/sproutcore/{apps → frameworks/experimental/apps}/greenhouse/english.lproj/images/buttons/dark/regular-r.png +0 -0
  637. data/lib/frameworks/sproutcore/{apps → frameworks/experimental/apps}/greenhouse/english.lproj/images/buttons/dark/sel-active-l.png +0 -0
  638. data/lib/frameworks/sproutcore/{apps → frameworks/experimental/apps}/greenhouse/english.lproj/images/buttons/dark/sel-active-m.png +0 -0
  639. data/lib/frameworks/sproutcore/{apps → frameworks/experimental/apps}/greenhouse/english.lproj/images/buttons/dark/sel-active-r.png +0 -0
  640. data/lib/frameworks/sproutcore/{apps → frameworks/experimental/apps}/greenhouse/english.lproj/images/buttons/dark/sel-disabled-l.png +0 -0
  641. data/lib/frameworks/sproutcore/{apps → frameworks/experimental/apps}/greenhouse/english.lproj/images/buttons/dark/sel-disabled-m.png +0 -0
  642. data/lib/frameworks/sproutcore/{apps → frameworks/experimental/apps}/greenhouse/english.lproj/images/buttons/dark/sel-disabled-r.png +0 -0
  643. data/lib/frameworks/sproutcore/{apps → frameworks/experimental/apps}/greenhouse/english.lproj/images/buttons/dark/sel-l.png +0 -0
  644. data/lib/frameworks/sproutcore/{apps → frameworks/experimental/apps}/greenhouse/english.lproj/images/buttons/dark/sel-m.png +0 -0
  645. data/lib/frameworks/sproutcore/{apps → frameworks/experimental/apps}/greenhouse/english.lproj/images/buttons/dark/sel-r.png +0 -0
  646. data/lib/frameworks/sproutcore/{apps → frameworks/experimental/apps}/greenhouse/english.lproj/images/buttons/shared/active-m.png +0 -0
  647. data/lib/frameworks/sproutcore/{apps → frameworks/experimental/apps}/greenhouse/english.lproj/images/buttons/shared/disabled-m.png +0 -0
  648. data/lib/frameworks/sproutcore/{apps → frameworks/experimental/apps}/greenhouse/english.lproj/images/buttons/shared/regular-m.png +0 -0
  649. data/lib/frameworks/sproutcore/{apps → frameworks/experimental/apps}/greenhouse/english.lproj/images/buttons/shared/sel-active-m.png +0 -0
  650. data/lib/frameworks/sproutcore/{apps → frameworks/experimental/apps}/greenhouse/english.lproj/images/buttons/shared/sel-disabled-m.png +0 -0
  651. data/lib/frameworks/sproutcore/{apps → frameworks/experimental/apps}/greenhouse/english.lproj/images/buttons/shared/sel-m.png +0 -0
  652. data/lib/frameworks/sproutcore/{apps → frameworks/experimental/apps}/greenhouse/english.lproj/images/buttons/square/active-l.png +0 -0
  653. data/lib/frameworks/sproutcore/{apps → frameworks/experimental/apps}/greenhouse/english.lproj/images/buttons/square/active-r.png +0 -0
  654. data/lib/frameworks/sproutcore/{apps → frameworks/experimental/apps}/greenhouse/english.lproj/images/buttons/square/disabled-l.png +0 -0
  655. data/lib/frameworks/sproutcore/{apps → frameworks/experimental/apps}/greenhouse/english.lproj/images/buttons/square/disabled-r.png +0 -0
  656. data/lib/frameworks/sproutcore/{apps → frameworks/experimental/apps}/greenhouse/english.lproj/images/buttons/square/regular-l.png +0 -0
  657. data/lib/frameworks/sproutcore/{apps → frameworks/experimental/apps}/greenhouse/english.lproj/images/buttons/square/regular-r.png +0 -0
  658. data/lib/frameworks/sproutcore/{apps → frameworks/experimental/apps}/greenhouse/english.lproj/images/buttons/square/sel-active-l.png +0 -0
  659. data/lib/frameworks/sproutcore/{apps → frameworks/experimental/apps}/greenhouse/english.lproj/images/buttons/square/sel-active-r.png +0 -0
  660. data/lib/frameworks/sproutcore/{apps → frameworks/experimental/apps}/greenhouse/english.lproj/images/buttons/square/sel-disabled-l.png +0 -0
  661. data/lib/frameworks/sproutcore/{apps → frameworks/experimental/apps}/greenhouse/english.lproj/images/buttons/square/sel-disabled-r.png +0 -0
  662. data/lib/frameworks/sproutcore/{apps → frameworks/experimental/apps}/greenhouse/english.lproj/images/buttons/square/sel-l.png +0 -0
  663. data/lib/frameworks/sproutcore/{apps → frameworks/experimental/apps}/greenhouse/english.lproj/images/buttons/square/sel-r.png +0 -0
  664. data/lib/frameworks/sproutcore/{apps → frameworks/experimental/apps}/greenhouse/english.lproj/images/icons/actions-active.png +0 -0
  665. data/lib/frameworks/sproutcore/{apps → frameworks/experimental/apps}/greenhouse/english.lproj/images/icons/actions.png +0 -0
  666. data/lib/frameworks/sproutcore/{apps → frameworks/experimental/apps}/greenhouse/english.lproj/images/icons/inspector-active.png +0 -0
  667. data/lib/frameworks/sproutcore/{apps → frameworks/experimental/apps}/greenhouse/english.lproj/images/icons/inspector.png +0 -0
  668. data/lib/frameworks/sproutcore/{apps → frameworks/experimental/apps}/greenhouse/english.lproj/images/icons/library-active.png +0 -0
  669. data/lib/frameworks/sproutcore/{apps → frameworks/experimental/apps}/greenhouse/english.lproj/images/icons/library.png +0 -0
  670. data/lib/frameworks/sproutcore/{apps → frameworks/experimental/apps}/greenhouse/english.lproj/images/icons/projects-active.png +0 -0
  671. data/lib/frameworks/sproutcore/{apps → frameworks/experimental/apps}/greenhouse/english.lproj/images/icons/projects.png +0 -0
  672. data/lib/frameworks/sproutcore/{apps → frameworks/experimental/apps}/greenhouse/english.lproj/images/icons/run-active.png +0 -0
  673. data/lib/frameworks/sproutcore/{apps → frameworks/experimental/apps}/greenhouse/english.lproj/images/icons/run.png +0 -0
  674. data/lib/frameworks/sproutcore/{apps → frameworks/experimental/apps}/greenhouse/english.lproj/images/icons/save-active.png +0 -0
  675. data/lib/frameworks/sproutcore/{apps → frameworks/experimental/apps}/greenhouse/english.lproj/images/icons/save.png +0 -0
  676. data/lib/frameworks/sproutcore/{apps → frameworks/experimental/apps}/greenhouse/english.lproj/images/logos/greenhouse-l.png +0 -0
  677. data/lib/frameworks/sproutcore/{apps → frameworks/experimental/apps}/greenhouse/english.lproj/images/logos/greenhouse-s.png +0 -0
  678. data/lib/frameworks/sproutcore/{apps → frameworks/experimental/apps}/greenhouse/english.lproj/images/logos/sproutcore.png +0 -0
  679. data/lib/frameworks/sproutcore/frameworks/{designer → experimental/apps/greenhouse}/english.lproj/images/main-bg.png +0 -0
  680. data/lib/frameworks/sproutcore/{apps → frameworks/experimental/apps}/greenhouse/english.lproj/images/picker/bottom-left.png +0 -0
  681. data/lib/frameworks/sproutcore/{apps → frameworks/experimental/apps}/greenhouse/english.lproj/images/picker/bottom-right.png +0 -0
  682. data/lib/frameworks/sproutcore/{apps → frameworks/experimental/apps}/greenhouse/english.lproj/images/picker/bottom.png +0 -0
  683. data/lib/frameworks/sproutcore/{apps → frameworks/experimental/apps}/greenhouse/english.lproj/images/picker/close-active.png +0 -0
  684. data/lib/frameworks/sproutcore/{apps → frameworks/experimental/apps}/greenhouse/english.lproj/images/picker/close.png +0 -0
  685. data/lib/frameworks/sproutcore/{apps → frameworks/experimental/apps}/greenhouse/english.lproj/images/picker/left.png +0 -0
  686. data/lib/frameworks/sproutcore/{apps → frameworks/experimental/apps}/greenhouse/english.lproj/images/picker/pointer-bottom.png +0 -0
  687. data/lib/frameworks/sproutcore/{apps → frameworks/experimental/apps}/greenhouse/english.lproj/images/picker/pointer-left.png +0 -0
  688. data/lib/frameworks/sproutcore/{apps → frameworks/experimental/apps}/greenhouse/english.lproj/images/picker/pointer-right.png +0 -0
  689. data/lib/frameworks/sproutcore/{apps → frameworks/experimental/apps}/greenhouse/english.lproj/images/picker/pointer-top.png +0 -0
  690. data/lib/frameworks/sproutcore/{apps → frameworks/experimental/apps}/greenhouse/english.lproj/images/picker/right.png +0 -0
  691. data/lib/frameworks/sproutcore/{apps → frameworks/experimental/apps}/greenhouse/english.lproj/images/picker/search-active.png +0 -0
  692. data/lib/frameworks/sproutcore/{apps → frameworks/experimental/apps}/greenhouse/english.lproj/images/picker/search.png +0 -0
  693. data/lib/frameworks/sproutcore/{apps → frameworks/experimental/apps}/greenhouse/english.lproj/images/picker/top-left.png +0 -0
  694. data/lib/frameworks/sproutcore/{apps → frameworks/experimental/apps}/greenhouse/english.lproj/images/picker/top-right.png +0 -0
  695. data/lib/frameworks/sproutcore/{apps → frameworks/experimental/apps}/greenhouse/english.lproj/images/picker/top.png +0 -0
  696. data/lib/frameworks/sproutcore/{apps → frameworks/experimental/apps}/greenhouse/english.lproj/images/toolbar-bg.png +0 -0
  697. data/lib/frameworks/sproutcore/frameworks/experimental/apps/greenhouse/english.lproj/inspectors.js +365 -0
  698. data/lib/frameworks/sproutcore/{apps → frameworks/experimental/apps}/greenhouse/english.lproj/loading.rhtml +0 -0
  699. data/lib/frameworks/sproutcore/{apps → frameworks/experimental/apps}/greenhouse/english.lproj/main_page.js +0 -0
  700. data/lib/frameworks/sproutcore/frameworks/experimental/apps/greenhouse/english.lproj/strings.js +93 -0
  701. data/lib/frameworks/sproutcore/{apps → frameworks/experimental/apps}/greenhouse/fixtures/file.js +0 -0
  702. data/lib/frameworks/sproutcore/frameworks/experimental/apps/greenhouse/main.js +28 -0
  703. data/lib/frameworks/sproutcore/{apps → frameworks/experimental/apps}/greenhouse/mixins/drop_down.js +0 -0
  704. data/lib/frameworks/sproutcore/frameworks/experimental/apps/greenhouse/models/design.js +26 -0
  705. data/lib/frameworks/sproutcore/frameworks/experimental/apps/greenhouse/models/dir.js +93 -0
  706. data/lib/frameworks/sproutcore/frameworks/experimental/apps/greenhouse/models/file.js +51 -0
  707. data/lib/frameworks/sproutcore/{apps → frameworks/experimental/apps}/greenhouse/models/target.js +0 -0
  708. data/lib/frameworks/sproutcore/{apps → frameworks/experimental/apps}/greenhouse/models/view_config.js +0 -0
  709. data/lib/frameworks/sproutcore/{apps → frameworks/experimental/apps}/greenhouse/resources/test_page.js +0 -0
  710. data/lib/frameworks/sproutcore/frameworks/experimental/apps/greenhouse/states/inspector.js +152 -0
  711. data/lib/frameworks/sproutcore/frameworks/experimental/apps/greenhouse/states/library.js +142 -0
  712. data/lib/frameworks/sproutcore/frameworks/experimental/apps/greenhouse/states/main.js +283 -0
  713. data/lib/frameworks/sproutcore/frameworks/experimental/apps/greenhouse/states/modals.js +299 -0
  714. data/lib/frameworks/sproutcore/frameworks/experimental/apps/greenhouse/states/ready.js +235 -0
  715. data/lib/frameworks/sproutcore/{apps → frameworks/experimental/apps}/greenhouse/tests/controllers/design.js +0 -0
  716. data/lib/frameworks/sproutcore/{apps → frameworks/experimental/apps}/greenhouse/tests/controllers/designs.js +0 -0
  717. data/lib/frameworks/sproutcore/{apps → frameworks/experimental/apps}/greenhouse/tests/controllers/file.js +0 -0
  718. data/lib/frameworks/sproutcore/{apps → frameworks/experimental/apps}/greenhouse/tests/controllers/files.js +0 -0
  719. data/lib/frameworks/sproutcore/{apps → frameworks/experimental/apps}/greenhouse/tests/models/file.js +0 -0
  720. data/lib/frameworks/sproutcore/{apps → frameworks/experimental/apps}/greenhouse/tests/models/view_config.js +0 -0
  721. data/lib/frameworks/sproutcore/frameworks/experimental/apps/greenhouse/tests/views/list_item.js +16 -0
  722. data/lib/frameworks/sproutcore/frameworks/experimental/apps/greenhouse/tests/views/plist_item.js +20 -0
  723. data/lib/frameworks/sproutcore/frameworks/experimental/apps/greenhouse/theme.js +25 -0
  724. data/lib/frameworks/sproutcore/{apps → frameworks/experimental/apps}/greenhouse/views/anchor.js +0 -0
  725. data/lib/frameworks/sproutcore/{apps → frameworks/experimental/apps}/greenhouse/views/application_list_item.js +0 -0
  726. data/lib/frameworks/sproutcore/{apps → frameworks/experimental/apps}/greenhouse/views/event_blocker.js +0 -0
  727. data/lib/frameworks/sproutcore/{apps → frameworks/experimental/apps}/greenhouse/views/label_designer.js +0 -0
  728. data/lib/frameworks/sproutcore/{apps → frameworks/experimental/apps}/greenhouse/views/list_item.js +0 -0
  729. data/lib/frameworks/sproutcore/frameworks/experimental/apps/greenhouse/views/plist_item.js +178 -0
  730. data/lib/frameworks/sproutcore/{apps → frameworks/experimental/apps}/greenhouse/views/simple_button.js +0 -0
  731. data/lib/frameworks/sproutcore/frameworks/experimental/apps/greenhouse/views/tear_off_picker.js +56 -0
  732. data/lib/frameworks/sproutcore/{apps → frameworks/experimental/apps}/greenhouse/views/web.js +0 -0
  733. data/lib/frameworks/sproutcore/frameworks/experimental/frameworks/designer/coders/design.js +22 -0
  734. data/lib/frameworks/sproutcore/frameworks/experimental/frameworks/designer/coders/object.js +349 -0
  735. data/lib/frameworks/sproutcore/frameworks/experimental/frameworks/designer/controllers/controllers.js +23 -0
  736. data/lib/frameworks/sproutcore/frameworks/experimental/frameworks/designer/controllers/design.js +43 -0
  737. data/lib/frameworks/sproutcore/frameworks/experimental/frameworks/designer/controllers/designs.js +139 -0
  738. data/lib/frameworks/sproutcore/frameworks/experimental/frameworks/designer/controllers/page_design.js +172 -0
  739. data/lib/frameworks/sproutcore/frameworks/experimental/frameworks/designer/controllers/page_files.js +28 -0
  740. data/lib/frameworks/sproutcore/frameworks/experimental/frameworks/designer/core.js +28 -0
  741. data/lib/frameworks/sproutcore/frameworks/experimental/frameworks/designer/css/css_rule.js +22 -0
  742. data/lib/frameworks/sproutcore/frameworks/experimental/frameworks/designer/css/css_style.js +29 -0
  743. data/lib/frameworks/sproutcore/frameworks/experimental/frameworks/designer/css/css_style_sheet.js +201 -0
  744. data/lib/frameworks/sproutcore/frameworks/experimental/frameworks/designer/designers/button.js +23 -0
  745. data/lib/frameworks/sproutcore/frameworks/experimental/frameworks/designer/designers/label.js +18 -0
  746. data/lib/frameworks/sproutcore/frameworks/experimental/frameworks/designer/designers/object_designer.js +298 -0
  747. data/lib/frameworks/sproutcore/frameworks/experimental/frameworks/designer/designers/tab.js +20 -0
  748. data/lib/frameworks/sproutcore/frameworks/experimental/frameworks/designer/designers/text_field.js +17 -0
  749. data/lib/frameworks/sproutcore/frameworks/experimental/frameworks/designer/designers/view_designer.js +1269 -0
  750. data/lib/frameworks/sproutcore/frameworks/{designer → experimental/frameworks/designer}/english.lproj/css/designer.css +0 -0
  751. data/lib/frameworks/sproutcore/frameworks/experimental/frameworks/designer/english.lproj/design_page.js +55 -0
  752. data/lib/frameworks/sproutcore/frameworks/{designer → experimental/frameworks/designer}/english.lproj/high_light.css +0 -0
  753. data/lib/frameworks/sproutcore/frameworks/{designer → experimental/frameworks/designer}/english.lproj/images/controller.png +0 -0
  754. data/lib/frameworks/sproutcore/frameworks/{designer → experimental/frameworks/designer}/english.lproj/images/dock-bg.png +0 -0
  755. data/lib/frameworks/sproutcore/frameworks/{designer → experimental/frameworks/designer}/english.lproj/images/dock-item-bg.png +0 -0
  756. data/lib/frameworks/sproutcore/frameworks/{designer → experimental/frameworks/designer}/english.lproj/images/dock-item-divider.png +0 -0
  757. data/lib/frameworks/sproutcore/frameworks/{designer → experimental/frameworks/designer}/english.lproj/images/dock-item-sel-bg.png +0 -0
  758. data/lib/frameworks/sproutcore/frameworks/{designer → experimental/frameworks/designer}/english.lproj/images/dock-item-sel-divider.png +0 -0
  759. data/lib/frameworks/sproutcore/frameworks/experimental/frameworks/designer/english.lproj/images/main-bg.png +0 -0
  760. data/lib/frameworks/sproutcore/frameworks/{designer → experimental/frameworks/designer}/english.lproj/images/page.png +0 -0
  761. data/lib/frameworks/sproutcore/frameworks/{designer → experimental/frameworks/designer}/english.lproj/images/pane.png +0 -0
  762. data/lib/frameworks/sproutcore/frameworks/{designer → experimental/frameworks/designer}/english.lproj/images/view.png +0 -0
  763. data/lib/frameworks/sproutcore/frameworks/{designer → experimental/frameworks/designer}/english.lproj/selection_handles.css +0 -0
  764. data/lib/frameworks/sproutcore/frameworks/experimental/frameworks/designer/ext/binding.js +39 -0
  765. data/lib/frameworks/sproutcore/frameworks/experimental/frameworks/designer/ext/object.js +28 -0
  766. data/lib/frameworks/sproutcore/frameworks/experimental/frameworks/designer/ext/page.js +60 -0
  767. data/lib/frameworks/sproutcore/frameworks/experimental/frameworks/designer/ext/view.js +29 -0
  768. data/lib/frameworks/sproutcore/frameworks/experimental/frameworks/designer/mixins/button.js +13 -0
  769. data/lib/frameworks/sproutcore/frameworks/experimental/frameworks/designer/mixins/snap_lines.js +227 -0
  770. data/lib/frameworks/sproutcore/frameworks/experimental/frameworks/designer/tests/coders/page.js +54 -0
  771. data/lib/frameworks/sproutcore/frameworks/experimental/frameworks/designer/tests/designers/view_designer.js +47 -0
  772. data/lib/frameworks/sproutcore/frameworks/experimental/frameworks/designer/views/designer_drop_target.js +144 -0
  773. data/lib/frameworks/sproutcore/frameworks/experimental/frameworks/designer/views/drawing.js +219 -0
  774. data/lib/frameworks/sproutcore/frameworks/{designer → experimental/frameworks/designer}/views/high_light.js +0 -0
  775. data/lib/frameworks/sproutcore/frameworks/{designer → experimental/frameworks/designer}/views/page_item_view.js +0 -0
  776. data/lib/frameworks/sproutcore/frameworks/experimental/frameworks/designer/views/selection_handles.js +78 -0
  777. data/lib/frameworks/sproutcore/frameworks/experimental/frameworks/device_motion/README.md +11 -0
  778. data/lib/frameworks/sproutcore/frameworks/experimental/frameworks/device_motion/device.js +215 -0
  779. data/lib/frameworks/sproutcore/frameworks/experimental/frameworks/device_motion/platform.js +67 -0
  780. data/lib/frameworks/sproutcore/frameworks/experimental/frameworks/polymorphism/README.md +46 -0
  781. data/lib/frameworks/sproutcore/frameworks/experimental/frameworks/polymorphism/models/record.js +112 -0
  782. data/lib/frameworks/sproutcore/frameworks/experimental/frameworks/polymorphism/tests/models/polymorphism/many.js +79 -0
  783. data/lib/frameworks/sproutcore/frameworks/experimental/frameworks/polymorphism/tests/models/polymorphism/simple.js +76 -0
  784. data/lib/frameworks/sproutcore/frameworks/experimental/frameworks/polymorphism/tests/models/polymorphism/single.js +67 -0
  785. data/lib/frameworks/sproutcore/frameworks/experimental/frameworks/split_view/mixins/split_child.js +229 -0
  786. data/lib/frameworks/sproutcore/frameworks/experimental/frameworks/split_view/mixins/split_thumb.js +236 -0
  787. data/lib/frameworks/sproutcore/frameworks/experimental/frameworks/split_view/render_delegates/split.js +18 -0
  788. data/lib/frameworks/sproutcore/frameworks/experimental/frameworks/split_view/render_delegates/split_divider.js +26 -0
  789. data/lib/frameworks/sproutcore/frameworks/experimental/frameworks/split_view/tests/children.js +100 -0
  790. data/lib/frameworks/sproutcore/frameworks/experimental/frameworks/split_view/tests/dividers.js +243 -0
  791. data/lib/frameworks/sproutcore/frameworks/experimental/frameworks/split_view/tests/methods.js +294 -0
  792. data/lib/frameworks/sproutcore/frameworks/experimental/frameworks/split_view/tests/split_child.js +135 -0
  793. data/lib/frameworks/sproutcore/frameworks/experimental/frameworks/split_view/tests/split_thumb.js +160 -0
  794. data/lib/frameworks/sproutcore/frameworks/experimental/frameworks/split_view/views/split.js +929 -0
  795. data/lib/frameworks/sproutcore/frameworks/experimental/frameworks/split_view/views/split_divider.js +40 -0
  796. data/lib/frameworks/sproutcore/frameworks/experimental/frameworks/split_view/views/thumb.js +26 -0
  797. data/lib/frameworks/sproutcore/frameworks/forms/english.lproj/default_styles.css +5 -0
  798. data/lib/frameworks/sproutcore/frameworks/forms/english.lproj/strings.js +15 -0
  799. data/lib/frameworks/sproutcore/frameworks/forms/mixins/edit_mode.js +48 -0
  800. data/lib/frameworks/sproutcore/frameworks/forms/mixins/emptiness.js +94 -0
  801. data/lib/frameworks/sproutcore/frameworks/forms/render_delegates/form.js +21 -0
  802. data/lib/frameworks/sproutcore/frameworks/forms/render_delegates/form_row.js +20 -0
  803. data/lib/frameworks/sproutcore/frameworks/forms/tests/views/form.js +17 -0
  804. data/lib/frameworks/sproutcore/frameworks/forms/tests/views/form_checkbox_field.js +17 -0
  805. data/lib/frameworks/sproutcore/frameworks/forms/tests/views/form_field.js +17 -0
  806. data/lib/frameworks/sproutcore/frameworks/forms/tests/views/form_label.js +17 -0
  807. data/lib/frameworks/sproutcore/frameworks/forms/tests/views/form_radio_field.js +17 -0
  808. data/lib/frameworks/sproutcore/frameworks/forms/tests/views/form_row.js +17 -0
  809. data/lib/frameworks/sproutcore/frameworks/forms/tests/views/form_text_field.js +17 -0
  810. data/lib/frameworks/sproutcore/frameworks/forms/views/form.js +286 -0
  811. data/lib/frameworks/sproutcore/frameworks/forms/views/form_row.js +187 -0
  812. data/lib/frameworks/sproutcore/frameworks/foundation/controllers/tree.js +52 -43
  813. data/lib/frameworks/sproutcore/frameworks/foundation/core.js +15 -142
  814. data/lib/frameworks/sproutcore/frameworks/foundation/debug/control_test_pane.js +29 -21
  815. data/lib/frameworks/sproutcore/frameworks/foundation/delegates/inline_text_field.js +90 -0
  816. data/lib/frameworks/sproutcore/frameworks/foundation/english.lproj/benchmark.css +146 -0
  817. data/lib/frameworks/sproutcore/frameworks/foundation/english.lproj/bootstrap.rhtml +4 -16
  818. data/lib/frameworks/sproutcore/frameworks/foundation/english.lproj/checkbox_view.css +5 -0
  819. data/lib/frameworks/sproutcore/frameworks/foundation/english.lproj/images/favicon.ico +0 -0
  820. data/lib/frameworks/sproutcore/frameworks/foundation/english.lproj/images/sproutcore.png +0 -0
  821. data/lib/frameworks/sproutcore/frameworks/foundation/english.lproj/label.css +5 -0
  822. data/lib/frameworks/sproutcore/frameworks/foundation/english.lproj/radio_view.css +7 -0
  823. data/lib/frameworks/sproutcore/frameworks/foundation/english.lproj/text_field.css +4 -6
  824. data/lib/frameworks/sproutcore/frameworks/foundation/ext/string.js +89 -0
  825. data/lib/frameworks/sproutcore/frameworks/foundation/gestures/pinch.js +119 -0
  826. data/lib/frameworks/sproutcore/frameworks/foundation/gestures/swipe.js +234 -0
  827. data/lib/frameworks/sproutcore/frameworks/foundation/gestures/tap.js +157 -0
  828. data/lib/frameworks/sproutcore/frameworks/foundation/license.js +24 -26
  829. data/lib/frameworks/sproutcore/frameworks/foundation/mixins/auto_mixin.js +41 -0
  830. data/lib/frameworks/sproutcore/frameworks/foundation/mixins/auto_resize.js +355 -0
  831. data/lib/frameworks/sproutcore/frameworks/foundation/mixins/button.js +4 -350
  832. data/lib/frameworks/sproutcore/frameworks/foundation/mixins/collection_content.js +10 -8
  833. data/lib/frameworks/sproutcore/frameworks/foundation/mixins/content_display.js +8 -9
  834. data/lib/frameworks/sproutcore/frameworks/foundation/mixins/content_value_support.js +227 -0
  835. data/lib/frameworks/sproutcore/frameworks/foundation/mixins/control.js +105 -200
  836. data/lib/frameworks/sproutcore/frameworks/foundation/mixins/editable.js +16 -15
  837. data/lib/frameworks/sproutcore/frameworks/foundation/mixins/flowed_layout.js +745 -0
  838. data/lib/frameworks/sproutcore/frameworks/foundation/mixins/gestureable.js +214 -0
  839. data/lib/frameworks/sproutcore/frameworks/foundation/mixins/inline_editable.js +254 -0
  840. data/lib/frameworks/sproutcore/frameworks/foundation/mixins/inline_editor.js +188 -0
  841. data/lib/frameworks/sproutcore/frameworks/foundation/mixins/inline_editor_delegate.js +195 -0
  842. data/lib/frameworks/sproutcore/frameworks/foundation/mixins/inner_frame.js +194 -0
  843. data/lib/frameworks/sproutcore/frameworks/foundation/mixins/static_layout.js +20 -21
  844. data/lib/frameworks/sproutcore/frameworks/foundation/mixins/tree_item_content.js +57 -53
  845. data/lib/frameworks/sproutcore/frameworks/foundation/mixins/validatable.js +18 -9
  846. data/lib/frameworks/sproutcore/frameworks/foundation/private/tree_item_observer.js +214 -203
  847. data/lib/frameworks/sproutcore/frameworks/foundation/render_delegates/canvas_image.js +110 -0
  848. data/lib/frameworks/sproutcore/frameworks/foundation/render_delegates/container.js +18 -0
  849. data/lib/frameworks/sproutcore/frameworks/foundation/render_delegates/helpers/sizing.js +174 -0
  850. data/lib/frameworks/sproutcore/frameworks/foundation/render_delegates/image.js +99 -0
  851. data/lib/frameworks/sproutcore/frameworks/foundation/render_delegates/label.js +119 -0
  852. data/lib/frameworks/sproutcore/frameworks/foundation/render_delegates/render_delegate.js +386 -0
  853. data/lib/frameworks/sproutcore/frameworks/foundation/system/benchmark.js +404 -191
  854. data/lib/frameworks/sproutcore/frameworks/foundation/system/chance.js +65 -0
  855. data/lib/frameworks/sproutcore/frameworks/foundation/system/cookie.js +176 -0
  856. data/lib/frameworks/sproutcore/frameworks/foundation/system/core_query.js +20 -2006
  857. data/lib/frameworks/sproutcore/frameworks/foundation/system/exception_handler.js +9 -3
  858. data/lib/frameworks/sproutcore/frameworks/foundation/system/gesture.js +363 -0
  859. data/lib/frameworks/sproutcore/frameworks/foundation/system/image_queue.js +433 -0
  860. data/lib/frameworks/sproutcore/frameworks/foundation/system/math.js +1 -1
  861. data/lib/frameworks/sproutcore/frameworks/foundation/system/module.js +591 -0
  862. data/lib/frameworks/sproutcore/frameworks/foundation/system/routes.js +123 -24
  863. data/lib/frameworks/sproutcore/frameworks/foundation/system/string.js +422 -0
  864. data/lib/frameworks/sproutcore/frameworks/foundation/system/task_queue.js +19 -16
  865. data/lib/frameworks/sproutcore/frameworks/foundation/system/text_selection.js +1 -1
  866. data/lib/frameworks/sproutcore/frameworks/foundation/system/user_defaults.js +91 -96
  867. data/lib/frameworks/sproutcore/frameworks/foundation/system/utils/colors.js +87 -0
  868. data/lib/frameworks/sproutcore/frameworks/foundation/system/utils/misc.js +157 -0
  869. data/lib/frameworks/sproutcore/frameworks/foundation/system/utils/range.js +71 -0
  870. data/lib/frameworks/sproutcore/frameworks/foundation/system/utils/string_measurement.js +254 -0
  871. data/lib/frameworks/sproutcore/frameworks/foundation/tasks/preload_bundle.js +5 -5
  872. data/lib/frameworks/sproutcore/frameworks/foundation/tasks/task.js +1 -1
  873. data/lib/frameworks/sproutcore/frameworks/foundation/tests/controllers/tree/outline_case.js +1 -1
  874. data/lib/frameworks/sproutcore/frameworks/foundation/tests/controllers/tree/selection_support.js +1 -1
  875. data/lib/frameworks/sproutcore/frameworks/foundation/tests/debug/control_test_pane/methods.js +1 -1
  876. data/lib/frameworks/sproutcore/frameworks/foundation/tests/debug/control_test_pane/ui.js +1 -1
  877. data/lib/frameworks/sproutcore/frameworks/foundation/tests/delegates/inline_text_field/inline_text_field.js +150 -0
  878. data/lib/frameworks/sproutcore/frameworks/foundation/tests/integration/creating_views.js +9 -4
  879. data/lib/frameworks/sproutcore/frameworks/foundation/tests/mixins/content_display.js +6 -0
  880. data/lib/frameworks/sproutcore/frameworks/foundation/tests/mixins/content_value_support/content.js +168 -0
  881. data/lib/frameworks/sproutcore/frameworks/foundation/tests/mixins/control/displayProperties.js +1 -1
  882. data/lib/frameworks/sproutcore/frameworks/foundation/tests/mixins/editable/ui.js +44 -0
  883. data/lib/frameworks/sproutcore/frameworks/foundation/tests/mixins/inline_editable/beginEditing.js +194 -0
  884. data/lib/frameworks/sproutcore/frameworks/foundation/tests/mixins/inline_editable/commitEditing.js +150 -0
  885. data/lib/frameworks/sproutcore/frameworks/foundation/tests/mixins/inline_editable/discardEditing.js +151 -0
  886. data/lib/frameworks/sproutcore/frameworks/foundation/tests/mixins/inline_editor/beginEditing.js +114 -0
  887. data/lib/frameworks/sproutcore/frameworks/foundation/tests/mixins/inline_editor/commitEditing.js +151 -0
  888. data/lib/frameworks/sproutcore/frameworks/foundation/tests/mixins/inline_editor/discardEditing.js +152 -0
  889. data/lib/frameworks/sproutcore/frameworks/foundation/tests/mixins/inline_text_field/api.js +1 -1
  890. data/lib/frameworks/sproutcore/frameworks/foundation/tests/mixins/inline_text_field/beginEditing.js +13 -22
  891. data/lib/frameworks/sproutcore/frameworks/foundation/tests/mixins/inline_text_field/ui.js +64 -0
  892. data/lib/frameworks/sproutcore/frameworks/foundation/tests/mixins/staticLayout.js +8 -1
  893. data/lib/frameworks/sproutcore/frameworks/foundation/tests/mixins/validatable/ui.js +1 -1
  894. data/lib/frameworks/sproutcore/frameworks/foundation/tests/private/tree_item_observer/flat_case.js +59 -59
  895. data/lib/frameworks/sproutcore/frameworks/foundation/tests/private/tree_item_observer/group_case.js +114 -114
  896. data/lib/frameworks/sproutcore/frameworks/foundation/tests/private/tree_item_observer/outline_case.js +74 -74
  897. data/lib/frameworks/sproutcore/frameworks/foundation/tests/render_delegates/render_delegate.js +78 -0
  898. data/lib/frameworks/sproutcore/frameworks/foundation/tests/system/cookie.js +182 -0
  899. data/lib/frameworks/sproutcore/frameworks/foundation/tests/system/core_query/setClass.js +19 -3
  900. data/lib/frameworks/sproutcore/frameworks/foundation/tests/system/math.js +1 -1
  901. data/lib/frameworks/sproutcore/frameworks/foundation/tests/system/routes.js +30 -20
  902. data/lib/frameworks/sproutcore/frameworks/foundation/tests/system/string.js +34 -0
  903. data/lib/frameworks/sproutcore/frameworks/foundation/tests/system/task_queue.js +8 -2
  904. data/lib/frameworks/sproutcore/frameworks/foundation/tests/system/user_defaults.js +6 -0
  905. data/lib/frameworks/sproutcore/frameworks/foundation/tests/system/utils/pointInElement.js +241 -0
  906. data/lib/frameworks/sproutcore/frameworks/foundation/tests/system/utils/range.js +6 -0
  907. data/lib/frameworks/sproutcore/frameworks/foundation/tests/validators/credit_card.js +6 -0
  908. data/lib/frameworks/sproutcore/frameworks/foundation/tests/validators/date.js +11 -13
  909. data/lib/frameworks/sproutcore/frameworks/foundation/tests/validators/not_empty.js +1 -1
  910. data/lib/frameworks/sproutcore/frameworks/foundation/tests/validators/number.js +6 -0
  911. data/lib/frameworks/sproutcore/frameworks/foundation/tests/validators/password.js +6 -0
  912. data/lib/frameworks/sproutcore/frameworks/foundation/tests/validators/validator.js +6 -0
  913. data/lib/frameworks/sproutcore/frameworks/foundation/tests/views/container/methods.js +10 -2
  914. data/lib/frameworks/sproutcore/frameworks/foundation/tests/views/container/ui.js +76 -11
  915. data/lib/frameworks/sproutcore/frameworks/foundation/tests/views/image/ui.js +499 -46
  916. data/lib/frameworks/sproutcore/frameworks/foundation/tests/views/label/ui.js +32 -7
  917. data/lib/frameworks/sproutcore/frameworks/foundation/tests/views/text_field/methods.js +1 -1
  918. data/lib/frameworks/sproutcore/frameworks/foundation/tests/views/text_field/nextValidKeyView.js +110 -0
  919. data/lib/frameworks/sproutcore/frameworks/foundation/tests/views/text_field/ui.js +87 -3
  920. data/lib/frameworks/sproutcore/frameworks/foundation/validators/credit_card.js +2 -2
  921. data/lib/frameworks/sproutcore/frameworks/foundation/validators/date.js +39 -12
  922. data/lib/frameworks/sproutcore/frameworks/foundation/validators/date_time.js +2 -2
  923. data/lib/frameworks/sproutcore/frameworks/foundation/validators/email.js +2 -2
  924. data/lib/frameworks/sproutcore/frameworks/foundation/validators/not_empty.js +6 -10
  925. data/lib/frameworks/sproutcore/frameworks/foundation/validators/number.js +3 -2
  926. data/lib/frameworks/sproutcore/frameworks/foundation/validators/password.js +2 -2
  927. data/lib/frameworks/sproutcore/frameworks/foundation/validators/positive_integer.js +3 -2
  928. data/lib/frameworks/sproutcore/frameworks/foundation/validators/validator.js +5 -3
  929. data/lib/frameworks/sproutcore/frameworks/foundation/views/container.js +16 -14
  930. data/lib/frameworks/sproutcore/frameworks/foundation/views/field.js +23 -6
  931. data/lib/frameworks/sproutcore/frameworks/foundation/views/image.js +307 -105
  932. data/lib/frameworks/sproutcore/frameworks/foundation/views/inline_text_field.js +654 -0
  933. data/lib/frameworks/sproutcore/frameworks/foundation/views/label.js +81 -195
  934. data/lib/frameworks/sproutcore/frameworks/foundation/views/text_field.js +287 -116
  935. data/lib/frameworks/sproutcore/frameworks/handlebars/handlebars.js +1435 -0
  936. data/lib/frameworks/sproutcore/frameworks/jquery/jquery-buffer.js +390 -0
  937. data/lib/frameworks/sproutcore/frameworks/jquery/jquery-buffered.js +210 -0
  938. data/lib/frameworks/sproutcore/frameworks/jquery/jquery-sc.js +12 -0
  939. data/lib/frameworks/sproutcore/frameworks/jquery/jquery.js +7179 -0
  940. data/lib/frameworks/sproutcore/frameworks/jquery/tests/set_class.js +40 -0
  941. data/lib/frameworks/sproutcore/frameworks/media/views/audio.js +10 -8
  942. data/lib/frameworks/sproutcore/frameworks/media/views/controls.js +4 -6
  943. data/lib/frameworks/sproutcore/frameworks/media/views/media_slider.js +1 -1
  944. data/lib/frameworks/sproutcore/frameworks/media/views/mini_controls.js +3 -3
  945. data/lib/frameworks/sproutcore/frameworks/media/views/simple_controls.js +4 -5
  946. data/lib/frameworks/sproutcore/frameworks/media/views/video.js +7 -7
  947. data/lib/frameworks/sproutcore/frameworks/mini/license.js +30 -28
  948. data/lib/frameworks/sproutcore/frameworks/qunit/README.md +24 -0
  949. data/lib/frameworks/sproutcore/frameworks/qunit/package.json +21 -0
  950. data/lib/frameworks/sproutcore/frameworks/qunit/qunit/qunit.css +215 -0
  951. data/lib/frameworks/sproutcore/frameworks/qunit/qunit/qunit.js +1442 -0
  952. data/lib/frameworks/sproutcore/frameworks/qunit/test/headless.html +24 -0
  953. data/lib/frameworks/sproutcore/frameworks/qunit/test/index.html +18 -0
  954. data/lib/frameworks/sproutcore/frameworks/qunit/test/logs.html +17 -0
  955. data/lib/frameworks/sproutcore/frameworks/qunit/test/logs.js +150 -0
  956. data/lib/frameworks/sproutcore/frameworks/qunit/test/same.js +1421 -0
  957. data/lib/frameworks/sproutcore/frameworks/qunit/test/test.js +314 -0
  958. data/lib/frameworks/sproutcore/frameworks/runtime/core.js +232 -537
  959. data/lib/frameworks/sproutcore/frameworks/runtime/debug/test_suites/array.js +14 -0
  960. data/lib/frameworks/sproutcore/frameworks/runtime/debug/test_suites/array/base.js +163 -4
  961. data/lib/frameworks/sproutcore/frameworks/runtime/debug/test_suites/array/indexOf.js +1 -1
  962. data/lib/frameworks/sproutcore/frameworks/runtime/debug/test_suites/array/insertAt.js +1 -1
  963. data/lib/frameworks/sproutcore/frameworks/runtime/debug/test_suites/array/objectAt.js +1 -1
  964. data/lib/frameworks/sproutcore/frameworks/runtime/debug/test_suites/array/popObject.js +1 -1
  965. data/lib/frameworks/sproutcore/frameworks/runtime/debug/test_suites/array/pushObject.js +1 -1
  966. data/lib/frameworks/sproutcore/frameworks/runtime/debug/test_suites/array/rangeObserver.js +74 -74
  967. data/lib/frameworks/sproutcore/frameworks/runtime/debug/test_suites/array/removeAt.js +1 -1
  968. data/lib/frameworks/sproutcore/frameworks/runtime/debug/test_suites/array/removeObject.js +1 -1
  969. data/lib/frameworks/sproutcore/frameworks/runtime/debug/test_suites/array/replace.js +1 -1
  970. data/lib/frameworks/sproutcore/frameworks/runtime/debug/test_suites/array/shiftObject.js +1 -1
  971. data/lib/frameworks/sproutcore/frameworks/runtime/debug/test_suites/array/unshiftObject.js +1 -1
  972. data/lib/frameworks/sproutcore/frameworks/runtime/ext/array.js +92 -0
  973. data/lib/frameworks/sproutcore/frameworks/runtime/ext/date.js +15 -0
  974. data/lib/frameworks/sproutcore/frameworks/runtime/ext/function.js +189 -0
  975. data/lib/frameworks/sproutcore/frameworks/runtime/ext/string.js +31 -0
  976. data/lib/frameworks/sproutcore/frameworks/runtime/license.js +29 -28
  977. data/lib/frameworks/sproutcore/frameworks/runtime/mixins/array.js +577 -317
  978. data/lib/frameworks/sproutcore/frameworks/runtime/mixins/comparable.js +16 -13
  979. data/lib/frameworks/sproutcore/frameworks/runtime/mixins/copyable.js +25 -18
  980. data/lib/frameworks/sproutcore/frameworks/runtime/mixins/enumerable.js +351 -308
  981. data/lib/frameworks/sproutcore/frameworks/runtime/mixins/freezable.js +51 -52
  982. data/lib/frameworks/sproutcore/frameworks/runtime/mixins/observable.js +1149 -1001
  983. data/lib/frameworks/sproutcore/frameworks/runtime/private/chain_observer.js +85 -45
  984. data/lib/frameworks/sproutcore/frameworks/runtime/private/observer_queue.js +61 -55
  985. data/lib/frameworks/sproutcore/frameworks/runtime/private/observer_set.js +51 -107
  986. data/lib/frameworks/sproutcore/frameworks/runtime/private/property_chain.js +195 -0
  987. data/lib/frameworks/sproutcore/frameworks/runtime/system/binding.js +361 -348
  988. data/lib/frameworks/sproutcore/frameworks/runtime/system/enumerator.js +24 -24
  989. data/lib/frameworks/sproutcore/frameworks/runtime/system/error.js +45 -40
  990. data/lib/frameworks/sproutcore/frameworks/runtime/system/function.js +76 -0
  991. data/lib/frameworks/sproutcore/frameworks/runtime/system/index_set.js +275 -265
  992. data/lib/frameworks/sproutcore/frameworks/runtime/system/json.js +515 -0
  993. data/lib/frameworks/sproutcore/frameworks/runtime/system/logger.js +1337 -204
  994. data/lib/frameworks/sproutcore/frameworks/runtime/system/object.js +312 -259
  995. data/lib/frameworks/sproutcore/frameworks/runtime/system/range_observer.js +89 -87
  996. data/lib/frameworks/sproutcore/frameworks/runtime/system/run_loop.js +119 -106
  997. data/lib/frameworks/sproutcore/frameworks/runtime/system/set.js +107 -101
  998. data/lib/frameworks/sproutcore/frameworks/runtime/system/string.js +60 -0
  999. data/lib/frameworks/sproutcore/frameworks/runtime/tests/core/IsEqual.js +23 -47
  1000. data/lib/frameworks/sproutcore/frameworks/runtime/tests/core/beget.js +6 -0
  1001. data/lib/frameworks/sproutcore/frameworks/runtime/tests/core/clone.js +1 -1
  1002. data/lib/frameworks/sproutcore/frameworks/runtime/tests/core/compare.js +1 -1
  1003. data/lib/frameworks/sproutcore/frameworks/runtime/tests/core/console.js +5 -0
  1004. data/lib/frameworks/sproutcore/frameworks/runtime/tests/core/guidFor.js +59 -126
  1005. data/lib/frameworks/sproutcore/frameworks/runtime/tests/core/inspect.js +6 -0
  1006. data/lib/frameworks/sproutcore/frameworks/runtime/tests/core/isArray.js +21 -19
  1007. data/lib/frameworks/sproutcore/frameworks/runtime/tests/core/itemType.js +71 -33
  1008. data/lib/frameworks/sproutcore/frameworks/runtime/tests/core/keys.js +6 -0
  1009. data/lib/frameworks/sproutcore/frameworks/runtime/tests/core/makeArray.js +21 -1
  1010. data/lib/frameworks/sproutcore/frameworks/runtime/tests/core/objectForPropertyPath.js +6 -0
  1011. data/lib/frameworks/sproutcore/frameworks/runtime/tests/core/tupleForPropertyPath.js +6 -0
  1012. data/lib/frameworks/sproutcore/frameworks/runtime/tests/mixins/array.js +39 -15
  1013. data/lib/frameworks/sproutcore/frameworks/runtime/tests/mixins/comparable.js +1 -1
  1014. data/lib/frameworks/sproutcore/frameworks/runtime/tests/mixins/enumerable/enumerable.js +623 -0
  1015. data/lib/frameworks/sproutcore/frameworks/runtime/tests/mixins/enumerable/enumerable_observers.js +81 -0
  1016. data/lib/frameworks/sproutcore/frameworks/runtime/tests/mixins/observable/chained.js +44 -0
  1017. data/lib/frameworks/sproutcore/frameworks/runtime/tests/mixins/observable/observable.js +286 -98
  1018. data/lib/frameworks/sproutcore/frameworks/runtime/tests/mixins/observable/observersForKey.js +36 -0
  1019. data/lib/frameworks/sproutcore/frameworks/runtime/tests/mixins/observable/propertyChanges.js +7 -1
  1020. data/lib/frameworks/sproutcore/frameworks/runtime/tests/mixins/observable/registerDependentKeys.js +78 -2
  1021. data/lib/frameworks/sproutcore/frameworks/runtime/tests/mixins/propertyChanges.js +7 -1
  1022. data/lib/frameworks/sproutcore/frameworks/runtime/tests/private/observer_queue/isObservingSuspended.js +1 -1
  1023. data/lib/frameworks/sproutcore/frameworks/runtime/tests/system/binding.js +87 -8
  1024. data/lib/frameworks/sproutcore/frameworks/runtime/tests/system/error.js +6 -0
  1025. data/lib/frameworks/sproutcore/frameworks/runtime/tests/system/index_set/add.js +1 -1
  1026. data/lib/frameworks/sproutcore/frameworks/runtime/tests/system/index_set/addEach.js +1 -1
  1027. data/lib/frameworks/sproutcore/frameworks/runtime/tests/system/index_set/clone.js +1 -1
  1028. data/lib/frameworks/sproutcore/frameworks/runtime/tests/system/index_set/contains.js +1 -1
  1029. data/lib/frameworks/sproutcore/frameworks/runtime/tests/system/index_set/create.js +1 -1
  1030. data/lib/frameworks/sproutcore/frameworks/runtime/tests/system/index_set/indexAfter.js +1 -1
  1031. data/lib/frameworks/sproutcore/frameworks/runtime/tests/system/index_set/indexBefore.js +1 -1
  1032. data/lib/frameworks/sproutcore/frameworks/runtime/tests/system/index_set/intersects.js +1 -1
  1033. data/lib/frameworks/sproutcore/frameworks/runtime/tests/system/index_set/max.js +1 -1
  1034. data/lib/frameworks/sproutcore/frameworks/runtime/tests/system/index_set/min.js +1 -1
  1035. data/lib/frameworks/sproutcore/frameworks/runtime/tests/system/index_set/rangeStartForIndex.js +1 -1
  1036. data/lib/frameworks/sproutcore/frameworks/runtime/tests/system/index_set/remove.js +1 -1
  1037. data/lib/frameworks/sproutcore/frameworks/runtime/tests/system/index_set/removeEach.js +1 -1
  1038. data/lib/frameworks/sproutcore/frameworks/runtime/tests/system/index_set/without.js +1 -1
  1039. data/lib/frameworks/sproutcore/frameworks/runtime/tests/system/json.js +21 -0
  1040. data/lib/frameworks/sproutcore/frameworks/runtime/tests/system/logger.js +180 -92
  1041. data/lib/frameworks/sproutcore/frameworks/runtime/tests/system/object/base.js +6 -0
  1042. data/lib/frameworks/sproutcore/frameworks/runtime/tests/system/object/bindings.js +11 -0
  1043. data/lib/frameworks/sproutcore/frameworks/runtime/tests/system/object/concatenated_properties.js +77 -0
  1044. data/lib/frameworks/sproutcore/frameworks/runtime/tests/system/object/enhance.js +196 -0
  1045. data/lib/frameworks/sproutcore/frameworks/runtime/tests/system/observer_set.js +56 -0
  1046. data/lib/frameworks/sproutcore/frameworks/runtime/tests/system/range_observer/create.js +12 -12
  1047. data/lib/frameworks/sproutcore/frameworks/runtime/tests/system/range_observer/destroy.js +1 -1
  1048. data/lib/frameworks/sproutcore/frameworks/runtime/tests/system/range_observer/objectPropertyDidChange.js +1 -1
  1049. data/lib/frameworks/sproutcore/frameworks/runtime/tests/system/range_observer/rangeDidChange.js +1 -1
  1050. data/lib/frameworks/sproutcore/frameworks/runtime/tests/system/range_observer/update.js +1 -1
  1051. data/lib/frameworks/sproutcore/frameworks/runtime/tests/system/run_loop.js +6 -0
  1052. data/lib/frameworks/sproutcore/frameworks/runtime/tests/system/set.js +77 -45
  1053. data/lib/frameworks/sproutcore/frameworks/statechart/core.js +4 -10
  1054. data/lib/frameworks/sproutcore/frameworks/statechart/debug/monitor.js +155 -0
  1055. data/lib/frameworks/sproutcore/frameworks/statechart/system/state.js +1241 -97
  1056. data/lib/frameworks/sproutcore/frameworks/statechart/system/statechart.js +1617 -0
  1057. data/lib/frameworks/sproutcore/frameworks/statechart/tests/event_handling/advanced/respond_to_event.js +401 -0
  1058. data/lib/frameworks/sproutcore/frameworks/statechart/tests/event_handling/advanced/without_concurrent_states.js +306 -0
  1059. data/lib/frameworks/sproutcore/frameworks/statechart/tests/event_handling/basic/with_concurrent_states.js +183 -0
  1060. data/lib/frameworks/sproutcore/frameworks/statechart/tests/event_handling/basic/without_concurrent_states.js +122 -0
  1061. data/lib/frameworks/sproutcore/frameworks/statechart/tests/event_handling/responder/pane.js +89 -0
  1062. data/lib/frameworks/sproutcore/frameworks/statechart/tests/event_handling/responder/responder_chain.js +109 -0
  1063. data/lib/frameworks/sproutcore/frameworks/statechart/tests/event_handling/responder/root_responder.js +74 -0
  1064. data/lib/frameworks/sproutcore/frameworks/statechart/tests/state/initial_substate.js +67 -0
  1065. data/lib/frameworks/sproutcore/frameworks/statechart/tests/state/is_current_state.js +60 -0
  1066. data/lib/frameworks/sproutcore/frameworks/statechart/tests/state/namespacing.js +248 -0
  1067. data/lib/frameworks/sproutcore/frameworks/statechart/tests/state/plugin/mixin.js +68 -0
  1068. data/lib/frameworks/sproutcore/frameworks/statechart/tests/state/plugin/nesting.js +95 -0
  1069. data/lib/frameworks/sproutcore/frameworks/statechart/tests/state/state_observes.js +235 -0
  1070. data/lib/frameworks/sproutcore/frameworks/statechart/tests/state_transitioning/async/core.js +94 -0
  1071. data/lib/frameworks/sproutcore/frameworks/statechart/tests/state_transitioning/async/with_concurrent_states.js +123 -0
  1072. data/lib/frameworks/sproutcore/frameworks/statechart/tests/state_transitioning/async/without_concurrent_states.js +191 -0
  1073. data/lib/frameworks/sproutcore/frameworks/statechart/tests/state_transitioning/history_state/initial_substate/core.js +48 -0
  1074. data/lib/frameworks/sproutcore/frameworks/statechart/tests/state_transitioning/history_state/initial_substate/without_concurrent_states.js +218 -0
  1075. data/lib/frameworks/sproutcore/frameworks/statechart/tests/state_transitioning/history_state/standard/with_concurrent_states.js +88 -0
  1076. data/lib/frameworks/sproutcore/frameworks/statechart/tests/state_transitioning/history_state/standard/without_concurrent_states/context.js +191 -0
  1077. data/lib/frameworks/sproutcore/frameworks/statechart/tests/state_transitioning/history_state/standard/without_concurrent_states/core.js +200 -0
  1078. data/lib/frameworks/sproutcore/frameworks/statechart/tests/state_transitioning/standard/with_concurrent_states/advanced.js +239 -0
  1079. data/lib/frameworks/sproutcore/frameworks/statechart/tests/state_transitioning/standard/with_concurrent_states/basic.js +131 -0
  1080. data/lib/frameworks/sproutcore/frameworks/statechart/tests/state_transitioning/standard/with_concurrent_states/intermediate.js +120 -0
  1081. data/lib/frameworks/sproutcore/frameworks/statechart/tests/state_transitioning/standard/without_concurrent_states/context.js +144 -0
  1082. data/lib/frameworks/sproutcore/frameworks/statechart/tests/state_transitioning/standard/without_concurrent_states/core.js +281 -0
  1083. data/lib/frameworks/sproutcore/frameworks/statechart/tests/state_transitioning/transient/without_concurrent_states.js +162 -0
  1084. data/lib/frameworks/sproutcore/frameworks/statechart/tests/statechart/create/assigned_root_state.js +76 -0
  1085. data/lib/frameworks/sproutcore/frameworks/statechart/tests/statechart/create/unassigned_root_state.js +162 -0
  1086. data/lib/frameworks/sproutcore/frameworks/statechart/tests/statechart/destroy.js +73 -0
  1087. data/lib/frameworks/sproutcore/frameworks/statechart/tests/statechart/invoke_state_method.js +241 -0
  1088. data/lib/frameworks/sproutcore/frameworks/statechart/tests/statechart/owner.js +236 -0
  1089. data/lib/frameworks/sproutcore/frameworks/table/mixins/table_delegate.js +1 -1
  1090. data/lib/frameworks/sproutcore/frameworks/table/system/table_column.js +1 -1
  1091. data/lib/frameworks/sproutcore/frameworks/table/views/table.js +6 -5
  1092. data/lib/frameworks/sproutcore/frameworks/table/views/table_cell.js +3 -2
  1093. data/lib/frameworks/sproutcore/frameworks/table/views/table_head.js +2 -2
  1094. data/lib/frameworks/sproutcore/frameworks/table/views/table_header.js +6 -4
  1095. data/lib/frameworks/sproutcore/frameworks/table/views/table_row.js +2 -2
  1096. data/lib/frameworks/sproutcore/frameworks/testing/core.js +4 -1
  1097. data/lib/frameworks/sproutcore/frameworks/testing/extras.js +1 -1
  1098. data/lib/frameworks/sproutcore/frameworks/testing/system/dump.js +1 -1
  1099. data/lib/frameworks/sproutcore/frameworks/testing/system/equiv.js +1 -1
  1100. data/lib/frameworks/sproutcore/frameworks/testing/system/plan.js +32 -19
  1101. data/lib/frameworks/sproutcore/frameworks/testing/system/runner.js +13 -3
  1102. data/lib/frameworks/sproutcore/frameworks/testing/system/suite.js +1 -1
  1103. data/lib/frameworks/sproutcore/frameworks/testing/utils.js +1 -1
  1104. data/lib/frameworks/sproutcore/lib/index.rhtml +54 -9
  1105. data/lib/frameworks/sproutcore/license.js +32 -30
  1106. data/lib/frameworks/sproutcore/themes/ace/designs/dark.png +0 -0
  1107. data/lib/frameworks/sproutcore/themes/ace/designs/dark.psd +0 -0
  1108. data/lib/frameworks/sproutcore/themes/ace/designs/light.png +0 -0
  1109. data/lib/frameworks/sproutcore/themes/ace/designs/light.psd +0 -0
  1110. data/lib/frameworks/sproutcore/themes/ace/designs/psds/button/ace/18px/active_button.psd +0 -0
  1111. data/lib/frameworks/sproutcore/themes/ace/designs/psds/button/ace/18px/normal_button.psd +0 -0
  1112. data/lib/frameworks/sproutcore/themes/ace/designs/psds/button/ace/18px/selected_active_button.psd +0 -0
  1113. data/lib/frameworks/sproutcore/themes/ace/designs/psds/button/ace/18px/selected_button.psd +0 -0
  1114. data/lib/frameworks/sproutcore/themes/ace/designs/psds/button/ace/24px/active_button.psd +0 -0
  1115. data/lib/frameworks/sproutcore/themes/ace/designs/psds/button/ace/24px/active_button_capsule.psd +0 -0
  1116. data/lib/frameworks/sproutcore/themes/ace/designs/psds/button/ace/24px/active_button_pointer.psd +0 -0
  1117. data/lib/frameworks/sproutcore/themes/ace/designs/psds/button/ace/24px/normal_button.psd +0 -0
  1118. data/lib/frameworks/sproutcore/themes/ace/designs/psds/button/ace/24px/normal_button_capsule.psd +0 -0
  1119. data/lib/frameworks/sproutcore/themes/ace/designs/psds/button/ace/24px/normal_button_pointer.psd +0 -0
  1120. data/lib/frameworks/sproutcore/themes/ace/designs/psds/button/ace/24px/selected_active_button.psd +0 -0
  1121. data/lib/frameworks/sproutcore/themes/ace/designs/psds/button/ace/24px/selected_active_button_capsule.psd +0 -0
  1122. data/lib/frameworks/sproutcore/themes/ace/designs/psds/button/ace/24px/selected_active_button_pointer.psd +0 -0
  1123. data/lib/frameworks/sproutcore/themes/ace/designs/psds/button/ace/24px/selected_button.psd +0 -0
  1124. data/lib/frameworks/sproutcore/themes/ace/designs/psds/button/ace/24px/selected_button_capsule.psd +0 -0
  1125. data/lib/frameworks/sproutcore/themes/ace/designs/psds/button/ace/24px/selected_button_pointer.psd +0 -0
  1126. data/lib/frameworks/sproutcore/themes/ace/designs/psds/button/ace/30px/active_button.psd +0 -0
  1127. data/lib/frameworks/sproutcore/themes/ace/designs/psds/button/ace/30px/active_button_pointer.psd +0 -0
  1128. data/lib/frameworks/sproutcore/themes/ace/designs/psds/button/ace/30px/normal_button.psd +0 -0
  1129. data/lib/frameworks/sproutcore/themes/ace/designs/psds/button/ace/30px/normal_button_pointer.psd +0 -0
  1130. data/lib/frameworks/sproutcore/themes/ace/designs/psds/button/ace/30px/selected_active_button.psd +0 -0
  1131. data/lib/frameworks/sproutcore/themes/ace/designs/psds/button/ace/30px/selected_active_button_pointer.psd +0 -0
  1132. data/lib/frameworks/sproutcore/themes/ace/designs/psds/button/ace/30px/selected_button.psd +0 -0
  1133. data/lib/frameworks/sproutcore/themes/ace/designs/psds/button/ace/30px/selected_button_pointer.psd +0 -0
  1134. data/lib/frameworks/sproutcore/themes/ace/designs/psds/button/ace/44px/active_button.psd +0 -0
  1135. data/lib/frameworks/sproutcore/themes/ace/designs/psds/button/ace/44px/normal_button.psd +0 -0
  1136. data/lib/frameworks/sproutcore/themes/ace/designs/psds/button/ace/44px/selected_active_button.psd +0 -0
  1137. data/lib/frameworks/sproutcore/themes/ace/designs/psds/button/ace/44px/selected_button.psd +0 -0
  1138. data/lib/frameworks/sproutcore/themes/ace/designs/psds/button/dark/24px/active_button.psd +0 -0
  1139. data/lib/frameworks/sproutcore/themes/ace/designs/psds/button/dark/24px/active_button_capsule.psd +0 -0
  1140. data/lib/frameworks/sproutcore/themes/ace/designs/psds/button/dark/24px/active_button_pointer.psd +0 -0
  1141. data/lib/frameworks/sproutcore/themes/ace/designs/psds/button/dark/24px/normal_button.psd +0 -0
  1142. data/lib/frameworks/sproutcore/themes/ace/designs/psds/button/dark/24px/normal_button_capsule.psd +0 -0
  1143. data/lib/frameworks/sproutcore/themes/ace/designs/psds/button/dark/24px/normal_button_pointer.psd +0 -0
  1144. data/lib/frameworks/sproutcore/themes/ace/designs/psds/button/dark/24px/selected_active_button.psd +0 -0
  1145. data/lib/frameworks/sproutcore/themes/ace/designs/psds/button/dark/24px/selected_active_button_capsule.psd +0 -0
  1146. data/lib/frameworks/sproutcore/themes/ace/designs/psds/button/dark/24px/selected_active_button_pointer.psd +0 -0
  1147. data/lib/frameworks/sproutcore/themes/ace/designs/psds/button/dark/24px/selected_button.psd +0 -0
  1148. data/lib/frameworks/sproutcore/themes/ace/designs/psds/button/dark/24px/selected_button_capsule.psd +0 -0
  1149. data/lib/frameworks/sproutcore/themes/ace/designs/psds/button/dark/24px/selected_button_pointer.psd +0 -0
  1150. data/lib/frameworks/sproutcore/themes/ace/designs/psds/button/dark/30px/active_button.psd +0 -0
  1151. data/lib/frameworks/sproutcore/themes/ace/designs/psds/button/dark/30px/active_button_pointer.psd +0 -0
  1152. data/lib/frameworks/sproutcore/themes/ace/designs/psds/button/dark/30px/normal_button.psd +0 -0
  1153. data/lib/frameworks/sproutcore/themes/ace/designs/psds/button/dark/30px/normal_button_pointer.psd +0 -0
  1154. data/lib/frameworks/sproutcore/themes/ace/designs/psds/button/dark/30px/selected_active_button.psd +0 -0
  1155. data/lib/frameworks/sproutcore/themes/ace/designs/psds/button/dark/30px/selected_active_button_pointer.psd +0 -0
  1156. data/lib/frameworks/sproutcore/themes/ace/designs/psds/button/dark/30px/selected_button.psd +0 -0
  1157. data/lib/frameworks/sproutcore/themes/ace/designs/psds/button/dark/30px/selected_button_pointer.psd +0 -0
  1158. data/lib/frameworks/sproutcore/themes/ace/designs/psds/button/popup/active_select.psd +0 -0
  1159. data/lib/frameworks/sproutcore/themes/ace/designs/psds/button/popup/normal_select.psd +0 -0
  1160. data/lib/frameworks/sproutcore/themes/ace/designs/psds/checkbox/ace/14px/checkbox_checked.psd +0 -0
  1161. data/lib/frameworks/sproutcore/themes/ace/designs/psds/checkbox/ace/14px/checkbox_checked_active.psd +0 -0
  1162. data/lib/frameworks/sproutcore/themes/ace/designs/psds/checkbox/ace/14px/checkbox_mixed.psd +0 -0
  1163. data/lib/frameworks/sproutcore/themes/ace/designs/psds/checkbox/ace/14px/checkbox_mixed_active.psd +0 -0
  1164. data/lib/frameworks/sproutcore/themes/ace/designs/psds/checkbox/ace/14px/checkbox_unchecked.psd +0 -0
  1165. data/lib/frameworks/sproutcore/themes/ace/designs/psds/checkbox/ace/14px/checkbox_unchecked_active.psd +0 -0
  1166. data/lib/frameworks/sproutcore/themes/ace/designs/psds/checkbox/ace/16px/checkbox_checked.psd +0 -0
  1167. data/lib/frameworks/sproutcore/themes/ace/designs/psds/checkbox/ace/16px/checkbox_checked_active.psd +0 -0
  1168. data/lib/frameworks/sproutcore/themes/ace/designs/psds/checkbox/ace/16px/checkbox_mixed.psd +0 -0
  1169. data/lib/frameworks/sproutcore/themes/ace/designs/psds/checkbox/ace/16px/checkbox_mixed_active.psd +0 -0
  1170. data/lib/frameworks/sproutcore/themes/ace/designs/psds/checkbox/ace/16px/checkbox_unchecked.psd +0 -0
  1171. data/lib/frameworks/sproutcore/themes/ace/designs/psds/checkbox/ace/16px/checkbox_unchecked_active.psd +0 -0
  1172. data/lib/frameworks/sproutcore/themes/ace/designs/psds/collection/source-list/selection.psd +0 -0
  1173. data/lib/frameworks/sproutcore/themes/ace/designs/psds/disclosure/ace/disclosure_closed.psd +0 -0
  1174. data/lib/frameworks/sproutcore/themes/ace/designs/psds/disclosure/ace/disclosure_closed_active.psd +0 -0
  1175. data/lib/frameworks/sproutcore/themes/ace/designs/psds/disclosure/ace/disclosure_open.psd +0 -0
  1176. data/lib/frameworks/sproutcore/themes/ace/designs/psds/disclosure/ace/disclosure_open_active.psd +0 -0
  1177. data/lib/frameworks/sproutcore/themes/ace/designs/psds/menu/checkmark.psd +0 -0
  1178. data/lib/frameworks/sproutcore/themes/ace/designs/psds/menu/checkmark_active.psd +0 -0
  1179. data/lib/frameworks/sproutcore/themes/ace/designs/psds/menu/down.psd +0 -0
  1180. data/lib/frameworks/sproutcore/themes/ace/designs/psds/menu/menu.psd +0 -0
  1181. data/lib/frameworks/sproutcore/themes/ace/designs/psds/menu/menu_item.psd +0 -0
  1182. data/lib/frameworks/sproutcore/themes/ace/designs/psds/menu/up.psd +0 -0
  1183. data/lib/frameworks/sproutcore/themes/ace/designs/psds/panel/panel.psd +0 -0
  1184. data/lib/frameworks/sproutcore/themes/ace/designs/psds/panel/pointers.psd +0 -0
  1185. data/lib/frameworks/sproutcore/themes/ace/designs/psds/picker/popover/popover.psd +0 -0
  1186. data/lib/frameworks/sproutcore/themes/ace/designs/psds/picker/popover/popover_empty.psd +0 -0
  1187. data/lib/frameworks/sproutcore/themes/ace/designs/psds/picker/popover/popover_notoolbar.psd +0 -0
  1188. data/lib/frameworks/sproutcore/themes/ace/designs/psds/picker/popover/popover_pointers.psd +0 -0
  1189. data/lib/frameworks/sproutcore/themes/ace/designs/psds/picker/popover/popover_pointers_notoolbar.psd +0 -0
  1190. data/lib/frameworks/sproutcore/themes/ace/designs/psds/progress/ace/progress_view_content.psd +0 -0
  1191. data/lib/frameworks/sproutcore/themes/ace/designs/psds/progress/ace/progress_view_indeterminate_content.psd +0 -0
  1192. data/lib/frameworks/sproutcore/themes/ace/designs/psds/progress/ace/progress_view_track.psd +0 -0
  1193. data/lib/frameworks/sproutcore/themes/ace/designs/psds/radio/radio_active.psd +0 -0
  1194. data/lib/frameworks/sproutcore/themes/ace/designs/psds/radio/radio_mixed.psd +0 -0
  1195. data/lib/frameworks/sproutcore/themes/ace/designs/psds/radio/radio_mixed_active.psd +0 -0
  1196. data/lib/frameworks/sproutcore/themes/ace/designs/psds/radio/radio_selected.psd +0 -0
  1197. data/lib/frameworks/sproutcore/themes/ace/designs/psds/radio/radio_selected_active.psd +0 -0
  1198. data/lib/frameworks/sproutcore/themes/ace/designs/psds/radio/radio_unselected.psd +0 -0
  1199. data/lib/frameworks/sproutcore/themes/ace/designs/psds/scroller/horizontal/thumb.psd +0 -0
  1200. data/lib/frameworks/sproutcore/themes/ace/designs/psds/scroller/horizontal/track_and_arrows.psd +0 -0
  1201. data/lib/frameworks/sproutcore/themes/ace/designs/psds/scroller/horizontal/track_and_arrows_active.psd +0 -0
  1202. data/lib/frameworks/sproutcore/themes/ace/designs/psds/scroller/vertical/thumb.psd +0 -0
  1203. data/lib/frameworks/sproutcore/themes/ace/designs/psds/scroller/vertical/track_and_arrows.psd +0 -0
  1204. data/lib/frameworks/sproutcore/themes/ace/designs/psds/scroller/vertical/track_and_arrows_active.psd +0 -0
  1205. data/lib/frameworks/sproutcore/themes/ace/designs/psds/segmented/18px/segmented_active.psd +0 -0
  1206. data/lib/frameworks/sproutcore/themes/ace/designs/psds/segmented/18px/segmented_normal.psd +0 -0
  1207. data/lib/frameworks/sproutcore/themes/ace/designs/psds/segmented/18px/segmented_selected.psd +0 -0
  1208. data/lib/frameworks/sproutcore/themes/ace/designs/psds/segmented/18px/segmented_selected_active.psd +0 -0
  1209. data/lib/frameworks/sproutcore/themes/ace/designs/psds/segmented/24px/segmented_active.psd +0 -0
  1210. data/lib/frameworks/sproutcore/themes/ace/designs/psds/segmented/24px/segmented_normal.psd +0 -0
  1211. data/lib/frameworks/sproutcore/themes/ace/designs/psds/segmented/24px/segmented_selected.psd +0 -0
  1212. data/lib/frameworks/sproutcore/themes/ace/designs/psds/segmented/24px/segmented_selected_active.psd +0 -0
  1213. data/lib/frameworks/sproutcore/themes/ace/designs/psds/segmented/30px/segmented_active.psd +0 -0
  1214. data/lib/frameworks/sproutcore/themes/ace/designs/psds/segmented/30px/segmented_normal.psd +0 -0
  1215. data/lib/frameworks/sproutcore/themes/ace/designs/psds/segmented/30px/segmented_selected.psd +0 -0
  1216. data/lib/frameworks/sproutcore/themes/ace/designs/psds/segmented/30px/segmented_selected_active.psd +0 -0
  1217. data/lib/frameworks/sproutcore/themes/ace/designs/psds/segmented/44px/segmented_active.psd +0 -0
  1218. data/lib/frameworks/sproutcore/themes/ace/designs/psds/segmented/44px/segmented_normal.psd +0 -0
  1219. data/lib/frameworks/sproutcore/themes/ace/designs/psds/segmented/44px/segmented_selected.psd +0 -0
  1220. data/lib/frameworks/sproutcore/themes/ace/designs/psds/segmented/44px/segmented_selected_active.psd +0 -0
  1221. data/lib/frameworks/sproutcore/themes/ace/designs/psds/slider/ace/14px/knob.psd +0 -0
  1222. data/lib/frameworks/sproutcore/themes/ace/designs/psds/slider/ace/14px/knob_active.psd +0 -0
  1223. data/lib/frameworks/sproutcore/themes/ace/designs/psds/slider/ace/16px/knob.psd +0 -0
  1224. data/lib/frameworks/sproutcore/themes/ace/designs/psds/slider/ace/16px/knob_active.psd +0 -0
  1225. data/lib/frameworks/sproutcore/themes/ace/designs/psds/slider/ace/22px/knob.psd +0 -0
  1226. data/lib/frameworks/sproutcore/themes/ace/designs/psds/slider/ace/22px/knob_active.psd +0 -0
  1227. data/lib/frameworks/sproutcore/themes/ace/designs/psds/slider/ace/22px/track.psd +0 -0
  1228. data/lib/frameworks/sproutcore/themes/ace/designs/psds/slider/ace/track.psd +0 -0
  1229. data/lib/frameworks/sproutcore/themes/ace/designs/psds/toolbar/toolbar.psd +0 -0
  1230. data/lib/frameworks/sproutcore/themes/ace/designs/switch/switch.psd +0 -0
  1231. data/lib/frameworks/sproutcore/themes/ace/designs/switch/switch_handle.png +0 -0
  1232. data/lib/frameworks/sproutcore/themes/ace/designs/switch/switch_handle.psd +0 -0
  1233. data/lib/frameworks/sproutcore/themes/ace/designs/switch/switch_off.png +0 -0
  1234. data/lib/frameworks/sproutcore/themes/ace/designs/switch/switch_off.psd +0 -0
  1235. data/lib/frameworks/sproutcore/themes/ace/designs/switch/switch_on.png +0 -0
  1236. data/lib/frameworks/sproutcore/themes/ace/designs/switch/switch_on.psd +0 -0
  1237. data/lib/frameworks/sproutcore/themes/ace/resources/body.css +13 -0
  1238. data/lib/frameworks/sproutcore/themes/ace/resources/button/ace/18px/active_button.png +0 -0
  1239. data/lib/frameworks/sproutcore/themes/ace/resources/button/ace/18px/button.css +33 -0
  1240. data/lib/frameworks/sproutcore/themes/ace/resources/button/ace/18px/normal_button.png +0 -0
  1241. data/lib/frameworks/sproutcore/themes/ace/resources/button/ace/18px/selected_active_button.png +0 -0
  1242. data/lib/frameworks/sproutcore/themes/ace/resources/button/ace/18px/selected_button.png +0 -0
  1243. data/lib/frameworks/sproutcore/themes/ace/resources/button/ace/24px/active_button.png +0 -0
  1244. data/lib/frameworks/sproutcore/themes/ace/resources/button/ace/24px/active_button_capsule.png +0 -0
  1245. data/lib/frameworks/sproutcore/themes/ace/resources/button/ace/24px/active_button_pointer.png +0 -0
  1246. data/lib/frameworks/sproutcore/themes/ace/resources/button/ace/24px/button.css +102 -0
  1247. data/lib/frameworks/sproutcore/themes/ace/resources/button/ace/24px/normal_button.png +0 -0
  1248. data/lib/frameworks/sproutcore/themes/ace/resources/button/ace/24px/normal_button_capsule.png +0 -0
  1249. data/lib/frameworks/sproutcore/themes/ace/resources/button/ace/24px/normal_button_pointer.png +0 -0
  1250. data/lib/frameworks/sproutcore/themes/ace/resources/button/ace/24px/selected_active_button.png +0 -0
  1251. data/lib/frameworks/sproutcore/themes/ace/resources/button/ace/24px/selected_active_button_capsule.png +0 -0
  1252. data/lib/frameworks/sproutcore/themes/ace/resources/button/ace/24px/selected_active_button_pointer.png +0 -0
  1253. data/lib/frameworks/sproutcore/themes/ace/resources/button/ace/24px/selected_button.png +0 -0
  1254. data/lib/frameworks/sproutcore/themes/ace/resources/button/ace/24px/selected_button_capsule.png +0 -0
  1255. data/lib/frameworks/sproutcore/themes/ace/resources/button/ace/24px/selected_button_pointer.png +0 -0
  1256. data/lib/frameworks/sproutcore/themes/ace/resources/button/ace/30px/active_button.png +0 -0
  1257. data/lib/frameworks/sproutcore/themes/ace/resources/button/ace/30px/active_button_pointer.png +0 -0
  1258. data/lib/frameworks/sproutcore/themes/ace/resources/button/ace/30px/button.css +78 -0
  1259. data/lib/frameworks/sproutcore/themes/ace/resources/button/ace/30px/normal_button.png +0 -0
  1260. data/lib/frameworks/sproutcore/themes/ace/resources/button/ace/30px/normal_button_pointer.png +0 -0
  1261. data/lib/frameworks/sproutcore/themes/ace/resources/button/ace/30px/selected_active_button.png +0 -0
  1262. data/lib/frameworks/sproutcore/themes/ace/resources/button/ace/30px/selected_active_button_pointer.png +0 -0
  1263. data/lib/frameworks/sproutcore/themes/ace/resources/button/ace/30px/selected_button.png +0 -0
  1264. data/lib/frameworks/sproutcore/themes/ace/resources/button/ace/30px/selected_button_pointer.png +0 -0
  1265. data/lib/frameworks/sproutcore/themes/ace/resources/button/ace/44px/active_button.png +0 -0
  1266. data/lib/frameworks/sproutcore/themes/ace/resources/button/ace/44px/button.css +39 -0
  1267. data/lib/frameworks/sproutcore/themes/ace/resources/button/ace/44px/normal_button.png +0 -0
  1268. data/lib/frameworks/sproutcore/themes/ace/resources/button/ace/44px/selected_active_button.png +0 -0
  1269. data/lib/frameworks/sproutcore/themes/ace/resources/button/ace/44px/selected_button.png +0 -0
  1270. data/lib/frameworks/sproutcore/themes/ace/resources/button/ace/button.css +41 -0
  1271. data/lib/frameworks/sproutcore/themes/ace/resources/button/dark/24px/active_button.png +0 -0
  1272. data/lib/frameworks/sproutcore/themes/ace/resources/button/dark/24px/active_button_capsule.png +0 -0
  1273. data/lib/frameworks/sproutcore/themes/ace/resources/button/dark/24px/active_button_pointer.png +0 -0
  1274. data/lib/frameworks/sproutcore/themes/ace/resources/button/dark/24px/button.css +93 -0
  1275. data/lib/frameworks/sproutcore/themes/ace/resources/button/dark/24px/normal_button.png +0 -0
  1276. data/lib/frameworks/sproutcore/themes/ace/resources/button/dark/24px/normal_button_capsule.png +0 -0
  1277. data/lib/frameworks/sproutcore/themes/ace/resources/button/dark/24px/normal_button_pointer.png +0 -0
  1278. data/lib/frameworks/sproutcore/themes/ace/resources/button/dark/24px/selected_active_button.png +0 -0
  1279. data/lib/frameworks/sproutcore/themes/ace/resources/button/dark/24px/selected_active_button_capsule.png +0 -0
  1280. data/lib/frameworks/sproutcore/themes/ace/resources/button/dark/24px/selected_active_button_pointer.png +0 -0
  1281. data/lib/frameworks/sproutcore/themes/ace/resources/button/dark/24px/selected_button.png +0 -0
  1282. data/lib/frameworks/sproutcore/themes/ace/resources/button/dark/24px/selected_button_capsule.png +0 -0
  1283. data/lib/frameworks/sproutcore/themes/ace/resources/button/dark/24px/selected_button_pointer.png +0 -0
  1284. data/lib/frameworks/sproutcore/themes/ace/resources/button/dark/30px/active_button.png +0 -0
  1285. data/lib/frameworks/sproutcore/themes/ace/resources/button/dark/30px/active_button_pointer.png +0 -0
  1286. data/lib/frameworks/sproutcore/themes/ace/resources/button/dark/30px/button.css +72 -0
  1287. data/lib/frameworks/sproutcore/themes/ace/resources/button/dark/30px/normal_button.png +0 -0
  1288. data/lib/frameworks/sproutcore/themes/ace/resources/button/dark/30px/normal_button_pointer.png +0 -0
  1289. data/lib/frameworks/sproutcore/themes/ace/resources/button/dark/30px/selected_active_button.png +0 -0
  1290. data/lib/frameworks/sproutcore/themes/ace/resources/button/dark/30px/selected_active_button_pointer.png +0 -0
  1291. data/lib/frameworks/sproutcore/themes/ace/resources/button/dark/30px/selected_button.png +0 -0
  1292. data/lib/frameworks/sproutcore/themes/ace/resources/button/dark/30px/selected_button_pointer.png +0 -0
  1293. data/lib/frameworks/sproutcore/themes/ace/resources/button/dark/button.css +17 -0
  1294. data/lib/frameworks/sproutcore/themes/ace/resources/button/dark/button.js +5 -0
  1295. data/lib/frameworks/sproutcore/themes/ace/resources/button/popup/active_select.png +0 -0
  1296. data/lib/frameworks/sproutcore/themes/ace/resources/button/popup/normal_select.png +0 -0
  1297. data/lib/frameworks/sproutcore/themes/ace/resources/button/popup/select.css +21 -0
  1298. data/lib/frameworks/sproutcore/themes/ace/resources/checkbox/ace/14px/checkbox.css +40 -0
  1299. data/lib/frameworks/sproutcore/themes/ace/resources/checkbox/ace/14px/checkbox_checked.png +0 -0
  1300. data/lib/frameworks/sproutcore/themes/ace/resources/checkbox/ace/14px/checkbox_checked_active.png +0 -0
  1301. data/lib/frameworks/sproutcore/themes/ace/resources/checkbox/ace/14px/checkbox_mixed.png +0 -0
  1302. data/lib/frameworks/sproutcore/themes/ace/resources/checkbox/ace/14px/checkbox_mixed_active.png +0 -0
  1303. data/lib/frameworks/sproutcore/themes/ace/resources/checkbox/ace/14px/checkbox_unchecked.png +0 -0
  1304. data/lib/frameworks/sproutcore/themes/ace/resources/checkbox/ace/14px/checkbox_unchecked_active.png +0 -0
  1305. data/lib/frameworks/sproutcore/themes/ace/resources/checkbox/ace/16px/checkbox.css +40 -0
  1306. data/lib/frameworks/sproutcore/themes/ace/resources/checkbox/ace/16px/checkbox_checked.png +0 -0
  1307. data/lib/frameworks/sproutcore/themes/ace/resources/checkbox/ace/16px/checkbox_checked_active.png +0 -0
  1308. data/lib/frameworks/sproutcore/themes/ace/resources/checkbox/ace/16px/checkbox_mixed.png +0 -0
  1309. data/lib/frameworks/sproutcore/themes/ace/resources/checkbox/ace/16px/checkbox_mixed_active.png +0 -0
  1310. data/lib/frameworks/sproutcore/themes/ace/resources/checkbox/ace/16px/checkbox_unchecked.png +0 -0
  1311. data/lib/frameworks/sproutcore/themes/ace/resources/checkbox/ace/16px/checkbox_unchecked_active.png +0 -0
  1312. data/lib/frameworks/sproutcore/themes/ace/resources/checkbox/ace/checkbox.css +7 -0
  1313. data/lib/frameworks/sproutcore/themes/ace/resources/collection/normal/list.css +4 -0
  1314. data/lib/frameworks/sproutcore/themes/ace/resources/collection/normal/list_item.css +17 -0
  1315. data/lib/frameworks/sproutcore/themes/ace/resources/collection/source-list/selection.png +0 -0
  1316. data/lib/frameworks/sproutcore/themes/ace/resources/collection/source-list/source-list.js +3 -0
  1317. data/lib/frameworks/sproutcore/themes/ace/resources/collection/source-list/source_list_view.css +36 -0
  1318. data/lib/frameworks/sproutcore/themes/ace/resources/disclosure/ace/disclosure.css +24 -0
  1319. data/lib/frameworks/sproutcore/themes/ace/resources/disclosure/ace/disclosure_closed.png +0 -0
  1320. data/lib/frameworks/sproutcore/themes/ace/resources/disclosure/ace/disclosure_closed_active.png +0 -0
  1321. data/lib/frameworks/sproutcore/themes/ace/resources/disclosure/ace/disclosure_open.png +0 -0
  1322. data/lib/frameworks/sproutcore/themes/ace/resources/disclosure/ace/disclosure_open_active.png +0 -0
  1323. data/lib/frameworks/sproutcore/themes/ace/resources/imagebutton/ace/imagebutton.css +11 -0
  1324. data/lib/frameworks/sproutcore/themes/ace/resources/loading.css +50 -0
  1325. data/lib/frameworks/sproutcore/themes/ace/resources/master-detail/master-detail.css +27 -0
  1326. data/lib/frameworks/sproutcore/themes/ace/resources/menu/checkmark.png +0 -0
  1327. data/lib/frameworks/sproutcore/themes/ace/resources/menu/checkmark_active.png +0 -0
  1328. data/lib/frameworks/sproutcore/themes/ace/resources/menu/down.png +0 -0
  1329. data/lib/frameworks/sproutcore/themes/ace/resources/menu/menu.css +79 -0
  1330. data/lib/frameworks/sproutcore/themes/ace/resources/menu/menu.png +0 -0
  1331. data/lib/frameworks/sproutcore/themes/ace/resources/menu/menu_item.png +0 -0
  1332. data/lib/frameworks/sproutcore/themes/ace/resources/menu/up.png +0 -0
  1333. data/lib/frameworks/sproutcore/themes/ace/resources/pane/pane.css +3 -0
  1334. data/lib/frameworks/sproutcore/themes/ace/resources/panel/panel.css +13 -0
  1335. data/lib/frameworks/sproutcore/themes/ace/resources/panel/panel.png +0 -0
  1336. data/lib/frameworks/sproutcore/themes/ace/resources/picker/ace/panel.png +0 -0
  1337. data/lib/frameworks/sproutcore/themes/ace/resources/picker/ace/picker.css +41 -0
  1338. data/lib/frameworks/sproutcore/themes/ace/resources/picker/ace/picker.js +0 -0
  1339. data/lib/frameworks/sproutcore/themes/ace/resources/picker/ace/pointers.png +0 -0
  1340. data/lib/frameworks/sproutcore/themes/ace/resources/picker/popover/picker.js +32 -0
  1341. data/lib/frameworks/sproutcore/themes/ace/resources/picker/popover/popover.css +111 -0
  1342. data/lib/frameworks/sproutcore/themes/ace/resources/picker/popover/popover.js +12 -0
  1343. data/lib/frameworks/sproutcore/themes/ace/resources/picker/popover/popover.png +0 -0
  1344. data/lib/frameworks/sproutcore/themes/ace/resources/picker/popover/popover_empty.png +0 -0
  1345. data/lib/frameworks/sproutcore/themes/ace/resources/picker/popover/popover_notoolbar.png +0 -0
  1346. data/lib/frameworks/sproutcore/themes/ace/resources/picker/popover/popover_pointers.png +0 -0
  1347. data/lib/frameworks/sproutcore/themes/ace/resources/picker/popover/popover_pointers_notoolbar.png +0 -0
  1348. data/lib/frameworks/sproutcore/themes/ace/resources/picker/popover/workspace.js +28 -0
  1349. data/lib/frameworks/sproutcore/themes/ace/resources/progress/ace/progress.css +27 -0
  1350. data/lib/frameworks/sproutcore/themes/ace/resources/progress/ace/progress_view_content.png +0 -0
  1351. data/lib/frameworks/sproutcore/themes/ace/resources/progress/ace/progress_view_track.png +0 -0
  1352. data/lib/frameworks/sproutcore/themes/ace/resources/radio/radio.css +57 -0
  1353. data/lib/frameworks/sproutcore/themes/ace/resources/radio/radio_active.png +0 -0
  1354. data/lib/frameworks/sproutcore/themes/ace/resources/radio/radio_mixed.png +0 -0
  1355. data/lib/frameworks/sproutcore/themes/ace/resources/radio/radio_mixed_active.png +0 -0
  1356. data/lib/frameworks/sproutcore/themes/ace/resources/radio/radio_selected.png +0 -0
  1357. data/lib/frameworks/sproutcore/themes/ace/resources/radio/radio_selected_active.png +0 -0
  1358. data/lib/frameworks/sproutcore/themes/ace/resources/radio/radio_unselected.png +0 -0
  1359. data/lib/frameworks/sproutcore/themes/ace/resources/scroller/horizontal/horizontal.css +78 -0
  1360. data/lib/frameworks/sproutcore/themes/ace/resources/scroller/horizontal/horizontal_touch.css +91 -0
  1361. data/lib/frameworks/sproutcore/themes/ace/resources/scroller/horizontal/thumb.png +0 -0
  1362. data/lib/frameworks/sproutcore/themes/ace/resources/scroller/horizontal/track_and_arrows.png +0 -0
  1363. data/lib/frameworks/sproutcore/themes/ace/resources/scroller/horizontal/track_and_arrows_active.png +0 -0
  1364. data/lib/frameworks/sproutcore/themes/ace/resources/scroller/vertical/thumb.png +0 -0
  1365. data/lib/frameworks/sproutcore/themes/ace/resources/scroller/vertical/track_and_arrows.png +0 -0
  1366. data/lib/frameworks/sproutcore/themes/ace/resources/scroller/vertical/track_and_arrows_active.png +0 -0
  1367. data/lib/frameworks/sproutcore/themes/ace/resources/scroller/vertical/vertical.css +80 -0
  1368. data/lib/frameworks/sproutcore/themes/ace/resources/scroller/vertical/vertical_touch.css +92 -0
  1369. data/lib/frameworks/sproutcore/themes/ace/resources/segmented/18px/segmented.css +91 -0
  1370. data/lib/frameworks/sproutcore/themes/ace/resources/segmented/18px/segmented_active.png +0 -0
  1371. data/lib/frameworks/sproutcore/themes/ace/resources/segmented/18px/segmented_normal.png +0 -0
  1372. data/lib/frameworks/sproutcore/themes/ace/resources/segmented/18px/segmented_selected.png +0 -0
  1373. data/lib/frameworks/sproutcore/themes/ace/resources/segmented/18px/segmented_selected_active.png +0 -0
  1374. data/lib/frameworks/sproutcore/themes/ace/resources/segmented/24px/segmented.css +91 -0
  1375. data/lib/frameworks/sproutcore/themes/ace/resources/segmented/24px/segmented_active.png +0 -0
  1376. data/lib/frameworks/sproutcore/themes/ace/resources/segmented/24px/segmented_normal.png +0 -0
  1377. data/lib/frameworks/sproutcore/themes/ace/resources/segmented/24px/segmented_selected.png +0 -0
  1378. data/lib/frameworks/sproutcore/themes/ace/resources/segmented/24px/segmented_selected_active.png +0 -0
  1379. data/lib/frameworks/sproutcore/themes/ace/resources/segmented/30px/segmented.css +91 -0
  1380. data/lib/frameworks/sproutcore/themes/ace/resources/segmented/30px/segmented_active.png +0 -0
  1381. data/lib/frameworks/sproutcore/themes/ace/resources/segmented/30px/segmented_normal.png +0 -0
  1382. data/lib/frameworks/sproutcore/themes/ace/resources/segmented/30px/segmented_selected.png +0 -0
  1383. data/lib/frameworks/sproutcore/themes/ace/resources/segmented/30px/segmented_selected_active.png +0 -0
  1384. data/lib/frameworks/sproutcore/themes/ace/resources/segmented/44px/segmented.css +95 -0
  1385. data/lib/frameworks/sproutcore/themes/ace/resources/segmented/44px/segmented_active.png +0 -0
  1386. data/lib/frameworks/sproutcore/themes/ace/resources/segmented/44px/segmented_normal.png +0 -0
  1387. data/lib/frameworks/sproutcore/themes/ace/resources/segmented/44px/segmented_selected.png +0 -0
  1388. data/lib/frameworks/sproutcore/themes/ace/resources/segmented/44px/segmented_selected_active.png +0 -0
  1389. data/lib/frameworks/sproutcore/themes/ace/resources/segmented/segmented.css +83 -0
  1390. data/lib/frameworks/sproutcore/themes/ace/resources/slider/ace/14px/knob.png +0 -0
  1391. data/lib/frameworks/sproutcore/themes/ace/resources/slider/ace/14px/knob_active.png +0 -0
  1392. data/lib/frameworks/sproutcore/themes/ace/resources/slider/ace/14px/slider.css +27 -0
  1393. data/lib/frameworks/sproutcore/themes/ace/resources/slider/ace/16px/knob.png +0 -0
  1394. data/lib/frameworks/sproutcore/themes/ace/resources/slider/ace/16px/knob_active.png +0 -0
  1395. data/lib/frameworks/sproutcore/themes/ace/resources/slider/ace/16px/slider.css +27 -0
  1396. data/lib/frameworks/sproutcore/themes/ace/resources/slider/ace/22px/knob.png +0 -0
  1397. data/lib/frameworks/sproutcore/themes/ace/resources/slider/ace/22px/knob_active.png +0 -0
  1398. data/lib/frameworks/sproutcore/themes/ace/resources/slider/ace/22px/slider.css +27 -0
  1399. data/lib/frameworks/sproutcore/themes/ace/resources/slider/ace/22px/track.png +0 -0
  1400. data/lib/frameworks/sproutcore/themes/ace/resources/slider/ace/slider.css +8 -0
  1401. data/lib/frameworks/sproutcore/themes/ace/resources/slider/ace/track.png +0 -0
  1402. data/lib/frameworks/sproutcore/themes/ace/resources/split/split.css +31 -0
  1403. data/lib/frameworks/sproutcore/themes/ace/resources/tab/tab.css +3 -0
  1404. data/lib/frameworks/sproutcore/themes/ace/resources/toolbar/toolbar.css +8 -0
  1405. data/lib/frameworks/sproutcore/themes/ace/resources/toolbar/toolbar.png +0 -0
  1406. data/lib/frameworks/sproutcore/themes/ace/resources/well/well.css +7 -0
  1407. data/lib/frameworks/sproutcore/themes/ace/theme.js +30 -0
  1408. data/lib/frameworks/sproutcore/themes/empty_theme/theme.js +16 -0
  1409. data/lib/frameworks/sproutcore/themes/iphone_theme/english.lproj/strings.js +1 -1
  1410. data/lib/frameworks/sproutcore/themes/{standard_theme → legacy_theme}/Source/Panel.drawit/Data +0 -0
  1411. data/lib/frameworks/sproutcore/themes/{standard_theme → legacy_theme}/Source/Panel.drawit/QuickLook/Preview.jpg +0 -0
  1412. data/lib/frameworks/sproutcore/themes/{standard_theme → legacy_theme}/Source/Panel.drawit/QuickLook/Thumbnail.jpg +0 -0
  1413. data/lib/frameworks/sproutcore/themes/standard_theme/Source/SproutCore Theme Buttons.psd b/data/lib/frameworks/sproutcore/themes/legacy_theme/Source/SproutCore Theme → Buttons.psd +0 -0
  1414. data/lib/frameworks/sproutcore/themes/standard_theme/Source/ToolbarView Pattern.drawit/Data b/data/lib/frameworks/sproutcore/themes/legacy_theme/Source/ToolbarView → Pattern.drawit/Data +0 -0
  1415. data/lib/frameworks/sproutcore/themes/standard_theme/Source/ToolbarView Pattern.drawit/QuickLook/Preview.jpg b/data/lib/frameworks/sproutcore/themes/legacy_theme/Source/ToolbarView → Pattern.drawit/QuickLook/Preview.jpg +0 -0
  1416. data/lib/frameworks/sproutcore/themes/standard_theme/Source/ToolbarView Pattern.drawit/QuickLook/Thumbnail.jpg b/data/lib/frameworks/sproutcore/themes/legacy_theme/Source/ToolbarView → Pattern.drawit/QuickLook/Thumbnail.jpg +0 -0
  1417. data/lib/frameworks/sproutcore/themes/{standard_theme → legacy_theme}/Source/icons/16/10.png +0 -0
  1418. data/lib/frameworks/sproutcore/themes/{standard_theme → legacy_theme}/Source/icons/16/100.png +0 -0
  1419. data/lib/frameworks/sproutcore/themes/{standard_theme → legacy_theme}/Source/icons/16/102.png +0 -0
  1420. data/lib/frameworks/sproutcore/themes/{standard_theme → legacy_theme}/Source/icons/16/110.png +0 -0
  1421. data/lib/frameworks/sproutcore/themes/{standard_theme → legacy_theme}/Source/icons/16/120.png +0 -0
  1422. data/lib/frameworks/sproutcore/themes/{standard_theme → legacy_theme}/Source/icons/16/127.png +0 -0
  1423. data/lib/frameworks/sproutcore/themes/{standard_theme → legacy_theme}/Source/icons/16/18.png +0 -0
  1424. data/lib/frameworks/sproutcore/themes/{standard_theme → legacy_theme}/Source/icons/16/19.png +0 -0
  1425. data/lib/frameworks/sproutcore/themes/{standard_theme → legacy_theme}/Source/icons/16/2.png +0 -0
  1426. data/lib/frameworks/sproutcore/themes/{standard_theme → legacy_theme}/Source/icons/16/24.png +0 -0
  1427. data/lib/frameworks/sproutcore/themes/{standard_theme → legacy_theme}/Source/icons/16/26.png +0 -0
  1428. data/lib/frameworks/sproutcore/themes/{standard_theme → legacy_theme}/Source/icons/16/27.png +0 -0
  1429. data/lib/frameworks/sproutcore/themes/{standard_theme → legacy_theme}/Source/icons/16/28.png +0 -0
  1430. data/lib/frameworks/sproutcore/themes/{standard_theme → legacy_theme}/Source/icons/16/29.png +0 -0
  1431. data/lib/frameworks/sproutcore/themes/{standard_theme → legacy_theme}/Source/icons/16/30.png +0 -0
  1432. data/lib/frameworks/sproutcore/themes/{standard_theme → legacy_theme}/Source/icons/16/31.png +0 -0
  1433. data/lib/frameworks/sproutcore/themes/{standard_theme → legacy_theme}/Source/icons/16/33.png +0 -0
  1434. data/lib/frameworks/sproutcore/themes/{standard_theme → legacy_theme}/Source/icons/16/37.png +0 -0
  1435. data/lib/frameworks/sproutcore/themes/{standard_theme → legacy_theme}/Source/icons/16/41.png +0 -0
  1436. data/lib/frameworks/sproutcore/themes/{standard_theme → legacy_theme}/Source/icons/16/99.png +0 -0
  1437. data/lib/frameworks/sproutcore/themes/{standard_theme → legacy_theme}/Source/icons/24/10.png +0 -0
  1438. data/lib/frameworks/sproutcore/themes/{standard_theme → legacy_theme}/Source/icons/24/100.png +0 -0
  1439. data/lib/frameworks/sproutcore/themes/{standard_theme → legacy_theme}/Source/icons/24/102.png +0 -0
  1440. data/lib/frameworks/sproutcore/themes/{standard_theme → legacy_theme}/Source/icons/24/110.png +0 -0
  1441. data/lib/frameworks/sproutcore/themes/{standard_theme → legacy_theme}/Source/icons/24/120.png +0 -0
  1442. data/lib/frameworks/sproutcore/themes/{standard_theme → legacy_theme}/Source/icons/24/127.png +0 -0
  1443. data/lib/frameworks/sproutcore/themes/{standard_theme → legacy_theme}/Source/icons/24/18.png +0 -0
  1444. data/lib/frameworks/sproutcore/themes/{standard_theme → legacy_theme}/Source/icons/24/19.png +0 -0
  1445. data/lib/frameworks/sproutcore/themes/{standard_theme → legacy_theme}/Source/icons/24/2.png +0 -0
  1446. data/lib/frameworks/sproutcore/themes/{standard_theme → legacy_theme}/Source/icons/24/24.png +0 -0
  1447. data/lib/frameworks/sproutcore/themes/{standard_theme → legacy_theme}/Source/icons/24/26.png +0 -0
  1448. data/lib/frameworks/sproutcore/themes/{standard_theme → legacy_theme}/Source/icons/24/27.png +0 -0
  1449. data/lib/frameworks/sproutcore/themes/{standard_theme → legacy_theme}/Source/icons/24/28.png +0 -0
  1450. data/lib/frameworks/sproutcore/themes/{standard_theme → legacy_theme}/Source/icons/24/29.png +0 -0
  1451. data/lib/frameworks/sproutcore/themes/{standard_theme → legacy_theme}/Source/icons/24/30.png +0 -0
  1452. data/lib/frameworks/sproutcore/themes/{standard_theme → legacy_theme}/Source/icons/24/31.png +0 -0
  1453. data/lib/frameworks/sproutcore/themes/{standard_theme → legacy_theme}/Source/icons/24/33.png +0 -0
  1454. data/lib/frameworks/sproutcore/themes/{standard_theme → legacy_theme}/Source/icons/24/37.png +0 -0
  1455. data/lib/frameworks/sproutcore/themes/{standard_theme → legacy_theme}/Source/icons/24/41.png +0 -0
  1456. data/lib/frameworks/sproutcore/themes/{standard_theme → legacy_theme}/Source/icons/24/99.png +0 -0
  1457. data/lib/frameworks/sproutcore/themes/{standard_theme → legacy_theme}/Source/icons/32/10.png +0 -0
  1458. data/lib/frameworks/sproutcore/themes/{standard_theme → legacy_theme}/Source/icons/32/100.png +0 -0
  1459. data/lib/frameworks/sproutcore/themes/{standard_theme → legacy_theme}/Source/icons/32/102.png +0 -0
  1460. data/lib/frameworks/sproutcore/themes/{standard_theme → legacy_theme}/Source/icons/32/110.png +0 -0
  1461. data/lib/frameworks/sproutcore/themes/{standard_theme → legacy_theme}/Source/icons/32/120.png +0 -0
  1462. data/lib/frameworks/sproutcore/themes/{standard_theme → legacy_theme}/Source/icons/32/127.png +0 -0
  1463. data/lib/frameworks/sproutcore/themes/{standard_theme → legacy_theme}/Source/icons/32/18.png +0 -0
  1464. data/lib/frameworks/sproutcore/themes/{standard_theme → legacy_theme}/Source/icons/32/19.png +0 -0
  1465. data/lib/frameworks/sproutcore/themes/{standard_theme → legacy_theme}/Source/icons/32/2.png +0 -0
  1466. data/lib/frameworks/sproutcore/themes/{standard_theme → legacy_theme}/Source/icons/32/24.png +0 -0
  1467. data/lib/frameworks/sproutcore/themes/{standard_theme → legacy_theme}/Source/icons/32/26.png +0 -0
  1468. data/lib/frameworks/sproutcore/themes/{standard_theme → legacy_theme}/Source/icons/32/27.png +0 -0
  1469. data/lib/frameworks/sproutcore/themes/{standard_theme → legacy_theme}/Source/icons/32/28.png +0 -0
  1470. data/lib/frameworks/sproutcore/themes/{standard_theme → legacy_theme}/Source/icons/32/29.png +0 -0
  1471. data/lib/frameworks/sproutcore/themes/{standard_theme → legacy_theme}/Source/icons/32/30.png +0 -0
  1472. data/lib/frameworks/sproutcore/themes/{standard_theme → legacy_theme}/Source/icons/32/31.png +0 -0
  1473. data/lib/frameworks/sproutcore/themes/{standard_theme → legacy_theme}/Source/icons/32/33.png +0 -0
  1474. data/lib/frameworks/sproutcore/themes/{standard_theme → legacy_theme}/Source/icons/32/37.png +0 -0
  1475. data/lib/frameworks/sproutcore/themes/{standard_theme → legacy_theme}/Source/icons/32/41.png +0 -0
  1476. data/lib/frameworks/sproutcore/themes/{standard_theme → legacy_theme}/Source/icons/32/99.png +0 -0
  1477. data/lib/frameworks/sproutcore/themes/{standard_theme → legacy_theme}/Source/icons/48/10.png +0 -0
  1478. data/lib/frameworks/sproutcore/themes/{standard_theme → legacy_theme}/Source/icons/48/18.png +0 -0
  1479. data/lib/frameworks/sproutcore/themes/{standard_theme → legacy_theme}/Source/icons/48/19.png +0 -0
  1480. data/lib/frameworks/sproutcore/themes/{standard_theme → legacy_theme}/Source/icons/48/2.png +0 -0
  1481. data/lib/frameworks/sproutcore/themes/{standard_theme → legacy_theme}/Source/panel-sprite-x.drawit/Data +0 -0
  1482. data/lib/frameworks/sproutcore/themes/{standard_theme → legacy_theme}/Source/panel-sprite-x.drawit/QuickLook/Preview.jpg +0 -0
  1483. data/lib/frameworks/sproutcore/themes/{standard_theme → legacy_theme}/Source/panel-sprite-x.drawit/QuickLook/Thumbnail.jpg +0 -0
  1484. data/lib/frameworks/sproutcore/themes/{standard_theme → legacy_theme}/Source/panel-sprite-y.drawit/Data +0 -0
  1485. data/lib/frameworks/sproutcore/themes/{standard_theme → legacy_theme}/Source/panel-sprite-y.drawit/QuickLook/Preview.jpg +0 -0
  1486. data/lib/frameworks/sproutcore/themes/{standard_theme → legacy_theme}/Source/panel-sprite-y.drawit/QuickLook/Thumbnail.jpg +0 -0
  1487. data/lib/frameworks/sproutcore/themes/{standard_theme → legacy_theme}/Source/sc-theme-repeat-x-2.psd +0 -0
  1488. data/lib/frameworks/sproutcore/themes/{standard_theme → legacy_theme}/Source/sc-theme-repeat-x.psd +0 -0
  1489. data/lib/frameworks/sproutcore/themes/{standard_theme → legacy_theme}/Source/sc-theme-sprite.psd +0 -0
  1490. data/lib/frameworks/sproutcore/themes/{standard_theme → legacy_theme}/Source/sc-theme-ysprite.psd +0 -0
  1491. data/lib/frameworks/sproutcore/themes/{standard_theme → legacy_theme}/Source/shared-icons.psd +0 -0
  1492. data/lib/frameworks/sproutcore/themes/{standard_theme → legacy_theme}/Source/sproutcore-logo.psd +0 -0
  1493. data/lib/frameworks/sproutcore/themes/{standard_theme → legacy_theme}/Source/sticky-note.psd +0 -0
  1494. data/lib/frameworks/sproutcore/themes/{standard_theme → legacy_theme}/english.lproj/button.css +0 -0
  1495. data/lib/frameworks/sproutcore/themes/{standard_theme → legacy_theme}/english.lproj/checkbox.css +0 -0
  1496. data/lib/frameworks/sproutcore/themes/{standard_theme → legacy_theme}/english.lproj/collection.css +0 -0
  1497. data/lib/frameworks/sproutcore/themes/{standard_theme → legacy_theme}/english.lproj/core.css +0 -0
  1498. data/lib/frameworks/sproutcore/themes/{standard_theme → legacy_theme}/english.lproj/disclosure.css +0 -0
  1499. data/lib/frameworks/sproutcore/themes/{standard_theme → legacy_theme}/english.lproj/images/icons/mini_222222.png +0 -0
  1500. data/lib/frameworks/sproutcore/themes/{standard_theme → legacy_theme}/english.lproj/images/icons/mini_454545.png +0 -0
  1501. data/lib/frameworks/sproutcore/themes/{standard_theme → legacy_theme}/english.lproj/images/icons/mini_888888.png +0 -0
  1502. data/lib/frameworks/sproutcore/themes/{standard_theme → legacy_theme}/english.lproj/images/icons/mini_ffffff.png +0 -0
  1503. data/lib/frameworks/sproutcore/themes/{standard_theme → legacy_theme}/english.lproj/images/panels/sprite-x.png +0 -0
  1504. data/lib/frameworks/sproutcore/themes/{standard_theme → legacy_theme}/english.lproj/images/panels/sprite-y.png +0 -0
  1505. data/lib/frameworks/sproutcore/themes/{standard_theme → legacy_theme}/english.lproj/images/sc-scroller-repeat-x.png +0 -0
  1506. data/lib/frameworks/sproutcore/themes/{standard_theme → legacy_theme}/english.lproj/images/sc-scroller-repeat-y.png +0 -0
  1507. data/lib/frameworks/sproutcore/themes/{standard_theme → legacy_theme}/english.lproj/images/sc-scroller-sprite.png +0 -0
  1508. data/lib/frameworks/sproutcore/themes/{standard_theme → legacy_theme}/english.lproj/images/sc-theme-repeat-x.png +0 -0
  1509. data/lib/frameworks/sproutcore/themes/{standard_theme → legacy_theme}/english.lproj/images/sc-theme-ysprite.png +0 -0
  1510. data/lib/frameworks/sproutcore/themes/{standard_theme → legacy_theme}/english.lproj/images/sc-toolbar-view.png +0 -0
  1511. data/lib/frameworks/sproutcore/themes/{standard_theme → legacy_theme}/english.lproj/label.css +0 -0
  1512. data/lib/frameworks/sproutcore/themes/{standard_theme → legacy_theme}/english.lproj/list_item.css +0 -0
  1513. data/lib/frameworks/sproutcore/themes/{standard_theme → legacy_theme}/english.lproj/menu.css +0 -0
  1514. data/lib/frameworks/sproutcore/themes/{standard_theme → legacy_theme}/english.lproj/menu_item_view.css +0 -0
  1515. data/lib/frameworks/sproutcore/themes/legacy_theme/english.lproj/pane.css +18 -0
  1516. data/lib/frameworks/sproutcore/themes/{standard_theme → legacy_theme}/english.lproj/panel.css +0 -0
  1517. data/lib/frameworks/sproutcore/themes/{standard_theme → legacy_theme}/english.lproj/picker.css +0 -0
  1518. data/lib/frameworks/sproutcore/themes/{standard_theme → legacy_theme}/english.lproj/progress.css +0 -0
  1519. data/lib/frameworks/sproutcore/themes/{standard_theme → legacy_theme}/english.lproj/radio.css +0 -0
  1520. data/lib/frameworks/sproutcore/themes/{standard_theme → legacy_theme}/english.lproj/scroller.css +0 -0
  1521. data/lib/frameworks/sproutcore/themes/legacy_theme/english.lproj/segmented.css +270 -0
  1522. data/lib/frameworks/sproutcore/themes/{standard_theme → legacy_theme}/english.lproj/slider.css +0 -0
  1523. data/lib/frameworks/sproutcore/themes/{standard_theme → legacy_theme}/english.lproj/split_view.css +0 -0
  1524. data/lib/frameworks/sproutcore/themes/{standard_theme → legacy_theme}/english.lproj/tab.css +0 -0
  1525. data/lib/frameworks/sproutcore/themes/{standard_theme → legacy_theme}/english.lproj/table.css +0 -0
  1526. data/lib/frameworks/sproutcore/themes/{standard_theme → legacy_theme}/english.lproj/text_field.css +0 -0
  1527. data/lib/frameworks/sproutcore/themes/{standard_theme → legacy_theme}/english.lproj/toolbar.css +0 -0
  1528. data/lib/frameworks/sproutcore/themes/{standard_theme → legacy_theme}/english.lproj/well.css +0 -0
  1529. data/lib/frameworks/sproutcore/themes/legacy_theme/render_delegates/button.js +89 -0
  1530. data/lib/frameworks/sproutcore/themes/legacy_theme/render_delegates/panel.js +28 -0
  1531. data/lib/frameworks/sproutcore/themes/legacy_theme/render_delegates/progress.js +194 -0
  1532. data/lib/frameworks/sproutcore/themes/legacy_theme/render_delegates/slider.js +67 -0
  1533. data/lib/frameworks/sproutcore/themes/legacy_theme/render_delegates/well.js +27 -0
  1534. data/lib/frameworks/sproutcore/themes/legacy_theme/theme.js +13 -0
  1535. data/lib/gen/app/templates/apps/@target_name@/Buildfile +14 -0
  1536. data/lib/gen/app/templates/apps/@target_name@/theme.js +27 -0
  1537. data/lib/gen/html_app/Buildfile +36 -0
  1538. data/lib/gen/html_app/README +1 -0
  1539. data/lib/gen/html_app/USAGE +15 -0
  1540. data/lib/gen/html_app/templates/apps/@target_name@/@target_name@.js +14 -0
  1541. data/lib/gen/html_app/templates/apps/@target_name@/resources/images/.gitkeep +0 -0
  1542. data/lib/gen/html_app/templates/apps/@target_name@/resources/stylesheets/@target_name@.css +4 -0
  1543. data/lib/gen/html_app/templates/apps/@target_name@/resources/templates/@target_name@.handlebars +1 -0
  1544. data/lib/gen/html_project/Buildfile +45 -0
  1545. data/lib/gen/html_project/INIT +3 -0
  1546. data/lib/gen/html_project/README +1 -0
  1547. data/lib/gen/html_project/USAGE +2 -0
  1548. data/lib/gen/html_project/templates/@filename@/Buildfile +8 -0
  1549. data/lib/gen/html_project/templates/@filename@/README +7 -0
  1550. data/lib/gen/project/templates/@filename@/Buildfile +7 -2
  1551. data/lib/gen/theme/templates/themes/@target_name@/Buildfile +3 -0
  1552. data/lib/gen/theme/templates/themes/@target_name@/theme.js +23 -0
  1553. data/lib/sproutcore.rb +11 -2
  1554. data/lib/sproutcore/builders.rb +4 -2
  1555. data/lib/sproutcore/builders/base.rb +10 -3
  1556. data/lib/sproutcore/builders/chance_file.rb +78 -0
  1557. data/lib/sproutcore/builders/combine.rb +6 -5
  1558. data/lib/sproutcore/builders/handlebars.rb +30 -0
  1559. data/lib/sproutcore/builders/html.rb +2 -0
  1560. data/lib/sproutcore/builders/javascript.rb +15 -2
  1561. data/lib/sproutcore/builders/minify.rb +14 -25
  1562. data/lib/sproutcore/builders/module.rb +74 -0
  1563. data/lib/sproutcore/builders/string_wrapper.rb +41 -0
  1564. data/lib/sproutcore/buildfile.rb +17 -17
  1565. data/lib/sproutcore/buildfile/task.rb +4 -12
  1566. data/lib/sproutcore/buildfile/task_manager.rb +13 -4
  1567. data/lib/sproutcore/helpers.rb +1 -1
  1568. data/lib/sproutcore/helpers/entry_sorter.rb +5 -9
  1569. data/lib/sproutcore/helpers/minifier.rb +110 -0
  1570. data/lib/sproutcore/helpers/static_helper.rb +105 -39
  1571. data/lib/sproutcore/models/generator.rb +16 -0
  1572. data/lib/sproutcore/models/manifest.rb +3 -3
  1573. data/lib/sproutcore/models/manifest_entry.rb +10 -3
  1574. data/lib/sproutcore/models/target.rb +146 -34
  1575. data/lib/sproutcore/rack/dev.rb +3 -3
  1576. data/lib/sproutcore/rack/proxy.rb +1 -1
  1577. data/lib/sproutcore/tools.rb +53 -5
  1578. data/lib/sproutcore/tools/build.rb +10 -16
  1579. data/lib/sproutcore/tools/docs.rb +1 -1
  1580. data/lib/sproutcore/tools/gen.rb +1 -1
  1581. data/lib/sproutcore/tools/init.rb +26 -10
  1582. data/lib/sproutcore/tools/server.rb +9 -1
  1583. data/lib/sproutcore/version.rb +1 -0
  1584. data/spec/buildtasks/manifest/prepare_build_tasks/chance_2x_spec.rb +100 -0
  1585. data/spec/buildtasks/manifest/prepare_build_tasks/chance_spec.rb +104 -0
  1586. data/spec/buildtasks/manifest/prepare_build_tasks/combine_spec.rb +86 -9
  1587. data/spec/buildtasks/manifest/prepare_build_tasks/css_spec.rb +1 -1
  1588. data/spec/buildtasks/manifest/prepare_build_tasks/handlebars_spec.rb +39 -0
  1589. data/spec/buildtasks/manifest/prepare_build_tasks/minify_spec.rb +1 -1
  1590. data/spec/buildtasks/manifest/prepare_build_tasks/module_info_spec.rb +96 -0
  1591. data/spec/buildtasks/manifest/prepare_build_tasks/module_spec.rb +83 -0
  1592. data/spec/buildtasks/manifest/prepare_build_tasks/packed_2x_indirect_spec.rb +191 -0
  1593. data/spec/buildtasks/manifest/prepare_build_tasks/packed_2x_spec.rb +185 -0
  1594. data/spec/buildtasks/manifest/prepare_build_tasks/packed_spec.rb +46 -11
  1595. data/spec/buildtasks/manifest/spec_helper.rb +4 -0
  1596. data/spec/fixtures/builder_tests/Buildfile +11 -9
  1597. data/spec/fixtures/builder_tests/apps/chance_test/Buildfile +14 -0
  1598. data/spec/fixtures/builder_tests/apps/chance_test/core.js +27 -0
  1599. data/spec/fixtures/builder_tests/apps/chance_test/main.js +30 -0
  1600. data/spec/fixtures/builder_tests/apps/chance_test/resources/demo.css +6 -0
  1601. data/spec/fixtures/builder_tests/apps/chance_test/resources/force@2x.png +0 -0
  1602. data/spec/fixtures/builder_tests/apps/chance_test/resources/last_file.css +7 -0
  1603. data/spec/fixtures/builder_tests/apps/chance_test/resources/loading.rhtml +9 -0
  1604. data/spec/fixtures/builder_tests/apps/chance_test/resources/main_page.js +24 -0
  1605. data/spec/fixtures/builder_tests/apps/chance_test/resources/z_first_file.css +6 -0
  1606. data/spec/fixtures/builder_tests/apps/chance_test/theme.js +27 -0
  1607. data/spec/fixtures/builder_tests/apps/handlebars_test/template.handlebars +5 -0
  1608. data/spec/fixtures/builder_tests/apps/module_test/module.js +1 -0
  1609. data/spec/fixtures/builder_tests/apps/module_test/modules/deferred_module/english.lproj/req_style_2.css +0 -0
  1610. data/spec/fixtures/builder_tests/apps/module_test/modules/deferred_module/english.lproj/test.rhtml +1 -0
  1611. data/spec/fixtures/builder_tests/apps/module_test/modules/deferred_module/javascript.js +1 -0
  1612. data/spec/fixtures/builder_tests/apps/module_test/modules/deferred_module/lib/alt_layout.rhtml +0 -0
  1613. data/spec/fixtures/builder_tests/apps/module_test/modules/deferred_module/req_js_2.js +0 -0
  1614. data/spec/fixtures/builder_tests/apps/module_test/modules/dynamic_req_target_1/dynamic_req_js_1.js +0 -0
  1615. data/spec/fixtures/builder_tests/apps/module_test/modules/dynamic_req_target_1/english.lproj/dynamic_req_style_1.css +0 -0
  1616. data/spec/fixtures/builder_tests/apps/module_test/modules/inlined_module/README +0 -0
  1617. data/spec/fixtures/builder_tests/apps/module_test/modules/required_target/english.lproj/req_style_1.css +0 -0
  1618. data/spec/fixtures/builder_tests/apps/module_test/modules/required_target/english.lproj/strings.js +4 -0
  1619. data/spec/fixtures/builder_tests/apps/module_test/modules/required_target/english.lproj/test.rhtml +1 -0
  1620. data/spec/fixtures/builder_tests/apps/module_test/modules/required_target/req_js_1.js +0 -0
  1621. data/spec/fixtures/helper_tests/apps/minifier_test/core.js +8 -0
  1622. data/spec/fixtures/real_world/Buildfile +11 -1
  1623. data/spec/fixtures/real_world/apps/account/modules/preferences/README +0 -0
  1624. data/spec/fixtures/real_world/apps/calendar/modules/preferences/README +0 -0
  1625. data/spec/fixtures/real_world/apps/contacts/modules/preferences/README +0 -0
  1626. data/spec/fixtures/real_world/apps/contacts/modules/printing/README +0 -0
  1627. data/spec/fixtures/real_world/apps/mail/modules/preferences/README +0 -0
  1628. data/spec/fixtures/real_world/apps/mail/modules/printing/README +0 -0
  1629. data/spec/fixtures/real_world/apps/photos/modules/email/README +0 -0
  1630. data/spec/fixtures/real_world/apps/photos/modules/preferences/README +0 -0
  1631. data/spec/fixtures/real_world/frameworks/no_2x/resources/test.css +1 -0
  1632. data/spec/fixtures/real_world/frameworks/no_2x/resources/test.png +0 -0
  1633. data/spec/fixtures/real_world/frameworks/sproutcore/english.lproj/templates/demo.handlebars +4 -0
  1634. data/spec/fixtures/real_world/frameworks/sproutcore/resources/force@2x.png +0 -0
  1635. data/spec/lib/builders/chance_file_spec.rb +44 -0
  1636. data/spec/lib/builders/handlebars_spec.rb +29 -0
  1637. data/spec/lib/builders/module_spec.rb +133 -0
  1638. data/spec/lib/builders/strings_spec.rb +1 -0
  1639. data/spec/lib/helpers/minifier.rb +31 -0
  1640. data/spec/lib/models/project/find_targets_for_spec.rb +1 -1
  1641. data/sproutcore.gemspec +11 -4
  1642. data/vendor/chance/.gitignore +5 -0
  1643. data/vendor/chance/Gemfile +4 -0
  1644. data/vendor/chance/Rakefile +2 -0
  1645. data/vendor/chance/bin/chance +46 -0
  1646. data/vendor/chance/chance.gemspec +28 -0
  1647. data/vendor/chance/lib/chance.rb +156 -0
  1648. data/vendor/chance/lib/chance/instance.rb +330 -0
  1649. data/vendor/chance/lib/chance/instance/data_url.rb +85 -0
  1650. data/vendor/chance/lib/chance/instance/javascript.rb +19 -0
  1651. data/vendor/chance/lib/chance/instance/slicing.rb +181 -0
  1652. data/vendor/chance/lib/chance/instance/spriting.rb +311 -0
  1653. data/vendor/chance/lib/chance/parser.rb +835 -0
  1654. data/vendor/chance/lib/chance/perf.rb +17 -0
  1655. data/vendor/chance/lib/chance/version.rb +3 -0
  1656. data/vendor/chance/lib/tester/test.rb +108 -0
  1657. data/vendor/chance/lib/tester/test_runner.rb +27 -0
  1658. data/vendor/chance/test/case/abc.png +0 -0
  1659. data/vendor/chance/test/case/more/abc.png +0 -0
  1660. data/vendor/chance/test/case/more/another.css +4 -0
  1661. data/vendor/chance/test/case/test1.css +22 -0
  1662. data/vendor/chance/test/case/test2.css +6 -0
  1663. data/vendor/chance/tests/parser/basic/input/test.css +4 -0
  1664. data/vendor/chance/tests/parser/basic/output/test.parsed.css +5 -0
  1665. data/vendor/sproutcore/SCCompiler.jar +0 -0
  1666. data/vendor/sproutcore/lib/args4j-2.0.12.jar +0 -0
  1667. data/vendor/sproutcore/lib/htmlcompressor-0.9.3.jar +0 -0
  1668. data/{lib/sproutcore/vendor/yui-compressor → vendor/sproutcore/lib}/yuicompressor-2.4.2.jar +0 -0
  1669. data/vendor/sproutcore/src/SCCompiler/build.xml +74 -0
  1670. data/vendor/sproutcore/src/SCCompiler/lib/args4j-2.0.12.jar +0 -0
  1671. data/vendor/sproutcore/src/SCCompiler/lib/htmlcompressor-0.9.3.jar +0 -0
  1672. data/vendor/sproutcore/src/SCCompiler/lib/yuicompressor-2.4.2.jar +0 -0
  1673. data/vendor/sproutcore/src/SCCompiler/lib/yuicompressor-2.4.4.jar +0 -0
  1674. data/vendor/sproutcore/src/SCCompiler/manifest.mf +3 -0
  1675. data/vendor/sproutcore/src/SCCompiler/nbproject/build-impl.xml +894 -0
  1676. data/vendor/sproutcore/src/SCCompiler/nbproject/genfiles.properties +8 -0
  1677. data/vendor/sproutcore/src/SCCompiler/nbproject/private/config.properties +0 -0
  1678. data/vendor/sproutcore/src/SCCompiler/nbproject/private/private.properties +10 -0
  1679. data/vendor/sproutcore/src/SCCompiler/nbproject/private/private.xml +4 -0
  1680. data/vendor/sproutcore/src/SCCompiler/nbproject/project.properties +90 -0
  1681. data/vendor/sproutcore/src/SCCompiler/nbproject/project.xml +15 -0
  1682. data/vendor/sproutcore/src/SCCompiler/src/com/sproutcore/Main.java +348 -0
  1683. metadata +1236 -560
  1684. data/lib/frameworks/sproutcore/CHANGELOG +0 -93
  1685. data/lib/frameworks/sproutcore/CHANGELOG-1.4.md +0 -170
  1686. data/lib/frameworks/sproutcore/apps/docs/core.js +0 -27
  1687. data/lib/frameworks/sproutcore/apps/docs/design/Doc Viewer.graffle/QuickLook/Preview.pdf +0 -0
  1688. data/lib/frameworks/sproutcore/apps/docs/design/Doc Viewer.graffle/QuickLook/Thumbnail.tiff +0 -0
  1689. data/lib/frameworks/sproutcore/apps/docs/design/Doc Viewer.graffle/data.plist +0 -14378
  1690. data/lib/frameworks/sproutcore/apps/docs/design/Doc Viewer.graffle/image10.png +0 -0
  1691. data/lib/frameworks/sproutcore/apps/docs/design/Doc Viewer.graffle/image14.png +0 -0
  1692. data/lib/frameworks/sproutcore/apps/docs/design/Doc Viewer.graffle/image9.tiff +0 -0
  1693. data/lib/frameworks/sproutcore/apps/docs/english.lproj/loading.rhtml +0 -9
  1694. data/lib/frameworks/sproutcore/apps/docs/english.lproj/main_page.js +0 -22
  1695. data/lib/frameworks/sproutcore/apps/docs/english.lproj/strings.js +0 -15
  1696. data/lib/frameworks/sproutcore/apps/docs/main.js +0 -30
  1697. data/lib/frameworks/sproutcore/apps/greenhouse/README +0 -25
  1698. data/lib/frameworks/sproutcore/apps/greenhouse/TODO +0 -72
  1699. data/lib/frameworks/sproutcore/apps/greenhouse/controllers/file.js +0 -75
  1700. data/lib/frameworks/sproutcore/apps/greenhouse/controllers/library.js +0 -201
  1701. data/lib/frameworks/sproutcore/apps/greenhouse/core.js +0 -67
  1702. data/lib/frameworks/sproutcore/apps/greenhouse/core_file.js +0 -124
  1703. data/lib/frameworks/sproutcore/apps/greenhouse/data_source.js +0 -250
  1704. data/lib/frameworks/sproutcore/apps/greenhouse/english.lproj/app_page.js +0 -377
  1705. data/lib/frameworks/sproutcore/apps/greenhouse/english.lproj/css/app-selector.css +0 -111
  1706. data/lib/frameworks/sproutcore/apps/greenhouse/english.lproj/css/button.css +0 -310
  1707. data/lib/frameworks/sproutcore/apps/greenhouse/english.lproj/css/dock.css +0 -85
  1708. data/lib/frameworks/sproutcore/apps/greenhouse/english.lproj/css/general.css +0 -52
  1709. data/lib/frameworks/sproutcore/apps/greenhouse/english.lproj/css/main-page.css +0 -120
  1710. data/lib/frameworks/sproutcore/apps/greenhouse/english.lproj/css/menu.css +0 -52
  1711. data/lib/frameworks/sproutcore/apps/greenhouse/english.lproj/css/modal.css +0 -40
  1712. data/lib/frameworks/sproutcore/apps/greenhouse/english.lproj/css/picker.css +0 -188
  1713. data/lib/frameworks/sproutcore/apps/greenhouse/english.lproj/css/tabbed.css +0 -68
  1714. data/lib/frameworks/sproutcore/apps/greenhouse/english.lproj/dialogs.js +0 -302
  1715. data/lib/frameworks/sproutcore/apps/greenhouse/english.lproj/inspectors.js +0 -365
  1716. data/lib/frameworks/sproutcore/apps/greenhouse/english.lproj/strings.js +0 -87
  1717. data/lib/frameworks/sproutcore/apps/greenhouse/main.js +0 -28
  1718. data/lib/frameworks/sproutcore/apps/greenhouse/models/design.js +0 -22
  1719. data/lib/frameworks/sproutcore/apps/greenhouse/models/dir.js +0 -92
  1720. data/lib/frameworks/sproutcore/apps/greenhouse/models/file.js +0 -51
  1721. data/lib/frameworks/sproutcore/apps/greenhouse/states/inspector.js +0 -144
  1722. data/lib/frameworks/sproutcore/apps/greenhouse/states/library.js +0 -133
  1723. data/lib/frameworks/sproutcore/apps/greenhouse/states/main.js +0 -224
  1724. data/lib/frameworks/sproutcore/apps/greenhouse/states/modals.js +0 -291
  1725. data/lib/frameworks/sproutcore/apps/greenhouse/states/ready.js +0 -197
  1726. data/lib/frameworks/sproutcore/apps/greenhouse/tests/views/list_item.js +0 -15
  1727. data/lib/frameworks/sproutcore/apps/greenhouse/views/plist_item.js +0 -39
  1728. data/lib/frameworks/sproutcore/apps/greenhouse/views/tear_off_picker.js +0 -56
  1729. data/lib/frameworks/sproutcore/design/TestRunner Design.graffle/image11.png +0 -0
  1730. data/lib/frameworks/sproutcore/design/TestRunner Design.graffle/image13.png +0 -0
  1731. data/lib/frameworks/sproutcore/design/TestRunner Design.graffle/image8.png +0 -0
  1732. data/lib/frameworks/sproutcore/frameworks/datastore/tests/models/nested_records/parentless.js +0 -134
  1733. data/lib/frameworks/sproutcore/frameworks/datejs/core.js +0 -865
  1734. data/lib/frameworks/sproutcore/frameworks/datejs/english.lproj/en-US.js +0 -186
  1735. data/lib/frameworks/sproutcore/frameworks/datejs/extras.js +0 -332
  1736. data/lib/frameworks/sproutcore/frameworks/datejs/license.js +0 -25
  1737. data/lib/frameworks/sproutcore/frameworks/datejs/parser.js +0 -1116
  1738. data/lib/frameworks/sproutcore/frameworks/datejs/spanish.lproj/es-CO.js +0 -186
  1739. data/lib/frameworks/sproutcore/frameworks/datejs/sugarpak.js +0 -475
  1740. data/lib/frameworks/sproutcore/frameworks/datejs/time.js +0 -269
  1741. data/lib/frameworks/sproutcore/frameworks/datejs/validators/datejs.js +0 -34
  1742. data/lib/frameworks/sproutcore/frameworks/designer/coders/design.js +0 -20
  1743. data/lib/frameworks/sproutcore/frameworks/designer/coders/localization.js +0 -19
  1744. data/lib/frameworks/sproutcore/frameworks/designer/coders/object.js +0 -347
  1745. data/lib/frameworks/sproutcore/frameworks/designer/controllers/controllers.js +0 -16
  1746. data/lib/frameworks/sproutcore/frameworks/designer/controllers/design.js +0 -37
  1747. data/lib/frameworks/sproutcore/frameworks/designer/controllers/designs.js +0 -134
  1748. data/lib/frameworks/sproutcore/frameworks/designer/controllers/page_design.js +0 -170
  1749. data/lib/frameworks/sproutcore/frameworks/designer/controllers/page_files.js +0 -22
  1750. data/lib/frameworks/sproutcore/frameworks/designer/core.js +0 -26
  1751. data/lib/frameworks/sproutcore/frameworks/designer/css/css_rule.js +0 -22
  1752. data/lib/frameworks/sproutcore/frameworks/designer/css/css_style.js +0 -29
  1753. data/lib/frameworks/sproutcore/frameworks/designer/css/css_style_sheet.js +0 -201
  1754. data/lib/frameworks/sproutcore/frameworks/designer/designers/button.js +0 -21
  1755. data/lib/frameworks/sproutcore/frameworks/designer/designers/label.js +0 -16
  1756. data/lib/frameworks/sproutcore/frameworks/designer/designers/object_designer.js +0 -296
  1757. data/lib/frameworks/sproutcore/frameworks/designer/designers/tab.js +0 -18
  1758. data/lib/frameworks/sproutcore/frameworks/designer/designers/text_field.js +0 -15
  1759. data/lib/frameworks/sproutcore/frameworks/designer/designers/view_designer.js +0 -1259
  1760. data/lib/frameworks/sproutcore/frameworks/designer/english.lproj/design_page.js +0 -55
  1761. data/lib/frameworks/sproutcore/frameworks/designer/ext/object.js +0 -26
  1762. data/lib/frameworks/sproutcore/frameworks/designer/ext/page.js +0 -86
  1763. data/lib/frameworks/sproutcore/frameworks/designer/ext/view.js +0 -54
  1764. data/lib/frameworks/sproutcore/frameworks/designer/mixins/button.js +0 -11
  1765. data/lib/frameworks/sproutcore/frameworks/designer/mixins/snap_lines.js +0 -221
  1766. data/lib/frameworks/sproutcore/frameworks/designer/views/designer_drop_target.js +0 -138
  1767. data/lib/frameworks/sproutcore/frameworks/designer/views/drawing.js +0 -219
  1768. data/lib/frameworks/sproutcore/frameworks/designer/views/selection_handles.js +0 -78
  1769. data/lib/frameworks/sproutcore/frameworks/foundation/controllers/array.js +0 -518
  1770. data/lib/frameworks/sproutcore/frameworks/foundation/controllers/controller.js +0 -44
  1771. data/lib/frameworks/sproutcore/frameworks/foundation/controllers/object.js +0 -342
  1772. data/lib/frameworks/sproutcore/frameworks/foundation/english.lproj/core.css +0 -474
  1773. data/lib/frameworks/sproutcore/frameworks/foundation/english.lproj/strings.js +0 -15
  1774. data/lib/frameworks/sproutcore/frameworks/foundation/english.lproj/view.css +0 -57
  1775. data/lib/frameworks/sproutcore/frameworks/foundation/ext/object.js +0 -83
  1776. data/lib/frameworks/sproutcore/frameworks/foundation/ext/run_loop.js +0 -162
  1777. data/lib/frameworks/sproutcore/frameworks/foundation/mixins/inline_text_field.js +0 -585
  1778. data/lib/frameworks/sproutcore/frameworks/foundation/mixins/responder_context.js +0 -269
  1779. data/lib/frameworks/sproutcore/frameworks/foundation/mixins/selection_support.js +0 -250
  1780. data/lib/frameworks/sproutcore/frameworks/foundation/mixins/string.js +0 -543
  1781. data/lib/frameworks/sproutcore/frameworks/foundation/panes/main.js +0 -51
  1782. data/lib/frameworks/sproutcore/frameworks/foundation/panes/pane.js +0 -848
  1783. data/lib/frameworks/sproutcore/frameworks/foundation/protocols/inline_editor_delegate.js +0 -84
  1784. data/lib/frameworks/sproutcore/frameworks/foundation/system/application.js +0 -37
  1785. data/lib/frameworks/sproutcore/frameworks/foundation/system/browser.js +0 -59
  1786. data/lib/frameworks/sproutcore/frameworks/foundation/system/builder.js +0 -210
  1787. data/lib/frameworks/sproutcore/frameworks/foundation/system/bundle.js +0 -337
  1788. data/lib/frameworks/sproutcore/frameworks/foundation/system/cursor.js +0 -131
  1789. data/lib/frameworks/sproutcore/frameworks/foundation/system/datetime.js +0 -1140
  1790. data/lib/frameworks/sproutcore/frameworks/foundation/system/device.js +0 -143
  1791. data/lib/frameworks/sproutcore/frameworks/foundation/system/event.js +0 -894
  1792. data/lib/frameworks/sproutcore/frameworks/foundation/system/image_cache.js +0 -433
  1793. data/lib/frameworks/sproutcore/frameworks/foundation/system/json.js +0 -515
  1794. data/lib/frameworks/sproutcore/frameworks/foundation/system/locale.js +0 -293
  1795. data/lib/frameworks/sproutcore/frameworks/foundation/system/page.js +0 -108
  1796. data/lib/frameworks/sproutcore/frameworks/foundation/system/platform.js +0 -298
  1797. data/lib/frameworks/sproutcore/frameworks/foundation/system/ready.js +0 -197
  1798. data/lib/frameworks/sproutcore/frameworks/foundation/system/render_context.js +0 -988
  1799. data/lib/frameworks/sproutcore/frameworks/foundation/system/request.js +0 -599
  1800. data/lib/frameworks/sproutcore/frameworks/foundation/system/responder.js +0 -124
  1801. data/lib/frameworks/sproutcore/frameworks/foundation/system/response.js +0 -538
  1802. data/lib/frameworks/sproutcore/frameworks/foundation/system/root_responder.js +0 -2068
  1803. data/lib/frameworks/sproutcore/frameworks/foundation/system/time.js +0 -473
  1804. data/lib/frameworks/sproutcore/frameworks/foundation/system/timer.js +0 -551
  1805. data/lib/frameworks/sproutcore/frameworks/foundation/system/utils.js +0 -710
  1806. data/lib/frameworks/sproutcore/frameworks/foundation/tests/controllers/array/array_case.js +0 -218
  1807. data/lib/frameworks/sproutcore/frameworks/foundation/tests/controllers/array/enum_case.js +0 -206
  1808. data/lib/frameworks/sproutcore/frameworks/foundation/tests/controllers/array/null_case.js +0 -64
  1809. data/lib/frameworks/sproutcore/frameworks/foundation/tests/controllers/array/selection_support.js +0 -318
  1810. data/lib/frameworks/sproutcore/frameworks/foundation/tests/controllers/array/single_case.js +0 -136
  1811. data/lib/frameworks/sproutcore/frameworks/foundation/tests/controllers/object/empty_case.js +0 -82
  1812. data/lib/frameworks/sproutcore/frameworks/foundation/tests/controllers/object/multiple_case.js +0 -111
  1813. data/lib/frameworks/sproutcore/frameworks/foundation/tests/controllers/object/single_case.js +0 -193
  1814. data/lib/frameworks/sproutcore/frameworks/foundation/tests/controllers/object/single_enumerable_case.js +0 -265
  1815. data/lib/frameworks/sproutcore/frameworks/foundation/tests/mixins/button/content.js +0 -195
  1816. data/lib/frameworks/sproutcore/frameworks/foundation/tests/mixins/button/displayProperties.js +0 -89
  1817. data/lib/frameworks/sproutcore/frameworks/foundation/tests/mixins/button/keyEquivalents.js +0 -57
  1818. data/lib/frameworks/sproutcore/frameworks/foundation/tests/mixins/button/ui.js +0 -68
  1819. data/lib/frameworks/sproutcore/frameworks/foundation/tests/mixins/control/content.js +0 -168
  1820. data/lib/frameworks/sproutcore/frameworks/foundation/tests/mixins/responder_context.js +0 -75
  1821. data/lib/frameworks/sproutcore/frameworks/foundation/tests/mixins/string.js +0 -83
  1822. data/lib/frameworks/sproutcore/frameworks/foundation/tests/system/builder.js +0 -42
  1823. data/lib/frameworks/sproutcore/frameworks/foundation/tests/system/core_query/jquery_core.js +0 -1334
  1824. data/lib/frameworks/sproutcore/frameworks/foundation/tests/system/core_query/jquery_dimensions.js +0 -387
  1825. data/lib/frameworks/sproutcore/frameworks/foundation/tests/system/core_query/jquery_selector.js +0 -405
  1826. data/lib/frameworks/sproutcore/frameworks/foundation/tests/system/core_query/within.js +0 -66
  1827. data/lib/frameworks/sproutcore/frameworks/foundation/tests/system/datetime.js +0 -382
  1828. data/lib/frameworks/sproutcore/frameworks/foundation/tests/system/json.js +0 -14
  1829. data/lib/frameworks/sproutcore/frameworks/foundation/tests/system/locale.js +0 -134
  1830. data/lib/frameworks/sproutcore/frameworks/foundation/tests/system/render_context/begin.js +0 -47
  1831. data/lib/frameworks/sproutcore/frameworks/foundation/tests/system/render_context/element.js +0 -44
  1832. data/lib/frameworks/sproutcore/frameworks/foundation/tests/system/render_context/end.js +0 -124
  1833. data/lib/frameworks/sproutcore/frameworks/foundation/tests/system/render_context/get.js +0 -51
  1834. data/lib/frameworks/sproutcore/frameworks/foundation/tests/system/render_context/helpers_attr.js +0 -50
  1835. data/lib/frameworks/sproutcore/frameworks/foundation/tests/system/render_context/helpers_basic.js +0 -28
  1836. data/lib/frameworks/sproutcore/frameworks/foundation/tests/system/render_context/helpers_className.js +0 -179
  1837. data/lib/frameworks/sproutcore/frameworks/foundation/tests/system/render_context/helpers_style.js +0 -101
  1838. data/lib/frameworks/sproutcore/frameworks/foundation/tests/system/render_context/init.js +0 -55
  1839. data/lib/frameworks/sproutcore/frameworks/foundation/tests/system/render_context/join.js +0 -28
  1840. data/lib/frameworks/sproutcore/frameworks/foundation/tests/system/render_context/push_text.js +0 -74
  1841. data/lib/frameworks/sproutcore/frameworks/foundation/tests/system/render_context/tag.js +0 -46
  1842. data/lib/frameworks/sproutcore/frameworks/foundation/tests/system/render_context/update.js +0 -218
  1843. data/lib/frameworks/sproutcore/frameworks/foundation/tests/system/request.js +0 -223
  1844. data/lib/frameworks/sproutcore/frameworks/foundation/tests/system/root_responder/makeKeyPane.js +0 -124
  1845. data/lib/frameworks/sproutcore/frameworks/foundation/tests/system/root_responder/makeMainPane.js +0 -68
  1846. data/lib/frameworks/sproutcore/frameworks/foundation/tests/system/root_responder/makeMenuPane.js +0 -48
  1847. data/lib/frameworks/sproutcore/frameworks/foundation/tests/system/root_responder/root_responder.js +0 -101
  1848. data/lib/frameworks/sproutcore/frameworks/foundation/tests/system/root_responder/targetForAction.js +0 -251
  1849. data/lib/frameworks/sproutcore/frameworks/foundation/tests/system/timer/invalidate.js +0 -38
  1850. data/lib/frameworks/sproutcore/frameworks/foundation/tests/system/timer/invokeLater.js +0 -201
  1851. data/lib/frameworks/sproutcore/frameworks/foundation/tests/system/timer/isPaused.js +0 -71
  1852. data/lib/frameworks/sproutcore/frameworks/foundation/tests/system/timer/performAction.js +0 -69
  1853. data/lib/frameworks/sproutcore/frameworks/foundation/tests/system/timer/schedule.js +0 -170
  1854. data/lib/frameworks/sproutcore/frameworks/foundation/tests/system/utils/normalizeURL.js +0 -18
  1855. data/lib/frameworks/sproutcore/frameworks/foundation/tests/system/utils/rect.js +0 -99
  1856. data/lib/frameworks/sproutcore/frameworks/foundation/tests/views/main_pane.js +0 -31
  1857. data/lib/frameworks/sproutcore/frameworks/foundation/tests/views/pane/append_remove.js +0 -124
  1858. data/lib/frameworks/sproutcore/frameworks/foundation/tests/views/pane/firstResponder.js +0 -148
  1859. data/lib/frameworks/sproutcore/frameworks/foundation/tests/views/pane/keyPane.js +0 -133
  1860. data/lib/frameworks/sproutcore/frameworks/foundation/tests/views/pane/layout.js +0 -31
  1861. data/lib/frameworks/sproutcore/frameworks/foundation/tests/views/pane/sendEvent.js +0 -206
  1862. data/lib/frameworks/sproutcore/frameworks/foundation/tests/views/view/clippingFrame.js +0 -133
  1863. data/lib/frameworks/sproutcore/frameworks/foundation/tests/views/view/convertFrames.js +0 -246
  1864. data/lib/frameworks/sproutcore/frameworks/foundation/tests/views/view/convertLayouts.js +0 -145
  1865. data/lib/frameworks/sproutcore/frameworks/foundation/tests/views/view/createChildViews.js +0 -122
  1866. data/lib/frameworks/sproutcore/frameworks/foundation/tests/views/view/createLayer.js +0 -97
  1867. data/lib/frameworks/sproutcore/frameworks/foundation/tests/views/view/destroyLayer.js +0 -83
  1868. data/lib/frameworks/sproutcore/frameworks/foundation/tests/views/view/didAppendToDocument.js +0 -48
  1869. data/lib/frameworks/sproutcore/frameworks/foundation/tests/views/view/findLayerInParentLayer.js +0 -50
  1870. data/lib/frameworks/sproutcore/frameworks/foundation/tests/views/view/init.js +0 -50
  1871. data/lib/frameworks/sproutcore/frameworks/foundation/tests/views/view/insertBefore.js +0 -200
  1872. data/lib/frameworks/sproutcore/frameworks/foundation/tests/views/view/isVisible.js +0 -51
  1873. data/lib/frameworks/sproutcore/frameworks/foundation/tests/views/view/isVisibleInWindow.js +0 -116
  1874. data/lib/frameworks/sproutcore/frameworks/foundation/tests/views/view/layer.js +0 -150
  1875. data/lib/frameworks/sproutcore/frameworks/foundation/tests/views/view/layoutChildViews.js +0 -162
  1876. data/lib/frameworks/sproutcore/frameworks/foundation/tests/views/view/layoutDidChange.js +0 -127
  1877. data/lib/frameworks/sproutcore/frameworks/foundation/tests/views/view/layoutStyle.js +0 -531
  1878. data/lib/frameworks/sproutcore/frameworks/foundation/tests/views/view/nextValidKeyView.js +0 -110
  1879. data/lib/frameworks/sproutcore/frameworks/foundation/tests/views/view/parentViewDidChange.js +0 -67
  1880. data/lib/frameworks/sproutcore/frameworks/foundation/tests/views/view/prepareContext.js +0 -180
  1881. data/lib/frameworks/sproutcore/frameworks/foundation/tests/views/view/removeChild.js +0 -189
  1882. data/lib/frameworks/sproutcore/frameworks/foundation/tests/views/view/render.js +0 -83
  1883. data/lib/frameworks/sproutcore/frameworks/foundation/tests/views/view/replaceChild.js +0 -29
  1884. data/lib/frameworks/sproutcore/frameworks/foundation/tests/views/view/updateLayer.js +0 -146
  1885. data/lib/frameworks/sproutcore/frameworks/foundation/tests/views/view/updateLayerLocation.js +0 -194
  1886. data/lib/frameworks/sproutcore/frameworks/foundation/tests/views/view/viewDidResize.js +0 -202
  1887. data/lib/frameworks/sproutcore/frameworks/foundation/views/view.js +0 -3313
  1888. data/lib/frameworks/sproutcore/frameworks/runtime/mixins/delegate_support.js +0 -110
  1889. data/lib/frameworks/sproutcore/frameworks/runtime/protocols/observable_protocol.js +0 -40
  1890. data/lib/frameworks/sproutcore/frameworks/runtime/protocols/sparse_array_delegate.js +0 -131
  1891. data/lib/frameworks/sproutcore/frameworks/runtime/system/cookie.js +0 -160
  1892. data/lib/frameworks/sproutcore/frameworks/runtime/system/selection_set.js +0 -697
  1893. data/lib/frameworks/sproutcore/frameworks/runtime/system/sparse_array.js +0 -379
  1894. data/lib/frameworks/sproutcore/frameworks/runtime/tests/mixins/enumerable.js +0 -622
  1895. data/lib/frameworks/sproutcore/frameworks/runtime/tests/system/cookie.js +0 -163
  1896. data/lib/frameworks/sproutcore/frameworks/runtime/tests/system/selection_set/add.js +0 -92
  1897. data/lib/frameworks/sproutcore/frameworks/runtime/tests/system/selection_set/copy.js +0 -17
  1898. data/lib/frameworks/sproutcore/frameworks/runtime/tests/system/selection_set/indexSetForSource.js +0 -98
  1899. data/lib/frameworks/sproutcore/frameworks/runtime/tests/system/selection_set/isEqual.js +0 -60
  1900. data/lib/frameworks/sproutcore/frameworks/runtime/tests/system/selection_set/remove.js +0 -111
  1901. data/lib/frameworks/sproutcore/frameworks/runtime/tests/system/sparse_array.js +0 -194
  1902. data/lib/frameworks/sproutcore/frameworks/statechart/mixins/statechart.js +0 -336
  1903. data/lib/frameworks/sproutcore/frameworks/statechart/tests/basic.js +0 -90
  1904. data/lib/frameworks/sproutcore/frameworks/statechart/tests/history.js +0 -71
  1905. data/lib/frameworks/sproutcore/frameworks/statechart/tests/nested.js +0 -59
  1906. data/lib/frameworks/sproutcore/frameworks/statechart/tests/transient.js +0 -148
  1907. data/lib/frameworks/sproutcore/frameworks/testing/jquery.js +0 -3559
  1908. data/lib/frameworks/sproutcore/frameworks/testing/qunit.js +0 -827
  1909. data/lib/frameworks/sproutcore/themes/standard_theme/english.lproj/pane.css +0 -18
  1910. data/lib/frameworks/sproutcore/themes/standard_theme/english.lproj/segmented.css +0 -275
  1911. data/lib/sproutcore/builders/bundle.rb +0 -63
  1912. data/lib/sproutcore/buildfile/cloneable.rb +0 -34
  1913. data/lib/sproutcore/vendor/yui-compressor/SCyuicompressor-2.4.2.jar +0 -0
  1914. data/spec/buildtasks/manifest/prepare_build_tasks/bundle_spec.rb +0 -254
  1915. data/spec/fixtures/builder_tests/apps/bundle_test/bundle.js +0 -1
  1916. data/spec/lib/builders/bundle_spec.rb +0 -295
@@ -1,39 +1,42 @@
1
1
  // ==========================================================================
2
2
  // Project: SproutCore Costello - Property Observing Library
3
3
  // Copyright: ©2006-2011 Strobe Inc. and contributors.
4
- // Portions ©2008-2010 Apple Inc. All rights reserved.
4
+ // Portions ©2008-2011 Apple Inc. All rights reserved.
5
5
  // License: Licensed under MIT license (see license.js)
6
6
  // ==========================================================================
7
7
 
8
8
  /**
9
- @namespace
10
-
9
+ @class
10
+
11
11
  Implements some standard methods for comparing objects. Add this mixin to
12
12
  any class you create that can compare its instances.
13
-
13
+
14
14
  You should implement the compare() method.
15
-
15
+
16
16
  @since SproutCore 1.0
17
17
  */
18
18
  SC.Comparable = {
19
-
19
+
20
20
  /**
21
21
  walk like a duck. Indicates that the object can be compared.
22
-
22
+
23
23
  @type Boolean
24
24
  */
25
25
  isComparable: YES,
26
-
26
+
27
27
  /**
28
28
  Override to return the result of the comparison of the two parameters. The
29
29
  compare method should return
30
+
31
+ <pre>
30
32
  -1 if a < b
31
33
  0 if a == b
32
34
  1 if a > b
33
-
34
- Default implementation raises
35
- an exception.
36
-
35
+ </pre>
36
+
37
+
38
+ Default implementation raises an exception.
39
+
37
40
  @param a {Object} the first object to compare
38
41
  @param b {Object} the second object to compare
39
42
  @returns {Integer} the result of the comparison
@@ -41,5 +44,5 @@ SC.Comparable = {
41
44
  compare: function(a, b) {
42
45
  throw "%@.compare() is not implemented".fmt(this.toString());
43
46
  }
44
-
47
+
45
48
  };
@@ -1,33 +1,33 @@
1
1
  // ==========================================================================
2
2
  // Project: SproutCore Costello - Property Observing Library
3
3
  // Copyright: ©2006-2011 Strobe Inc. and contributors.
4
- // Portions ©2008-2010 Apple Inc. All rights reserved.
4
+ // Portions ©2008-2011 Apple Inc. All rights reserved.
5
5
  // License: Licensed under MIT license (see license.js)
6
6
  // ==========================================================================
7
7
 
8
8
  /**
9
- @namespace
10
-
9
+ @class
10
+
11
11
  Impelements some standard methods for copying an object. Add this mixin to
12
- any object you create that can create a copy of itself. This mixin is
12
+ any object you create that can create a copy of itself. This mixin is
13
13
  added automatically to the built-in array.
14
-
15
- You should generally implement the copy() method to return a copy of the
14
+
15
+ You should generally implement the copy() method to return a copy of the
16
16
  receiver.
17
-
17
+
18
18
  Note that frozenCopy() will only work if you also implement SC.Freezable.
19
19
 
20
20
  @since SproutCore 1.0
21
21
  */
22
- SC.Copyable = {
23
-
22
+ SC.Copyable = /** @scope SC.Copyable.prototype */{
23
+
24
24
  /**
25
25
  Walk like a duck. Indicates that the object can be copied.
26
-
26
+
27
27
  @type Boolean
28
28
  */
29
29
  isCopyable: YES,
30
-
30
+
31
31
  /**
32
32
  Override to return a copy of the receiver. Default implementation raises
33
33
  an exception.
@@ -38,18 +38,18 @@ SC.Copyable = {
38
38
  copy: function(deep) {
39
39
  throw "%@.copy() is not implemented";
40
40
  },
41
-
41
+
42
42
  /**
43
- If the object implements SC.Freezable, then this will return a new copy
44
- if the object is not frozen and the receiver if the object is frozen.
45
-
43
+ If the object implements SC.Freezable, then this will return a new copy
44
+ if the object is not frozen and the receiver if the object is frozen.
45
+
46
46
  Raises an exception if you try to call this method on a object that does
47
47
  not support freezing.
48
-
48
+
49
49
  You should use this method whenever you want a copy of a freezable object
50
- since a freezable object can simply return itself without actually
50
+ since a freezable object can simply return itself without actually
51
51
  consuming more memory.
52
-
52
+
53
53
  @returns {Object} copy of receiver or receiver
54
54
  */
55
55
  frozenCopy: function() {
@@ -62,6 +62,13 @@ SC.Copyable = {
62
62
 
63
63
  // Make Array copyable
64
64
  SC.mixin(Array.prototype, SC.Copyable);
65
+ /**
66
+ Override to return a copy of the receiver. Default implementation raises
67
+ an exception.
68
+
69
+ @param deep {Boolean} if true, a deep copy of the object should be made
70
+ @returns {Object} copy of receiver
71
+ */
65
72
  Array.prototype.copy = function(deep) {
66
73
  var ret = this.slice(), idx;
67
74
  if (deep) {
@@ -1,122 +1,125 @@
1
1
  // ==========================================================================
2
2
  // Project: SproutCore Costello - Property Observing Library
3
3
  // Copyright: ©2006-2011 Strobe Inc. and contributors.
4
- // Portions ©2008-2010 Apple Inc. All rights reserved.
4
+ // Portions ©2008-2011 Apple Inc. All rights reserved.
5
5
  // License: Licensed under MIT license (see license.js)
6
6
  // ==========================================================================
7
7
 
8
- require('core') ;
9
- require('system/enumerator');
8
+ sc_require('core') ;
9
+ sc_require('ext/function');
10
+ sc_require('system/enumerator');
10
11
 
11
12
  /*globals Prototype */
12
13
 
13
14
  /**
14
- @namespace
15
+ @class
15
16
 
16
- This mixin defines the common interface implemented by enumerable objects
17
+ This mixin defines the common interface implemented by enumerable objects
17
18
  in SproutCore. Most of these methods follow the standard Array iteration
18
19
  API defined up to JavaScript 1.8 (excluding language-specific features that
19
20
  cannot be emulated in older versions of JavaScript).
20
-
21
+
21
22
  This mixin is applied automatically to the Array class on page load, so you
22
23
  can use any of these methods on simple arrays. If Array already implements
23
24
  one of these methods, the mixin will not override them.
24
-
25
- h3. Writing Your Own Enumerable
25
+
26
+ Writing Your Own Enumerable
27
+ -----
26
28
 
27
29
  To make your own custom class enumerable, you need two items:
28
-
30
+
29
31
  1. You must have a length property. This property should change whenever
30
32
  the number of items in your enumerable object changes. If you using this
31
- with an SC.Object subclass, you should be sure to change the length
33
+ with an SC.Object subclass, you should be sure to change the length
32
34
  property using set().
33
-
34
- 2. If you must implement nextObject(). See documentation.
35
-
36
- Once you have these two methods implement, apply the SC.Enumerable mixin
35
+
36
+ 2. You must implement nextObject(). See documentation.
37
+
38
+ Once you have these two methods implemented, apply the SC.Enumerable mixin
37
39
  to your class and you will be able to enumerate the contents of your object
38
40
  like any other collection.
39
-
40
- h3. Using SproutCore Enumeration with Other Libraries
41
-
41
+
42
+ Using SproutCore Enumeration with Other Libraries
43
+ -----
44
+
42
45
  Many other libraries provide some kind of iterator or enumeration like
43
- facility. This is often where the most common API conflicts occur.
44
- SproutCore's API is designed to be as friendly as possible with other
46
+ facility. This is often where the most common API conflicts occur.
47
+ SproutCore's API is designed to be as friendly as possible with other
45
48
  libraries by implementing only methods that mostly correspond to the
46
- JavaScript 1.8 API.
47
-
49
+ JavaScript 1.8 API.
50
+
48
51
  @since SproutCore 1.0
49
52
  */
50
- SC.Enumerable = {
53
+ SC.Enumerable = /** @scope SC.Enumerable.prototype */{
51
54
 
52
- /**
55
+ /**
53
56
  Walk like a duck.
54
-
55
- @property {Boolean}
57
+
58
+ @type Boolean
56
59
  */
57
60
  isEnumerable: YES,
58
-
61
+
59
62
  /**
60
63
  Implement this method to make your class enumerable.
61
-
64
+
62
65
  This method will be call repeatedly during enumeration. The index value
63
66
  will always begin with 0 and increment monotonically. You don't have to
64
67
  rely on the index value to determine what object to return, but you should
65
68
  always check the value and start from the beginning when you see the
66
69
  requested index is 0.
67
-
70
+
68
71
  The previousObject is the object that was returned from the last call
69
- to nextObject for the current iteration. This is a useful way to
72
+ to nextObject for the current iteration. This is a useful way to
70
73
  manage iteration if you are tracing a linked list, for example.
71
-
72
- Finally the context paramter will always contain a hash you can use as
74
+
75
+ Finally the context paramter will always contain a hash you can use as
73
76
  a "scratchpad" to maintain any other state you need in order to iterate
74
- properly. The context object is reused and is not reset between
77
+ properly. The context object is reused and is not reset between
75
78
  iterations so make sure you setup the context with a fresh state whenever
76
79
  the index parameter is 0.
77
-
80
+
78
81
  Generally iterators will continue to call nextObject until the index
79
- reaches the your current length-1. If you run out of data before this
82
+ reaches the your current length-1. If you run out of data before this
80
83
  time for some reason, you should simply return undefined.
81
-
84
+
82
85
  The default impementation of this method simply looks up the index.
83
86
  This works great on any Array-like objects.
84
-
85
- @param index {Number} the current index of the iteration
86
- @param previousObject {Object} the value returned by the last call to nextObject.
87
- @param context {Object} a context object you can use to maintain state.
88
- @returns {Object} the next object in the iteration or undefined
89
- */
87
+
88
+ @param {Number} index the current index of the iteration
89
+ @param {Object} previousObject the value returned by the last call to nextObject.
90
+ @param {Object} context a context object you can use to maintain state.
91
+ @returns {Object} the next object in the iteration or undefined
92
+ */
90
93
  nextObject: function(index, previousObject, context) {
91
94
  return this.objectAt ? this.objectAt(index) : this[index] ;
92
95
  },
93
-
96
+
94
97
  /**
95
98
  Helper method returns the first object from a collection. This is usually
96
- used by bindings and other parts of the framework to extract a single
99
+ used by bindings and other parts of the framework to extract a single
97
100
  object if the enumerable contains only one item.
98
-
99
- If you override this method, you should implement it so that it will
101
+
102
+ If you override this method, you should implement it so that it will
100
103
  always return the same value each time it is called. If your enumerable
101
104
  contains only one object, this method should always return that object.
102
105
  If your enumerable is empty, this method should return undefined.
103
-
106
+
104
107
  @returns {Object} the object or undefined
105
108
  */
106
109
  firstObject: function() {
107
110
  if (this.get('length')===0) return undefined ;
108
111
  if (this.objectAt) return this.objectAt(0); // support arrays out of box
109
-
112
+
110
113
  // handle generic enumerables
111
114
  var context = SC.Enumerator._popContext(), ret;
112
115
  ret = this.nextObject(0, null, context);
113
- context = SC.Enumerator._pushContext(context);
116
+ context = SC.Enumerator._pushContext(context);
114
117
  return ret ;
115
118
  }.property(),
116
-
119
+
117
120
  /**
118
121
  Helper method returns the last object from a collection.
119
-
122
+
120
123
  @returns {Object} the object or undefined
121
124
  */
122
125
  lastObject: function() {
@@ -124,45 +127,43 @@ SC.Enumerable = {
124
127
  if (len===0) return undefined ;
125
128
  if (this.objectAt) return this.objectAt(len-1); // support arrays out of box
126
129
  }.property(),
127
-
130
+
128
131
  /**
129
132
  Returns a new enumerator for this object. See SC.Enumerator for
130
133
  documentation on how to use this object. Enumeration is an alternative
131
134
  to using one of the other iterators described here.
132
-
135
+
133
136
  @returns {SC.Enumerator} an enumerator for the receiver
134
137
  */
135
138
  enumerator: function() { return SC.Enumerator.create(this); },
136
-
139
+
137
140
  /**
138
141
  Iterates through the enumerable, calling the passed function on each
139
- item. This method corresponds to the forEach() method defined in
142
+ item. This method corresponds to the forEach() method defined in
140
143
  JavaScript 1.6.
141
-
144
+
142
145
  The callback method you provide should have the following signature (all
143
146
  parameters are optional):
144
-
145
- {{{
146
- function(item, index, enumerable) ;
147
- }}}
148
-
147
+
148
+ function(item, index, enumerable) ;
149
+
149
150
  - *item* is the current item in the iteration.
150
151
  - *index* is the current index in the iteration
151
152
  - *enumerable* is the enumerable object itself.
152
-
153
+
153
154
  Note that in addition to a callback, you can also pass an optional target
154
155
  object that will be set as "this" on the context. This is a good way
155
156
  to give your iterator function access to the current object.
156
-
157
- @params callback {Function} the callback to execute
158
- @params target {Object} the target object to use
157
+
158
+ @param {Function} callback the callback to execute
159
+ @param {Object} target the target object to use
159
160
  @returns {Object} this
160
161
  */
161
162
  forEach: function(callback, target) {
162
163
  if (typeof callback !== "function") throw new TypeError() ;
163
164
  var len = this.get ? this.get('length') : this.length ;
164
165
  if (target === undefined) target = null;
165
-
166
+
166
167
  var last = null ;
167
168
  var context = SC.Enumerator._popContext();
168
169
  for(var idx=0;idx<len;idx++) {
@@ -174,13 +175,13 @@ SC.Enumerable = {
174
175
  context = SC.Enumerator._pushContext(context);
175
176
  return this ;
176
177
  },
177
-
178
+
178
179
  /**
179
180
  Retrieves the named value on each member object. This is more efficient
180
- than using one of the wrapper methods defined here. Objects that
181
+ than using one of the wrapper methods defined here. Objects that
181
182
  implement SC.Observable will use the get() method, otherwise the property
182
183
  will be accessed directly.
183
-
184
+
184
185
  @param {String} key the key to retrieve
185
186
  @returns {Array} extracted values
186
187
  */
@@ -195,7 +196,7 @@ SC.Enumerable = {
195
196
  efficient than using other methods defined on this helper. If the object
196
197
  implements SC.Observable, the value will be changed to set(), otherwise
197
198
  it will be set directly. null objects are skipped.
198
-
199
+
199
200
  @param {String} key the key to set
200
201
  @param {Object} value the object to set
201
202
  @returns {Object} receiver
@@ -209,37 +210,35 @@ SC.Enumerable = {
209
210
  }, this);
210
211
  return this ;
211
212
  },
212
-
213
+
213
214
  /**
214
- Maps all of the items in the enumeration to another value, returning
215
+ Maps all of the items in the enumeration to another value, returning
215
216
  a new array. This method corresponds to map() defined in JavaScript 1.6.
216
-
217
+
217
218
  The callback method you provide should have the following signature (all
218
219
  parameters are optional):
219
-
220
- {{{
221
- function(item, index, enumerable) ;
222
- }}}
223
-
220
+
221
+ function(item, index, enumerable) ;
222
+
224
223
  - *item* is the current item in the iteration.
225
224
  - *index* is the current index in the iteration
226
225
  - *enumerable* is the enumerable object itself.
227
-
226
+
228
227
  It should return the mapped value.
229
-
228
+
230
229
  Note that in addition to a callback, you can also pass an optional target
231
230
  object that will be set as "this" on the context. This is a good way
232
231
  to give your iterator function access to the current object.
233
-
234
- @params callback {Function} the callback to execute
235
- @params target {Object} the target object to use
232
+
233
+ @param {Function} callback the callback to execute
234
+ @param {Object} target the target object to use
236
235
  @returns {Array} The mapped array.
237
236
  */
238
237
  map: function(callback, target) {
239
238
  if (typeof callback !== "function") throw new TypeError() ;
240
239
  var len = this.get ? this.get('length') : this.length ;
241
240
  if (target === undefined) target = null;
242
-
241
+
243
242
  var ret = [];
244
243
  var last = null ;
245
244
  var context = SC.Enumerator._popContext();
@@ -256,47 +255,45 @@ SC.Enumerable = {
256
255
  /**
257
256
  Similar to map, this specialized function returns the value of the named
258
257
  property on all items in the enumeration.
259
-
260
- @params key {String} name of the property
258
+
259
+ @param {String} key name of the property
261
260
  @returns {Array} The mapped array.
262
261
  */
263
262
  mapProperty: function(key) {
264
- return this.map(function(next) {
263
+ return this.map(function(next) {
265
264
  return next ? (next.get ? next.get(key) : next[key]) : null;
266
265
  });
267
266
  },
268
267
 
269
268
  /**
270
269
  Returns an array with all of the items in the enumeration that the passed
271
- function returns YES for. This method corresponds to filter() defined in
270
+ function returns YES for. This method corresponds to filter() defined in
272
271
  JavaScript 1.6.
273
-
272
+
274
273
  The callback method you provide should have the following signature (all
275
274
  parameters are optional):
276
-
277
- {{{
278
- function(item, index, enumerable) ;
279
- }}}
280
-
275
+
276
+ function(item, index, enumerable) ;
277
+
281
278
  - *item* is the current item in the iteration.
282
279
  - *index* is the current index in the iteration
283
280
  - *enumerable* is the enumerable object itself.
284
-
281
+
285
282
  It should return the YES to include the item in the results, NO otherwise.
286
-
283
+
287
284
  Note that in addition to a callback, you can also pass an optional target
288
285
  object that will be set as "this" on the context. This is a good way
289
286
  to give your iterator function access to the current object.
290
-
291
- @params callback {Function} the callback to execute
292
- @params target {Object} the target object to use
287
+
288
+ @param {Function} callback the callback to execute
289
+ @param {Object} target the target object to use
293
290
  @returns {Array} A filtered array.
294
291
  */
295
292
  filter: function(callback, target) {
296
293
  if (typeof callback !== "function") throw new TypeError() ;
297
294
  var len = this.get ? this.get('length') : this.length ;
298
295
  if (target === undefined) target = null;
299
-
296
+
300
297
  var ret = [];
301
298
  var last = null ;
302
299
  var context = SC.Enumerator._popContext();
@@ -310,11 +307,11 @@ SC.Enumerable = {
310
307
  return ret ;
311
308
  },
312
309
 
313
- /**
310
+ /**
314
311
  Returns an array sorted by the value of the passed key parameters.
315
312
  null objects will be sorted first. You can pass either an array of keys
316
313
  or multiple parameters which will act as key names
317
-
314
+
318
315
  @param {String} key one or more key names
319
316
  @returns {Array}
320
317
  */
@@ -322,18 +319,18 @@ SC.Enumerable = {
322
319
  var keys = (typeof key === SC.T_STRING) ? arguments : key,
323
320
  len = keys.length,
324
321
  src;
325
-
326
- // get the src array to sort
322
+
323
+ // get the src array to sort
327
324
  if (this instanceof Array) src = this;
328
325
  else {
329
326
  src = [];
330
327
  this.forEach(function(i) { src.push(i); });
331
328
  }
332
-
329
+
333
330
  if (!src) return [];
334
331
  return src.sort(function(a,b) {
335
332
  var idx, key, aValue, bValue, ret = 0;
336
-
333
+
337
334
  for(idx=0;ret===0 && idx<len;idx++) {
338
335
  key = keys[idx];
339
336
  aValue = a ? (a.get ? a.get(key) : a[key]) : null;
@@ -343,15 +340,15 @@ SC.Enumerable = {
343
340
  return ret ;
344
341
  });
345
342
  },
346
-
343
+
347
344
 
348
345
  /**
349
346
  Returns an array with just the items with the matched property. You
350
347
  can pass an optional second argument with the target value. Otherwise
351
348
  this will match any property that evaluates to true.
352
-
353
- @params key {String} the property to test
354
- @param value {String} optional value to test against.
349
+
350
+ @param {String} key the property to test
351
+ @param {String} value optional value to test against.
355
352
  @returns {Array} filtered array
356
353
  */
357
354
  filterProperty: function(key, value) {
@@ -370,7 +367,7 @@ SC.Enumerable = {
370
367
  context = SC.Enumerator._pushContext(context);
371
368
  return ret ;
372
369
  },
373
-
370
+
374
371
  /**
375
372
  Returns the first item in the array for which the callback returns YES.
376
373
  This method works similar to the filter() method defined in JavaScript 1.6
@@ -379,9 +376,7 @@ SC.Enumerable = {
379
376
  The callback method you provide should have the following signature (all
380
377
  parameters are optional):
381
378
 
382
- {{{
383
- function(item, index, enumerable) ;
384
- }}}
379
+ function(item, index, enumerable) ;
385
380
 
386
381
  - *item* is the current item in the iteration.
387
382
  - *index* is the current index in the iteration
@@ -393,8 +388,8 @@ SC.Enumerable = {
393
388
  object that will be set as "this" on the context. This is a good way
394
389
  to give your iterator function access to the current object.
395
390
 
396
- @params callback {Function} the callback to execute
397
- @params target {Object} the target object to use
391
+ @param {Function} callback the callback to execute
392
+ @param {Object} target the target object to use
398
393
  @returns {Object} Found item or null.
399
394
  */
400
395
  find: function(callback, target) {
@@ -417,11 +412,11 @@ SC.Enumerable = {
417
412
  Returns an the first item with a property matching the passed value. You
418
413
  can pass an optional second argument with the target value. Otherwise
419
414
  this will match any property that evaluates to true.
420
-
415
+
421
416
  This method works much like the more generic find() method.
422
-
423
- @params key {String} the property to test
424
- @param value {String} optional value to test against.
417
+
418
+ @param {String} key the property to test
419
+ @param {String} value optional value to test against.
425
420
  @returns {Object} found item or null
426
421
  */
427
422
  findProperty: function(key, value) {
@@ -439,43 +434,39 @@ SC.Enumerable = {
439
434
  context = SC.Enumerator._pushContext(context);
440
435
  return ret ;
441
436
  },
442
-
437
+
443
438
  /**
444
439
  Returns YES if the passed function returns YES for every item in the
445
440
  enumeration. This corresponds with the every() method in JavaScript 1.6.
446
-
441
+
447
442
  The callback method you provide should have the following signature (all
448
443
  parameters are optional):
449
-
450
- {{{
451
- function(item, index, enumerable) ;
452
- }}}
453
-
444
+
445
+ function(item, index, enumerable) ;
446
+
454
447
  - *item* is the current item in the iteration.
455
448
  - *index* is the current index in the iteration
456
449
  - *enumerable* is the enumerable object itself.
457
-
450
+
458
451
  It should return the YES or NO.
459
-
452
+
460
453
  Note that in addition to a callback, you can also pass an optional target
461
454
  object that will be set as "this" on the context. This is a good way
462
455
  to give your iterator function access to the current object.
463
-
464
- h4. Example Usage
465
-
466
- {{{
467
- if (people.every(isEngineer)) { Paychecks.addBigBonus(); }
468
- }}}
469
-
470
- @params callback {Function} the callback to execute
471
- @params target {Object} the target object to use
472
- @returns {Boolean}
456
+
457
+ Example Usage:
458
+
459
+ if (people.every(isEngineer)) { Paychecks.addBigBonus(); }
460
+
461
+ @param {Function} callback the callback to execute
462
+ @param {Object} target the target object to use
463
+ @returns {Boolean}
473
464
  */
474
465
  every: function(callback, target) {
475
466
  if (typeof callback !== "function") throw new TypeError() ;
476
467
  var len = this.get ? this.get('length') : this.length ;
477
468
  if (target === undefined) target = null;
478
-
469
+
479
470
  var ret = YES;
480
471
  var last = null ;
481
472
  var context = SC.Enumerator._popContext();
@@ -493,8 +484,8 @@ SC.Enumerable = {
493
484
  Returns YES if the passed property resolves to true for all items in the
494
485
  enumerable. This method is often simpler/faster than using a callback.
495
486
 
496
- @params key {String} the property to test
497
- @param value {String} optional value to test against.
487
+ @param {String} key the property to test
488
+ @param {String} value optional value to test against.
498
489
  @returns {Array} filtered array
499
490
  */
500
491
  everyProperty: function(key, value) {
@@ -512,44 +503,40 @@ SC.Enumerable = {
512
503
  context = SC.Enumerator._pushContext(context);
513
504
  return ret ;
514
505
  },
515
-
516
-
506
+
507
+
517
508
  /**
518
- Returns YES if the passed function returns true for any item in the
509
+ Returns YES if the passed function returns true for any item in the
519
510
  enumeration. This corresponds with the every() method in JavaScript 1.6.
520
-
511
+
521
512
  The callback method you provide should have the following signature (all
522
513
  parameters are optional):
523
-
524
- {{{
525
- function(item, index, enumerable) ;
526
- }}}
527
-
514
+
515
+ function(item, index, enumerable) ;
516
+
528
517
  - *item* is the current item in the iteration.
529
518
  - *index* is the current index in the iteration
530
519
  - *enumerable* is the enumerable object itself.
531
-
520
+
532
521
  It should return the YES to include the item in the results, NO otherwise.
533
-
522
+
534
523
  Note that in addition to a callback, you can also pass an optional target
535
524
  object that will be set as "this" on the context. This is a good way
536
525
  to give your iterator function access to the current object.
537
-
538
- h4. Usage Example
539
-
540
- {{{
541
- if (people.some(isManager)) { Paychecks.addBiggerBonus(); }
542
- }}}
543
-
544
- @params callback {Function} the callback to execute
545
- @params target {Object} the target object to use
526
+
527
+ Usage Example:
528
+
529
+ if (people.some(isManager)) { Paychecks.addBiggerBonus(); }
530
+
531
+ @param {Function} callback the callback to execute
532
+ @param {Object} target the target object to use
546
533
  @returns {Array} A filtered array.
547
534
  */
548
535
  some: function(callback, target) {
549
536
  if (typeof callback !== "function") throw new TypeError() ;
550
537
  var len = this.get ? this.get('length') : this.length ;
551
538
  if (target === undefined) target = null;
552
-
539
+
553
540
  var ret = NO;
554
541
  var last = null ;
555
542
  var context = SC.Enumerator._popContext();
@@ -567,9 +554,9 @@ SC.Enumerable = {
567
554
  Returns YES if the passed property resolves to true for any item in the
568
555
  enumerable. This method is often simpler/faster than using a callback.
569
556
 
570
- @params key {String} the property to test
571
- @param value {String} optional value to test against.
572
- @returns {Boolean} YES
557
+ @param {String} key the property to test
558
+ @param {String} value optional value to test against.
559
+ @returns {Boolean} YES
573
560
  */
574
561
  someProperty: function(key, value) {
575
562
  var len = this.get ? this.get('length') : this.length ;
@@ -588,17 +575,15 @@ SC.Enumerable = {
588
575
  },
589
576
 
590
577
  /**
591
- This will combine the values of the enumerator into a single value. It
578
+ This will combine the values of the enumerator into a single value. It
592
579
  is a useful way to collect a summary value from an enumeration. This
593
580
  corresponds to the reduce() method defined in JavaScript 1.8.
594
-
581
+
595
582
  The callback method you provide should have the following signature (all
596
583
  parameters are optional):
597
-
598
- {{{
599
- function(previousValue, item, index, enumerable) ;
600
- }}}
601
-
584
+
585
+ function(previousValue, item, index, enumerable) ;
586
+
602
587
  - *previousValue* is the value returned by the last call to the iterator.
603
588
  - *item* is the current item in the iteration.
604
589
  - *index* is the current index in the iteration
@@ -610,14 +595,14 @@ SC.Enumerable = {
610
595
  will be raised if you do not pass an initial value and the enumerator is
611
596
  empty.
612
597
 
613
- Note that unlike the other methods, this method does not allow you to
598
+ Note that unlike the other methods, this method does not allow you to
614
599
  pass a target object to set as this for the callback. It's part of the
615
600
  spec. Sorry.
616
-
617
- @params callback {Function} the callback to execute
618
- @params initialValue {Object} initial value for the reduce
619
- @params reducerProperty {String} internal use only. May not be available.
620
- @returns {Array} A filtered array.
601
+
602
+ @param {Function} callback the callback to execute
603
+ @param {Object} initialValue initial value for the reduce
604
+ @param {String} reducerProperty internal use only. May not be available.
605
+ @returns {Object} The reduced value.
621
606
  */
622
607
  reduce: function(callback, initialValue, reducerProperty) {
623
608
  if (typeof callback !== "function") throw new TypeError() ;
@@ -625,13 +610,13 @@ SC.Enumerable = {
625
610
 
626
611
  // no value to return if no initial value & empty
627
612
  if (len===0 && initialValue === undefined) throw new TypeError();
628
-
613
+
629
614
  var ret = initialValue;
630
615
  var last = null ;
631
616
  var context = SC.Enumerator._popContext();
632
617
  for(var idx=0;idx<len;idx++) {
633
618
  var next = this.nextObject(idx, last, context) ;
634
-
619
+
635
620
  // while ret is still undefined, just set the first value we get as ret.
636
621
  // this is not the ideal behavior actually but it matches the FireFox
637
622
  // implementation... :(
@@ -646,34 +631,34 @@ SC.Enumerable = {
646
631
  }
647
632
  last = null ;
648
633
  context = SC.Enumerator._pushContext(context);
649
-
634
+
650
635
  // uh oh...we never found a value!
651
636
  if (ret === undefined) throw new TypeError() ;
652
637
  return ret ;
653
638
  },
654
-
639
+
655
640
  /**
656
641
  Invokes the named method on every object in the receiver that
657
642
  implements it. This method corresponds to the implementation in
658
643
  Prototype 1.6.
659
-
660
- @param methodName {String} the name of the method
661
- @param args {Object...} optional arguments to pass as well.
644
+
645
+ @param {String} methodName the name of the method
646
+ @param {Object...} args optional arguments to pass as well.
662
647
  @returns {Array} return values from calling invoke.
663
648
  */
664
649
  invoke: function(methodName) {
665
650
  var len = this.get ? this.get('length') : this.length ;
666
651
  if (len <= 0) return [] ; // nothing to invoke....
667
-
652
+
668
653
  var idx;
669
-
654
+
670
655
  // collect the arguments
671
656
  var args = [] ;
672
657
  var alen = arguments.length ;
673
658
  if (alen > 1) {
674
659
  for(idx=1;idx<alen;idx++) args.push(arguments[idx]) ;
675
660
  }
676
-
661
+
677
662
  // call invoke
678
663
  var ret = [] ;
679
664
  var last = null ;
@@ -691,13 +676,13 @@ SC.Enumerable = {
691
676
 
692
677
  /**
693
678
  Invokes the passed method and optional arguments on the receiver elements
694
- as long as the methods return value matches the target value. This is
679
+ as long as the methods return value matches the target value. This is
695
680
  a useful way to attempt to apply changes to a collection of objects unless
696
681
  or until one fails.
697
682
 
698
- @param targetValue {Object} the target return value
699
- @param methodName {String} the name of the method
700
- @param args {Object...} optional arguments to pass as well.
683
+ @param {Object} targetValue the target return value
684
+ @param {String} methodName the name of the method
685
+ @param {Object...} args optional arguments to pass as well.
701
686
  @returns {Array} return values from calling invoke.
702
687
  */
703
688
  invokeWhile: function(targetValue, methodName) {
@@ -712,7 +697,7 @@ SC.Enumerable = {
712
697
  if (alen > 2) {
713
698
  for(idx=2;idx<alen;idx++) args.push(arguments[idx]) ;
714
699
  }
715
-
700
+
716
701
  // call invoke
717
702
  var ret = targetValue ;
718
703
  var last = null ;
@@ -727,12 +712,12 @@ SC.Enumerable = {
727
712
  context = SC.Enumerator._pushContext(context);
728
713
  return ret ;
729
714
  },
730
-
715
+
731
716
  /**
732
717
  Simply converts the enumerable into a genuine array. The order, of
733
- course, is not gauranteed. Corresponds to the method implemented by
718
+ course, is not gauranteed. Corresponds to the method implemented by
734
719
  Prototype.
735
-
720
+
736
721
  @returns {Array} the enumerable as an array.
737
722
  */
738
723
  toArray: function() {
@@ -740,37 +725,41 @@ SC.Enumerable = {
740
725
  this.forEach(function(o) { ret.push(o); }, this);
741
726
  return ret ;
742
727
  },
743
-
728
+
744
729
  /**
745
- Converts an enumerable into a matrix, with inner arrays grouped based
730
+ Converts an enumerable into a matrix, with inner arrays grouped based
746
731
  on a particular property of the elements of the enumerable.
747
732
 
748
- @params key {String} the property to test
733
+ @param {String} key the property to test
749
734
  @returns {Array} matrix of arrays
750
- */
735
+ */
751
736
  groupBy: function(key){
752
737
  var len = this.get ? this.get('length') : this.length,
753
738
  ret = [],
754
739
  last = null,
755
740
  context = SC.Enumerator._popContext(),
756
- grouped = [],
757
- keyValues = [];
758
- for(var idx=0;idx<len;idx++) {
759
- var next = this.nextObject(idx, last, context) ;
760
- var cur = next ? (next.get ? next.get(key) : next[key]) : null;
761
- if(SC.none(grouped[cur])){ grouped[cur] = []; keyValues.push(cur); }
741
+ grouped = [],
742
+ keyValues = [],
743
+ idx, next, cur;
744
+
745
+ for(idx=0;idx<len;idx++) {
746
+ next = this.nextObject(idx, last, context) ;
747
+ cur = next ? (next.get ? next.get(key) : next[key]) : null;
748
+ if(SC.none(grouped[cur])) {
749
+ grouped[cur] = []; keyValues.push(cur);
750
+ }
762
751
  grouped[cur].push(next);
763
752
  last = next;
764
753
  }
765
754
  last = null;
766
755
  context = SC.Enumerator._pushContext(context);
767
-
768
- for(var idx=0,len2=keyValues.length; idx < len2; idx++){
769
- ret.push(grouped[keyValues[idx]]);
756
+
757
+ for(idx=0,len=keyValues.length; idx < len; idx++){
758
+ ret.push(grouped[keyValues[idx]]);
770
759
  }
771
760
  return ret ;
772
761
  }
773
-
762
+
774
763
  } ;
775
764
 
776
765
  // Build in a separate function to avoid unintential leaks through closures...
@@ -781,7 +770,7 @@ SC._buildReducerFor = function(reducerKey, reducerProperty) {
781
770
  return this.unknownProperty ? this.unknownProperty(key, value) : null;
782
771
  } else {
783
772
  // Invoke the reduce method defined in enumerable instead of using the
784
- // one implemented in the receiver. The receiver might be a native
773
+ // one implemented in the receiver. The receiver might be a native
785
774
  // implementation that does not support reducerProperty.
786
775
  var ret = SC.Enumerable.reduce.call(this, reducer, null, reducerProperty) ;
787
776
  return ret ;
@@ -789,15 +778,16 @@ SC._buildReducerFor = function(reducerKey, reducerProperty) {
789
778
  }.property('[]') ;
790
779
  };
791
780
 
792
- SC.Reducers = /** @lends SC.Enumerable */ {
781
+ /** @class */
782
+ SC.Reducers = /** @scope SC.Reducers.prototype */ {
793
783
  /**
794
784
  This property will trigger anytime the enumerable's content changes.
795
785
  You can observe this property to be notified of changes to the enumerables
796
786
  content.
797
-
787
+
798
788
  For plain enumerables, this property is read only. SC.Array overrides
799
789
  this method.
800
-
790
+
801
791
  @property {SC.Array}
802
792
  */
803
793
  '[]': function(key, value) { return this ; }.property(),
@@ -805,70 +795,67 @@ SC.Reducers = /** @lends SC.Enumerable */ {
805
795
  /**
806
796
  Invoke this method when the contents of your enumerable has changed.
807
797
  This will notify any observers watching for content changes. If your are
808
- implementing an ordered enumerable (such as an array), also pass the
798
+ implementing an ordered enumerable (such as an array), also pass the
809
799
  start and end values where the content changed so that it can be used to
810
800
  notify range observers.
811
-
801
+
812
802
  @param {Number} start optional start offset for the content change
813
803
  @param {Number} length optional length of change
814
- @returns {Object} receiver
804
+ @param {Number} delta if you added or removed objects, the delta change
805
+ @param {Array} addedObjects the objects that were added
806
+ @param {Array} removedObjects the objects that were removed
807
+ @returns {Object} receiver
815
808
  */
816
- enumerableContentDidChange: function(start, length) {
809
+ enumerableContentDidChange: function(start, length, deltas) {
817
810
  this.notifyPropertyChange('[]') ;
818
- return this ;
819
811
  },
820
-
812
+
821
813
  /**
822
- Call this method from your unknownProperty() handler to implement
823
- automatic reduced properties. A reduced property is a property that
824
- collects its contents dynamically from your array contents. Reduced
825
- properties always begin with "@". Getting this property will call
814
+ Call this method from your unknownProperty() handler to implement
815
+ automatic reduced properties. A reduced property is a property that
816
+ collects its contents dynamically from your array contents. Reduced
817
+ properties always begin with "@". Getting this property will call
826
818
  reduce() on your array with the function matching the key name as the
827
819
  processor.
828
-
829
- The return value of this will be either the return value from the
830
- reduced property or undefined, which means this key is not a reduced
820
+
821
+ The return value of this will be either the return value from the
822
+ reduced property or undefined, which means this key is not a reduced
831
823
  property. You can call this at the top of your unknownProperty handler
832
824
  like so:
833
-
834
- {{{
825
+
835
826
  unknownProperty: function(key, value) {
836
827
  var ret = this.handleReduceProperty(key, value) ;
837
828
  if (ret === undefined) {
838
829
  // process like normal
839
830
  }
840
831
  }
841
- }}}
842
-
843
- @param {String} key
844
- the reduce property key
845
-
846
- @param {Object} value
847
- a value or undefined.
848
-
849
- @param {Boolean} generateProperty
850
- only set to false if you do not want an optimized computed property
851
- handler generated for this. Not common.
852
-
832
+
833
+ @param {String} key the reduce property key
834
+
835
+ @param {Object} value a value or undefined.
836
+
837
+ @param {Boolean} generateProperty only set to false if you do not want
838
+ an optimized computed property handler generated for this. Not common.
839
+
853
840
  @returns {Object} the reduced property or undefined
854
841
  */
855
842
  reducedProperty: function(key, value, generateProperty) {
856
-
857
- if (!key || key.charAt(0) !== '@') return undefined ; // not a reduced property
858
-
843
+
844
+ if (!key || typeof key !== SC.T_STRING || key.charAt(0) !== '@') return undefined ; // not a reduced property
845
+
859
846
  // get the reducer key and the reducer
860
847
  var matches = key.match(/^@([^(]*)(\(([^)]*)\))?$/) ;
861
848
  if (!matches || matches.length < 2) return undefined ; // no match
862
-
849
+
863
850
  var reducerKey = matches[1]; // = 'max' if key = '@max(balance)'
864
851
  var reducerProperty = matches[3] ; // = 'balance' if key = '@max(balance)'
865
852
  reducerKey = "reduce" + reducerKey.slice(0,1).toUpperCase() + reducerKey.slice(1);
866
853
  var reducer = this[reducerKey] ;
867
854
 
868
- // if there is no reduce function defined for this key, then we can't
855
+ // if there is no reduce function defined for this key, then we can't
869
856
  // build a reducer for it.
870
857
  if (SC.typeOf(reducer) !== SC.T_FUNCTION) return undefined;
871
-
858
+
872
859
  // if we can't generate the property, just run reduce
873
860
  if (generateProperty === NO) {
874
861
  return SC.Enumerable.reduce.call(this, reducer, null, reducerProperty) ;
@@ -877,10 +864,10 @@ SC.Reducers = /** @lends SC.Enumerable */ {
877
864
  // ok, found the reducer. Let's build the computed property and install
878
865
  var func = SC._buildReducerFor(reducerKey, reducerProperty);
879
866
  var p = this.constructor.prototype ;
880
-
867
+
881
868
  if (p) {
882
869
  p[key] = func ;
883
-
870
+
884
871
  // add the function to the properties array so that new instances
885
872
  // will have their dependent key registered.
886
873
  var props = p._properties || [] ;
@@ -888,13 +875,20 @@ SC.Reducers = /** @lends SC.Enumerable */ {
888
875
  p._properties = props ;
889
876
  this.registerDependentKey(key, '[]') ;
890
877
  }
891
-
878
+
892
879
  // and reduce anyway...
893
880
  return SC.Enumerable.reduce.call(this, reducer, null, reducerProperty) ;
894
881
  },
895
-
896
- /**
882
+
883
+ /**
897
884
  Reducer for @max reduced property.
885
+
886
+ @param {Object} previousValue The previous value in the enumerable
887
+ @param {Object} item The current value in the enumerable
888
+ @param {Number} index The index of the current item in the enumerable
889
+ @param {String} reducerProperty (Optional) The property in the enumerable being reduced
890
+
891
+ @returns {Object} reduced value
898
892
  */
899
893
  reduceMax: function(previousValue, item, index, e, reducerProperty) {
900
894
  if (reducerProperty && item) {
@@ -904,11 +898,20 @@ SC.Reducers = /** @lends SC.Enumerable */ {
904
898
  return (item > previousValue) ? item : previousValue ;
905
899
  },
906
900
 
907
- /**
908
- Reducer for @maxObject reduced property.
901
+ /**
902
+ Reduces an enumberable to the max of the items in the enumerable. If
903
+ reducerProperty is passed, it will reduce that property. Otherwise, it will
904
+ reduce the item itself.
905
+
906
+ @param {Object} previousValue The previous value in the enumerable
907
+ @param {Object} item The current value in the enumerable
908
+ @param {Number} index The index of the current item in the enumerable
909
+ @param {String} reducerProperty (Optional) The property in the enumerable being reduced
910
+
911
+ @returns {Object} reduced value
909
912
  */
910
913
  reduceMaxObject: function(previousItem, item, index, e, reducerProperty) {
911
-
914
+
912
915
  // get the value for both the previous and current item. If no
913
916
  // reducerProperty was supplied, use the items themselves.
914
917
  var previousValue = previousItem, itemValue = item ;
@@ -916,7 +919,7 @@ SC.Reducers = /** @lends SC.Enumerable */ {
916
919
  if (item) {
917
920
  itemValue = item.get ? item.get(reducerProperty) : item[reducerProperty] ;
918
921
  }
919
-
922
+
920
923
  if (previousItem) {
921
924
  previousValue = previousItem.get ? previousItem.get(reducerProperty) : previousItem[reducerProperty] ;
922
925
  }
@@ -925,8 +928,17 @@ SC.Reducers = /** @lends SC.Enumerable */ {
925
928
  return (itemValue > previousValue) ? item : previousItem ;
926
929
  },
927
930
 
928
- /**
929
- Reducer for @min reduced property.
931
+ /**
932
+ Reduces an enumberable to the min of the items in the enumerable. If
933
+ reducerProperty is passed, it will reduce that property. Otherwise, it will
934
+ reduce the item itself.
935
+
936
+ @param {Object} previousValue The previous value in the enumerable
937
+ @param {Object} item The current value in the enumerable
938
+ @param {Number} index The index of the current item in the enumerable
939
+ @param {String} reducerProperty (Optional) The property in the enumerable being reduced
940
+
941
+ @returns {Object} reduced value
930
942
  */
931
943
  reduceMin: function(previousValue, item, index, e, reducerProperty) {
932
944
  if (reducerProperty && item) {
@@ -936,8 +948,17 @@ SC.Reducers = /** @lends SC.Enumerable */ {
936
948
  return (item < previousValue) ? item : previousValue ;
937
949
  },
938
950
 
939
- /**
940
- Reducer for @maxObject reduced property.
951
+ /**
952
+ Reduces an enumberable to the max of the items in the enumerable. If
953
+ reducerProperty is passed, it will reduce that property. Otherwise, it will
954
+ reduce the item itself.
955
+
956
+ @param {Object} previousValue The previous value in the enumerable
957
+ @param {Object} item The current value in the enumerable
958
+ @param {Number} index The index of the current item in the enumerable
959
+ @param {String} reducerProperty (Optional) The property in the enumerable being reduced
960
+
961
+ @returns {Object} reduced value
941
962
  */
942
963
  reduceMinObject: function(previousItem, item, index, e, reducerProperty) {
943
964
 
@@ -948,7 +969,7 @@ SC.Reducers = /** @lends SC.Enumerable */ {
948
969
  if (item) {
949
970
  itemValue = item.get ? item.get(reducerProperty) : item[reducerProperty] ;
950
971
  }
951
-
972
+
952
973
  if (previousItem) {
953
974
  previousValue = previousItem.get ? previousItem.get(reducerProperty) : previousItem[reducerProperty] ;
954
975
  }
@@ -957,8 +978,17 @@ SC.Reducers = /** @lends SC.Enumerable */ {
957
978
  return (itemValue < previousValue) ? item : previousItem ;
958
979
  },
959
980
 
960
- /**
961
- Reducer for @average reduced property.
981
+ /**
982
+ Reduces an enumberable to the average of the items in the enumerable. If
983
+ reducerProperty is passed, it will reduce that property. Otherwise, it will
984
+ reduce the item itself.
985
+
986
+ @param {Object} previousValue The previous value in the enumerable
987
+ @param {Object} item The current value in the enumerable
988
+ @param {Number} index The index of the current item in the enumerable
989
+ @param {String} reducerProperty (Optional) The property in the enumerable being reduced
990
+
991
+ @returns {Object} reduced value
962
992
  */
963
993
  reduceAverage: function(previousValue, item, index, e, reducerProperty) {
964
994
  if (reducerProperty && item) {
@@ -967,11 +997,20 @@ SC.Reducers = /** @lends SC.Enumerable */ {
967
997
  var ret = (previousValue || 0) + item ;
968
998
  var len = e.get ? e.get('length') : e.length;
969
999
  if (index >= len-1) ret = ret / len; //avg after last item.
970
- return ret ;
1000
+ return ret ;
971
1001
  },
972
1002
 
973
- /**
974
- Reducer for @sum reduced property.
1003
+ /**
1004
+ Reduces an enumberable to the sum of the items in the enumerable. If
1005
+ reducerProperty is passed, it will reduce that property. Otherwise, it will
1006
+ reduce the item itself.
1007
+
1008
+ @param {Object} previousValue The previous value in the enumerable
1009
+ @param {Object} item The current value in the enumerable
1010
+ @param {Number} index The index of the current item in the enumerable
1011
+ @param {String} reducerProperty (Optional) The property in the enumerable being reduced
1012
+
1013
+ @returns {Object} reduced value
975
1014
  */
976
1015
  reduceSum: function(previousValue, item, index, e, reducerProperty) {
977
1016
  if (reducerProperty && item) {
@@ -993,11 +1032,11 @@ Array.prototype.isEnumerable = YES ;
993
1032
  // Implement the same enhancements on Array. We use specialized methods
994
1033
  // because working with arrays are so common.
995
1034
  (function() {
996
-
1035
+
997
1036
  // These methods will be applied even if they already exist b/c we do it
998
1037
  // better.
999
1038
  var alwaysMixin = {
1000
-
1039
+
1001
1040
  // this is supported so you can get an enumerator. The rest of the
1002
1041
  // methods do not use this just to squeeze every last ounce of perf as
1003
1042
  // possible.
@@ -1006,7 +1045,7 @@ Array.prototype.isEnumerable = YES ;
1006
1045
  firstObject: SC.Enumerable.firstObject,
1007
1046
  lastObject: SC.Enumerable.lastObject,
1008
1047
  sortProperty: SC.Enumerable.sortProperty,
1009
-
1048
+
1010
1049
  // see above...
1011
1050
  mapProperty: function(key) {
1012
1051
  var len = this.length ;
@@ -1028,27 +1067,29 @@ Array.prototype.isEnumerable = YES ;
1028
1067
  if (matched) ret.push(next) ;
1029
1068
  }
1030
1069
  return ret ;
1031
- },
1070
+ },
1032
1071
 
1033
1072
  //returns a matrix
1034
1073
  groupBy: function(key) {
1035
1074
  var len = this.length,
1036
1075
  ret = [],
1037
- grouped = [],
1038
- keyValues = [];
1039
- for(var idx=0;idx<len;idx++) {
1040
- var next = this[idx] ;
1041
- var cur = next ? (next.get ? next.get(key) : next[key]) : null;
1076
+ grouped = [],
1077
+ keyValues = [],
1078
+ idx, next, cur;
1079
+
1080
+ for(idx=0;idx<len;idx++) {
1081
+ next = this[idx] ;
1082
+ cur = next ? (next.get ? next.get(key) : next[key]) : null;
1042
1083
  if(SC.none(grouped[cur])){ grouped[cur] = []; keyValues.push(cur); }
1043
1084
  grouped[cur].push(next);
1044
1085
  }
1045
- for(var idx=0,len2=keyValues.length; idx < len2; idx++){
1046
- ret.push(grouped[keyValues[idx]]);
1086
+
1087
+ for(idx=0,len=keyValues.length; idx < len; idx++){
1088
+ ret.push(grouped[keyValues[idx]]);
1047
1089
  }
1048
1090
  return ret ;
1049
- },
1091
+ },
1050
1092
 
1051
-
1052
1093
  find: function(callback, target) {
1053
1094
  if (typeof callback !== "function") throw new TypeError() ;
1054
1095
  var len = this.length ;
@@ -1073,7 +1114,7 @@ Array.prototype.isEnumerable = YES ;
1073
1114
  }
1074
1115
  next=null;
1075
1116
  return ret ;
1076
- },
1117
+ },
1077
1118
 
1078
1119
  everyProperty: function(key, value) {
1079
1120
  var len = this.length ;
@@ -1085,7 +1126,7 @@ Array.prototype.isEnumerable = YES ;
1085
1126
  }
1086
1127
  return ret ;
1087
1128
  },
1088
-
1129
+
1089
1130
  someProperty: function(key, value) {
1090
1131
  var len = this.length ;
1091
1132
  var ret = NO;
@@ -1096,7 +1137,7 @@ Array.prototype.isEnumerable = YES ;
1096
1137
  }
1097
1138
  return ret ; // return the invert
1098
1139
  },
1099
-
1140
+
1100
1141
  invoke: function(methodName) {
1101
1142
  var len = this.length ;
1102
1143
  if (len <= 0) return [] ; // nothing to invoke....
@@ -1155,7 +1196,7 @@ Array.prototype.isEnumerable = YES ;
1155
1196
  }
1156
1197
  return ret ;
1157
1198
  },
1158
-
1199
+
1159
1200
  getEach: function(key) {
1160
1201
  var ret = [];
1161
1202
  var len = this.length ;
@@ -1165,7 +1206,7 @@ Array.prototype.isEnumerable = YES ;
1165
1206
  }
1166
1207
  return ret ;
1167
1208
  },
1168
-
1209
+
1169
1210
  setEach: function(key, value) {
1170
1211
  var len = this.length;
1171
1212
  for(var idx=0;idx<len;idx++) {
@@ -1178,47 +1219,49 @@ Array.prototype.isEnumerable = YES ;
1178
1219
  }
1179
1220
  return this ;
1180
1221
  }
1181
-
1182
- };
1183
-
1184
- // These methods will only be applied if they are not already defined b/c
1222
+
1223
+ };
1224
+
1225
+ // These methods will only be applied if they are not already defined b/c
1185
1226
  // the browser is probably getting it.
1186
1227
  var mixinIfMissing = {
1187
1228
 
1229
+ // QUESTION: The lack of DRY is burning my eyes [YK]
1188
1230
  forEach: function(callback, target) {
1189
1231
  if (typeof callback !== "function") throw new TypeError() ;
1190
- var len = this.length ;
1232
+
1233
+ // QUESTION: Is this necessary?
1191
1234
  if (target === undefined) target = null;
1192
1235
 
1193
- for(var idx=0;idx<len;idx++) {
1194
- var next = this[idx] ;
1195
- callback.call(target, next, idx, this);
1236
+ for(var i=0, l=this.length; i<l; i++) {
1237
+ var next = this[i] ;
1238
+ callback.call(target, next, i, this);
1196
1239
  }
1197
1240
  return this ;
1198
1241
  },
1199
1242
 
1200
1243
  map: function(callback, target) {
1201
1244
  if (typeof callback !== "function") throw new TypeError() ;
1202
- var len = this.length ;
1245
+
1203
1246
  if (target === undefined) target = null;
1204
1247
 
1205
1248
  var ret = [];
1206
- for(var idx=0;idx<len;idx++) {
1207
- var next = this[idx] ;
1208
- ret[idx] = callback.call(target, next, idx, this) ;
1249
+ for(var i=0, l=this.length; i<l; i++) {
1250
+ var next = this[i] ;
1251
+ ret[i] = callback.call(target, next, i, this) ;
1209
1252
  }
1210
1253
  return ret ;
1211
1254
  },
1212
1255
 
1213
1256
  filter: function(callback, target) {
1214
1257
  if (typeof callback !== "function") throw new TypeError() ;
1215
- var len = this.length ;
1258
+
1216
1259
  if (target === undefined) target = null;
1217
1260
 
1218
1261
  var ret = [];
1219
- for(var idx=0;idx<len;idx++) {
1220
- var next = this[idx] ;
1221
- if(callback.call(target, next, idx, this)) ret.push(next) ;
1262
+ for(var i=0, l=this.length; i<l; i++) {
1263
+ var next = this[i] ;
1264
+ if(callback.call(target, next, i, this)) ret.push(next) ;
1222
1265
  }
1223
1266
  return ret ;
1224
1267
  },
@@ -1260,8 +1303,8 @@ Array.prototype.isEnumerable = YES ;
1260
1303
  for(var idx=0;idx<len;idx++) {
1261
1304
  var next = this[idx] ;
1262
1305
 
1263
- // while ret is still undefined, just set the first value we get as
1264
- // ret. this is not the ideal behavior actually but it matches the
1306
+ // while ret is still undefined, just set the first value we get as
1307
+ // ret. this is not the ideal behavior actually but it matches the
1265
1308
  // FireFox implementation... :(
1266
1309
  if (next !== null) {
1267
1310
  if (ret === undefined) {
@@ -1275,24 +1318,24 @@ Array.prototype.isEnumerable = YES ;
1275
1318
  // uh oh...we never found a value!
1276
1319
  if (ret === undefined) throw new TypeError() ;
1277
1320
  return ret ;
1278
- }
1321
+ }
1279
1322
  };
1280
-
1323
+
1281
1324
  // Apply methods if missing...
1282
1325
  for(var key in mixinIfMissing) {
1283
1326
  if (!mixinIfMissing.hasOwnProperty(key)) continue ;
1284
-
1327
+
1285
1328
  // The mixinIfMissing methods should be applied if they are not defined.
1286
1329
  // If Prototype 1.6 is included, some of these methods will be defined
1287
- // already, but we want to override them anyway in this special case
1330
+ // already, but we want to override them anyway in this special case
1288
1331
  // because our version is faster and functionally identitical.
1289
1332
  if (!Array.prototype[key] || ((typeof Prototype === 'object') && Prototype.Version.match(/^1\.6/))) {
1290
1333
  Array.prototype[key] = mixinIfMissing[key] ;
1291
1334
  }
1292
1335
  }
1293
-
1336
+
1294
1337
  // Apply other methods...
1295
1338
  SC.mixin(Array.prototype, alwaysMixin) ;
1296
-
1339
+
1297
1340
  })() ;
1298
1341