sproutcore 1.7.1.beta → 1.8.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (445) hide show
  1. data/CHANGELOG +44 -0
  2. data/README.rdoc +20 -20
  3. data/VERSION.yml +3 -3
  4. data/lib/Buildfile +1 -1
  5. data/lib/buildtasks/build.rake +5 -0
  6. data/lib/buildtasks/manifest.rake +19 -1
  7. data/lib/frameworks/sproutcore/Buildfile +19 -17
  8. data/lib/frameworks/sproutcore/CHANGELOG.md +163 -29
  9. data/lib/frameworks/sproutcore/README.md +29 -8
  10. data/lib/frameworks/sproutcore/apps/statechart_routing/Buildfile +12 -0
  11. data/lib/frameworks/sproutcore/apps/statechart_routing/controllers/login_controller.js +11 -0
  12. data/lib/frameworks/sproutcore/apps/statechart_routing/controllers/main_controller.js +7 -0
  13. data/lib/frameworks/sproutcore/apps/statechart_routing/controllers/statechart_controller.js +17 -0
  14. data/lib/frameworks/sproutcore/apps/statechart_routing/core.js +25 -0
  15. data/lib/frameworks/sproutcore/apps/statechart_routing/main.js +15 -0
  16. data/lib/frameworks/sproutcore/apps/statechart_routing/resources/_theme.css +18 -0
  17. data/lib/frameworks/sproutcore/apps/statechart_routing/resources/bar_page.js +14 -0
  18. data/lib/frameworks/sproutcore/apps/statechart_routing/resources/foo_page.js +14 -0
  19. data/lib/frameworks/sproutcore/apps/statechart_routing/resources/loading.rhtml +9 -0
  20. data/lib/frameworks/sproutcore/apps/statechart_routing/resources/login_page.js +61 -0
  21. data/lib/frameworks/sproutcore/apps/statechart_routing/resources/main_page.js +46 -0
  22. data/lib/frameworks/sproutcore/apps/statechart_routing/statechart.js +76 -0
  23. data/lib/frameworks/sproutcore/apps/statechart_routing/theme.js +27 -0
  24. data/lib/frameworks/sproutcore/apps/tests/controllers/targets.js +1 -1
  25. data/lib/frameworks/sproutcore/apps/tests/states/no_targets.js +1 -1
  26. data/lib/frameworks/sproutcore/apps/tests/states/ready_detail.js +1 -1
  27. data/lib/frameworks/sproutcore/apps/tests/states/ready_empty.js +1 -1
  28. data/lib/frameworks/sproutcore/apps/tests/states/ready_list.js +1 -1
  29. data/lib/frameworks/sproutcore/apps/tests/states/ready_no_tests.js +1 -1
  30. data/lib/frameworks/sproutcore/apps/welcome/controllers/targets.js +1 -1
  31. data/lib/frameworks/sproutcore/frameworks/ajax/system/request.js +14 -1
  32. data/lib/frameworks/sproutcore/frameworks/ajax/system/response.js +15 -15
  33. data/lib/frameworks/sproutcore/frameworks/ajax/tests/system/request.js +1 -1
  34. data/lib/frameworks/sproutcore/frameworks/animation/core.js +8 -5
  35. data/lib/frameworks/sproutcore/frameworks/bootstrap/system/browser.js +302 -70
  36. data/lib/frameworks/sproutcore/frameworks/bootstrap/system/loader.js +19 -14
  37. data/lib/frameworks/sproutcore/frameworks/bootstrap/tests/system/browser.js +471 -149
  38. data/lib/frameworks/sproutcore/frameworks/core_foundation/controllers/array.js +3 -3
  39. data/lib/frameworks/sproutcore/frameworks/core_foundation/ext/object.js +42 -0
  40. data/lib/frameworks/sproutcore/frameworks/core_foundation/ext/run_loop.js +3 -2
  41. data/lib/frameworks/sproutcore/frameworks/core_foundation/ext/string.js +7 -0
  42. data/lib/frameworks/sproutcore/frameworks/core_foundation/mixins/action_support.js +1 -1
  43. data/lib/frameworks/sproutcore/frameworks/core_foundation/mixins/delegate_support.js +2 -2
  44. data/lib/frameworks/sproutcore/frameworks/core_foundation/mixins/responder_context.js +3 -3
  45. data/lib/frameworks/sproutcore/frameworks/core_foundation/mixins/selection_support.js +1 -1
  46. data/lib/frameworks/sproutcore/frameworks/core_foundation/panes/body_overflow.js +63 -0
  47. data/lib/frameworks/sproutcore/frameworks/core_foundation/panes/keyboard.js +1 -1
  48. data/lib/frameworks/sproutcore/frameworks/core_foundation/panes/layout.js +37 -2
  49. data/lib/frameworks/sproutcore/frameworks/core_foundation/panes/main.js +28 -6
  50. data/lib/frameworks/sproutcore/frameworks/core_foundation/panes/pane.js +10 -3
  51. data/lib/frameworks/sproutcore/frameworks/core_foundation/protocols/sparse_array_delegate.js +2 -2
  52. data/lib/frameworks/sproutcore/frameworks/core_foundation/system/browser.js +66 -2
  53. data/lib/frameworks/sproutcore/frameworks/core_foundation/system/builder.js +1 -1
  54. data/lib/frameworks/sproutcore/frameworks/core_foundation/system/cursor.js +1 -1
  55. data/lib/frameworks/sproutcore/frameworks/core_foundation/system/event.js +58 -57
  56. data/lib/frameworks/sproutcore/frameworks/core_foundation/system/locale.js +1 -1
  57. data/lib/frameworks/sproutcore/frameworks/core_foundation/system/locale.js.orig +445 -0
  58. data/lib/frameworks/sproutcore/frameworks/core_foundation/system/platform.js +51 -31
  59. data/lib/frameworks/sproutcore/frameworks/core_foundation/system/ready.js +5 -1
  60. data/lib/frameworks/sproutcore/frameworks/core_foundation/system/render_context.js +53 -69
  61. data/lib/frameworks/sproutcore/frameworks/core_foundation/system/responder.js +1 -1
  62. data/lib/frameworks/sproutcore/frameworks/core_foundation/system/root_responder.js +98 -72
  63. data/lib/frameworks/sproutcore/frameworks/core_foundation/system/string.js +37 -3
  64. data/lib/frameworks/sproutcore/frameworks/core_foundation/system/timer.js +7 -4
  65. data/lib/frameworks/sproutcore/frameworks/core_foundation/tests/controllers/array/array_case.js +21 -0
  66. data/lib/frameworks/sproutcore/frameworks/core_foundation/tests/controllers/object/content_destroyed.js +7 -7
  67. data/lib/frameworks/sproutcore/frameworks/core_foundation/tests/mixins/string.js +23 -1
  68. data/lib/frameworks/sproutcore/frameworks/core_foundation/tests/system/browser.js +66 -0
  69. data/lib/frameworks/sproutcore/frameworks/core_foundation/tests/system/event.js +22 -0
  70. data/lib/frameworks/sproutcore/frameworks/core_foundation/tests/system/locale.js +11 -11
  71. data/lib/frameworks/sproutcore/frameworks/core_foundation/tests/system/render_context/end.js +4 -4
  72. data/lib/frameworks/sproutcore/frameworks/core_foundation/tests/system/render_context/escape_html.js +41 -0
  73. data/lib/frameworks/sproutcore/frameworks/core_foundation/tests/system/render_context/helpers_className.js +1 -1
  74. data/lib/frameworks/sproutcore/frameworks/core_foundation/tests/system/render_context/helpers_style.js +8 -8
  75. data/lib/frameworks/sproutcore/frameworks/core_foundation/tests/system/render_context/update.js +17 -16
  76. data/lib/frameworks/sproutcore/frameworks/core_foundation/tests/system/selection_set/remove.js +1 -1
  77. data/lib/frameworks/sproutcore/frameworks/core_foundation/tests/views/view/build_children.js +1 -1
  78. data/lib/frameworks/sproutcore/frameworks/core_foundation/tests/views/view/class_name_bindings_test.js +15 -0
  79. data/lib/frameworks/sproutcore/frameworks/core_foundation/tests/views/view/createChildViews.js +5 -5
  80. data/lib/frameworks/sproutcore/frameworks/core_foundation/views/view.js +50 -30
  81. data/lib/frameworks/sproutcore/frameworks/core_foundation/views/view/acceleration.js +46 -0
  82. data/lib/frameworks/sproutcore/frameworks/core_foundation/views/view/animation.js +1 -43
  83. data/lib/frameworks/sproutcore/frameworks/core_foundation/views/view/keyboard.js +8 -34
  84. data/lib/frameworks/sproutcore/frameworks/core_foundation/views/view/layout.js +3 -2
  85. data/lib/frameworks/sproutcore/frameworks/core_foundation/views/view/layout_style.js +10 -1
  86. data/lib/frameworks/sproutcore/frameworks/core_foundation/views/view/manipulation.js +6 -5
  87. data/lib/frameworks/sproutcore/frameworks/core_foundation/views/view/theming.js +22 -2
  88. data/lib/frameworks/sproutcore/frameworks/datastore/data_sources/data_source.js +2 -2
  89. data/lib/frameworks/sproutcore/frameworks/datastore/mixins/relationship_support.js +1 -1
  90. data/lib/frameworks/sproutcore/frameworks/datastore/models/child_attribute.js +0 -2
  91. data/lib/frameworks/sproutcore/frameworks/datastore/models/children_attribute.js +35 -0
  92. data/lib/frameworks/sproutcore/frameworks/datastore/models/record.js +46 -19
  93. data/lib/frameworks/sproutcore/frameworks/datastore/models/record_attribute.js +23 -9
  94. data/lib/frameworks/sproutcore/frameworks/datastore/models/single_attribute.js +2 -3
  95. data/lib/frameworks/sproutcore/frameworks/datastore/system/many_array.js +1 -1
  96. data/lib/frameworks/sproutcore/frameworks/datastore/system/nested_store.js +2 -2
  97. data/lib/frameworks/sproutcore/frameworks/datastore/system/query.js +294 -302
  98. data/lib/frameworks/sproutcore/frameworks/datastore/system/query.js.orig +1531 -0
  99. data/lib/frameworks/sproutcore/frameworks/datastore/system/record_array.js +4 -2
  100. data/lib/frameworks/sproutcore/frameworks/datastore/system/store.js +14 -11
  101. data/lib/frameworks/sproutcore/frameworks/datastore/tests/integration/many_array.js +63 -0
  102. data/lib/frameworks/sproutcore/frameworks/datastore/tests/models/many_attribute.js +1 -1
  103. data/lib/frameworks/sproutcore/frameworks/datastore/tests/models/nested_records/nested_record.js +4 -4
  104. data/lib/frameworks/sproutcore/frameworks/datastore/tests/models/nested_records/nested_record_array.js +50 -10
  105. data/lib/frameworks/sproutcore/frameworks/datastore/tests/models/nested_records/nested_record_array_complex.js +4 -4
  106. data/lib/frameworks/sproutcore/frameworks/datastore/tests/models/nested_records/nested_record_complex.js +3 -3
  107. data/lib/frameworks/sproutcore/frameworks/datastore/tests/models/record/destroy.js +1 -1
  108. data/lib/frameworks/sproutcore/frameworks/datastore/tests/models/record/refresh.js +1 -1
  109. data/lib/frameworks/sproutcore/frameworks/datastore/tests/models/record_attribute.js +1 -1
  110. data/lib/frameworks/sproutcore/frameworks/datastore/tests/models/single_attribute.js +114 -67
  111. data/lib/frameworks/sproutcore/frameworks/datastore/tests/system/nested_store/commitChangesFromNestedStore.js +1 -1
  112. data/lib/frameworks/sproutcore/frameworks/datastore/tests/system/nested_store/readDataHash.js +1 -1
  113. data/lib/frameworks/sproutcore/frameworks/datastore/tests/system/query/compare.js +54 -1
  114. data/lib/frameworks/sproutcore/frameworks/datastore/tests/system/query/evaluation.js +29 -9
  115. data/lib/frameworks/sproutcore/frameworks/datastore/tests/system/query/parse.js +1 -1
  116. data/lib/frameworks/sproutcore/frameworks/datastore/tests/system/record_array/core_methods.js +1 -1
  117. data/lib/frameworks/sproutcore/frameworks/datastore/tests/system/record_array/flush.js +1 -1
  118. data/lib/frameworks/sproutcore/frameworks/datastore/tests/system/store/cancelRecord.js +1 -1
  119. data/lib/frameworks/sproutcore/frameworks/datastore/tests/system/store/commitChangesFromNestedStore.js +1 -1
  120. data/lib/frameworks/sproutcore/frameworks/datastore/tests/system/store/commitRecord.js +37 -45
  121. data/lib/frameworks/sproutcore/frameworks/datastore/tests/system/store/find.js +127 -127
  122. data/lib/frameworks/sproutcore/frameworks/datastore/tests/system/store/pushChanges.js +16 -0
  123. data/lib/frameworks/sproutcore/frameworks/datastore/tests/system/store/pushRelationships.js +42 -4
  124. data/lib/frameworks/sproutcore/frameworks/datastore/tests/system/store/readDataHash.js +1 -1
  125. data/lib/frameworks/sproutcore/frameworks/datetime/frameworks/core/system/datetime.js +13 -7
  126. data/lib/frameworks/sproutcore/frameworks/datetime/frameworks/core/tests/system/datetime.js +8 -0
  127. data/lib/frameworks/sproutcore/frameworks/datetime/frameworks/localized/resources/strings.js +2 -1
  128. data/lib/frameworks/sproutcore/frameworks/datetime/frameworks/localized/system/datetime.js +1 -0
  129. data/lib/frameworks/sproutcore/frameworks/debug/core.js +3 -3
  130. data/lib/frameworks/sproutcore/frameworks/desktop/core.js +1 -1
  131. data/lib/frameworks/sproutcore/frameworks/desktop/mixins/collection_row_delegate.js +1 -1
  132. data/lib/frameworks/sproutcore/frameworks/desktop/mixins/collection_view_delegate.js +1 -1
  133. data/lib/frameworks/sproutcore/frameworks/desktop/panes/alert.js +1 -4
  134. data/lib/frameworks/sproutcore/frameworks/desktop/panes/menu.js +19 -6
  135. data/lib/frameworks/sproutcore/frameworks/desktop/panes/modal.js +30 -1
  136. data/lib/frameworks/sproutcore/frameworks/desktop/panes/palette.js +1 -1
  137. data/lib/frameworks/sproutcore/frameworks/desktop/panes/panel.js +24 -1
  138. data/lib/frameworks/sproutcore/frameworks/desktop/panes/picker.js +121 -28
  139. data/lib/frameworks/sproutcore/frameworks/desktop/panes/sheet.js +15 -15
  140. data/lib/frameworks/sproutcore/frameworks/desktop/protocols/drag_data_source.js +1 -1
  141. data/lib/frameworks/sproutcore/frameworks/desktop/protocols/drop_target.js +2 -2
  142. data/lib/frameworks/sproutcore/frameworks/desktop/protocols/responder.js +2 -2
  143. data/lib/frameworks/sproutcore/frameworks/desktop/render_delegates/button.js +39 -15
  144. data/lib/frameworks/sproutcore/frameworks/desktop/render_delegates/collection.js +3 -3
  145. data/lib/frameworks/sproutcore/frameworks/desktop/render_delegates/disclosure.js +2 -2
  146. data/lib/frameworks/sproutcore/frameworks/desktop/render_delegates/image_button.js +2 -2
  147. data/lib/frameworks/sproutcore/frameworks/desktop/render_delegates/panel.js +14 -6
  148. data/lib/frameworks/sproutcore/frameworks/desktop/render_delegates/popup_button.js +3 -3
  149. data/lib/frameworks/sproutcore/frameworks/desktop/render_delegates/progress.js +11 -11
  150. data/lib/frameworks/sproutcore/frameworks/desktop/render_delegates/segment.js +4 -3
  151. data/lib/frameworks/sproutcore/frameworks/desktop/render_delegates/segmented.js +1 -51
  152. data/lib/frameworks/sproutcore/frameworks/desktop/render_delegates/slider.js +11 -16
  153. data/lib/frameworks/sproutcore/frameworks/desktop/resources/images/icons/sc-icon-error-48.png +0 -0
  154. data/lib/frameworks/sproutcore/frameworks/desktop/resources/slider.css +0 -2
  155. data/lib/frameworks/sproutcore/frameworks/desktop/system/drag.js +3 -3
  156. data/lib/frameworks/sproutcore/frameworks/desktop/system/undo_manager.js +3 -3
  157. data/lib/frameworks/sproutcore/frameworks/desktop/tests/panes/alert/ui.js +9 -9
  158. data/lib/frameworks/sproutcore/frameworks/desktop/tests/views/button/content.js +11 -11
  159. data/lib/frameworks/sproutcore/frameworks/desktop/tests/views/button/ui.js +2 -1
  160. data/lib/frameworks/sproutcore/frameworks/desktop/tests/views/collection/reload.js +1 -1
  161. data/lib/frameworks/sproutcore/frameworks/desktop/tests/views/date_field/ui.js +107 -81
  162. data/lib/frameworks/sproutcore/frameworks/desktop/tests/views/list/rowDelegate.js +3 -3
  163. data/lib/frameworks/sproutcore/frameworks/desktop/tests/views/progress/ui.js +68 -60
  164. data/lib/frameworks/sproutcore/frameworks/desktop/tests/views/radio/methods.js +57 -12
  165. data/lib/frameworks/sproutcore/frameworks/desktop/tests/views/scroll/integration.js +21 -19
  166. data/lib/frameworks/sproutcore/frameworks/desktop/tests/views/scroller.js +5 -0
  167. data/lib/frameworks/sproutcore/frameworks/desktop/tests/views/segmented/ui.js +2 -2
  168. data/lib/frameworks/sproutcore/frameworks/desktop/tests/views/select/ui.js +32 -3
  169. data/lib/frameworks/sproutcore/frameworks/desktop/tests/views/split/methods.js +12 -0
  170. data/lib/frameworks/sproutcore/frameworks/desktop/tests/views/stacked/ui_comments.js +12 -0
  171. data/lib/frameworks/sproutcore/frameworks/desktop/tests/views/tab/methods.js +0 -8
  172. data/lib/frameworks/sproutcore/frameworks/desktop/views/button.js +77 -132
  173. data/lib/frameworks/sproutcore/frameworks/desktop/views/checkbox.js +5 -6
  174. data/lib/frameworks/sproutcore/frameworks/desktop/views/collection.js +16 -15
  175. data/lib/frameworks/sproutcore/frameworks/desktop/views/date_field.js +52 -52
  176. data/lib/frameworks/sproutcore/frameworks/desktop/views/disclosure.js +1 -1
  177. data/lib/frameworks/sproutcore/frameworks/desktop/views/grid.js +1 -1
  178. data/lib/frameworks/sproutcore/frameworks/desktop/views/list.js +147 -147
  179. data/lib/frameworks/sproutcore/frameworks/desktop/views/list_item.js +11 -2
  180. data/lib/frameworks/sproutcore/frameworks/desktop/views/menu_item.js +2 -2
  181. data/lib/frameworks/sproutcore/frameworks/desktop/views/menu_scroll.js +5 -5
  182. data/lib/frameworks/sproutcore/frameworks/desktop/views/popup_button.js +22 -12
  183. data/lib/frameworks/sproutcore/frameworks/desktop/views/radio.js +13 -7
  184. data/lib/frameworks/sproutcore/frameworks/desktop/views/scene.js +2 -2
  185. data/lib/frameworks/sproutcore/frameworks/desktop/views/scroll.js +462 -441
  186. data/lib/frameworks/sproutcore/frameworks/desktop/views/scroller.js +48 -62
  187. data/lib/frameworks/sproutcore/frameworks/desktop/views/segment.js +22 -2
  188. data/lib/frameworks/sproutcore/frameworks/desktop/views/segmented.js +150 -32
  189. data/lib/frameworks/sproutcore/frameworks/desktop/views/select.js +104 -45
  190. data/lib/frameworks/sproutcore/frameworks/desktop/views/select_button.js +42 -20
  191. data/lib/frameworks/sproutcore/frameworks/desktop/views/slider.js +24 -24
  192. data/lib/frameworks/sproutcore/frameworks/desktop/views/split.js +148 -154
  193. data/lib/frameworks/sproutcore/frameworks/desktop/views/stacked.js +2 -2
  194. data/lib/frameworks/sproutcore/frameworks/desktop/views/static_content.js +2 -2
  195. data/lib/frameworks/sproutcore/frameworks/desktop/views/tab.js +8 -7
  196. data/lib/frameworks/sproutcore/frameworks/desktop/views/web.js +2 -2
  197. data/lib/frameworks/sproutcore/frameworks/experimental/Buildfile +2 -0
  198. data/lib/frameworks/sproutcore/frameworks/experimental/apps/greenhouse/controllers/files.js +1 -1
  199. data/lib/frameworks/sproutcore/frameworks/experimental/apps/greenhouse/controllers/library.js +1 -1
  200. data/lib/frameworks/sproutcore/frameworks/experimental/apps/greenhouse/controllers/targets.js +1 -1
  201. data/lib/frameworks/sproutcore/frameworks/experimental/apps/greenhouse/controllers/view_configs.js +1 -1
  202. data/lib/frameworks/sproutcore/frameworks/experimental/apps/greenhouse/mixins/drop_down.js +1 -1
  203. data/lib/frameworks/sproutcore/frameworks/experimental/apps/greenhouse/states/ready.js +1 -1
  204. data/lib/frameworks/sproutcore/frameworks/experimental/apps/greenhouse/views/plist_item.js +1 -1
  205. data/lib/frameworks/sproutcore/frameworks/experimental/apps/greenhouse/views/web.js +1 -1
  206. data/lib/frameworks/sproutcore/frameworks/experimental/frameworks/designer/controllers/page_design.js +2 -2
  207. data/lib/frameworks/sproutcore/frameworks/experimental/frameworks/designer/css/css_style_sheet.js +2 -2
  208. data/lib/frameworks/sproutcore/frameworks/experimental/frameworks/designer/designers/object_designer.js +1 -1
  209. data/lib/frameworks/sproutcore/frameworks/experimental/frameworks/designer/designers/view_designer.js +2 -2
  210. data/lib/frameworks/sproutcore/frameworks/experimental/frameworks/designer/mixins/snap_lines.js +3 -3
  211. data/lib/frameworks/sproutcore/frameworks/experimental/frameworks/designer/views/designer_drop_target.js +1 -1
  212. data/lib/frameworks/sproutcore/frameworks/experimental/frameworks/designer/views/drawing.js +21 -21
  213. data/lib/frameworks/sproutcore/frameworks/experimental/frameworks/designer/views/page_item_view.js +1 -1
  214. data/lib/frameworks/sproutcore/frameworks/experimental/frameworks/forms/views/form.js +59 -53
  215. data/lib/frameworks/sproutcore/frameworks/experimental/frameworks/menu/views/menu/scroll.js +2 -2
  216. data/lib/frameworks/sproutcore/frameworks/experimental/frameworks/polymorphism/tests/models/polymorphism/simple.js +1 -1
  217. data/lib/frameworks/sproutcore/frameworks/experimental/frameworks/scroll_view/views/core_scroll.js +6 -6
  218. data/lib/frameworks/sproutcore/frameworks/experimental/frameworks/scroll_view/views/desktop/scroll.js +2 -2
  219. data/lib/frameworks/sproutcore/frameworks/experimental/frameworks/scroll_view/views/touch/scroll.js +2 -2
  220. data/lib/frameworks/sproutcore/frameworks/experimental/frameworks/select_view/ext/menu.js +14 -10
  221. data/lib/frameworks/sproutcore/frameworks/experimental/frameworks/select_view/ext/menu_item.js +17 -6
  222. data/lib/frameworks/sproutcore/frameworks/experimental/frameworks/select_view/views/popup_button.js +38 -14
  223. data/lib/frameworks/sproutcore/frameworks/experimental/frameworks/select_view/views/select.js +5 -13
  224. data/lib/frameworks/sproutcore/frameworks/experimental/frameworks/split_view/mixins/split_child.js +1 -1
  225. data/lib/frameworks/sproutcore/frameworks/experimental/frameworks/split_view/mixins/split_thumb.js +5 -3
  226. data/lib/frameworks/sproutcore/frameworks/experimental/frameworks/split_view/tests/children.js +19 -0
  227. data/lib/frameworks/sproutcore/frameworks/experimental/frameworks/split_view/tests/methods.js +20 -2
  228. data/lib/frameworks/sproutcore/frameworks/experimental/frameworks/split_view/tests/split_thumb.js +1 -1
  229. data/lib/frameworks/sproutcore/frameworks/experimental/frameworks/split_view/views/split.js +35 -12
  230. data/lib/frameworks/sproutcore/frameworks/formatters/README +6 -0
  231. data/lib/frameworks/sproutcore/frameworks/formatters/english.lproj/strings.js +174 -0
  232. data/lib/frameworks/sproutcore/frameworks/formatters/formatters/date_formatter.js +351 -0
  233. data/lib/frameworks/sproutcore/frameworks/formatters/tests/date_formatter.js +517 -0
  234. data/lib/frameworks/sproutcore/frameworks/foundation/core.js +1 -1
  235. data/lib/frameworks/sproutcore/frameworks/foundation/mixins/auto_resize.js +345 -138
  236. data/lib/frameworks/sproutcore/frameworks/foundation/mixins/button.js +5 -3
  237. data/lib/frameworks/sproutcore/frameworks/foundation/mixins/content_value_support.js +176 -42
  238. data/lib/frameworks/sproutcore/frameworks/foundation/mixins/editable.js +1 -1
  239. data/lib/frameworks/sproutcore/frameworks/foundation/mixins/flowed_layout.js +137 -105
  240. data/lib/frameworks/sproutcore/frameworks/foundation/mixins/gestureable.js +2 -2
  241. data/lib/frameworks/sproutcore/frameworks/foundation/mixins/inline_editable.js +2 -2
  242. data/lib/frameworks/sproutcore/frameworks/foundation/mixins/inline_editor.js +16 -1
  243. data/lib/frameworks/sproutcore/frameworks/foundation/mixins/static_layout.js +1 -1
  244. data/lib/frameworks/sproutcore/frameworks/foundation/mixins/validatable.js +47 -47
  245. data/lib/frameworks/sproutcore/frameworks/foundation/private/tree_item_observer.js +3 -3
  246. data/lib/frameworks/sproutcore/frameworks/foundation/render_delegates/helpers/sizing.js +1 -1
  247. data/lib/frameworks/sproutcore/frameworks/foundation/render_delegates/label.js +28 -6
  248. data/lib/frameworks/sproutcore/frameworks/foundation/render_delegates/render_delegate.js +1 -1
  249. data/lib/frameworks/sproutcore/frameworks/foundation/resources/benchmark.css +0 -5
  250. data/lib/frameworks/sproutcore/frameworks/foundation/resources/bootstrap.rhtml +34 -19
  251. data/lib/frameworks/sproutcore/frameworks/foundation/resources/button_view.css +0 -2
  252. data/lib/frameworks/sproutcore/frameworks/foundation/resources/label.css +1 -5
  253. data/lib/frameworks/sproutcore/frameworks/foundation/resources/text_field.css +8 -9
  254. data/lib/frameworks/sproutcore/frameworks/foundation/system/benchmark.js +2 -2
  255. data/lib/frameworks/sproutcore/frameworks/foundation/system/module.js +179 -47
  256. data/lib/frameworks/sproutcore/frameworks/foundation/system/task_queue.js +34 -1
  257. data/lib/frameworks/sproutcore/frameworks/foundation/system/text_selection.js +1 -1
  258. data/lib/frameworks/sproutcore/frameworks/foundation/system/user_defaults.js +26 -12
  259. data/lib/frameworks/sproutcore/frameworks/foundation/system/utils/misc.js +7 -7
  260. data/lib/frameworks/sproutcore/frameworks/foundation/system/utils/string_measurement.js +12 -4
  261. data/lib/frameworks/sproutcore/frameworks/foundation/system/utils/string_metric_optimization.js +202 -0
  262. data/lib/frameworks/sproutcore/frameworks/foundation/tests/mixins/content_value_support/content.js +77 -8
  263. data/lib/frameworks/sproutcore/frameworks/foundation/tests/mixins/flowed_layout/tests.js +1 -0
  264. data/lib/frameworks/sproutcore/frameworks/foundation/tests/mixins/inline_editable/beginEditing.js +2 -2
  265. data/lib/frameworks/sproutcore/frameworks/foundation/tests/mixins/inline_editable/commitEditing.js +4 -3
  266. data/lib/frameworks/sproutcore/frameworks/foundation/tests/mixins/inline_editable/discardEditing.js +4 -2
  267. data/lib/frameworks/sproutcore/frameworks/foundation/tests/mixins/inline_editor/beginEditing.js +2 -2
  268. data/lib/frameworks/sproutcore/frameworks/foundation/tests/mixins/inline_editor/commitEditing.js +4 -2
  269. data/lib/frameworks/sproutcore/frameworks/foundation/tests/mixins/inline_editor/discardEditing.js +4 -2
  270. data/lib/frameworks/sproutcore/frameworks/foundation/tests/system/utils/pointInElement.js +2 -2
  271. data/lib/frameworks/sproutcore/frameworks/foundation/tests/views/label/ui.js +0 -8
  272. data/lib/frameworks/sproutcore/frameworks/foundation/tests/views/text_field/ui.js +163 -149
  273. data/lib/frameworks/sproutcore/frameworks/foundation/validators/credit_card.js +1 -1
  274. data/lib/frameworks/sproutcore/frameworks/foundation/validators/date.js +1 -1
  275. data/lib/frameworks/sproutcore/frameworks/foundation/validators/date_time.js +1 -1
  276. data/lib/frameworks/sproutcore/frameworks/foundation/validators/password.js +1 -1
  277. data/lib/frameworks/sproutcore/frameworks/foundation/validators/validator.js +3 -3
  278. data/lib/frameworks/sproutcore/frameworks/foundation/views/field.js +16 -43
  279. data/lib/frameworks/sproutcore/frameworks/foundation/views/image.js +4 -3
  280. data/lib/frameworks/sproutcore/frameworks/foundation/views/inline_text_field.js +67 -54
  281. data/lib/frameworks/sproutcore/frameworks/foundation/views/label.js +49 -38
  282. data/lib/frameworks/sproutcore/frameworks/foundation/views/text_field.js +285 -242
  283. data/lib/frameworks/sproutcore/frameworks/jquery/jquery-buffer.js +13 -13
  284. data/lib/frameworks/sproutcore/frameworks/jquery/jquery-buffered.js +19 -22
  285. data/lib/frameworks/sproutcore/frameworks/jquery/jquery-sc.js +9 -3
  286. data/lib/frameworks/sproutcore/frameworks/jquery/jquery.js +231 -186
  287. data/lib/frameworks/sproutcore/frameworks/media/views/audio.js +145 -143
  288. data/lib/frameworks/sproutcore/frameworks/media/views/video.js +156 -154
  289. data/lib/frameworks/sproutcore/frameworks/qunit/qunit/qunit.js +5 -5
  290. data/lib/frameworks/sproutcore/frameworks/routing/system/routes.js +3 -3
  291. data/lib/frameworks/sproutcore/frameworks/routing/system/routes.js.orig +540 -0
  292. data/lib/frameworks/sproutcore/frameworks/routing/tests/system/routes.js +2 -2
  293. data/lib/frameworks/sproutcore/frameworks/runtime/core.js +15 -8
  294. data/lib/frameworks/sproutcore/frameworks/runtime/debug/test_suites/array/base.js +5 -5
  295. data/lib/frameworks/sproutcore/frameworks/runtime/debug/test_suites/array/replace.js +12 -0
  296. data/lib/frameworks/sproutcore/frameworks/runtime/ext/function.js +2 -2
  297. data/lib/frameworks/sproutcore/frameworks/runtime/mixins/array.js +1 -1
  298. data/lib/frameworks/sproutcore/frameworks/runtime/mixins/copyable.js +1 -1
  299. data/lib/frameworks/sproutcore/frameworks/runtime/mixins/enumerable.js +7 -7
  300. data/lib/frameworks/sproutcore/frameworks/runtime/mixins/observable.js +98 -32
  301. data/lib/frameworks/sproutcore/frameworks/runtime/private/chain_observer.js +7 -2
  302. data/lib/frameworks/sproutcore/frameworks/runtime/private/observer_queue.js +14 -3
  303. data/lib/frameworks/sproutcore/frameworks/runtime/private/observer_set.js +98 -13
  304. data/lib/frameworks/sproutcore/frameworks/runtime/system/binding.js +8 -14
  305. data/lib/frameworks/sproutcore/frameworks/runtime/system/enumerator.js +1 -1
  306. data/lib/frameworks/sproutcore/frameworks/runtime/system/error.js +2 -2
  307. data/lib/frameworks/sproutcore/frameworks/runtime/system/index_set.js +23 -6
  308. data/lib/frameworks/sproutcore/frameworks/runtime/system/logger.js +69 -18
  309. data/lib/frameworks/sproutcore/frameworks/runtime/system/object.js +57 -31
  310. data/lib/frameworks/sproutcore/frameworks/runtime/system/run_loop.js +189 -14
  311. data/lib/frameworks/sproutcore/frameworks/runtime/system/string.js +82 -22
  312. data/lib/frameworks/sproutcore/frameworks/runtime/tests/mixins/observable/chained.js +20 -0
  313. data/lib/frameworks/sproutcore/frameworks/runtime/tests/mixins/observable/observable.js +125 -4
  314. data/lib/frameworks/sproutcore/frameworks/runtime/tests/private/observer_queue.js +1 -1
  315. data/lib/frameworks/sproutcore/frameworks/runtime/tests/system/binding.js +2 -2
  316. data/lib/frameworks/sproutcore/frameworks/runtime/tests/system/index_set/rangeStartForIndex.js +37 -0
  317. data/lib/frameworks/sproutcore/frameworks/runtime/tests/system/index_set/remove.js +2 -2
  318. data/lib/frameworks/sproutcore/frameworks/runtime/tests/system/logger.js +16 -0
  319. data/lib/frameworks/sproutcore/frameworks/runtime/tests/system/run_loop.js +75 -4
  320. data/lib/frameworks/sproutcore/frameworks/runtime/tests/system/string.js +41 -0
  321. data/lib/frameworks/sproutcore/frameworks/statechart/mixins/statechart_delegate.js +113 -0
  322. data/lib/frameworks/sproutcore/frameworks/statechart/private/state_path_matcher.js +312 -0
  323. data/lib/frameworks/sproutcore/frameworks/statechart/system/async.js +18 -22
  324. data/lib/frameworks/sproutcore/frameworks/statechart/system/state.js +508 -131
  325. data/lib/frameworks/sproutcore/frameworks/statechart/system/state_route_handler_context.js +78 -0
  326. data/lib/frameworks/sproutcore/frameworks/statechart/system/statechart.js +265 -44
  327. data/lib/frameworks/sproutcore/frameworks/statechart/tests/event_handling/basic/with_concurrent_states.js +16 -0
  328. data/lib/frameworks/sproutcore/frameworks/statechart/tests/event_handling/responder/responder_chain.js +11 -3
  329. data/lib/frameworks/sproutcore/frameworks/statechart/tests/private/state_path_matcher.js +116 -0
  330. data/lib/frameworks/sproutcore/frameworks/statechart/tests/state/methods/add_substate.js +108 -0
  331. data/lib/frameworks/sproutcore/frameworks/statechart/tests/state/methods/find_first_relative_current_state/with_concurrent.js +179 -0
  332. data/lib/frameworks/sproutcore/frameworks/statechart/tests/state/methods/find_first_relative_current_state/without_concurrent.js +74 -0
  333. data/lib/frameworks/sproutcore/frameworks/statechart/tests/state/methods/get_state.js +141 -0
  334. data/lib/frameworks/sproutcore/frameworks/statechart/tests/state/methods/get_substate.js +340 -0
  335. data/lib/frameworks/sproutcore/frameworks/statechart/tests/state/methods/route_triggered.js +161 -0
  336. data/lib/frameworks/sproutcore/frameworks/statechart/tests/state/methods/try_to_handle_event.js +288 -0
  337. data/lib/frameworks/sproutcore/frameworks/statechart/tests/state_transitioning/history_state/standard/without_concurrent_states/context.js +5 -33
  338. data/lib/frameworks/sproutcore/frameworks/statechart/tests/state_transitioning/routing/with_concurrent_states/basic.js +213 -0
  339. data/lib/frameworks/sproutcore/frameworks/statechart/tests/state_transitioning/routing/without_concurrent_states/basic.js +212 -0
  340. data/lib/frameworks/sproutcore/frameworks/statechart/tests/state_transitioning/standard/without_concurrent_states/core.js +8 -0
  341. data/lib/frameworks/sproutcore/frameworks/statechart/tests/{state/namespacing.js → statechart/methods/get_state.js} +3 -41
  342. data/lib/frameworks/sproutcore/frameworks/statechart/tests/statechart/{invoke_state_method.js → methods/invoke_state_method.js} +1 -1
  343. data/lib/frameworks/sproutcore/frameworks/statechart/tests/{event_handling/advanced → statechart}/respond_to_event.js +1 -1
  344. data/lib/frameworks/sproutcore/frameworks/statechart/tests/system/state_route_handler_context/methods/retry.js +64 -0
  345. data/lib/frameworks/sproutcore/frameworks/table/core.js +2 -0
  346. data/lib/frameworks/sproutcore/frameworks/{core_foundation → template_view}/controls/button.js +0 -1
  347. data/lib/frameworks/sproutcore/frameworks/{core_foundation → template_view}/ext/handlebars.js +29 -5
  348. data/lib/frameworks/sproutcore/frameworks/{core_foundation → template_view}/ext/handlebars/bind.js +4 -3
  349. data/lib/frameworks/sproutcore/frameworks/{core_foundation → template_view}/ext/handlebars/collection.js +0 -0
  350. data/lib/frameworks/sproutcore/frameworks/{core_foundation → template_view}/ext/handlebars/localization.js +0 -0
  351. data/lib/frameworks/sproutcore/frameworks/{core_foundation → template_view}/ext/handlebars/view.js +0 -0
  352. data/lib/frameworks/sproutcore/frameworks/{handlebars → template_view}/handlebars.js +493 -357
  353. data/lib/frameworks/sproutcore/frameworks/{core_foundation → template_view}/mixins/template_helpers/checkbox_support.js +0 -0
  354. data/lib/frameworks/sproutcore/frameworks/{core_foundation → template_view}/mixins/template_helpers/text_field_support.js +13 -2
  355. data/lib/frameworks/sproutcore/frameworks/{core_foundation → template_view}/panes/template.js +0 -0
  356. data/lib/frameworks/sproutcore/frameworks/{core_foundation → template_view}/tests/controls/button.js +0 -0
  357. data/lib/frameworks/sproutcore/frameworks/{core_foundation → template_view}/tests/mixins/template_helpers/checkbox_support.js +0 -0
  358. data/lib/frameworks/sproutcore/frameworks/{core_foundation → template_view}/tests/mixins/template_helpers/text_field_support.js +0 -0
  359. data/lib/frameworks/sproutcore/frameworks/{core_foundation → template_view}/tests/panes/template.js +0 -0
  360. data/lib/frameworks/sproutcore/frameworks/{core_foundation → template_view}/tests/views/template/collection.js +39 -14
  361. data/lib/frameworks/sproutcore/frameworks/{core_foundation → template_view}/tests/views/template/core.js +0 -0
  362. data/lib/frameworks/sproutcore/frameworks/{core_foundation → template_view}/tests/views/template/handlebars.js +57 -6
  363. data/lib/frameworks/sproutcore/frameworks/{core_foundation → template_view}/views/bindable_span.js +21 -6
  364. data/lib/frameworks/sproutcore/frameworks/{core_foundation → template_view}/views/template.js +9 -3
  365. data/lib/frameworks/sproutcore/frameworks/{core_foundation → template_view}/views/template_collection.js +55 -26
  366. data/lib/frameworks/sproutcore/frameworks/testing/system/equiv.js +1 -1
  367. data/lib/frameworks/sproutcore/frameworks/testing/system/plan.js +122 -122
  368. data/lib/frameworks/sproutcore/frameworks/testing/system/runner.js +2 -2
  369. data/lib/frameworks/sproutcore/frameworks/testing/system/suite.js +4 -4
  370. data/lib/frameworks/sproutcore/frameworks/yuireset/resources/base.css +1 -1
  371. data/lib/frameworks/sproutcore/frameworks/yuireset/resources/reset.css +0 -1
  372. data/lib/frameworks/sproutcore/frameworks/yuireset/resources/view.css +4 -4
  373. data/lib/frameworks/sproutcore/lib/index.rhtml +55 -32
  374. data/lib/frameworks/sproutcore/license.js +2 -4
  375. data/lib/frameworks/sproutcore/themes/ace/resources/body.css +5 -1
  376. data/lib/frameworks/sproutcore/themes/ace/resources/button/ace/18px/button.css +2 -2
  377. data/lib/frameworks/sproutcore/themes/ace/resources/button/ace/24px/button.css +21 -13
  378. data/lib/frameworks/sproutcore/themes/ace/resources/button/ace/30px/button.css +17 -10
  379. data/lib/frameworks/sproutcore/themes/ace/resources/button/ace/44px/button.css +4 -3
  380. data/lib/frameworks/sproutcore/themes/ace/resources/button/dark/24px/button.css +20 -12
  381. data/lib/frameworks/sproutcore/themes/ace/resources/button/dark/30px/button.css +16 -8
  382. data/lib/frameworks/sproutcore/themes/ace/resources/button/dark/jumbo/button.css +17 -0
  383. data/lib/frameworks/sproutcore/themes/ace/resources/button/dark/small/button.css +17 -0
  384. data/lib/frameworks/sproutcore/themes/ace/resources/disclosure/ace/disclosure.css +2 -2
  385. data/lib/frameworks/sproutcore/themes/ace/resources/master-detail/master-detail.css +2 -2
  386. data/lib/frameworks/sproutcore/themes/ace/resources/picker/popover/popover.css +5 -3
  387. data/lib/frameworks/sproutcore/themes/iphone_theme/english.lproj/core.css +1 -1
  388. data/lib/frameworks/sproutcore/themes/legacy_theme/english.lproj/toolbar.css +1 -1
  389. data/lib/gen/app/USAGE +17 -4
  390. data/lib/gen/language/Buildfile +4 -4
  391. data/lib/gen/language/USAGE +4 -4
  392. data/lib/gen/page/templates/pages/@target_name@/Buildfile +7 -7
  393. data/lib/gen/{html_app → statechart_app}/Buildfile +0 -0
  394. data/lib/gen/{html_app → statechart_app}/README +0 -0
  395. data/lib/gen/statechart_app/USAGE +21 -0
  396. data/lib/gen/statechart_app/templates/apps/@target_name@/Buildfile +9 -0
  397. data/lib/gen/statechart_app/templates/apps/@target_name@/core.js +24 -0
  398. data/lib/gen/statechart_app/templates/apps/@target_name@/main.js +26 -0
  399. data/lib/gen/statechart_app/templates/apps/@target_name@/resources/_theme.css +18 -0
  400. data/lib/gen/statechart_app/templates/apps/@target_name@/resources/loading.rhtml +9 -0
  401. data/lib/gen/statechart_app/templates/apps/@target_name@/resources/main_page.js +21 -0
  402. data/lib/gen/statechart_app/templates/apps/@target_name@/statechart.js +8 -0
  403. data/lib/gen/statechart_app/templates/apps/@target_name@/states/ready_state.js +12 -0
  404. data/lib/gen/statechart_app/templates/apps/@target_name@/theme.js +24 -0
  405. data/lib/sproutcore/builders.rb +1 -0
  406. data/lib/sproutcore/builders/base.rb +19 -1
  407. data/lib/sproutcore/builders/chance_file.rb +6 -1
  408. data/lib/sproutcore/builders/handlebars.rb +1 -9
  409. data/lib/sproutcore/builders/javascript.rb +1 -10
  410. data/lib/sproutcore/builders/json.rb +25 -0
  411. data/lib/sproutcore/builders/less.rb +1 -1
  412. data/lib/sproutcore/builders/sass.rb +1 -1
  413. data/lib/sproutcore/builders/stylesheet.rb +1 -9
  414. data/lib/sproutcore/helpers/html5_manifest.rb +1 -1
  415. data/lib/sproutcore/helpers/static_helper.rb +42 -0
  416. data/lib/sproutcore/rack/proxy.rb +21 -3
  417. data/lib/sproutcore/rack/service.rb +3 -2
  418. data/lib/sproutcore/tools.rb +18 -25
  419. data/lib/sproutcore/tools/gen.rb +10 -3
  420. data/lib/sproutcore/tools/init.rb +11 -10
  421. data/spec/buildtasks/manifest/prepare_build_tasks/json_spec.rb +62 -0
  422. data/spec/fixtures/builder_tests/apps/handlebars_test/Buildfile +1 -1
  423. data/spec/fixtures/builder_tests/apps/json_test/sc_static.json +2 -0
  424. data/spec/lib/builders/json_spec.rb +53 -0
  425. data/sproutcore.gemspec +2 -2
  426. data/vendor/chance/lib/chance/parser.rb +1 -1
  427. metadata +222 -177
  428. data/lib/frameworks/sproutcore/frameworks/core_foundation/system/datetime.js +0 -0
  429. data/lib/frameworks/sproutcore/frameworks/debug/invoke_once_last_debugging.js +0 -259
  430. data/lib/frameworks/sproutcore/frameworks/documentation/core.js +0 -0
  431. data/lib/frameworks/sproutcore/frameworks/foundation/system/chance.js +0 -69
  432. data/lib/frameworks/sproutcore/frameworks/foundation/tests/mixins/editable/ui.js +0 -44
  433. data/lib/frameworks/sproutcore/frameworks/foundation/tests/mixins/inline_text_field/ui.js +0 -64
  434. data/lib/frameworks/sproutcore/frameworks/mini/license.js +0 -30
  435. data/lib/gen/html_app/USAGE +0 -15
  436. data/lib/gen/html_app/templates/apps/@target_name@/@target_name@.js +0 -11
  437. data/lib/gen/html_app/templates/apps/@target_name@/resources/images/.gitkeep +0 -0
  438. data/lib/gen/html_app/templates/apps/@target_name@/resources/stylesheets/@target_name@.css +0 -6
  439. data/lib/gen/html_app/templates/apps/@target_name@/resources/templates/@target_name@.handlebars +0 -1
  440. data/lib/gen/html_project/Buildfile +0 -45
  441. data/lib/gen/html_project/INIT +0 -3
  442. data/lib/gen/html_project/README +0 -1
  443. data/lib/gen/html_project/USAGE +0 -2
  444. data/lib/gen/html_project/templates/@filename@/Buildfile +0 -5
  445. data/lib/gen/html_project/templates/@filename@/README +0 -4
@@ -7,22 +7,22 @@
7
7
 
8
8
  sc_require('views/controls');
9
9
  sc_require('views/mini_controls');
10
- /**
10
+ /**
11
11
  @class
12
-
13
- Renders a audioView using different technologies like HTML5 audio tag,
12
+
13
+ Renders a audioView using different technologies like HTML5 audio tag,
14
14
  quicktime and flash.
15
-
16
- This view wraps the different technologies so you can use one standard and
15
+
16
+ This view wraps the different technologies so you can use one standard and
17
17
  simple API to play audio.
18
-
18
+
19
19
  You can specify and array with the order of how the technologies will degrade
20
- depending on availability. For example you can set degradeList to be
21
- ['html5', 'flash'] and it will load your audio in an audio tag if the
22
- technology is available otherwise flash and if neither of the technologies
20
+ depending on availability. For example you can set degradeList to be
21
+ ['html5', 'flash'] and it will load your audio in an audio tag if the
22
+ technology is available otherwise flash and if neither of the technologies
23
23
  are available it will show a message saying that your machine needs to install
24
24
  one of this technologies.
25
-
25
+
26
26
  @extends SC.View
27
27
  @since SproutCore 1.1
28
28
  */
@@ -30,83 +30,83 @@ sc_require('views/mini_controls');
30
30
  SC.AudioView = SC.View.extend(
31
31
  /** @scope SC.AudioView.prototype */{
32
32
 
33
- /**
34
- Audio view className.
33
+ /**
34
+ Audio view className.
35
35
  @property {String}
36
36
  */
37
37
  classNames: 'sc-audio-view',
38
-
39
- /**
38
+
39
+ /**
40
40
  Properties that trigger a re render of the view. If the value changes, it
41
41
  means that the audio url changed.
42
-
42
+
43
43
  @property {Array}
44
44
  */
45
45
  displayProperties: ['value', 'shouldAutoResize'],
46
-
47
- /**
48
- Reference to the audio object once is created.
46
+
47
+ /**
48
+ Reference to the audio object once is created.
49
49
  @property {Object}
50
50
  */
51
-
51
+
52
52
  audioObject:null,
53
-
54
- /**
53
+
54
+ /**
55
55
  Array containing the technologies and the order to load them depending
56
56
  availability
57
-
57
+
58
58
  @property {Array}
59
59
  */
60
60
  degradeList: ['html5','quicktime', 'flash'],
61
-
62
- /**
61
+
62
+ /**
63
63
  Current time in secs
64
64
  @property {Number}
65
65
  */
66
- currentTime: 0,
67
-
68
- /**
66
+ currentTime: 0,
67
+
68
+ /**
69
69
  Duration in secs
70
70
  @property {Number}
71
71
  */
72
72
  duration: 0, //audio duration in secs
73
-
74
- /**
73
+
74
+ /**
75
75
  Volume. The value should be between 0 and 1
76
76
  @property {Number}
77
77
  */
78
78
  volume:0, //volume value from 0 to 1
79
-
80
- /**
79
+
80
+ /**
81
81
  Tells you if the audio is paused or not.
82
82
  @property {Boolean}
83
83
  */
84
84
  paused: YES, //is the audio paused
85
85
 
86
- /**
86
+ /**
87
87
  Tells you if the audio is loaded.
88
88
  @property {Boolean}
89
89
  */
90
90
 
91
91
  loaded: NO, //has the audio loaded
92
-
93
- /**
92
+
93
+ /**
94
94
  Indicates if the audio has reached the end
95
95
  @property {Boolean}
96
96
  */
97
-
97
+
98
98
  ended: NO, //did the audio finished playing
99
-
100
- /**
99
+
100
+ /**
101
101
  Indicates if the audio is ready to be played.
102
102
  @property {Boolean}
103
103
  */
104
-
104
+
105
105
  canPlay: NO, //can the audio be played
106
-
106
+
107
107
  loadedTimeRanges:[], //loaded bits
108
-
109
- /**
108
+
109
+ /**
110
110
  Formatted currentTime. (00:00)
111
111
  @property {String}
112
112
  */
@@ -116,10 +116,10 @@ SC.AudioView = SC.View.extend(
116
116
  var formattedTime = this._addZeros(Math.floor(currentTime/60))+':'+this._addZeros(Math.floor(currentTime%60))+"/"+this._addZeros(Math.floor(totaltimeInSecs/60))+':'+this._addZeros(Math.floor(totaltimeInSecs%60));
117
117
  return formattedTime;
118
118
  }.property('currentTime', 'duration').cacheable(),
119
-
120
- /**
121
- Renders the appropiate HTML according for the technology to use.
122
-
119
+
120
+ /**
121
+ Renders the appropriate HTML according for the technology to use.
122
+
123
123
  @param {SC.RenderContext} context the render context
124
124
  @param {Boolean} firstTime YES if this is creating a layer
125
125
  @returns {void}
@@ -130,7 +130,8 @@ SC.AudioView = SC.View.extend(
130
130
  for(i=0, listLen = this.degradeList.length; i<listLen; i++){
131
131
  switch(this.degradeList[i]){
132
132
  case "html5":
133
- if(SC.browser.safari){
133
+ // TODO: this doesn't seem like the best way to determine what tags to use!
134
+ if(SC.browser.name === SC.BROWSER.safari){
134
135
  context.push('<audio src="'+this.get('value')+'"');
135
136
  if(this.poster){
136
137
  context.push(' poster="'+this.poster+'"');
@@ -141,14 +142,15 @@ SC.AudioView = SC.View.extend(
141
142
  }
142
143
  break;
143
144
  case "quicktime":
144
- if(SC.browser.msie){
145
+ // TODO: this doesn't seem like the best way to determine what tags to use!
146
+ if(SC.browser.name === SC.BROWSER.ie){
145
147
  context.push('<object id="qt_event_source" '+
146
- 'classid="clsid:CB927D12-4FF7-4a9e-A169-56E4B8A75598" '+
148
+ 'classid="clsid:CB927D12-4FF7-4a9e-A169-56E4B8A75598" '+
147
149
  'codebase="http://www.apple.com/qtactivex/qtplugin.cab#version=7,2,1,0"> '+
148
150
  '</object> ');
149
151
  }
150
152
  context.push('<object width="100%" height="100%"');
151
- if(SC.browser.msie){
153
+ if(SC.browser.name === SC.BROWSER.ie){
152
154
  context.push('style="behavior:url(#qt_event_source);"');
153
155
  }
154
156
  context.push('classid="clsid:02BF25D5-8C17-4B23-BC80-D3488ABDDC6B" '+
@@ -231,20 +233,20 @@ SC.AudioView = SC.View.extend(
231
233
  },
232
234
 
233
235
  valueObserver:function(){
234
- this.set('currentTime', 0);
235
- this.set('duration', 0);
236
- this.set('volume', 0);
237
- this.set('paused', YES);
238
- this.set('loaded', NO);
239
- this.set('ended', NO);
240
- this.set('canPlay', NO);
241
- this.set('loadedTimeRanges', []);
236
+ this.set('currentTime', 0);
237
+ this.set('duration', 0);
238
+ this.set('volume', 0);
239
+ this.set('paused', YES);
240
+ this.set('loaded', NO);
241
+ this.set('ended', NO);
242
+ this.set('canPlay', NO);
243
+ this.set('loadedTimeRanges', []);
242
244
  this.replaceLayer();
243
245
  }.observes('value'),
244
-
245
- /**
246
+
247
+ /**
246
248
  In didCreateLayer we add DOM events for audio tag or quicktime.
247
-
249
+
248
250
  @returns {void}
249
251
  */
250
252
  didCreateLayer :function(){
@@ -255,16 +257,16 @@ SC.AudioView = SC.View.extend(
255
257
  this.addQTDOMEvents();
256
258
  }
257
259
  },
258
-
260
+
259
261
  didAppendToDocument :function(){
260
262
  if(this.loaded==="quicktime"){
261
263
  this.addQTDOMEvents();
262
264
  }
263
265
  },
264
-
265
- /**
266
- Adds all the neccesary audio DOM elements.
267
-
266
+
267
+ /**
268
+ Adds all the necessary audio DOM elements.
269
+
268
270
  @returns {void}
269
271
  */
270
272
  addAudioDOMEvents: function() {
@@ -285,38 +287,38 @@ SC.AudioView = SC.View.extend(
285
287
 
286
288
  SC.Event.add(audioElem, 'loadstart', this, function () {
287
289
  SC.run(function() {
288
- view.set('volume', audioElem.volume);
290
+ view.set('volume', audioElem.volume);
289
291
  });
290
292
  });
291
293
 
292
294
  SC.Event.add(audioElem, 'play', this, function () {
293
295
  SC.run(function() {
294
- view.set('paused', NO);
296
+ view.set('paused', NO);
295
297
  });
296
298
  });
297
299
 
298
300
  SC.Event.add(audioElem, 'pause', this, function () {
299
301
  SC.run(function() {
300
- view.set('paused', YES);
302
+ view.set('paused', YES);
301
303
  });
302
304
  });
303
-
305
+
304
306
  SC.Event.add(audioElem, 'loadedmetadata', this, function () {
305
307
  SC.run(function() {
306
308
  // view.set('audioWidth', audioElem.audioWidth);
307
309
  // view.set('audioHeight', audioElem.audioHeight);
308
310
  });
309
- });
310
-
311
+ });
312
+
311
313
  SC.Event.add(audioElem, 'canplay', this, function () {
312
314
  SC.run(function() {
313
- view.set('canPlay', YES);
315
+ view.set('canPlay', YES);
314
316
  });
315
- });
317
+ });
316
318
 
317
319
  SC.Event.add(audioElem, 'ended', this, function () {
318
320
  SC.run(function() {
319
- view.set('ended', YES);
321
+ view.set('ended', YES);
320
322
  });
321
323
  });
322
324
 
@@ -341,52 +343,52 @@ SC.AudioView = SC.View.extend(
341
343
  //view.set('loadedData', ev.loaded);
342
344
  //console.log('progress '+ev.loaded+","+ev.total );
343
345
  });
344
-
346
+
345
347
  // SC.Event.add(audioElem, 'suspend', this, function () {
346
348
  // SC.RunLoop.begin();
347
349
  // console.log('suspend');
348
350
  // SC.RunLoop.end();
349
- // });
351
+ // });
350
352
  // SC.Event.add(audioElem, 'load', this, function () {
351
353
  // SC.RunLoop.begin();
352
354
  // console.log('load');
353
355
  // SC.RunLoop.end();
354
- // });
356
+ // });
355
357
  // SC.Event.add(audioElem, 'abort', this, function () {
356
358
  // SC.RunLoop.begin();
357
359
  // console.log('abort');
358
360
  // SC.RunLoop.end();
359
- // });
361
+ // });
360
362
  // SC.Event.add(audioElem, 'error', this, function () {
361
363
  // SC.RunLoop.begin();
362
364
  // console.log('error');
363
365
  // SC.RunLoop.end();
364
- // });
366
+ // });
365
367
  // SC.Event.add(audioElem, 'loadend', this, function () {
366
368
  // SC.RunLoop.begin();
367
369
  // console.log('loadend');
368
370
  // SC.RunLoop.end();
369
- // });
371
+ // });
370
372
  // SC.Event.add(audioElem, 'emptied', this, function () {
371
373
  // SC.RunLoop.begin();
372
374
  // console.log('emptied');
373
375
  // SC.RunLoop.end();
374
- // });
376
+ // });
375
377
  // SC.Event.add(audioElem, 'stalled', this, function () {
376
378
  // SC.RunLoop.begin();
377
379
  // console.log('stalled');
378
380
  // SC.RunLoop.end();
379
- // });
381
+ // });
380
382
  // SC.Event.add(audioElem, 'loadeddata', this, function () {
381
383
  // SC.RunLoop.begin();
382
384
  // console.log('loadeddata');
383
385
  // SC.RunLoop.end();
384
- // });
386
+ // });
385
387
  // SC.Event.add(audioElem, 'waiting', this, function () {
386
388
  // SC.RunLoop.begin();
387
389
  // console.log('waiting');
388
390
  // SC.RunLoop.end();
389
- // });
391
+ // });
390
392
  // SC.Event.add(audioElem, 'playing', this, function () {
391
393
  // SC.RunLoop.begin();
392
394
  // console.log('playing');
@@ -396,12 +398,12 @@ SC.AudioView = SC.View.extend(
396
398
  // SC.RunLoop.begin();
397
399
  // console.log('canplaythrough');
398
400
  // SC.RunLoop.end();
399
- // });
401
+ // });
400
402
  // SC.Event.add(audioElem, 'seeking', this, function () {
401
403
  // SC.RunLoop.begin();
402
404
  // console.log('seeking');
403
405
  // SC.RunLoop.end();
404
- // });
406
+ // });
405
407
  // SC.Event.add(audioElem, 'seeked', this, function () {
406
408
  // SC.RunLoop.begin();
407
409
  // console.log('seeked');
@@ -411,17 +413,17 @@ SC.AudioView = SC.View.extend(
411
413
  // SC.RunLoop.begin();
412
414
  // console.log('ratechange');
413
415
  // SC.RunLoop.end();
414
- // });
416
+ // });
415
417
  // SC.Event.add(audioElem, 'volumechange', this, function () {
416
418
  // SC.RunLoop.begin();
417
419
  // console.log('volumechange');
418
420
  // SC.RunLoop.end();
419
421
  // });
420
-
422
+
421
423
  },
422
-
423
- /**
424
- Adds all the neccesary quicktime DOM elements.
424
+
425
+ /**
426
+ Adds all the necessary quicktime DOM elements.
425
427
 
426
428
  @returns {void}
427
429
  */
@@ -431,7 +433,7 @@ SC.AudioView = SC.View.extend(
431
433
  view=this,
432
434
  dimensions;
433
435
  try{
434
- media.GetVolume();
436
+ media.GetVolume();
435
437
  // add media.GetTimeScale(); ?
436
438
  }catch(e){
437
439
  SC.Logger.log('loaded fail trying later');
@@ -441,34 +443,34 @@ SC.AudioView = SC.View.extend(
441
443
  this.set('audioObject', media);
442
444
  view.set('duration', media.GetDuration()/media.GetTimeScale());
443
445
  view.set('volume', media.GetVolume()/256);
444
-
446
+
445
447
  SC.Event.add(audioElem, 'qt_durationchange', this, function () {
446
448
  SC.run(function() {
447
449
  view.set('duration', media.GetDuration()/media.GetTimeScale());
448
450
  });
449
451
  });
450
-
452
+
451
453
  SC.Event.add(audioElem, 'qt_begin', this, function () {
452
454
  SC.run(function() {
453
- view.set('volume', media.GetVolume()/256);
455
+ view.set('volume', media.GetVolume()/256);
454
456
  });
455
457
  });
456
-
458
+
457
459
  SC.Event.add(audioElem, 'qt_loadedmetadata', this, function () {
458
460
  SC.run(function() {
459
- view.set('duration', media.GetDuration()/media.GetTimeScale());
461
+ view.set('duration', media.GetDuration()/media.GetTimeScale());
460
462
  });
461
463
  });
462
-
464
+
463
465
  SC.Event.add(audioElem, 'qt_canplay', this, function () {
464
466
  SC.run(function() {
465
- view.set('canPlay', YES);
467
+ view.set('canPlay', YES);
466
468
  });
467
469
  });
468
-
470
+
469
471
  SC.Event.add(audioElem, 'qt_ended', this, function () {
470
472
  SC.run(function() {
471
- view.set('ended', YES);
473
+ view.set('ended', YES);
472
474
  });
473
475
  });
474
476
 
@@ -517,11 +519,11 @@ SC.AudioView = SC.View.extend(
517
519
  // SC.RunLoop.end();
518
520
  // });
519
521
  },
520
-
521
-
522
- /**
522
+
523
+
524
+ /**
523
525
  For Quicktime we need to simulated the timer as there is no data,
524
- coming back from the plugin that reports back the currentTime of the
526
+ coming back from the plugin that reports back the currentTime of the
525
527
  audio.
526
528
 
527
529
  @returns {void}
@@ -532,11 +534,11 @@ SC.AudioView = SC.View.extend(
532
534
  this.invokeLater(this._qtTimer, 1000);
533
535
  }
534
536
  }.observes('paused'),
535
-
536
- /**
537
- Called when currentTime changes. Notifies the differnt technologies
537
+
538
+ /**
539
+ Called when currentTime changes. Notifies the different technologies
538
540
  then new currentTime.
539
-
541
+
540
542
  @returns {void}
541
543
  */
542
544
  seek:function(){
@@ -552,11 +554,11 @@ SC.AudioView = SC.View.extend(
552
554
  if(this.get('paused')) media.setTime(this.get('currentTime'));
553
555
  }
554
556
  }.observes('currentTime'),
555
-
556
- /**
557
+
558
+ /**
557
559
  Should be called once the progress view is clicked to stop the event and
558
560
  later start seeking.
559
-
561
+
560
562
  @returns {void}
561
563
  */
562
564
  startSeek: function(){
@@ -566,11 +568,11 @@ SC.AudioView = SC.View.extend(
566
568
  this._wasPlaying = true;
567
569
  }
568
570
  },
569
-
570
- /**
571
+
572
+ /**
571
573
  Should be called once the progress view gets a mouseUp. It will get the
572
574
  player to continue playing if it was playing before starting the seek.
573
-
575
+
574
576
  @returns {void}
575
577
  */
576
578
  endSeek: function(){
@@ -580,11 +582,11 @@ SC.AudioView = SC.View.extend(
580
582
  this._wasPlaying = false;
581
583
  }
582
584
  },
583
-
584
-
585
- /**
585
+
586
+
587
+ /**
586
588
  Set the volume of the audio.
587
-
589
+
588
590
  @returns {void}
589
591
  */
590
592
  setVolume:function(){
@@ -593,8 +595,8 @@ SC.AudioView = SC.View.extend(
593
595
  if(this.loaded==="quicktime") media.SetVolume(this.get('volume')*256);
594
596
  if(this.loaded==="flash") media.setVolume(this.get('volume'));
595
597
  }.observes('volume'),
596
-
597
- /**
598
+
599
+ /**
598
600
  Calls the right play method depending on the technology.
599
601
  @returns {void}
600
602
  */
@@ -605,8 +607,8 @@ SC.AudioView = SC.View.extend(
605
607
  if(this.loaded==="flash") media.playVideo();
606
608
  this.set('paused', NO);
607
609
  },
608
-
609
- /**
610
+
611
+ /**
610
612
  Calls the right stop method depending on the technology.
611
613
  @returns {void}
612
614
  */
@@ -617,8 +619,8 @@ SC.AudioView = SC.View.extend(
617
619
  if(this.loaded==="flash") media.pauseVideo();
618
620
  this.set('paused', YES);
619
621
  },
620
-
621
- /**
622
+
623
+ /**
622
624
  Plays or stops the audio.
623
625
  @returns {void}
624
626
  */
@@ -627,10 +629,10 @@ SC.AudioView = SC.View.extend(
627
629
  this.play();
628
630
  }else{
629
631
  this.stop();
630
- }
632
+ }
631
633
  },
632
-
633
- /**
634
+
635
+ /**
634
636
  Enables captions if available
635
637
  @returns {void}
636
638
  */
@@ -645,16 +647,16 @@ SC.AudioView = SC.View.extend(
645
647
  }else{
646
648
  this.SetTrackEnabled(this._closedCaptionTrackIndex,false);
647
649
  this.set('captionsEnabled', NO);
648
- }
650
+ }
649
651
  }catch(a){}
650
652
  }
651
653
  return;
652
654
  },
653
-
655
+
654
656
  /*private*/
655
-
656
-
657
- /**
657
+
658
+
659
+ /**
658
660
  Gets the right audio object depending on the browser.
659
661
  @returns {void}
660
662
  */
@@ -663,14 +665,14 @@ SC.AudioView = SC.View.extend(
663
665
  if(this.loaded==="quicktime") return document['qt_'+SC.guidFor(this)];
664
666
  if(this.loaded==="flash") {
665
667
  var movieName='flash_'+SC.guidFor(this);
666
- if (window.document[movieName])
668
+ if (window.document[movieName])
667
669
  {
668
670
  return window.document[movieName];
669
671
  }
670
672
  if (navigator.appName.indexOf("Microsoft Internet")==-1)
671
673
  {
672
674
  if (document.embeds && document.embeds[movieName]) {
673
- return document.embeds[movieName];
675
+ return document.embeds[movieName];
674
676
  }
675
677
  }
676
678
  else
@@ -679,15 +681,15 @@ SC.AudioView = SC.View.extend(
679
681
  }
680
682
  }
681
683
  },
682
-
684
+
683
685
  _addZeros:function(value){
684
686
  if(value.toString().length<2) return "0"+value;
685
687
  return value;
686
688
  }
687
-
689
+
688
690
  });
689
691
 
690
- /**
692
+ /**
691
693
  Hash to store references to the different flash audios.
692
694
  */
693
695
  SC.AudioView.flashViews={};
@@ -722,19 +724,19 @@ SC.AudioView.logFlash = function(message) {
722
724
 
723
725
  SC.AudioPlayerView = SC.View.extend({
724
726
  classNames: 'sc-audio-view',
725
-
727
+
726
728
  childViews: ['audioView', 'mini'],
727
-
729
+
728
730
  value: null,
729
-
731
+
730
732
  degradeList: null,
731
-
733
+
732
734
  audioView:SC.AudioView.design({
733
735
  layout: { top: 0, left:0, width:100, height:100},
734
736
  degradeListBinding: '*parentView.degradeList',
735
737
  valueBinding: '*parentView.value'
736
738
  }),
737
-
739
+
738
740
  mini: SC.MiniMediaControlsView.design({
739
741
  layout: { bottom:0, left: 0, right: 0, height: 20 },
740
742
  targetBinding: '*parentView.audioView'