sproutcore 1.8.2.1 → 1.9.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (274) hide show
  1. data/VERSION.yml +2 -2
  2. data/lib/buildtasks/helpers/file_rule_list.rb +3 -3
  3. data/lib/frameworks/sproutcore/Buildfile +1 -1
  4. data/lib/frameworks/sproutcore/CHANGELOG.md +235 -16
  5. data/lib/frameworks/sproutcore/apps/media_examples/Buildfile +13 -0
  6. data/lib/frameworks/sproutcore/apps/media_examples/core.js +35 -0
  7. data/lib/frameworks/sproutcore/apps/media_examples/resources/loading.rhtml +3 -0
  8. data/lib/frameworks/sproutcore/apps/media_examples/resources/main_page.js +53 -0
  9. data/lib/frameworks/sproutcore/apps/media_examples/views/audio_view.js +100 -0
  10. data/lib/frameworks/sproutcore/apps/media_examples/views/camera_view.js +39 -0
  11. data/lib/frameworks/sproutcore/apps/media_examples/views/capabilities_view.js +116 -0
  12. data/lib/frameworks/sproutcore/apps/media_examples/views/microphone_view.js +40 -0
  13. data/lib/frameworks/sproutcore/apps/media_examples/views/video_view.js +107 -0
  14. data/lib/frameworks/sproutcore/apps/showcase/Buildfile +11 -0
  15. data/lib/frameworks/sproutcore/apps/showcase/README +15 -0
  16. data/lib/frameworks/sproutcore/apps/showcase/controllers/source_controller.js +15 -0
  17. data/lib/frameworks/sproutcore/apps/showcase/controllers/source_tree_controller.js +212 -0
  18. data/lib/frameworks/sproutcore/apps/showcase/core.js +170 -0
  19. data/lib/frameworks/sproutcore/apps/showcase/main.js +27 -0
  20. data/lib/frameworks/sproutcore/apps/showcase/resources/_theme.css +18 -0
  21. data/lib/frameworks/sproutcore/apps/showcase/resources/api.css +80 -0
  22. data/lib/frameworks/sproutcore/apps/showcase/resources/favicon.ico +0 -0
  23. data/lib/frameworks/sproutcore/apps/showcase/resources/images/alarm-clock.png +0 -0
  24. data/lib/frameworks/sproutcore/apps/showcase/resources/images/balloon-facebook.png +0 -0
  25. data/lib/frameworks/sproutcore/apps/showcase/resources/images/balloon-twitter.png +0 -0
  26. data/lib/frameworks/sproutcore/apps/showcase/resources/images/balloon.png +0 -0
  27. data/lib/frameworks/sproutcore/apps/showcase/resources/images/bullet.png +0 -0
  28. data/lib/frameworks/sproutcore/apps/showcase/resources/images/calendar-insert.png +0 -0
  29. data/lib/frameworks/sproutcore/apps/showcase/resources/images/cross.png +0 -0
  30. data/lib/frameworks/sproutcore/apps/showcase/resources/images/example-box-bg.png +0 -0
  31. data/lib/frameworks/sproutcore/apps/showcase/resources/images/fruit-grape.png +0 -0
  32. data/lib/frameworks/sproutcore/apps/showcase/resources/images/fruit-lime.png +0 -0
  33. data/lib/frameworks/sproutcore/apps/showcase/resources/images/fruit-orange.png +0 -0
  34. data/lib/frameworks/sproutcore/apps/showcase/resources/images/fruit.png +0 -0
  35. data/lib/frameworks/sproutcore/apps/showcase/resources/images/glow.png +0 -0
  36. data/lib/frameworks/sproutcore/apps/showcase/resources/images/green-dot.png +0 -0
  37. data/lib/frameworks/sproutcore/apps/showcase/resources/images/grey-dot.png +0 -0
  38. data/lib/frameworks/sproutcore/apps/showcase/resources/images/logo.png +0 -0
  39. data/lib/frameworks/sproutcore/apps/showcase/resources/images/pixels.png +0 -0
  40. data/lib/frameworks/sproutcore/apps/showcase/resources/images/red-dot.png +0 -0
  41. data/lib/frameworks/sproutcore/apps/showcase/resources/images/sproutcore-logo.png +0 -0
  42. data/lib/frameworks/sproutcore/apps/showcase/resources/images/sproutcore-startup-landscape.jpg +0 -0
  43. data/lib/frameworks/sproutcore/apps/{test_controls → showcase}/resources/loading.rhtml +1 -1
  44. data/lib/frameworks/sproutcore/apps/showcase/resources/main_page.js +61 -0
  45. data/lib/frameworks/sproutcore/apps/showcase/resources/stylesheet.css +365 -0
  46. data/lib/frameworks/sproutcore/apps/showcase/resources/views_page.js +64 -0
  47. data/lib/frameworks/sproutcore/apps/showcase/system/views_item_content.js +59 -0
  48. data/lib/frameworks/sproutcore/apps/showcase/theme.js +27 -0
  49. data/lib/frameworks/sproutcore/apps/showcase/views/button_views.js +55 -0
  50. data/lib/frameworks/sproutcore/apps/showcase/views/checkbox_views.js +34 -0
  51. data/lib/frameworks/sproutcore/apps/showcase/views/container_views.js +29 -0
  52. data/lib/frameworks/sproutcore/apps/showcase/views/date_field_views.js +30 -0
  53. data/lib/frameworks/sproutcore/apps/showcase/views/disclosure_views.js +22 -0
  54. data/lib/frameworks/sproutcore/apps/showcase/views/grid_views.js +28 -0
  55. data/lib/frameworks/sproutcore/apps/showcase/views/image_button_views.js +22 -0
  56. data/lib/frameworks/sproutcore/apps/showcase/views/image_views.js +51 -0
  57. data/lib/frameworks/sproutcore/apps/showcase/views/label_views.js +53 -0
  58. data/lib/frameworks/sproutcore/apps/showcase/views/list_views.js +31 -0
  59. data/lib/frameworks/sproutcore/apps/showcase/views/popup_button_views.js +24 -0
  60. data/lib/frameworks/sproutcore/apps/showcase/views/progress_views.js +26 -0
  61. data/lib/frameworks/sproutcore/apps/showcase/views/radio_views.js +30 -0
  62. data/lib/frameworks/sproutcore/apps/showcase/views/scroll_views.js +40 -0
  63. data/lib/frameworks/sproutcore/apps/showcase/views/segmented_views.js +90 -0
  64. data/lib/frameworks/sproutcore/apps/showcase/views/select_views.js +64 -0
  65. data/lib/frameworks/sproutcore/apps/showcase/views/slider_views.js +46 -0
  66. data/lib/frameworks/sproutcore/apps/showcase/views/source_list_views.js +23 -0
  67. data/lib/frameworks/sproutcore/apps/showcase/views/split_views.js +22 -0
  68. data/lib/frameworks/sproutcore/apps/showcase/views/stacked_views.js +23 -0
  69. data/lib/frameworks/sproutcore/apps/showcase/views/static_content_views.js +23 -0
  70. data/lib/frameworks/sproutcore/apps/showcase/views/tab_views.js +51 -0
  71. data/lib/frameworks/sproutcore/apps/showcase/views/text_field_views.js +52 -0
  72. data/lib/frameworks/sproutcore/apps/showcase/views/toolbar_views.js +23 -0
  73. data/lib/frameworks/sproutcore/apps/showcase/views/views_item_view.js +91 -0
  74. data/lib/frameworks/sproutcore/apps/showcase/views/views_list_view.js +67 -0
  75. data/lib/frameworks/sproutcore/apps/showcase/views/web_views.js +32 -0
  76. data/lib/frameworks/sproutcore/apps/showcase/views/well_views.js +29 -0
  77. data/lib/frameworks/sproutcore/apps/showcase/views/workspace_views.js +23 -0
  78. data/lib/frameworks/sproutcore/apps/tests/english.lproj/strings.js +2 -1
  79. data/lib/frameworks/sproutcore/frameworks/ajax/system/request.js +91 -51
  80. data/lib/frameworks/sproutcore/frameworks/ajax/system/response.js +93 -27
  81. data/lib/frameworks/sproutcore/frameworks/ajax/tests/system/request.js +196 -15
  82. data/lib/frameworks/sproutcore/frameworks/bootstrap/system/browser.js +1 -1
  83. data/lib/frameworks/sproutcore/frameworks/core_foundation/controllers/array.js +26 -10
  84. data/lib/frameworks/sproutcore/frameworks/core_foundation/controllers/object.js +90 -92
  85. data/lib/frameworks/sproutcore/frameworks/core_foundation/ext/object.js +69 -39
  86. data/lib/frameworks/sproutcore/frameworks/core_foundation/mixins/selection_support.js +1 -1
  87. data/lib/frameworks/sproutcore/frameworks/core_foundation/system/color.js +769 -0
  88. data/lib/frameworks/sproutcore/frameworks/{desktop → core_foundation}/system/key_bindings.js +0 -0
  89. data/lib/frameworks/sproutcore/frameworks/core_foundation/system/render_context.js +4 -4
  90. data/lib/frameworks/sproutcore/frameworks/core_foundation/system/req_anim_frame.js +31 -0
  91. data/lib/frameworks/sproutcore/frameworks/core_foundation/system/sparse_array.js +7 -1
  92. data/lib/frameworks/sproutcore/frameworks/core_foundation/system/utils.js +8 -6
  93. data/lib/frameworks/sproutcore/frameworks/core_foundation/tests/controllers/array/array_case.js +49 -0
  94. data/lib/frameworks/sproutcore/frameworks/core_foundation/tests/controllers/array/selection_support.js +1 -1
  95. data/lib/frameworks/sproutcore/frameworks/core_foundation/tests/ext/object_test.js +106 -0
  96. data/lib/frameworks/sproutcore/frameworks/core_foundation/tests/system/color.js +448 -0
  97. data/lib/frameworks/sproutcore/frameworks/core_foundation/tests/system/render_context/escape_html.js +8 -1
  98. data/lib/frameworks/sproutcore/frameworks/core_foundation/tests/system/timer/invokeLater.js +24 -24
  99. data/lib/frameworks/sproutcore/frameworks/core_foundation/tests/system/utils/offset.js +5 -5
  100. data/lib/frameworks/sproutcore/frameworks/core_foundation/tests/views/view/animation.js +90 -30
  101. data/lib/frameworks/sproutcore/frameworks/core_foundation/tests/views/view/class_name_bindings_test.js +14 -6
  102. data/lib/frameworks/sproutcore/frameworks/core_foundation/tests/views/view/touch.js +113 -0
  103. data/lib/frameworks/sproutcore/frameworks/core_foundation/views/view.js +64 -8
  104. data/lib/frameworks/sproutcore/frameworks/core_foundation/views/view/animation.js +20 -4
  105. data/lib/frameworks/sproutcore/frameworks/core_foundation/views/view/layout_style.js +58 -38
  106. data/lib/frameworks/sproutcore/frameworks/core_foundation/views/view/touch.js +32 -39
  107. data/lib/frameworks/sproutcore/frameworks/core_tools/models/target.js +20 -15
  108. data/lib/frameworks/sproutcore/frameworks/datastore/models/child_attribute.js +19 -15
  109. data/lib/frameworks/sproutcore/frameworks/datastore/models/child_record.js +1 -1
  110. data/lib/frameworks/sproutcore/frameworks/datastore/models/children_attribute.js +16 -16
  111. data/lib/frameworks/sproutcore/frameworks/datastore/models/many_attribute.js +32 -32
  112. data/lib/frameworks/sproutcore/frameworks/datastore/models/record.js +53 -38
  113. data/lib/frameworks/sproutcore/frameworks/datastore/models/record_attribute.js +9 -8
  114. data/lib/frameworks/sproutcore/frameworks/datastore/models/single_attribute.js +26 -26
  115. data/lib/frameworks/sproutcore/frameworks/datastore/system/child_array.js +1 -3
  116. data/lib/frameworks/sproutcore/frameworks/datastore/system/query.js +4 -3
  117. data/lib/frameworks/sproutcore/frameworks/datastore/system/record_array.js +0 -4
  118. data/lib/frameworks/sproutcore/frameworks/datastore/system/store.js +96 -8
  119. data/lib/frameworks/sproutcore/frameworks/datastore/tests/models/datetime_recordattribute.js +22 -4
  120. data/lib/frameworks/sproutcore/frameworks/datastore/tests/models/nested_records/data_store.js +24 -24
  121. data/lib/frameworks/sproutcore/frameworks/datastore/tests/models/nested_records/nested_record.js +376 -37
  122. data/lib/frameworks/sproutcore/frameworks/datastore/tests/models/nested_records/nested_record_array.js +51 -53
  123. data/lib/frameworks/sproutcore/frameworks/datastore/tests/models/nested_records/nested_record_array_complex.js +108 -66
  124. data/lib/frameworks/sproutcore/frameworks/datastore/tests/models/nested_records/nested_record_complex.js +33 -35
  125. data/lib/frameworks/sproutcore/frameworks/datastore/tests/models/single_attribute.js +6 -4
  126. data/lib/frameworks/sproutcore/frameworks/datastore/tests/system/query/compare.js +33 -3
  127. data/lib/frameworks/sproutcore/frameworks/datastore/tests/system/store/createRecord.js +181 -15
  128. data/lib/frameworks/sproutcore/frameworks/datetime/frameworks/core/system/datetime.js +6 -0
  129. data/lib/frameworks/sproutcore/frameworks/desktop/mixins/border.js +3 -1
  130. data/lib/frameworks/sproutcore/frameworks/desktop/mixins/collection_fast_path.js +2 -1
  131. data/lib/frameworks/sproutcore/frameworks/desktop/panes/menu.js +153 -6
  132. data/lib/frameworks/sproutcore/frameworks/desktop/panes/modal.js +39 -18
  133. data/lib/frameworks/sproutcore/frameworks/desktop/protocols/drop_target.js +2 -1
  134. data/lib/frameworks/sproutcore/frameworks/desktop/render_delegates/disclosure.js +6 -7
  135. data/lib/frameworks/sproutcore/frameworks/desktop/render_delegates/progress.js +139 -50
  136. data/lib/frameworks/sproutcore/frameworks/{foundation → desktop}/resources/button_view.css +3 -3
  137. data/lib/frameworks/sproutcore/frameworks/{foundation → desktop}/resources/checkbox_view.css +4 -0
  138. data/lib/frameworks/sproutcore/frameworks/desktop/resources/disclosure.css +2 -2
  139. data/lib/frameworks/sproutcore/frameworks/{foundation → desktop}/resources/radio_view.css +0 -0
  140. data/lib/frameworks/sproutcore/frameworks/desktop/resources/segmented.css +23 -17
  141. data/lib/frameworks/sproutcore/frameworks/desktop/resources/web.css +5 -0
  142. data/lib/frameworks/sproutcore/frameworks/desktop/tests/integration/dialog.js +4 -5
  143. data/lib/frameworks/sproutcore/frameworks/desktop/tests/mixins/border.js +3 -12
  144. data/lib/frameworks/sproutcore/frameworks/desktop/tests/mixins/collection_fast_path.js +58 -0
  145. data/lib/frameworks/sproutcore/frameworks/desktop/tests/panes/menu/methods.js +2 -2
  146. data/lib/frameworks/sproutcore/frameworks/desktop/tests/panes/menu/ui.js +79 -12
  147. data/lib/frameworks/sproutcore/frameworks/desktop/tests/views/collection/mouse.js +13 -0
  148. data/lib/frameworks/sproutcore/frameworks/desktop/tests/views/date_field/ui.js +2 -2
  149. data/lib/frameworks/sproutcore/frameworks/desktop/tests/views/grid/drag_and_drop.js +147 -0
  150. data/lib/frameworks/sproutcore/frameworks/desktop/tests/views/grid/methods.js +123 -2
  151. data/lib/frameworks/sproutcore/frameworks/desktop/tests/views/list/drag_and_drop.js +150 -0
  152. data/lib/frameworks/sproutcore/frameworks/desktop/tests/views/list_item.js +58 -44
  153. data/lib/frameworks/sproutcore/frameworks/desktop/tests/views/progress/methods.js +9 -80
  154. data/lib/frameworks/sproutcore/frameworks/desktop/tests/views/progress/ui.js +54 -130
  155. data/lib/frameworks/sproutcore/frameworks/desktop/tests/views/segmented/observers.js +78 -0
  156. data/lib/frameworks/sproutcore/frameworks/desktop/tests/views/segmented/ui.js +64 -9
  157. data/lib/frameworks/sproutcore/frameworks/desktop/tests/views/select/methods.js +11 -11
  158. data/lib/frameworks/sproutcore/frameworks/desktop/tests/views/select/ui.js +28 -2
  159. data/lib/frameworks/sproutcore/frameworks/desktop/tests/views/slider/methods.js +74 -0
  160. data/lib/frameworks/sproutcore/frameworks/desktop/tests/views/slider/ui.js +141 -0
  161. data/lib/frameworks/sproutcore/frameworks/desktop/views/collection.js +4 -1
  162. data/lib/frameworks/sproutcore/frameworks/desktop/views/grid.js +69 -36
  163. data/lib/frameworks/sproutcore/frameworks/desktop/views/list.js +27 -11
  164. data/lib/frameworks/sproutcore/frameworks/desktop/views/list_item.js +41 -25
  165. data/lib/frameworks/sproutcore/frameworks/desktop/views/progress.js +51 -89
  166. data/lib/frameworks/sproutcore/frameworks/desktop/views/segmented.js +59 -34
  167. data/lib/frameworks/sproutcore/frameworks/desktop/views/select.js +59 -49
  168. data/lib/frameworks/sproutcore/frameworks/experimental/frameworks/scroll_view/views/scroll.js +1 -1
  169. data/lib/frameworks/sproutcore/frameworks/foundation/controllers/tree.js +4 -1
  170. data/lib/frameworks/sproutcore/frameworks/foundation/render_delegates/label.js +14 -14
  171. data/lib/frameworks/sproutcore/frameworks/foundation/resources/label.css +8 -8
  172. data/lib/frameworks/sproutcore/frameworks/foundation/resources/text_field.css +13 -1
  173. data/lib/frameworks/sproutcore/frameworks/foundation/system/user_defaults.js +4 -1
  174. data/lib/frameworks/sproutcore/frameworks/foundation/system/utils/colors.js +21 -22
  175. data/lib/frameworks/sproutcore/frameworks/foundation/tests/controllers/tree/selection_support.js +26 -0
  176. data/lib/frameworks/sproutcore/frameworks/foundation/tests/mixins/inline_text_field/beginEditing.js +4 -5
  177. data/lib/frameworks/sproutcore/frameworks/foundation/tests/system/image_queue.js +68 -44
  178. data/lib/frameworks/sproutcore/frameworks/foundation/tests/system/user_defaults.js +10 -0
  179. data/lib/frameworks/sproutcore/frameworks/foundation/tests/views/container/methods.js +0 -10
  180. data/lib/frameworks/sproutcore/frameworks/foundation/tests/views/container/ui.js +24 -59
  181. data/lib/frameworks/sproutcore/frameworks/foundation/tests/views/label/ui.js +47 -34
  182. data/lib/frameworks/sproutcore/frameworks/foundation/tests/views/text_field/methods.js +96 -12
  183. data/lib/frameworks/sproutcore/frameworks/foundation/tests/views/text_field/ui.js +38 -0
  184. data/lib/frameworks/sproutcore/frameworks/foundation/views/text_field.js +38 -50
  185. data/lib/frameworks/sproutcore/frameworks/jquery/jquery-buffer.js +6 -2
  186. data/lib/frameworks/sproutcore/frameworks/media/media_capabilities.js +211 -0
  187. data/lib/frameworks/sproutcore/frameworks/media/render_delegates/media_slider.js +77 -0
  188. data/lib/frameworks/sproutcore/frameworks/media/resources/playeras3.fla +0 -0
  189. data/lib/frameworks/sproutcore/frameworks/media/resources/video.css +129 -115
  190. data/lib/frameworks/sproutcore/frameworks/media/resources/videoCanvas.swf +0 -0
  191. data/lib/frameworks/sproutcore/frameworks/media/tests/media_capabilities.js +194 -0
  192. data/lib/frameworks/sproutcore/frameworks/media/views/audio.js +56 -173
  193. data/lib/frameworks/sproutcore/frameworks/media/views/controls.js +15 -18
  194. data/lib/frameworks/sproutcore/frameworks/media/views/media_slider.js +63 -219
  195. data/lib/frameworks/sproutcore/frameworks/media/views/mini_controls.js +4 -2
  196. data/lib/frameworks/sproutcore/frameworks/media/views/simple_controls.js +4 -8
  197. data/lib/frameworks/sproutcore/frameworks/media/views/video.js +51 -160
  198. data/lib/frameworks/sproutcore/frameworks/routing/system/routes.js +138 -102
  199. data/lib/frameworks/sproutcore/frameworks/routing/tests/system/routes.js +8 -0
  200. data/lib/frameworks/sproutcore/frameworks/runtime/core.js +2 -2
  201. data/lib/frameworks/sproutcore/frameworks/runtime/ext/array.js +8 -2
  202. data/lib/frameworks/sproutcore/frameworks/runtime/mixins/enumerable.js +32 -12
  203. data/lib/frameworks/sproutcore/frameworks/runtime/mixins/observable.js +28 -24
  204. data/lib/frameworks/sproutcore/frameworks/runtime/system/binding.js +0 -2
  205. data/lib/frameworks/sproutcore/frameworks/runtime/system/object.js +111 -12
  206. data/lib/frameworks/sproutcore/frameworks/runtime/tests/core/compare.js +9 -7
  207. data/lib/frameworks/sproutcore/frameworks/runtime/tests/mixins/array.js +8 -2
  208. data/lib/frameworks/sproutcore/frameworks/runtime/tests/mixins/enumerable/enumerable.js +160 -115
  209. data/lib/frameworks/sproutcore/frameworks/runtime/tests/system/object/enhance.js +64 -19
  210. data/lib/frameworks/sproutcore/frameworks/runtime/tests/system/object/mixin.js +83 -0
  211. data/lib/frameworks/sproutcore/frameworks/template_view/ext/handlebars/bind.js +3 -0
  212. data/lib/frameworks/sproutcore/frameworks/template_view/tests/views/template/collection.js +13 -0
  213. data/lib/frameworks/sproutcore/frameworks/template_view/tests/views/template/handlebars.js +4 -2
  214. data/lib/frameworks/sproutcore/frameworks/template_view/views/template_collection.js +5 -5
  215. data/lib/frameworks/sproutcore/themes/ace/resources/button/ace/18px/button.css +5 -1
  216. data/lib/frameworks/sproutcore/themes/ace/resources/button/ace/44px/button.css +13 -12
  217. data/lib/frameworks/sproutcore/themes/ace/resources/collection/normal/list.css +9 -2
  218. data/lib/frameworks/sproutcore/themes/ace/resources/progress/ace/progress.css +105 -5
  219. data/lib/frameworks/sproutcore/themes/ace/resources/progress/ace/progress_view_indeterminate_content.png +0 -0
  220. data/lib/frameworks/sproutcore/themes/ace/resources/segmented/18px/segmented.css +19 -15
  221. data/lib/frameworks/sproutcore/themes/ace/resources/segmented/24px/segmented.css +93 -21
  222. data/lib/frameworks/sproutcore/themes/ace/resources/segmented/24px/segmented_vertical_active.png +0 -0
  223. data/lib/frameworks/sproutcore/themes/ace/resources/segmented/24px/segmented_vertical_normal.png +0 -0
  224. data/lib/frameworks/sproutcore/themes/ace/resources/segmented/24px/segmented_vertical_selected.png +0 -0
  225. data/lib/frameworks/sproutcore/themes/ace/resources/segmented/24px/segmented_vertical_selected_active.png +0 -0
  226. data/lib/frameworks/sproutcore/themes/ace/resources/segmented/30px/segmented.css +91 -15
  227. data/lib/frameworks/sproutcore/themes/ace/resources/segmented/30px/segmented_vertical_active.png +0 -0
  228. data/lib/frameworks/sproutcore/themes/ace/resources/segmented/30px/segmented_vertical_normal.png +0 -0
  229. data/lib/frameworks/sproutcore/themes/ace/resources/segmented/30px/segmented_vertical_selected.png +0 -0
  230. data/lib/frameworks/sproutcore/themes/ace/resources/segmented/30px/segmented_vertical_selected_active.png +0 -0
  231. data/lib/frameworks/sproutcore/themes/ace/resources/segmented/44px/segmented.css +21 -17
  232. data/lib/frameworks/sproutcore/themes/ace/resources/segmented/segmented.css +26 -25
  233. data/lib/frameworks/sproutcore/themes/legacy_theme/english.lproj/menu_item_view.css +2 -4
  234. data/lib/sproutcore/helpers/minifier.rb +5 -5
  235. data/lib/sproutcore/tools/build.rb +1 -1
  236. data/sproutcore.gemspec +6 -1
  237. data/vendor/chance/lib/chance/instance/slicing.rb +2 -2
  238. metadata +143 -60
  239. data/lib/frameworks/sproutcore/apps/test_controls/Buildfile +0 -0
  240. data/lib/frameworks/sproutcore/apps/test_controls/controllers/alert.js +0 -39
  241. data/lib/frameworks/sproutcore/apps/test_controls/controllers/buttons.js +0 -21
  242. data/lib/frameworks/sproutcore/apps/test_controls/controllers/categories.js +0 -125
  243. data/lib/frameworks/sproutcore/apps/test_controls/controllers/category.js +0 -36
  244. data/lib/frameworks/sproutcore/apps/test_controls/controllers/select.js +0 -12
  245. data/lib/frameworks/sproutcore/apps/test_controls/controllers/split.js +0 -74
  246. data/lib/frameworks/sproutcore/apps/test_controls/core.js +0 -29
  247. data/lib/frameworks/sproutcore/apps/test_controls/main.js +0 -14
  248. data/lib/frameworks/sproutcore/apps/test_controls/resources/buttons_page.js +0 -158
  249. data/lib/frameworks/sproutcore/apps/test_controls/resources/checkboxes_page.js +0 -53
  250. data/lib/frameworks/sproutcore/apps/test_controls/resources/flow_layout_page.js +0 -85
  251. data/lib/frameworks/sproutcore/apps/test_controls/resources/list_page.js +0 -40
  252. data/lib/frameworks/sproutcore/apps/test_controls/resources/main_page.css +0 -60
  253. data/lib/frameworks/sproutcore/apps/test_controls/resources/main_page.js +0 -151
  254. data/lib/frameworks/sproutcore/apps/test_controls/resources/panels_page.js +0 -62
  255. data/lib/frameworks/sproutcore/apps/test_controls/resources/progress_page.js +0 -33
  256. data/lib/frameworks/sproutcore/apps/test_controls/resources/radio_page.js +0 -55
  257. data/lib/frameworks/sproutcore/apps/test_controls/resources/scroll_page.js +0 -77
  258. data/lib/frameworks/sproutcore/apps/test_controls/resources/segmented_page.js +0 -99
  259. data/lib/frameworks/sproutcore/apps/test_controls/resources/select_page.js +0 -75
  260. data/lib/frameworks/sproutcore/apps/test_controls/resources/sliders_page.js +0 -54
  261. data/lib/frameworks/sproutcore/apps/test_controls/resources/split_page.js +0 -141
  262. data/lib/frameworks/sproutcore/apps/test_controls/resources/strings.js +0 -50
  263. data/lib/frameworks/sproutcore/apps/test_controls/resources/tab_page.js +0 -53
  264. data/lib/frameworks/sproutcore/apps/test_controls/resources/text_field_page.js +0 -65
  265. data/lib/frameworks/sproutcore/apps/test_controls/theme.js +0 -34
  266. data/lib/frameworks/sproutcore/apps/tests/tests/controllers/detail.js +0 -15
  267. data/lib/frameworks/sproutcore/apps/tests/tests/controllers/source.js +0 -15
  268. data/lib/frameworks/sproutcore/apps/tests/tests/controllers/target.js +0 -15
  269. data/lib/frameworks/sproutcore/apps/tests/tests/controllers/targets.js +0 -15
  270. data/lib/frameworks/sproutcore/apps/tests/tests/controllers/tests.js +0 -15
  271. data/lib/frameworks/sproutcore/apps/tests/tests/models/target.js +0 -15
  272. data/lib/frameworks/sproutcore/apps/tests/tests/models/test.js +0 -15
  273. data/lib/frameworks/sproutcore/apps/tests/tests/views/offset_checkbox.js +0 -15
  274. data/lib/frameworks/sproutcore/frameworks/runtime/tests/core/console.js +0 -21
@@ -0,0 +1,39 @@
1
+ // ==========================================================================
2
+ // Project: Media Examples - A Media Playback sandbox.
3
+ // Copyright: ©2012 Michael Krotscheck and contributors.
4
+ // License: Licensed under MIT license (see license.js)
5
+ // ==========================================================================
6
+ /*globals MediaExamples */
7
+
8
+ /**
9
+ * @class
10
+ *
11
+ * (Document Your View Here)
12
+ *
13
+ * @extends SC.View
14
+ */
15
+ MediaExamples.CameraView = SC.View.extend(
16
+ /** @scope MediaExamples.CameraView.prototype */
17
+ {
18
+ childViews: ['infoBox', 'labelView'],
19
+
20
+ infoBox: MediaExamples.CapabilitiesView.extend({
21
+ layout: {
22
+ right: 10,
23
+ top: 10,
24
+ height: 200,
25
+ width: 150
26
+ }
27
+ }),
28
+
29
+ labelView: SC.LabelView.extend({
30
+ tagName: "h1",
31
+ layout: {
32
+ top: 10,
33
+ left: 10,
34
+ bottom: 10,
35
+ right: 170
36
+ },
37
+ value: "This feature is not yet supported"
38
+ })
39
+ });
@@ -0,0 +1,116 @@
1
+ // ==========================================================================
2
+ // Project: Media Examples - A Media Playback sandbox.
3
+ // Copyright: ©2012 Michael Krotscheck and contributors.
4
+ // License: Licensed under MIT license (see license.js)
5
+ // ==========================================================================
6
+ /*globals MediaExamples */
7
+
8
+ /**
9
+ * @class
10
+ *
11
+ * (Document Your View Here)
12
+ *
13
+ * @extends SC.View
14
+ */
15
+ MediaExamples.CapabilitiesView = SC.View.extend(SC.FlowedLayout,
16
+ /** @scope MediaExamples.CapabilitiesView.prototype */
17
+ {
18
+ layoutDirection: SC.LAYOUT_VERTICAL,
19
+
20
+ childViews: ['hasAudioPlayback', 'hasVideoPlayback', 'hasMicrophone', 'hasVideoCamera', 'isHTML5AudioSupported', 'isHTML5VideoSupported',
21
+ 'isHTML5StreamApiSupported', 'isQuicktimeSupported', 'isFlashSupported', 'isOggSupported', 'isWebMSupported', 'isFLVSupported',
22
+ 'isMP4Supported'],
23
+
24
+ fillWidth: YES,
25
+
26
+ hasAudioPlayback: SC.LabelView.extend({
27
+ layout: {
28
+ height: 22
29
+ },
30
+ value: "Audio Playback: " + SC.mediaCapabilities.get("hasAudioPlayback")
31
+ }),
32
+
33
+ hasVideoPlayback: SC.LabelView.extend({
34
+ layout: {
35
+ height: 22
36
+ },
37
+ value: "Video Playback: " + SC.mediaCapabilities.get("hasAudioPlayback")
38
+ }),
39
+
40
+ hasMicrophone: SC.LabelView.extend({
41
+ layout: {
42
+ height: 22
43
+ },
44
+ value: "Microphone: " + SC.mediaCapabilities.get("hasMicrophone")
45
+ }),
46
+
47
+ hasVideoCamera: SC.LabelView.extend({
48
+ layout: {
49
+ height: 22
50
+ },
51
+ value: "Video Camera: " + SC.mediaCapabilities.get("hasVideoCamera")
52
+ }),
53
+
54
+ isHTML5AudioSupported: SC.LabelView.extend({
55
+ layout: {
56
+ height: 22
57
+ },
58
+ value: "HTML5 Audio: " + SC.mediaCapabilities.get("isHTML5AudioSupported")
59
+ }),
60
+
61
+ isHTML5VideoSupported: SC.LabelView.extend({
62
+ layout: {
63
+ height: 22
64
+ },
65
+ value: "HTML5 Video: " + SC.mediaCapabilities.get("isHTML5VideoSupported")
66
+ }),
67
+
68
+ isHTML5StreamApiSupported: SC.LabelView.extend({
69
+ layout: {
70
+ height: 22
71
+ },
72
+ value: "Stream API: " + SC.mediaCapabilities.get("isHTML5StreamApiSupported")
73
+ }),
74
+
75
+ isQuicktimeSupported: SC.LabelView.extend({
76
+ layout: {
77
+ height: 22
78
+ },
79
+ value: "Quicktime Plugin: " + SC.mediaCapabilities.get("isQuicktimeSupported")
80
+ }),
81
+
82
+ isFlashSupported: SC.LabelView.extend({
83
+ layout: {
84
+ height: 22
85
+ },
86
+ value: "Flash Plugin: " + SC.mediaCapabilities.get("isFlashSupported")
87
+ }),
88
+
89
+ isOggSupported: SC.LabelView.extend({
90
+ layout: {
91
+ height: 22
92
+ },
93
+ value: "OGG/Theora: " + SC.mediaCapabilities.get("isOggSupported")
94
+ }),
95
+
96
+ isWebMSupported: SC.LabelView.extend({
97
+ layout: {
98
+ height: 22
99
+ },
100
+ value: "WebM/VP8: " + SC.mediaCapabilities.get("isWebMSupported")
101
+ }),
102
+
103
+ isFLVSupported: SC.LabelView.extend({
104
+ layout: {
105
+ height: 22
106
+ },
107
+ value: "FLV Video: " + SC.mediaCapabilities.get("isFLVSupported")
108
+ }),
109
+
110
+ isMP4Supported: SC.LabelView.extend({
111
+ layout: {
112
+ height: 22
113
+ },
114
+ value: "MPEG-4/H.264: " + SC.mediaCapabilities.get("isMP4Supported")
115
+ }),
116
+ });
@@ -0,0 +1,40 @@
1
+ // ==========================================================================
2
+ // Project: Media Examples - A Media Playback sandbox.
3
+ // Copyright: ©2012 Michael Krotscheck and contributors.
4
+ // License: Licensed under MIT license (see license.js)
5
+ // ==========================================================================
6
+ /*globals MediaExamples */
7
+
8
+ /**
9
+ * @class
10
+ *
11
+ * (Document Your View Here)
12
+ *
13
+ * @extends SC.View
14
+ */
15
+ MediaExamples.MicrophoneView = SC.View.extend(
16
+ /** @scope MediaExamples.MicrophoneView.prototype */
17
+ {
18
+ childViews: ['infoBox', 'labelView'],
19
+
20
+ infoBox: MediaExamples.CapabilitiesView.extend({
21
+ layout: {
22
+ right: 10,
23
+ top: 10,
24
+ height: 200,
25
+ width: 150
26
+ }
27
+ }),
28
+
29
+ labelView: SC.LabelView.extend({
30
+ tagName: "h1",
31
+ layout: {
32
+ top: 10,
33
+ left: 10,
34
+ bottom: 10,
35
+ right: 170
36
+ },
37
+ value: "This feature is not yet supported"
38
+ })
39
+
40
+ });
@@ -0,0 +1,107 @@
1
+ // ==========================================================================
2
+ // Project: Media Examples - A Media Playback sandbox.
3
+ // Copyright: ©2012 Michael Krotscheck and contributors.
4
+ // License: Licensed under MIT license (see license.js)
5
+ // ==========================================================================
6
+ /*globals MediaExamples */
7
+
8
+ /**
9
+ * @class
10
+ *
11
+ * (Document Your View Here)
12
+ *
13
+ * @extends SC.View
14
+ */
15
+ MediaExamples.VideoView = SC.View.extend(
16
+ /** @scope MediaExamples.VideoView.prototype */
17
+ {
18
+
19
+ childViews: ['infoBox', 'mediaControlsContainer'],
20
+
21
+ infoBox: MediaExamples.CapabilitiesView.extend({
22
+ layout: {
23
+ right: 10,
24
+ top: 10,
25
+ height: 200,
26
+ width: 150
27
+ }
28
+ }),
29
+
30
+ mediaControlsContainer: SC.View.extend(SC.FlowedLayout, {
31
+
32
+ defaultFlowSpacing: {
33
+ bottom: 10
34
+ },
35
+
36
+ layout: {
37
+ left: 10,
38
+ top: 10,
39
+ right: 320,
40
+ bottom: 10,
41
+ },
42
+
43
+ layoutDirection: SC.LAYOUT_VERTICAL,
44
+
45
+ fillWidth: YES,
46
+
47
+ childViews: ['videoPlayer', 'mediaControlsLabel', 'mediaControls', 'miniControlsLabel', 'miniControls', 'simpleControlsLabel', 'simpleControls'],
48
+
49
+ videoPlayer: SC.VideoView.extend({
50
+ value: (function() {
51
+ if(SC.mediaCapabilities.isOggSupported) {
52
+ return 'http://clips.vorwaerts-gmbh.de/big_buck_bunny.ogv';
53
+ } else {
54
+ return 'http://clips.vorwaerts-gmbh.de/big_buck_bunny.mp4';
55
+ }
56
+ })(),
57
+
58
+ layout: {
59
+ height: 204,
60
+ width: 480
61
+ },
62
+ }),
63
+
64
+ mediaControlsLabel: SC.LabelView.extend({
65
+ value: "SC.MediaControlsView",
66
+ layout: {
67
+ height: 22
68
+ }
69
+ }),
70
+
71
+ mediaControls: SC.MediaControlsView.extend({
72
+ targetBinding: SC.Binding.oneWay('.parentView.videoPlayer'),
73
+ layout: {
74
+ height: 20,
75
+ },
76
+ }),
77
+
78
+ miniControlsLabel: SC.LabelView.extend({
79
+ value: "SC.MiniMediaControlsView",
80
+ layout: {
81
+ height: 22
82
+ }
83
+ }),
84
+
85
+ miniControls: SC.MiniMediaControlsView.extend({
86
+ targetBinding: SC.Binding.oneWay('.parentView.videoPlayer'),
87
+ layout: {
88
+ height: 20,
89
+ },
90
+ }),
91
+
92
+ simpleControlsLabel: SC.LabelView.extend({
93
+ value: "SC.SimpleMediaControlsView",
94
+ layout: {
95
+ height: 22
96
+ }
97
+ }),
98
+
99
+ simpleControls: SC.SimpleMediaControlsView.extend({
100
+ targetBinding: SC.Binding.oneWay('.parentView.videoPlayer'),
101
+ layout: {
102
+ height: 20,
103
+ },
104
+ }),
105
+ })
106
+
107
+ });
@@ -0,0 +1,11 @@
1
+ # ==========================================================================
2
+ # Project: Showcase
3
+ # Copyright: @2012 My Company, Inc.
4
+ # ==========================================================================
5
+
6
+ # This is your Buildfile for your app, Showcase. This tells SproutCore
7
+ # how to build your app. These settings override those in your project
8
+ # Buildfile, which contains default settings for all apps in your project.
9
+
10
+ # It is better to add :required targets here than in the global Buildfile.
11
+ config :showcase, :required => :sproutcore, :favicon => 'favicon.ico'
@@ -0,0 +1,15 @@
1
+ ==========================================================================
2
+ Project: SproutCoreShowcase
3
+ Copyright: @2012 My Company, Inc.
4
+ ==========================================================================
5
+
6
+ To deploy:
7
+
8
+ • build the app into the working copy of the deployed page repo
9
+ $ sproutcore build --buildroot=../../path_to_sproutcore-showcase.github.com_repo_working_copy
10
+
11
+ • cd to that directory and move index.html to the top of the directory
12
+ $ cd ../../path_to_sproutcore-showcase.github.com_repo
13
+ $ mv static/showcase/en/_build_number/index.html index.html
14
+
15
+ • push to git@github.com:sproutcore-showcase/sproutcore-showcase.github.com.git
@@ -0,0 +1,15 @@
1
+ // ==========================================================================
2
+ // Project: Showcase
3
+ // Copyright: ©2012 7x7 Software, Inc.
4
+ // License: Licensed under MIT license
5
+ // ==========================================================================
6
+ /*globals Showcase */
7
+
8
+ /**
9
+ The mediating controller for the selected source object.
10
+ */
11
+ Showcase.sourceController = SC.ObjectController.create({
12
+
13
+ contentBinding: SC.Binding.oneWay('Showcase.sourceTreeController.selection')
14
+
15
+ });
@@ -0,0 +1,212 @@
1
+ // ==========================================================================
2
+ // Project: Showcase
3
+ // Copyright: ©2012 7x7 Software, Inc.
4
+ // License: Licensed under MIT license
5
+ // ==========================================================================
6
+ /*globals Showcase */
7
+
8
+
9
+ /**
10
+ The source objects.
11
+ */
12
+ Showcase.sources = SC.Object.create(SC.CollectionContent, SC.TreeItemContent, {
13
+
14
+ treeItemIsExpanded: true,
15
+
16
+ treeItemIsGrouped: true,
17
+
18
+ treeItemChildren: [
19
+
20
+ SC.Object.create(SC.TreeItemContent, {
21
+ treeItemIsExpanded: true,
22
+ group: true,
23
+ name: "Demos",
24
+ subpath: 'demos',
25
+ treeItemChildren: [
26
+ SC.Object.create({
27
+ appPath: 'http://demos.sproutcore.com/color_demo',
28
+ name: "Using SC.Color",
29
+ view: 'Showcase.mainPage.demoView'
30
+ })
31
+ ]
32
+ }),
33
+
34
+ SC.Object.create(SC.TreeItemContent, {
35
+ treeItemIsExpanded: true,
36
+ group: true,
37
+ name: "Views & Controls",
38
+ subpath: 'ui',
39
+ treeItemChildren: [
40
+ SC.Object.create({
41
+ name: "SC.ButtonView",
42
+ view: 'Showcase.viewsPage.buttonViews'
43
+ }),
44
+ SC.Object.create({
45
+ name: "SC.CheckboxView",
46
+ view: 'Showcase.viewsPage.checkboxViews'
47
+ }),
48
+ SC.Object.create({
49
+ name: "SC.ContainerView",
50
+ view: 'Showcase.viewsPage.containerViews'
51
+ }),
52
+ SC.Object.create({
53
+ name: "SC.DateFieldView",
54
+ view: 'Showcase.viewsPage.dateFieldViews'
55
+ }),
56
+ SC.Object.create({
57
+ name: "SC.DisclosureView",
58
+ view: 'Showcase.viewsPage.disclosureViews'
59
+ }),
60
+ SC.Object.create({
61
+ name: "SC.GridView",
62
+ view: 'Showcase.viewsPage.gridViews'
63
+ }),
64
+ SC.Object.create({
65
+ name: "SC.ImageButtonView",
66
+ view: 'Showcase.viewsPage.imageButtonViews'
67
+ }),
68
+ SC.Object.create({
69
+ name: "SC.ImageView",
70
+ view: 'Showcase.viewsPage.imageViews'
71
+ }),
72
+ SC.Object.create({
73
+ name: "SC.LabelView",
74
+ view: 'Showcase.viewsPage.labelViews'
75
+ }),
76
+ SC.Object.create({
77
+ name: "SC.ListView",
78
+ view: 'Showcase.viewsPage.listViews'
79
+ }),
80
+ SC.Object.create({
81
+ name: "SC.PopUpButtonView",
82
+ view: 'Showcase.viewsPage.popupButtonViews'
83
+ }),
84
+ SC.Object.create({
85
+ name: "SC.ProgressView",
86
+ view: 'Showcase.viewsPage.progressViews'
87
+ }),
88
+ SC.Object.create({
89
+ name: "SC.RadioView",
90
+ view: 'Showcase.viewsPage.radioViews'
91
+ }),
92
+ SC.Object.create({
93
+ name: "SC.ScrollView",
94
+ view: 'Showcase.viewsPage.scrollViews'
95
+ }),
96
+ SC.Object.create({
97
+ name: "SC.SegmentedView",
98
+ view: 'Showcase.viewsPage.segmentedViews'
99
+ }),
100
+ SC.Object.create({
101
+ name: "SC.SelectView",
102
+ view: 'Showcase.viewsPage.selectViews'
103
+ }),
104
+ SC.Object.create({
105
+ name: "SC.SliderView",
106
+ view: 'Showcase.viewsPage.sliderViews'
107
+ }),
108
+ SC.Object.create({
109
+ name: "SC.SourceListView",
110
+ view: 'Showcase.viewsPage.sourceListViews'
111
+ }),
112
+ SC.Object.create({
113
+ name: "SC.SplitView",
114
+ view: 'Showcase.viewsPage.splitViews'
115
+ }),
116
+ SC.Object.create({
117
+ name: "SC.StackedView",
118
+ view: 'Showcase.viewsPage.stackedViews'
119
+ }),
120
+ SC.Object.create({
121
+ name: "SC.StaticContentView",
122
+ view: 'Showcase.viewsPage.staticContentViews'
123
+ }),
124
+ SC.Object.create({
125
+ name: "SC.TabView",
126
+ view: 'Showcase.viewsPage.tabViews'
127
+ }),
128
+ SC.Object.create({
129
+ name: "SC.TextFieldView",
130
+ view: 'Showcase.viewsPage.textFieldViews'
131
+ }),
132
+ SC.Object.create({
133
+ name: "SC.ToolbarView",
134
+ view: 'Showcase.viewsPage.toolbarViews'
135
+ }),
136
+ SC.Object.create({
137
+ name: "SC.WebView",
138
+ view: 'Showcase.viewsPage.webViews'
139
+ }),
140
+ SC.Object.create({
141
+ name: "SC.WellView",
142
+ view: 'Showcase.viewsPage.wellViews'
143
+ }),
144
+ SC.Object.create({
145
+ name: "SC.WorkspaceView",
146
+ view: 'Showcase.viewsPage.workspaceViews'
147
+ })
148
+ ]
149
+ }),
150
+
151
+ // SC.Object.create({
152
+ // treeItemIsExpanded: true,
153
+ // group: true,
154
+ // name: "Recipes",
155
+ // treeItemChildren: []
156
+ // }),
157
+
158
+ // SC.Object.create({
159
+ // treeItemIsExpanded: true,
160
+ // group: true,
161
+ // name: "Labs",
162
+ // treeItemChildren: []
163
+ // })
164
+
165
+ ]
166
+ });
167
+
168
+
169
+ /**
170
+ The mediating controller for the source list object and the delegate for
171
+ the source list.
172
+ */
173
+ Showcase.sourceTreeController = SC.TreeController.create({
174
+
175
+ /** Display top level items as groups. */
176
+ treeItemIsGrouped: YES,
177
+
178
+ /** Don't allow multiple selection. */
179
+ allowsMultipleSelection: NO,
180
+
181
+ /** Don't allow empty selection. */
182
+ allowsEmptySelection: YES,
183
+
184
+ /** Update the URL to match the selection. */
185
+ selectionDidChange: function() {
186
+ var content = this.get('content'),
187
+ selection = this.get('selection');
188
+
189
+ if (selection && selection.firstObject()) {
190
+ var object = selection.firstObject(),
191
+ section;
192
+
193
+ // Determine which group the selection belongs to.
194
+ content.get('treeItemChildren').forEach(function(group) {
195
+ if (group.get('treeItemChildren').indexOf(object) >= 0) {
196
+ section = group;
197
+ }
198
+ });
199
+
200
+ // Set the location to be a combination of the section and the item. We
201
+ // use the name in the URL rather than having to add extra properties to
202
+ // our source objects.
203
+ // Use informLocation to avoid triggering a route call, since the
204
+ // selection change already does what we want.
205
+ SC.routes.informLocation('location', section.get('subpath') + '/' + object.get('name'));
206
+ } else {
207
+ // Clear the last location
208
+ SC.routes.informLocation('location', null);
209
+ }
210
+ }.observes('selection')
211
+
212
+ });