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
@@ -20,7 +20,7 @@ sc_require('views/collection') ;
20
20
 
21
21
  This view makes no attempt to size or position your child views. It assumes
22
22
  you are using StaticLayout for your child views. If you don't enable static
23
- layout your views will probably overlay on top of eachother and will look
23
+ layout your views will probably overlay on top of each other and will look
24
24
  incorrect.
25
25
 
26
26
  Note also that the default layout for this view set's the height to "auto".
@@ -72,7 +72,7 @@ SC.StackedView = SC.CollectionView.extend(
72
72
  of the view until the end of the run loop. You can force an immediate
73
73
  update by passing YES to the "immediately" parameter.
74
74
 
75
- @param {Boolean} immediately YES to update immedately
75
+ @param {Boolean} immediately YES to update immediately
76
76
  @returns {SC.StackedView} receiver
77
77
  */
78
78
  updateHeight: function(immediately) {
@@ -12,7 +12,7 @@
12
12
 
13
13
  Normally, views in SproutCore are absolutely positioned. Their width and
14
14
  height are either pre-determined, or specified relative to their enclosing
15
- view. Occasionally, you may want to display content that is layed out by
15
+ view. Occasionally, you may want to display content that is laid out by
16
16
  the browser. For example, if you were writing a documentation browser, you
17
17
  may want to display the table of contents as an SC.ListView, but the actual
18
18
  pages as HTML content.
@@ -96,7 +96,7 @@ SC.StaticContentView = SC.View.extend(SC.StaticLayout,
96
96
 
97
97
  if (!layer) return { x: 0, y: 0, width: 0, height: 0 };
98
98
 
99
- if (layer.getBoundingClientRect) {
99
+ if (layer.getBoundingClientRect && !SC.browser.isIE8OrLower) {
100
100
  rect = layer.getBoundingClientRect();
101
101
 
102
102
  return { x: 0, y: 0, width: rect.width, height: rect.height };
@@ -195,7 +195,7 @@ SC.TabView = SC.View.extend(
195
195
 
196
196
  /** @private */
197
197
  createChildViews: function() {
198
- var childViews = [], view, containerView, layout,
198
+ var childViews = [], containerView, layout,
199
199
  tabLocation = this.get('tabLocation'),
200
200
  tabHeight = this.get('tabHeight'),
201
201
  controlSize = this.get('controlSize');
@@ -214,9 +214,8 @@ SC.TabView = SC.View.extend(
214
214
  ariaRole: 'tabpanel'
215
215
  });
216
216
 
217
- view = this.containerView = this.createChildView(containerView) ;
218
- childViews.push(view);
219
-
217
+ this.containerView = this.createChildView(containerView) ;
218
+
220
219
  // The segmentedView managed by this tab view. Note that this TabView uses
221
220
  // a custom segmented view. You can access this view but you cannot change
222
221
  // it.
@@ -250,9 +249,11 @@ SC.TabView = SC.View.extend(
250
249
  }
251
250
  });
252
251
 
253
- view = this.segmentedView = this.createChildView(this.segmentedView) ;
254
- childViews.push(view);
255
-
252
+ this.segmentedView = this.createChildView(this.segmentedView) ;
253
+
254
+ childViews.push(this.segmentedView);
255
+ childViews.push(this.containerView);
256
+
256
257
  this.set('childViews', childViews);
257
258
  return this;
258
259
  },
@@ -26,7 +26,7 @@ SC.WebView = SC.View.extend(SC.Control, {/** @scope SC.WebView.prototype */
26
26
  displayProperties: ['value', 'shouldAutoResize'],
27
27
 
28
28
  /**
29
- The content of the iframe can be bigger than the size specifed when creating
29
+ The content of the iframe can be bigger than the size specified when creating
30
30
  the view. If you want the view to be auto-resized to the dimensions of the
31
31
  iframe, then set the value of this property to YES.
32
32
  The web view can be auto resized only if the contents are from the same
@@ -95,7 +95,7 @@ SC.WebView = SC.View.extend(SC.Control, {/** @scope SC.WebView.prototype */
95
95
  if(contentWindow && contentWindow.document && contentWindow.document.documentElement){
96
96
  var docElement = contentWindow.document.documentElement;
97
97
  // setting the width before the height gives more accurate results..
98
- // atleast for the test iframe content i'm using.
98
+ // at least for the test iframe content i'm using.
99
99
  //TODO: try out document flows other than top to bottom.
100
100
  if (!SC.browser.isIE) {
101
101
  this.$().width(docElement.scrollWidth);
@@ -12,3 +12,5 @@ config :greenhouse,
12
12
  :css_theme => 'ace.greenhouse'
13
13
 
14
14
  config :polymorphism, :required => :datastore
15
+
16
+ config :split_view, :required => :foundation
@@ -28,7 +28,7 @@ Greenhouse.filesController = SC.TreeController.create(SC.CollectionViewDelegate,
28
28
  treeItemChildrenKey: "contents",
29
29
 
30
30
  /**
31
- Call this method whenever you want to relaod the files from the server.
31
+ Call this method whenever you want to reload the files from the server.
32
32
  */
33
33
  reload: function() {
34
34
  var fileQuery = Greenhouse.FILES_QUERY, target = Greenhouse.targetController.get('content');
@@ -15,7 +15,7 @@
15
15
  Greenhouse.libraryController = SC.TreeController.create( SC.CollectionViewDelegate,
16
16
  /** @scope Greenhouse.libraryController.prototype */ {
17
17
  /**
18
- Call this method whenever you want to relaod the library from hte server
18
+ Call this method whenever you want to reload the library from hte server
19
19
  */
20
20
  reload: function() {
21
21
  var configQuery = Greenhouse.CONFIG_QUERY, target = Greenhouse.targetController.get('content');
@@ -20,7 +20,7 @@ Greenhouse.targetsController = SC.ArrayController.create(
20
20
  /** @scope Greenhouse.targetsController.prototype */ {
21
21
 
22
22
  /**
23
- Call this method whenever you want to relaod the targets from the server.
23
+ Call this method whenever you want to reload the targets from the server.
24
24
  */
25
25
  reload: function() {
26
26
  var targets = Greenhouse.store.find(Greenhouse.TARGETS_QUERY);
@@ -14,7 +14,7 @@ Greenhouse.viewConfigsController = SC.ArrayController.create(
14
14
  /** @scope Greenhouse.viewConfigsController.prototype */ {
15
15
 
16
16
  /**
17
- Call this method whenever you want to relaod the view configs from the server.
17
+ Call this method whenever you want to reload the view configs from the server.
18
18
  */
19
19
  reload: function() {
20
20
  var configQuery = Greenhouse.CONFIG_QUERY, target = Greenhouse.targetController.get('content');
@@ -50,7 +50,7 @@ Greenhouse.DropDown = {
50
50
  }
51
51
  }
52
52
 
53
- // TODO: [BB] Check for existance of target and action
53
+ // TODO: [BB] Check for existence of target and action
54
54
  if (this.target !== undefined && this.action !== undefined) {
55
55
  this.set('target', this);
56
56
  this.set('action', 'toggle');
@@ -133,7 +133,7 @@ Greenhouse.mixin( /** @scope Greenhouse */{
133
133
  fileSelected: SC.State.design({
134
134
 
135
135
  enterState: function(){
136
- //TODO: draw message saing we can't do anythign with this right now...
136
+ //TODO: draw message saying we can't do anything with this right now...
137
137
  },
138
138
  exitState: function(){}
139
139
  }),
@@ -129,7 +129,7 @@ Greenhouse.PlistItemView = SC.View.extend(SC.Control,
129
129
  this._checkboxRenderDelegate = renderer;
130
130
  },
131
131
  /**
132
- Determines if the event occured inside an element with the specified
132
+ Determines if the event occurred inside an element with the specified
133
133
  classname or not.
134
134
  */
135
135
  _isInsideElementWithClassName: function(className, evt) {
@@ -22,7 +22,7 @@ Greenhouse.WebView = SC.WebView.extend(
22
22
  if(contentWindow && contentWindow.document && contentWindow.document.documentElement){
23
23
  var docElement = contentWindow.document.documentElement;
24
24
  // setting the width before the height gives more accurate results..
25
- // atleast for the test iframe content i'm using.
25
+ // at least for the test iframe content i'm using.
26
26
  //TODO: try out document flows other than top to bottom.
27
27
  if (!SC.browser.isIE){
28
28
  this.$().width(docElement.scrollWidth);
@@ -30,7 +30,7 @@ SC.PageDesignController = SC.Object.extend({
30
30
  selection: null,
31
31
 
32
32
  /**
33
- Updates the selection either by adding the item or by reseting the
33
+ Updates the selection either by adding the item or by resetting the
34
34
  selection. Calling this method with no parameters will reset the
35
35
  selection.
36
36
 
@@ -155,7 +155,7 @@ SC.PageDesignController = SC.Object.extend({
155
155
  this.deselect(designer);
156
156
  designer.set('isRootDesigner', YES);
157
157
  designer.set('prevRootDesigner', currRoot);
158
- //TODO: allow greenhouse to hightlight the root view!
158
+ //TODO: allow greenhouse to highlight the root view!
159
159
  this.set('rootDesigner', designer);
160
160
  },
161
161
 
@@ -46,7 +46,7 @@ SC.CSSStyleSheet = SC.Object.extend(
46
46
  },
47
47
 
48
48
  /**
49
- @property {Boolean} YES if the stylsheet is enabled.
49
+ @property {Boolean} YES if the stylesheet is enabled.
50
50
  */
51
51
  isEnabled: function(key, val) {
52
52
  if (val !== undefined) {
@@ -144,7 +144,7 @@ SC.mixin(SC.CSSStyleSheet,
144
144
  var ss2 = SC.CSSStyleSheet.find('style') ; // same thing
145
145
  sc_assert(ss === ss2) ; // SC.CSSStyleSheet objects are stable
146
146
 
147
- @param {String} nameOrUrl a stylsheet name or href to find
147
+ @param {String} nameOrUrl a stylesheet name or href to find
148
148
  @returns {SC.CSSStyleSheet} null if not found
149
149
  */
150
150
  find: function(nameOrUrl) {
@@ -99,7 +99,7 @@ SC.ObjectDesigner = SC.Object.extend(
99
99
 
100
100
 
101
101
  /*
102
- Array of properties avaliaible to edit in greenhouse
102
+ Array of properties available to edit in greenhouse
103
103
 
104
104
  */
105
105
  editableProperties: function(){
@@ -352,7 +352,7 @@ SC.ViewDesigner = SC.Object.extend(
352
352
 
353
353
 
354
354
  /*
355
- Array of properties avaliaible to edit in greenhouse
355
+ Array of properties available to edit in greenhouse
356
356
 
357
357
  */
358
358
  editableProperties: function(){
@@ -485,7 +485,7 @@ SC.ViewDesigner = SC.Object.extend(
485
485
 
486
486
 
487
487
  /**
488
- over-ride this method in your designers to customies drop operations
488
+ over-ride this method in your designers to customize drop operations
489
489
  default just calls appendChild
490
490
 
491
491
  TODO: Come up with a better name for this method.
@@ -38,7 +38,7 @@ SC.SnapLines = {
38
38
 
39
39
 
40
40
  /*
41
- This method will setup the datastructure required to draw snap lines
41
+ This method will setup the data structure required to draw snap lines
42
42
  it should be called in dragStarted if using with an `SC.Drag` or on
43
43
  `mouseDown` if using it with a move
44
44
 
@@ -123,7 +123,7 @@ SC.SnapLines = {
123
123
  This method will check the passed views position with the other child views
124
124
  and draw any lines. It should be called in `dragUpdated` if using `SC.Drag`
125
125
  or in `mouseMoved` if using a move. it will also return a hash of the
126
- snapped coords in local and global coodinates
126
+ snapped coords in local and global coordinates
127
127
 
128
128
  */
129
129
  drawLines: function(view, eventX, eventY, mouseDownX, mouseDownY){
@@ -137,7 +137,7 @@ SC.SnapLines = {
137
137
  rMinY, rMidY, rMaxY, rMinXMod, rMidXMod, rMaxXMod, rMinYMod, rMidYMod, rMaxYMod, xHit, yHit,
138
138
  moveDirection = this._dragDirection(eventX, eventY, mouseDownX, mouseDownY), xValues, yValues,
139
139
  that = this, xHitVals, yHitVals, ret;
140
- //get the frame and all the relavent points of interest
140
+ //get the frame and all the relevant points of interest
141
141
  parent = view.get('parentView');
142
142
  frame = parent ? parent.convertFrameToView(view.get('frame'), null) : view.get('frame');
143
143
  rMinX = SC.minX(frame);
@@ -91,7 +91,7 @@ SC.DesignerDropTarget = SC.ContainerView.extend(
91
91
  /**
92
92
  Called to actually perform the drag operation.
93
93
 
94
- Overide this method to actually perform the drag operation. This method
94
+ Override this method to actually perform the drag operation. This method
95
95
  is only called if you returned `YES` in `acceptDragOperation()`.
96
96
 
97
97
  Return the operation that was actually performed or `SC.DRAG_NONE` if the
@@ -59,8 +59,8 @@
59
59
  ?transparency: 0.2
60
60
  }
61
61
  }
62
-
63
- @author Evin Grano
62
+
63
+ @author Evin Grano
64
64
  @extends SC.View
65
65
  @since SproutCore 1.0
66
66
  */
@@ -74,23 +74,23 @@ SC.STROKE = 'stroke';
74
74
 
75
75
 
76
76
  SC.DrawingView = SC.View.extend({
77
-
77
+
78
78
  classNames: 'scui-drawing-view',
79
-
79
+
80
80
  shapes: [],
81
-
81
+
82
82
  _drawingManager: {},
83
-
83
+
84
84
  shapesDidChange: function(){
85
85
  this.set('layerNeedsUpdate', YES);
86
86
  this.updateLayerIfNeeded();
87
87
  }.observes('*shapes.[]'),
88
-
88
+
89
89
  init: function(){
90
90
  sc_super();
91
-
91
+
92
92
  // Register Basic Shapes
93
-
93
+
94
94
  // Drawing a Line
95
95
  this.registerShapeDrawing( SC.LINE, function(ctx, params){
96
96
  if (params.style){
@@ -103,7 +103,7 @@ SC.DrawingView = SC.View.extend({
103
103
  ctx.lineTo(params.end.x, params.end.y);
104
104
  ctx.stroke();
105
105
  });
106
-
106
+
107
107
  // Drawing a Rectangle
108
108
  this.registerShapeDrawing( SC.RECT, function(ctx, params){
109
109
  if (params.style){
@@ -123,7 +123,7 @@ SC.DrawingView = SC.View.extend({
123
123
  break;
124
124
  }
125
125
  });
126
-
126
+
127
127
  // Drawing a Circle
128
128
  this.registerShapeDrawing( SC.CIRCLE, function(ctx, params){
129
129
  if (params.style){
@@ -136,7 +136,7 @@ SC.DrawingView = SC.View.extend({
136
136
  if (params.type === SC.FILL) ctx.fill();
137
137
  else ctx.stroke();
138
138
  });
139
-
139
+
140
140
  // Drawing a Polygon
141
141
  this.registerShapeDrawing( SC.POLY, function(ctx, params){
142
142
  if (params.style){
@@ -147,7 +147,7 @@ SC.DrawingView = SC.View.extend({
147
147
  ctx.beginPath();
148
148
  var len = params.path ? params.path.length : 0;
149
149
  if (len < 2) return;
150
-
150
+
151
151
  var path = params.path, curr;
152
152
  ctx.moveTo(path[0].x, path[0].y);
153
153
  for(var i = 1; i < len; i++){
@@ -159,12 +159,12 @@ SC.DrawingView = SC.View.extend({
159
159
  else ctx.stroke();
160
160
  });
161
161
  },
162
-
162
+
163
163
  render: function(context, firstTime) {
164
164
  //console.log('%@.render()'.fmt(this));
165
165
  var frame = this.get('frame');
166
166
  if (firstTime) {
167
- if (!SC.browser.msie) {
167
+ if (!SC.browser.isIE) {
168
168
  context.push('<canvas class="base-layer" width="%@" height="%@">You can\'t use canvas tags</canvas>'.fmt(frame.width, frame.height));
169
169
  }
170
170
  }
@@ -191,26 +191,26 @@ SC.DrawingView = SC.View.extend({
191
191
  SC.Logger.error("SC.DrawingView.render(): Canvas element is not accessible.");
192
192
  }
193
193
  }
194
-
194
+
195
195
  return sc_super();
196
196
  },
197
-
197
+
198
198
  registerShapeDrawing: function(name, drawingFunction){
199
199
  if (!name) {
200
200
  SC.Logger.error('Can\'t register this drawing paradigm because name is null');
201
201
  return NO;
202
202
  }
203
-
203
+
204
204
  // OK, create the drawing paradigm
205
205
  this._drawingManager[name] = drawingFunction;
206
206
  this.set('layerNeedsUpdate', YES);
207
207
  this.updateLayerIfNeeded();
208
208
  return YES;
209
209
  },
210
-
210
+
211
211
  /**
212
- @private
213
-
212
+ @private
213
+
214
214
  Function for actually drawing the shapes that we have listed
215
215
  */
216
216
  _drawShapes: function(cntx){
@@ -74,7 +74,7 @@ SC.pageItemView = SC.ListItemView.extend(
74
74
  /**
75
75
  Called to actually perform the drag operation.
76
76
 
77
- Overide this method to actually perform the drag operation. This method
77
+ Override this method to actually perform the drag operation. This method
78
78
  is only called if you returned `YES` in `acceptDragOperation()`.
79
79
 
80
80
  Return the operation that was actually performed or `SC.DRAG_NONE` if the
@@ -92,70 +92,76 @@ SC.FormView = SC.View.extend(SC.FlowedLayout, SC.CalculatesEmptiness, SC.FormsEd
92
92
  /**
93
93
  */
94
94
  createChildViews: function() {
95
- var cv = SC.clone(this.get("childViews"));
96
- var idx, len = cv.length, key, v, exampleRow = this.get("exampleRow");
97
-
98
- // rows that are provided as plain hashes need to be created by passing them into
99
- // exampleRow.extend.
100
- for (idx = 0; idx < len; idx++) {
101
- key = cv[idx];
102
- if (SC.typeOf(key) === SC.T_STRING) {
103
- v = this.get(key);
104
- if (v && !v.isClass && SC.typeOf(v) === SC.T_HASH) {
105
- this[key] = exampleRow.extend(v);
95
+ var childViews = this.get('childViews'),
96
+ len = childViews.length,
97
+ idx, key, views, view,
98
+ attrs, exampleRow = this.get('exampleRow');
99
+
100
+ this.beginPropertyChanges() ;
101
+
102
+ // swap the array
103
+ for (idx=0; idx<len; ++idx) {
104
+ if (key = (view = childViews[idx])) {
105
+
106
+ // is this is a key name, lookup view class
107
+ if (typeof key === SC.T_STRING) {
108
+ view = this[key];
109
+ } else {
110
+ key = null ;
106
111
  }
107
- }
108
- }
109
112
 
110
- // we will be initializing the 'content' property for all child views
111
- var content = this.get("content");
112
- sc_super();
113
+ if (!view) {
114
+ SC.Logger.error ("No view with name "+key+" has been found in "+this.toString());
115
+ // skip this one.
116
+ continue;
117
+ }
113
118
 
114
- for (idx = 0; idx < len; idx++) {
115
- key = cv[idx];
116
-
117
- // if the view was originally declared as a string, then we have something to give it
118
- if (SC.typeOf(key) === SC.T_STRING) {
119
- // try to get the actual view
120
- v = this.get(key);
121
-
122
- if (v && !v.isClass) {
123
- // we used to set contentValueKey on applicable children, but given that was too
124
- // implicit: any LabelView child of the form view would get the contentValueKey.
125
- //
126
- // instead, we give ALL views a formKey for their convenience; if they want to
127
- // use contentValue support they should do so directly.
128
- v.set('formKey', key);
129
-
130
- // We used to try to be clever and bind child views' 'content' to
131
- // individual properties if the views didn't have content value support.
132
- // For instance, a plain view named 'myView' would get bound to content.myView.
133
- //
134
- // Cleverness is evil, so, we have dropped this. Instead, we always bind content,
135
- // and always do so directly.
136
- if (!v.get("content")) {
137
- v.bind('content', this, 'content');
138
- }
119
+ if(!view.isClass && SC.typeOf(view) === SC.T_HASH) {
120
+ attrs = view;
121
+ view = exampleRow;
122
+ }
123
+ else {
124
+ attrs = {};
125
+ }
126
+
127
+ if((attrs.isFormField || view.prototype.isFormField) && (attrs.hasContentValueSupport || view.prototype.hasContentValueSupport)) {
128
+ attrs.contentValueKey = key;
129
+ }
139
130
 
140
- // for form rows, set up label measuring and the label itself.
141
- if (v.isFormRow) {
142
- // set label (if possible).
143
- if (SC.none(v.get('label'))) {
144
- v.set("label", key.humanize().titleize());
145
- }
146
-
147
- // set the label size measuring stuff
148
- if (this.get('labelWidth') !== null) {
149
- v.set("shouldMeasureLabel", NO);
150
- }
131
+ attrs.formKey = key;
132
+
133
+ // createChildView creates the view if necessary, but also sets
134
+ // important properties, such as parentView
135
+ view = this.createChildView(view, attrs) ;
136
+
137
+ if(!view.get('content')) {
138
+ view.bind('content', this, 'content');
139
+ }
140
+
141
+ // for form rows, set up label measuring and the label itself.
142
+ if (view.isFormRow) {
143
+ // set label (if possible).
144
+ if (SC.none(view.get('label'))) {
145
+ view.set("label", key.humanize().titleize());
151
146
  }
152
147
 
148
+ // set the label size measuring stuff
149
+ if (this.get('labelWidth') !== null) {
150
+ view.set("shouldMeasureLabel", NO);
151
+ }
153
152
  }
153
+
154
+ if (key) { this[key] = view ; } // save on key name if passed
154
155
  }
156
+ childViews[idx] = view;
155
157
  }
156
158
 
159
+ this.endPropertyChanges() ;
160
+
157
161
  this._hasCreatedRows = YES;
158
162
  this.recalculateLabelWidth();
163
+
164
+ return this ;
159
165
  },
160
166
 
161
167
 
@@ -216,7 +222,7 @@ SC.FormView = SC.View.extend(SC.FlowedLayout, SC.CalculatesEmptiness, SC.FormsEd
216
222
  if (this._rowLabelSize !== ret) {
217
223
  this._rowLabelSize = ret;
218
224
 
219
- // set by looping throuhg child views
225
+ // set by looping through child views
220
226
  for (idx = 0; idx < len; idx++) {
221
227
  child = children[idx];
222
228