sproutcore 1.9.2 → 1.10.0.rc.1

Sign up to get free protection for your applications and to get access to all the features.
Files changed (746) hide show
  1. checksums.yaml +15 -0
  2. data/VERSION.yml +2 -2
  3. data/bin/sc-build +12 -9
  4. data/bin/sc-build-number +12 -9
  5. data/bin/sc-docs +12 -15
  6. data/bin/sc-gen +12 -9
  7. data/bin/sc-init +12 -9
  8. data/bin/sc-manifest +12 -9
  9. data/bin/sc-server +12 -9
  10. data/bin/sproutcore +12 -9
  11. data/lib/frameworks/sproutcore/Buildfile +14 -17
  12. data/lib/frameworks/sproutcore/CHANGELOG.md +214 -3
  13. data/lib/frameworks/sproutcore/README.md +4 -1
  14. data/lib/frameworks/sproutcore/apps/greenhouse/Buildfile +13 -0
  15. data/lib/frameworks/sproutcore/{frameworks/experimental/apps/greenhouse/README → apps/greenhouse/README.md} +1 -1
  16. data/lib/frameworks/sproutcore/{frameworks/experimental/apps → apps}/greenhouse/TODO +0 -0
  17. data/lib/frameworks/sproutcore/{frameworks/experimental/apps → apps}/greenhouse/beautify.js +0 -0
  18. data/lib/frameworks/sproutcore/{frameworks/experimental/apps → apps}/greenhouse/controllers/design.js +3 -3
  19. data/lib/frameworks/sproutcore/{frameworks/experimental/apps → apps}/greenhouse/controllers/file.js +3 -3
  20. data/lib/frameworks/sproutcore/{frameworks/experimental/apps → apps}/greenhouse/controllers/files.js +3 -3
  21. data/lib/frameworks/sproutcore/{frameworks/experimental/apps → apps}/greenhouse/controllers/layout.js +9 -9
  22. data/lib/frameworks/sproutcore/{frameworks/experimental/apps → apps}/greenhouse/controllers/library.js +23 -23
  23. data/lib/frameworks/sproutcore/{frameworks/experimental/apps → apps}/greenhouse/controllers/page.js +1 -1
  24. data/lib/frameworks/sproutcore/{frameworks/experimental/apps → apps}/greenhouse/controllers/property.js +1 -1
  25. data/lib/frameworks/sproutcore/{frameworks/experimental/apps → apps}/greenhouse/controllers/property_editor.js +2 -2
  26. data/lib/frameworks/sproutcore/{frameworks/experimental/apps → apps}/greenhouse/controllers/target.js +1 -1
  27. data/lib/frameworks/sproutcore/{frameworks/experimental/apps → apps}/greenhouse/controllers/targets.js +12 -12
  28. data/lib/frameworks/sproutcore/{frameworks/experimental/apps → apps}/greenhouse/controllers/view_configs.js +15 -15
  29. data/lib/frameworks/sproutcore/{frameworks/experimental/apps → apps}/greenhouse/core.js +14 -14
  30. data/lib/frameworks/sproutcore/{frameworks/experimental/apps → apps}/greenhouse/core_file.js +0 -0
  31. data/lib/frameworks/sproutcore/{frameworks/experimental/apps → apps}/greenhouse/data_source.js +42 -42
  32. data/lib/frameworks/sproutcore/{frameworks/experimental/apps → apps}/greenhouse/english.lproj/app_page.js +45 -45
  33. data/lib/frameworks/sproutcore/{frameworks/experimental/apps → apps}/greenhouse/english.lproj/css/app-selector.css +0 -0
  34. data/lib/frameworks/sproutcore/{frameworks/experimental/apps → apps}/greenhouse/english.lproj/css/button.css +0 -0
  35. data/lib/frameworks/sproutcore/{frameworks/experimental/apps → apps}/greenhouse/english.lproj/css/dock.css +0 -0
  36. data/lib/frameworks/sproutcore/{frameworks/experimental/apps → apps}/greenhouse/english.lproj/css/general.css +0 -0
  37. data/lib/frameworks/sproutcore/apps/greenhouse/english.lproj/css/icons.css +5 -0
  38. data/lib/frameworks/sproutcore/{frameworks/experimental/apps → apps}/greenhouse/english.lproj/css/main-page.css +0 -0
  39. data/lib/frameworks/sproutcore/{frameworks/experimental/apps → apps}/greenhouse/english.lproj/css/menu.css +0 -0
  40. data/lib/frameworks/sproutcore/{frameworks/experimental/apps → apps}/greenhouse/english.lproj/css/modal.css +0 -0
  41. data/lib/frameworks/sproutcore/{frameworks/experimental/apps → apps}/greenhouse/english.lproj/css/picker.css +0 -0
  42. data/lib/frameworks/sproutcore/{frameworks/experimental/apps → apps}/greenhouse/english.lproj/css/search.css +0 -0
  43. data/lib/frameworks/sproutcore/{frameworks/experimental/apps → apps}/greenhouse/english.lproj/css/text-field.css +0 -0
  44. data/lib/frameworks/sproutcore/{frameworks/experimental/apps → apps}/greenhouse/english.lproj/dialogs.js +0 -0
  45. data/lib/frameworks/sproutcore/{frameworks/experimental/apps → apps}/greenhouse/english.lproj/fonts/museosans_500.eot +0 -0
  46. data/lib/frameworks/sproutcore/{frameworks/experimental/apps → apps}/greenhouse/english.lproj/fonts/museosans_500.otf +0 -0
  47. data/lib/frameworks/sproutcore/{frameworks/experimental/apps → apps}/greenhouse/english.lproj/fonts/museosans_500.woff +0 -0
  48. data/lib/frameworks/sproutcore/{frameworks/experimental/apps → apps}/greenhouse/english.lproj/fonts/museosans_500_italic.eot +0 -0
  49. data/lib/frameworks/sproutcore/{frameworks/experimental/apps → apps}/greenhouse/english.lproj/fonts/museosans_500_italic.otf +0 -0
  50. data/lib/frameworks/sproutcore/{frameworks/experimental/apps → apps}/greenhouse/english.lproj/fonts/museosans_500_italic.woff +0 -0
  51. data/lib/frameworks/sproutcore/{frameworks/experimental/apps → apps}/greenhouse/english.lproj/images/app-selector/choose-app.png +0 -0
  52. data/lib/frameworks/sproutcore/{frameworks/experimental/apps → apps}/greenhouse/english.lproj/images/app-selector/list-item-sel.png +0 -0
  53. data/lib/frameworks/sproutcore/{frameworks/experimental/apps → apps}/greenhouse/english.lproj/images/buttons/capsule-xl/active-l.png +0 -0
  54. data/lib/frameworks/sproutcore/{frameworks/experimental/apps → apps}/greenhouse/english.lproj/images/buttons/capsule-xl/active-m.png +0 -0
  55. data/lib/frameworks/sproutcore/{frameworks/experimental/apps → apps}/greenhouse/english.lproj/images/buttons/capsule-xl/active-r.png +0 -0
  56. data/lib/frameworks/sproutcore/{frameworks/experimental/apps → apps}/greenhouse/english.lproj/images/buttons/capsule-xl/regular-l.png +0 -0
  57. data/lib/frameworks/sproutcore/{frameworks/experimental/apps → apps}/greenhouse/english.lproj/images/buttons/capsule-xl/regular-m.png +0 -0
  58. data/lib/frameworks/sproutcore/{frameworks/experimental/apps → apps}/greenhouse/english.lproj/images/buttons/capsule-xl/regular-r.png +0 -0
  59. data/lib/frameworks/sproutcore/{frameworks/experimental/apps → apps}/greenhouse/english.lproj/images/buttons/capsule/active-l.png +0 -0
  60. data/lib/frameworks/sproutcore/{frameworks/experimental/apps → apps}/greenhouse/english.lproj/images/buttons/capsule/active-r.png +0 -0
  61. data/lib/frameworks/sproutcore/{frameworks/experimental/apps → apps}/greenhouse/english.lproj/images/buttons/capsule/disabled-l.png +0 -0
  62. data/lib/frameworks/sproutcore/{frameworks/experimental/apps → apps}/greenhouse/english.lproj/images/buttons/capsule/disabled-r.png +0 -0
  63. data/lib/frameworks/sproutcore/{frameworks/experimental/apps → apps}/greenhouse/english.lproj/images/buttons/capsule/regular-l.png +0 -0
  64. data/lib/frameworks/sproutcore/{frameworks/experimental/apps → apps}/greenhouse/english.lproj/images/buttons/capsule/regular-r.png +0 -0
  65. data/lib/frameworks/sproutcore/{frameworks/experimental/apps → apps}/greenhouse/english.lproj/images/buttons/capsule/sel-active-l.png +0 -0
  66. data/lib/frameworks/sproutcore/{frameworks/experimental/apps → apps}/greenhouse/english.lproj/images/buttons/capsule/sel-active-r.png +0 -0
  67. data/lib/frameworks/sproutcore/{frameworks/experimental/apps → apps}/greenhouse/english.lproj/images/buttons/capsule/sel-disabled-l.png +0 -0
  68. data/lib/frameworks/sproutcore/{frameworks/experimental/apps → apps}/greenhouse/english.lproj/images/buttons/capsule/sel-disabled-r.png +0 -0
  69. data/lib/frameworks/sproutcore/{frameworks/experimental/apps → apps}/greenhouse/english.lproj/images/buttons/capsule/sel-l.png +0 -0
  70. data/lib/frameworks/sproutcore/{frameworks/experimental/apps → apps}/greenhouse/english.lproj/images/buttons/capsule/sel-r.png +0 -0
  71. data/lib/frameworks/sproutcore/{frameworks/experimental/apps → apps}/greenhouse/english.lproj/images/buttons/dark/active-l.png +0 -0
  72. data/lib/frameworks/sproutcore/{frameworks/experimental/apps → apps}/greenhouse/english.lproj/images/buttons/dark/active-m.png +0 -0
  73. data/lib/frameworks/sproutcore/{frameworks/experimental/apps → apps}/greenhouse/english.lproj/images/buttons/dark/active-r.png +0 -0
  74. data/lib/frameworks/sproutcore/{frameworks/experimental/apps → apps}/greenhouse/english.lproj/images/buttons/dark/cap-active-l.png +0 -0
  75. data/lib/frameworks/sproutcore/{frameworks/experimental/apps → apps}/greenhouse/english.lproj/images/buttons/dark/cap-active-r.png +0 -0
  76. data/lib/frameworks/sproutcore/{frameworks/experimental/apps → apps}/greenhouse/english.lproj/images/buttons/dark/cap-l.png +0 -0
  77. data/lib/frameworks/sproutcore/{frameworks/experimental/apps → apps}/greenhouse/english.lproj/images/buttons/dark/cap-r.png +0 -0
  78. data/lib/frameworks/sproutcore/{frameworks/experimental/apps → apps}/greenhouse/english.lproj/images/buttons/dark/cap-sel-active-l.png +0 -0
  79. data/lib/frameworks/sproutcore/{frameworks/experimental/apps → apps}/greenhouse/english.lproj/images/buttons/dark/cap-sel-active-r.png +0 -0
  80. data/lib/frameworks/sproutcore/{frameworks/experimental/apps → apps}/greenhouse/english.lproj/images/buttons/dark/cap-sel-l.png +0 -0
  81. data/lib/frameworks/sproutcore/{frameworks/experimental/apps → apps}/greenhouse/english.lproj/images/buttons/dark/cap-sel-r.png +0 -0
  82. data/lib/frameworks/sproutcore/{frameworks/experimental/apps → apps}/greenhouse/english.lproj/images/buttons/dark/disabled-l.png +0 -0
  83. data/lib/frameworks/sproutcore/{frameworks/experimental/apps → apps}/greenhouse/english.lproj/images/buttons/dark/disabled-m.png +0 -0
  84. data/lib/frameworks/sproutcore/{frameworks/experimental/apps → apps}/greenhouse/english.lproj/images/buttons/dark/disabled-r.png +0 -0
  85. data/lib/frameworks/sproutcore/{frameworks/experimental/apps → apps}/greenhouse/english.lproj/images/buttons/dark/regular-l.png +0 -0
  86. data/lib/frameworks/sproutcore/{frameworks/experimental/apps → apps}/greenhouse/english.lproj/images/buttons/dark/regular-m.png +0 -0
  87. data/lib/frameworks/sproutcore/{frameworks/experimental/apps → apps}/greenhouse/english.lproj/images/buttons/dark/regular-r.png +0 -0
  88. data/lib/frameworks/sproutcore/{frameworks/experimental/apps → apps}/greenhouse/english.lproj/images/buttons/dark/sel-active-l.png +0 -0
  89. data/lib/frameworks/sproutcore/{frameworks/experimental/apps → apps}/greenhouse/english.lproj/images/buttons/dark/sel-active-m.png +0 -0
  90. data/lib/frameworks/sproutcore/{frameworks/experimental/apps → apps}/greenhouse/english.lproj/images/buttons/dark/sel-active-r.png +0 -0
  91. data/lib/frameworks/sproutcore/{frameworks/experimental/apps → apps}/greenhouse/english.lproj/images/buttons/dark/sel-disabled-l.png +0 -0
  92. data/lib/frameworks/sproutcore/{frameworks/experimental/apps → apps}/greenhouse/english.lproj/images/buttons/dark/sel-disabled-m.png +0 -0
  93. data/lib/frameworks/sproutcore/{frameworks/experimental/apps → apps}/greenhouse/english.lproj/images/buttons/dark/sel-disabled-r.png +0 -0
  94. data/lib/frameworks/sproutcore/{frameworks/experimental/apps → apps}/greenhouse/english.lproj/images/buttons/dark/sel-l.png +0 -0
  95. data/lib/frameworks/sproutcore/{frameworks/experimental/apps → apps}/greenhouse/english.lproj/images/buttons/dark/sel-m.png +0 -0
  96. data/lib/frameworks/sproutcore/{frameworks/experimental/apps → apps}/greenhouse/english.lproj/images/buttons/dark/sel-r.png +0 -0
  97. data/lib/frameworks/sproutcore/{frameworks/experimental/apps → apps}/greenhouse/english.lproj/images/buttons/shared/active-m.png +0 -0
  98. data/lib/frameworks/sproutcore/{frameworks/experimental/apps → apps}/greenhouse/english.lproj/images/buttons/shared/disabled-m.png +0 -0
  99. data/lib/frameworks/sproutcore/{frameworks/experimental/apps → apps}/greenhouse/english.lproj/images/buttons/shared/regular-m.png +0 -0
  100. data/lib/frameworks/sproutcore/{frameworks/experimental/apps → apps}/greenhouse/english.lproj/images/buttons/shared/sel-active-m.png +0 -0
  101. data/lib/frameworks/sproutcore/{frameworks/experimental/apps → apps}/greenhouse/english.lproj/images/buttons/shared/sel-disabled-m.png +0 -0
  102. data/lib/frameworks/sproutcore/{frameworks/experimental/apps → apps}/greenhouse/english.lproj/images/buttons/shared/sel-m.png +0 -0
  103. data/lib/frameworks/sproutcore/{frameworks/experimental/apps → apps}/greenhouse/english.lproj/images/buttons/square/active-l.png +0 -0
  104. data/lib/frameworks/sproutcore/{frameworks/experimental/apps → apps}/greenhouse/english.lproj/images/buttons/square/active-r.png +0 -0
  105. data/lib/frameworks/sproutcore/{frameworks/experimental/apps → apps}/greenhouse/english.lproj/images/buttons/square/disabled-l.png +0 -0
  106. data/lib/frameworks/sproutcore/{frameworks/experimental/apps → apps}/greenhouse/english.lproj/images/buttons/square/disabled-r.png +0 -0
  107. data/lib/frameworks/sproutcore/{frameworks/experimental/apps → apps}/greenhouse/english.lproj/images/buttons/square/regular-l.png +0 -0
  108. data/lib/frameworks/sproutcore/{frameworks/experimental/apps → apps}/greenhouse/english.lproj/images/buttons/square/regular-r.png +0 -0
  109. data/lib/frameworks/sproutcore/{frameworks/experimental/apps → apps}/greenhouse/english.lproj/images/buttons/square/sel-active-l.png +0 -0
  110. data/lib/frameworks/sproutcore/{frameworks/experimental/apps → apps}/greenhouse/english.lproj/images/buttons/square/sel-active-r.png +0 -0
  111. data/lib/frameworks/sproutcore/{frameworks/experimental/apps → apps}/greenhouse/english.lproj/images/buttons/square/sel-disabled-l.png +0 -0
  112. data/lib/frameworks/sproutcore/{frameworks/experimental/apps → apps}/greenhouse/english.lproj/images/buttons/square/sel-disabled-r.png +0 -0
  113. data/lib/frameworks/sproutcore/{frameworks/experimental/apps → apps}/greenhouse/english.lproj/images/buttons/square/sel-l.png +0 -0
  114. data/lib/frameworks/sproutcore/{frameworks/experimental/apps → apps}/greenhouse/english.lproj/images/buttons/square/sel-r.png +0 -0
  115. data/lib/frameworks/sproutcore/{frameworks/experimental/apps → apps}/greenhouse/english.lproj/images/icons/actions-active.png +0 -0
  116. data/lib/frameworks/sproutcore/{frameworks/experimental/apps → apps}/greenhouse/english.lproj/images/icons/actions.png +0 -0
  117. data/lib/frameworks/sproutcore/{frameworks/experimental/apps → apps}/greenhouse/english.lproj/images/icons/inspector-active.png +0 -0
  118. data/lib/frameworks/sproutcore/{frameworks/experimental/apps → apps}/greenhouse/english.lproj/images/icons/inspector.png +0 -0
  119. data/lib/frameworks/sproutcore/{frameworks/experimental/apps → apps}/greenhouse/english.lproj/images/icons/library-active.png +0 -0
  120. data/lib/frameworks/sproutcore/{frameworks/experimental/apps → apps}/greenhouse/english.lproj/images/icons/library.png +0 -0
  121. data/lib/frameworks/sproutcore/{frameworks/experimental/apps → apps}/greenhouse/english.lproj/images/icons/projects-active.png +0 -0
  122. data/lib/frameworks/sproutcore/{frameworks/experimental/apps → apps}/greenhouse/english.lproj/images/icons/projects.png +0 -0
  123. data/lib/frameworks/sproutcore/{frameworks/experimental/apps → apps}/greenhouse/english.lproj/images/icons/run-active.png +0 -0
  124. data/lib/frameworks/sproutcore/{frameworks/experimental/apps → apps}/greenhouse/english.lproj/images/icons/run.png +0 -0
  125. data/lib/frameworks/sproutcore/{frameworks/experimental/apps → apps}/greenhouse/english.lproj/images/icons/save-active.png +0 -0
  126. data/lib/frameworks/sproutcore/{frameworks/experimental/apps → apps}/greenhouse/english.lproj/images/icons/save.png +0 -0
  127. data/lib/frameworks/sproutcore/{frameworks/experimental/apps → apps}/greenhouse/english.lproj/images/logos/greenhouse-l.png +0 -0
  128. data/lib/frameworks/sproutcore/{frameworks/experimental/apps → apps}/greenhouse/english.lproj/images/logos/greenhouse-s.png +0 -0
  129. data/lib/frameworks/sproutcore/{frameworks/experimental/apps → apps}/greenhouse/english.lproj/images/logos/sproutcore.png +0 -0
  130. data/lib/frameworks/sproutcore/{frameworks/experimental/apps → apps}/greenhouse/english.lproj/images/main-bg.png +0 -0
  131. data/lib/frameworks/sproutcore/{frameworks/experimental/apps → apps}/greenhouse/english.lproj/images/picker/bottom-left.png +0 -0
  132. data/lib/frameworks/sproutcore/{frameworks/experimental/apps → apps}/greenhouse/english.lproj/images/picker/bottom-right.png +0 -0
  133. data/lib/frameworks/sproutcore/{frameworks/experimental/apps → apps}/greenhouse/english.lproj/images/picker/bottom.png +0 -0
  134. data/lib/frameworks/sproutcore/{frameworks/experimental/apps → apps}/greenhouse/english.lproj/images/picker/close-active.png +0 -0
  135. data/lib/frameworks/sproutcore/{frameworks/experimental/apps → apps}/greenhouse/english.lproj/images/picker/close.png +0 -0
  136. data/lib/frameworks/sproutcore/{frameworks/experimental/apps → apps}/greenhouse/english.lproj/images/picker/left.png +0 -0
  137. data/lib/frameworks/sproutcore/{frameworks/experimental/apps → apps}/greenhouse/english.lproj/images/picker/pointer-bottom.png +0 -0
  138. data/lib/frameworks/sproutcore/{frameworks/experimental/apps → apps}/greenhouse/english.lproj/images/picker/pointer-left.png +0 -0
  139. data/lib/frameworks/sproutcore/{frameworks/experimental/apps → apps}/greenhouse/english.lproj/images/picker/pointer-right.png +0 -0
  140. data/lib/frameworks/sproutcore/{frameworks/experimental/apps → apps}/greenhouse/english.lproj/images/picker/pointer-top.png +0 -0
  141. data/lib/frameworks/sproutcore/{frameworks/experimental/apps → apps}/greenhouse/english.lproj/images/picker/right.png +0 -0
  142. data/lib/frameworks/sproutcore/{frameworks/experimental/apps → apps}/greenhouse/english.lproj/images/picker/search-active.png +0 -0
  143. data/lib/frameworks/sproutcore/{frameworks/experimental/apps → apps}/greenhouse/english.lproj/images/picker/search.png +0 -0
  144. data/lib/frameworks/sproutcore/{frameworks/experimental/apps → apps}/greenhouse/english.lproj/images/picker/top-left.png +0 -0
  145. data/lib/frameworks/sproutcore/{frameworks/experimental/apps → apps}/greenhouse/english.lproj/images/picker/top-right.png +0 -0
  146. data/lib/frameworks/sproutcore/{frameworks/experimental/apps → apps}/greenhouse/english.lproj/images/picker/top.png +0 -0
  147. data/lib/frameworks/sproutcore/apps/greenhouse/english.lproj/images/sc-icon-sproutcore-16.png +0 -0
  148. data/lib/frameworks/sproutcore/{frameworks/experimental/apps → apps}/greenhouse/english.lproj/images/toolbar-bg.png +0 -0
  149. data/lib/frameworks/sproutcore/{frameworks/experimental/apps → apps}/greenhouse/english.lproj/inspectors.js +0 -0
  150. data/lib/frameworks/sproutcore/{frameworks/experimental/apps → apps}/greenhouse/english.lproj/loading.rhtml +0 -0
  151. data/lib/frameworks/sproutcore/{frameworks/experimental/apps → apps}/greenhouse/english.lproj/main_page.js +0 -0
  152. data/lib/frameworks/sproutcore/{frameworks/experimental/apps → apps}/greenhouse/english.lproj/strings.js +0 -0
  153. data/lib/frameworks/sproutcore/{frameworks/experimental/apps → apps}/greenhouse/fixtures/file.js +0 -0
  154. data/lib/frameworks/sproutcore/{frameworks/experimental/apps → apps}/greenhouse/main.js +5 -5
  155. data/lib/frameworks/sproutcore/{frameworks/experimental/apps → apps}/greenhouse/mixins/drop_down.js +14 -14
  156. data/lib/frameworks/sproutcore/{frameworks/experimental/apps → apps}/greenhouse/models/design.js +4 -4
  157. data/lib/frameworks/sproutcore/{frameworks/experimental/apps → apps}/greenhouse/models/dir.js +12 -12
  158. data/lib/frameworks/sproutcore/{frameworks/experimental/apps → apps}/greenhouse/models/file.js +7 -9
  159. data/lib/frameworks/sproutcore/{frameworks/experimental/apps → apps}/greenhouse/models/target.js +12 -12
  160. data/lib/frameworks/sproutcore/{frameworks/experimental/apps → apps}/greenhouse/models/view_config.js +10 -10
  161. data/lib/frameworks/sproutcore/{frameworks/experimental/apps → apps}/greenhouse/resources/test_page.js +0 -0
  162. data/lib/frameworks/sproutcore/{frameworks/experimental/apps → apps}/greenhouse/states/inspector.js +11 -11
  163. data/lib/frameworks/sproutcore/{frameworks/experimental/apps → apps}/greenhouse/states/library.js +10 -10
  164. data/lib/frameworks/sproutcore/{frameworks/experimental/apps → apps}/greenhouse/states/main.js +26 -25
  165. data/lib/frameworks/sproutcore/{frameworks/experimental/apps → apps}/greenhouse/states/modals.js +10 -10
  166. data/lib/frameworks/sproutcore/{frameworks/experimental/apps → apps}/greenhouse/states/ready.js +15 -15
  167. data/lib/frameworks/sproutcore/{frameworks/experimental/apps → apps}/greenhouse/tests/controllers/design.js +0 -0
  168. data/lib/frameworks/sproutcore/{frameworks/experimental/apps → apps}/greenhouse/tests/controllers/designs.js +0 -0
  169. data/lib/frameworks/sproutcore/{frameworks/experimental/apps → apps}/greenhouse/tests/controllers/file.js +0 -0
  170. data/lib/frameworks/sproutcore/{frameworks/experimental/apps → apps}/greenhouse/tests/controllers/files.js +0 -0
  171. data/lib/frameworks/sproutcore/{frameworks/experimental/apps → apps}/greenhouse/tests/models/file.js +0 -0
  172. data/lib/frameworks/sproutcore/{frameworks/experimental/apps → apps}/greenhouse/tests/models/view_config.js +0 -0
  173. data/lib/frameworks/sproutcore/{frameworks/experimental/apps → apps}/greenhouse/tests/views/list_item.js +0 -0
  174. data/lib/frameworks/sproutcore/{frameworks/experimental/apps → apps}/greenhouse/tests/views/plist_item.js +1 -5
  175. data/lib/frameworks/sproutcore/{frameworks/experimental/apps → apps}/greenhouse/theme.js +6 -6
  176. data/lib/frameworks/sproutcore/{frameworks/experimental/apps → apps}/greenhouse/views/anchor.js +43 -43
  177. data/lib/frameworks/sproutcore/{frameworks/experimental/apps → apps}/greenhouse/views/application_list_item.js +2 -2
  178. data/lib/frameworks/sproutcore/{frameworks/experimental/apps → apps}/greenhouse/views/event_blocker.js +7 -7
  179. data/lib/frameworks/sproutcore/{frameworks/experimental/apps → apps}/greenhouse/views/label_designer.js +0 -0
  180. data/lib/frameworks/sproutcore/{frameworks/experimental/apps → apps}/greenhouse/views/list_item.js +8 -8
  181. data/lib/frameworks/sproutcore/{frameworks/experimental/apps → apps}/greenhouse/views/plist_item.js +23 -23
  182. data/lib/frameworks/sproutcore/{frameworks/experimental/apps → apps}/greenhouse/views/simple_button.js +31 -31
  183. data/lib/frameworks/sproutcore/{frameworks/experimental/apps → apps}/greenhouse/views/tear_off_picker.js +12 -12
  184. data/lib/frameworks/sproutcore/{frameworks/experimental/apps → apps}/greenhouse/views/web.js +5 -5
  185. data/lib/frameworks/sproutcore/apps/media_examples/core.js +5 -6
  186. data/lib/frameworks/sproutcore/apps/media_examples/views/audio_view.js +16 -17
  187. data/lib/frameworks/sproutcore/apps/media_examples/views/camera_view.js +4 -5
  188. data/lib/frameworks/sproutcore/apps/media_examples/views/capabilities_view.js +17 -18
  189. data/lib/frameworks/sproutcore/apps/media_examples/views/microphone_view.js +4 -5
  190. data/lib/frameworks/sproutcore/apps/media_examples/views/video_view.js +18 -19
  191. data/lib/frameworks/sproutcore/apps/showcase/Buildfile +2 -2
  192. data/lib/frameworks/sproutcore/apps/showcase/README +1 -1
  193. data/lib/frameworks/sproutcore/apps/showcase/controllers/source_tree_controller.js +27 -7
  194. data/lib/frameworks/sproutcore/apps/showcase/core.js +6 -4
  195. data/lib/frameworks/sproutcore/apps/showcase/main.js +2 -1
  196. data/lib/frameworks/sproutcore/apps/showcase/patch.diff +529 -0
  197. data/lib/frameworks/sproutcore/apps/showcase/resources/images/sproutcore-128.png +0 -0
  198. data/lib/frameworks/sproutcore/apps/showcase/resources/main_page.js +3 -2
  199. data/lib/frameworks/sproutcore/apps/showcase/resources/stylesheet.css +35 -16
  200. data/lib/frameworks/sproutcore/apps/showcase/resources/views_page.js +195 -10
  201. data/lib/frameworks/sproutcore/apps/showcase/system/views_item_content.js +2 -1
  202. data/lib/frameworks/sproutcore/apps/showcase/theme.js +2 -1
  203. data/lib/frameworks/sproutcore/apps/showcase/views/checkbox_views.js +2 -1
  204. data/lib/frameworks/sproutcore/apps/showcase/views/date_field_views.js +2 -1
  205. data/lib/frameworks/sproutcore/apps/showcase/views/disclosure_views.js +2 -1
  206. data/lib/frameworks/sproutcore/apps/showcase/views/label_views.js +2 -1
  207. data/lib/frameworks/sproutcore/apps/showcase/views/list_views.js +2 -1
  208. data/lib/frameworks/sproutcore/apps/showcase/views/popup_button_views.js +3 -2
  209. data/lib/frameworks/sproutcore/apps/showcase/views/progress_views.js +2 -1
  210. data/lib/frameworks/sproutcore/apps/showcase/views/radio_views.js +2 -1
  211. data/lib/frameworks/sproutcore/apps/showcase/views/scroll_views.js +2 -1
  212. data/lib/frameworks/sproutcore/apps/showcase/views/segmented_views.js +2 -1
  213. data/lib/frameworks/sproutcore/apps/showcase/views/select_views.js +10 -9
  214. data/lib/frameworks/sproutcore/apps/showcase/views/slider_views.js +2 -1
  215. data/lib/frameworks/sproutcore/apps/showcase/views/source_list_views.js +2 -1
  216. data/lib/frameworks/sproutcore/apps/showcase/views/split_views.js +2 -1
  217. data/lib/frameworks/sproutcore/apps/showcase/views/stacked_views.js +2 -1
  218. data/lib/frameworks/sproutcore/apps/showcase/views/static_content_views.js +2 -1
  219. data/lib/frameworks/sproutcore/apps/showcase/views/tab_views.js +2 -1
  220. data/lib/frameworks/sproutcore/apps/showcase/views/text_field_views.js +2 -1
  221. data/lib/frameworks/sproutcore/apps/showcase/views/toolbar_views.js +2 -1
  222. data/lib/frameworks/sproutcore/apps/showcase/views/views_item_view.js +15 -6
  223. data/lib/frameworks/sproutcore/apps/showcase/views/views_list_view.js +5 -4
  224. data/lib/frameworks/sproutcore/apps/showcase/views/web_views.js +2 -1
  225. data/lib/frameworks/sproutcore/apps/showcase/views/well_views.js +2 -1
  226. data/lib/frameworks/sproutcore/apps/showcase/views/workspace_views.js +2 -1
  227. data/lib/frameworks/sproutcore/apps/statechart_routing/core.js +5 -5
  228. data/lib/frameworks/sproutcore/apps/statechart_routing/resources/login_page.js +15 -15
  229. data/lib/frameworks/sproutcore/apps/statechart_routing/resources/styles.css +3 -0
  230. data/lib/frameworks/sproutcore/apps/tests/controllers/source.js +11 -11
  231. data/lib/frameworks/sproutcore/apps/tests/controllers/target.js +6 -12
  232. data/lib/frameworks/sproutcore/apps/tests/controllers/targets.js +28 -33
  233. data/lib/frameworks/sproutcore/apps/tests/controllers/{detail.js → test.js} +14 -12
  234. data/lib/frameworks/sproutcore/apps/tests/controllers/tests.js +11 -15
  235. data/lib/frameworks/sproutcore/apps/tests/core.js +8 -113
  236. data/lib/frameworks/sproutcore/apps/tests/english.lproj/main_page.css +9 -19
  237. data/lib/frameworks/sproutcore/apps/tests/english.lproj/main_page.js +81 -92
  238. data/lib/frameworks/sproutcore/apps/tests/english.lproj/strings.js +3 -1
  239. data/lib/frameworks/sproutcore/apps/tests/main.js +8 -13
  240. data/lib/frameworks/sproutcore/apps/tests/statechart.js +268 -0
  241. data/lib/frameworks/sproutcore/apps/tests/views/offset_checkbox.js +4 -4
  242. data/lib/frameworks/sproutcore/apps/welcome/controllers/targets.js +16 -16
  243. data/lib/frameworks/sproutcore/apps/welcome/core.js +9 -9
  244. data/lib/frameworks/sproutcore/apps/welcome/english.lproj/images/sproutcore.png +0 -0
  245. data/lib/frameworks/sproutcore/apps/welcome/english.lproj/main_page.js +22 -25
  246. data/lib/frameworks/sproutcore/apps/welcome/main.js +3 -3
  247. data/lib/frameworks/sproutcore/frameworks/foundation/resources/images/sproutcore-startup-landscape.jpg b/data/lib/frameworks/sproutcore/design/Assorted → Images/sproutcore-startup-landscape.jpg +0 -0
  248. data/lib/frameworks/sproutcore/frameworks/foundation/resources/images/sproutcore-startup-landscape.png b/data/lib/frameworks/sproutcore/design/Assorted → Images/sproutcore-startup-landscape.png +0 -0
  249. data/lib/frameworks/sproutcore/frameworks/foundation/resources/images/sproutcore-startup-portrait.jpg b/data/lib/frameworks/sproutcore/design/Assorted → Images/sproutcore-startup-portrait.jpg +0 -0
  250. data/lib/frameworks/sproutcore/frameworks/foundation/resources/images/sproutcore-startup-portrait.png b/data/lib/frameworks/sproutcore/design/Assorted → Images/sproutcore-startup-portrait.png +0 -0
  251. data/lib/frameworks/sproutcore/frameworks/foundation/resources/images/sproutcore-startup.png b/data/lib/frameworks/sproutcore/design/Assorted → Images/sproutcore-startup.png +0 -0
  252. data/lib/frameworks/sproutcore/frameworks/ajax/system/request.js +21 -7
  253. data/lib/frameworks/sproutcore/frameworks/ajax/tests/system/request.js +35 -2
  254. data/lib/frameworks/sproutcore/frameworks/bootstrap/system/browser.js +142 -75
  255. data/lib/frameworks/sproutcore/frameworks/bootstrap/tests/system/browser.js +20 -2
  256. data/lib/frameworks/sproutcore/frameworks/core_foundation/child_view_layouts/horizontal_stack_layout.js +283 -0
  257. data/lib/frameworks/sproutcore/frameworks/core_foundation/child_view_layouts/vertical_stack_layout.js +284 -0
  258. data/lib/frameworks/sproutcore/frameworks/core_foundation/controllers/array.js +64 -65
  259. data/lib/frameworks/sproutcore/frameworks/core_foundation/controllers/controller.js +14 -14
  260. data/lib/frameworks/sproutcore/frameworks/core_foundation/controllers/object.js +8 -8
  261. data/lib/frameworks/sproutcore/frameworks/core_foundation/core.js +19 -19
  262. data/lib/frameworks/sproutcore/frameworks/core_foundation/ext/run_loop.js +10 -25
  263. data/lib/frameworks/sproutcore/frameworks/core_foundation/mixins/selection_support.js +12 -6
  264. data/lib/frameworks/sproutcore/frameworks/core_foundation/panes/body_overflow.js +53 -34
  265. data/lib/frameworks/sproutcore/frameworks/core_foundation/panes/layout.js +30 -24
  266. data/lib/frameworks/sproutcore/frameworks/core_foundation/panes/main.js +44 -40
  267. data/lib/frameworks/sproutcore/frameworks/core_foundation/panes/manipulation.js +5 -2
  268. data/lib/frameworks/sproutcore/frameworks/core_foundation/panes/pane.js +105 -176
  269. data/lib/frameworks/sproutcore/frameworks/core_foundation/panes/pane_statechart.js +50 -0
  270. data/lib/frameworks/sproutcore/frameworks/core_foundation/panes/visibility.js +4 -4
  271. data/lib/frameworks/sproutcore/frameworks/core_foundation/protocols/view_transition_protocol.js +48 -0
  272. data/lib/frameworks/sproutcore/frameworks/core_foundation/system/browser.js +225 -7
  273. data/lib/frameworks/sproutcore/frameworks/core_foundation/system/core_query.js +54 -34
  274. data/lib/frameworks/sproutcore/frameworks/core_foundation/system/cursor.js +86 -71
  275. data/lib/frameworks/sproutcore/frameworks/core_foundation/system/device.js +35 -35
  276. data/lib/frameworks/sproutcore/frameworks/core_foundation/system/event.js +2 -2
  277. data/lib/frameworks/sproutcore/frameworks/core_foundation/system/locale.js +2 -2
  278. data/lib/frameworks/sproutcore/frameworks/core_foundation/system/platform.js +283 -120
  279. data/lib/frameworks/sproutcore/frameworks/core_foundation/system/ready.js +36 -37
  280. data/lib/frameworks/sproutcore/frameworks/core_foundation/system/render_context.js +653 -435
  281. data/lib/frameworks/sproutcore/frameworks/core_foundation/system/responder.js +49 -42
  282. data/lib/frameworks/sproutcore/frameworks/core_foundation/system/root_responder.js +422 -396
  283. data/lib/frameworks/sproutcore/frameworks/core_foundation/system/selection_set.js +5 -5
  284. data/lib/frameworks/sproutcore/frameworks/core_foundation/system/sparse_array.js +10 -8
  285. data/lib/frameworks/sproutcore/frameworks/core_foundation/system/theme.js +37 -16
  286. data/lib/frameworks/sproutcore/frameworks/core_foundation/system/timer.js +5 -5
  287. data/lib/frameworks/sproutcore/frameworks/core_foundation/system/utils/rect.js +1 -1
  288. data/lib/frameworks/sproutcore/frameworks/core_foundation/tests/controllers/array/array_case.js +15 -0
  289. data/lib/frameworks/sproutcore/frameworks/core_foundation/tests/controllers/array/selection_support.js +21 -0
  290. data/lib/frameworks/sproutcore/frameworks/core_foundation/tests/system/cursor.js +28 -0
  291. data/lib/frameworks/sproutcore/frameworks/core_foundation/tests/system/platform.js +18 -0
  292. data/lib/frameworks/sproutcore/frameworks/core_foundation/tests/system/render_context/end.js +17 -17
  293. data/lib/frameworks/sproutcore/frameworks/core_foundation/tests/system/render_context/helpers_attr.js +9 -9
  294. data/lib/frameworks/sproutcore/frameworks/core_foundation/tests/system/render_context/helpers_className.js +43 -43
  295. data/lib/frameworks/sproutcore/frameworks/core_foundation/tests/system/render_context/helpers_style.js +4 -14
  296. data/lib/frameworks/sproutcore/frameworks/core_foundation/tests/system/render_context/update.js +18 -30
  297. data/lib/frameworks/sproutcore/frameworks/core_foundation/tests/system/sparse_array.js +78 -43
  298. data/lib/frameworks/sproutcore/frameworks/core_foundation/tests/system/theme.js +7 -7
  299. data/lib/frameworks/sproutcore/frameworks/core_foundation/tests/views/main_pane.js +4 -3
  300. data/lib/frameworks/sproutcore/frameworks/core_foundation/tests/views/pane/append_remove.js +31 -15
  301. data/lib/frameworks/sproutcore/frameworks/core_foundation/tests/views/pane/child_view.js +47 -2
  302. data/lib/frameworks/sproutcore/frameworks/core_foundation/tests/views/pane/firstResponder.js +32 -31
  303. data/lib/frameworks/sproutcore/frameworks/core_foundation/tests/views/pane/keyPane.js +23 -22
  304. data/lib/frameworks/sproutcore/frameworks/core_foundation/tests/views/pane/layout.js +3 -2
  305. data/lib/frameworks/sproutcore/frameworks/core_foundation/tests/views/pane/sendEvent.js +17 -16
  306. data/lib/frameworks/sproutcore/frameworks/core_foundation/tests/views/view/animation.js +626 -211
  307. data/lib/frameworks/sproutcore/frameworks/core_foundation/tests/views/view/border_frame_test.js +174 -0
  308. data/lib/frameworks/sproutcore/frameworks/core_foundation/tests/views/view/build.js +22 -20
  309. data/lib/frameworks/sproutcore/frameworks/core_foundation/tests/views/view/childViewLayout_test.js +27 -0
  310. data/lib/frameworks/sproutcore/frameworks/core_foundation/tests/views/view/clippingFrame.js +11 -10
  311. data/lib/frameworks/sproutcore/frameworks/core_foundation/tests/views/view/convertFrames.js +5 -4
  312. data/lib/frameworks/sproutcore/frameworks/core_foundation/tests/views/view/createChildViews.js +10 -6
  313. data/lib/frameworks/sproutcore/frameworks/core_foundation/tests/views/view/createLayer.js +17 -12
  314. data/lib/frameworks/sproutcore/frameworks/core_foundation/tests/views/view/destroy.js +60 -7
  315. data/lib/frameworks/sproutcore/frameworks/core_foundation/tests/views/view/destroyLayer.js +19 -26
  316. data/lib/frameworks/sproutcore/frameworks/core_foundation/tests/views/view/didAppendToDocument.js +14 -13
  317. data/lib/frameworks/sproutcore/frameworks/core_foundation/tests/views/view/enabled_states_test.js +341 -0
  318. data/lib/frameworks/sproutcore/frameworks/core_foundation/tests/views/view/findLayerInParentLayer.js +9 -8
  319. data/lib/frameworks/sproutcore/frameworks/core_foundation/tests/views/view/init.js +26 -16
  320. data/lib/frameworks/sproutcore/frameworks/core_foundation/tests/views/view/insertBefore.js +28 -68
  321. data/lib/frameworks/sproutcore/frameworks/core_foundation/tests/views/view/isVisible.js +35 -23
  322. data/lib/frameworks/sproutcore/frameworks/core_foundation/tests/views/view/isVisibleInWindow.js +93 -78
  323. data/lib/frameworks/sproutcore/frameworks/core_foundation/tests/views/view/keyboard.js +62 -64
  324. data/lib/frameworks/sproutcore/frameworks/core_foundation/tests/views/view/layer.js +69 -18
  325. data/lib/frameworks/sproutcore/frameworks/core_foundation/tests/views/view/layoutChildViews.js +26 -21
  326. data/lib/frameworks/sproutcore/frameworks/core_foundation/tests/views/view/layoutDidChange.js +129 -57
  327. data/lib/frameworks/sproutcore/frameworks/core_foundation/tests/views/view/layoutStyle.js +436 -238
  328. data/lib/frameworks/sproutcore/frameworks/core_foundation/tests/views/view/removeChild.js +38 -44
  329. data/lib/frameworks/sproutcore/frameworks/core_foundation/tests/views/view/render.js +14 -4
  330. data/lib/frameworks/sproutcore/frameworks/core_foundation/tests/views/view/render_delegate_support.js +29 -20
  331. data/lib/frameworks/sproutcore/frameworks/core_foundation/tests/views/view/replaceAllChildren_test.js +229 -0
  332. data/lib/frameworks/sproutcore/frameworks/core_foundation/tests/views/view/updateLayer.js +33 -95
  333. data/lib/frameworks/sproutcore/frameworks/core_foundation/tests/views/view/viewDidResize.js +87 -39
  334. data/lib/frameworks/sproutcore/frameworks/core_foundation/tests/views/view/view_states_test.js +684 -0
  335. data/lib/frameworks/sproutcore/frameworks/core_foundation/views/view.js +767 -625
  336. data/lib/frameworks/sproutcore/frameworks/core_foundation/views/view/acceleration.js +4 -23
  337. data/lib/frameworks/sproutcore/frameworks/core_foundation/views/view/animation.js +645 -77
  338. data/lib/frameworks/sproutcore/frameworks/core_foundation/views/view/cursor.js +1 -1
  339. data/lib/frameworks/sproutcore/frameworks/core_foundation/views/view/enabled.js +218 -19
  340. data/lib/frameworks/sproutcore/frameworks/core_foundation/views/view/layout.js +648 -321
  341. data/lib/frameworks/sproutcore/frameworks/core_foundation/views/view/layout_style.js +326 -534
  342. data/lib/frameworks/sproutcore/frameworks/core_foundation/views/view/manipulation.js +120 -126
  343. data/lib/frameworks/sproutcore/frameworks/core_foundation/views/view/statechart.js +1526 -0
  344. data/lib/frameworks/sproutcore/frameworks/core_foundation/views/view/theming.js +18 -23
  345. data/lib/frameworks/sproutcore/frameworks/core_foundation/views/view/visibility.js +12 -94
  346. data/lib/frameworks/sproutcore/frameworks/core_tools/core.js +2 -2
  347. data/lib/frameworks/sproutcore/frameworks/core_tools/data_source.js +19 -19
  348. data/lib/frameworks/sproutcore/frameworks/core_tools/models/target.js +43 -27
  349. data/lib/frameworks/sproutcore/frameworks/core_tools/models/test.js +5 -5
  350. data/lib/frameworks/sproutcore/frameworks/core_tools/resources/icons.css +5 -0
  351. data/lib/frameworks/sproutcore/frameworks/core_tools/resources/sc-icon-sproutcore-16.png +0 -0
  352. data/lib/frameworks/sproutcore/frameworks/datastore/data_sources/cascade.js +41 -41
  353. data/lib/frameworks/sproutcore/frameworks/datastore/data_sources/data_source.js +1 -1
  354. data/lib/frameworks/sproutcore/frameworks/datastore/data_sources/fixtures.js +90 -90
  355. data/lib/frameworks/sproutcore/frameworks/datastore/models/child_attribute.js +1 -1
  356. data/lib/frameworks/sproutcore/frameworks/datastore/models/fetched_attribute.js +31 -31
  357. data/lib/frameworks/sproutcore/frameworks/datastore/models/many_attribute.js +3 -3
  358. data/lib/frameworks/sproutcore/frameworks/datastore/models/record.js +6 -6
  359. data/lib/frameworks/sproutcore/frameworks/datastore/models/record_attribute.js +1 -1
  360. data/lib/frameworks/sproutcore/frameworks/datastore/models/single_attribute.js +1 -1
  361. data/lib/frameworks/sproutcore/frameworks/datastore/system/many_array.js +1 -1
  362. data/lib/frameworks/sproutcore/frameworks/datastore/system/nested_store.js +2 -8
  363. data/lib/frameworks/sproutcore/frameworks/datastore/system/query.js +74 -48
  364. data/lib/frameworks/sproutcore/frameworks/datastore/system/record_array.js +11 -16
  365. data/lib/frameworks/sproutcore/frameworks/datastore/system/store.js +187 -253
  366. data/lib/frameworks/sproutcore/frameworks/datastore/tests/data_sources/cascade.js +5 -5
  367. data/lib/frameworks/sproutcore/frameworks/datastore/tests/data_sources/fixtures.js +14 -14
  368. data/lib/frameworks/sproutcore/frameworks/datastore/tests/models/nested_records/data_store.js +49 -9
  369. data/lib/frameworks/sproutcore/frameworks/datastore/tests/models/single_attribute.js +2 -2
  370. data/lib/frameworks/sproutcore/frameworks/datastore/tests/system/query/builders.js +236 -127
  371. data/lib/frameworks/sproutcore/frameworks/datastore/tests/system/query/instance_management.js +107 -0
  372. data/lib/frameworks/sproutcore/frameworks/datastore/tests/system/store/createRecord.js +17 -0
  373. data/lib/frameworks/sproutcore/frameworks/datastore/tests/system/store/destroyRecord.js +12 -11
  374. data/lib/frameworks/sproutcore/frameworks/datastore/tests/system/store/loadRecord.js +42 -17
  375. data/lib/frameworks/sproutcore/frameworks/datastore/tests/system/store/pushChanges.js +20 -15
  376. data/lib/frameworks/sproutcore/frameworks/datetime/frameworks/core/system/datetime.js +205 -92
  377. data/lib/frameworks/sproutcore/frameworks/datetime/frameworks/core/tests/system/datetime.js +61 -25
  378. data/lib/frameworks/sproutcore/frameworks/datetime/frameworks/localized/resources/strings.js +39 -9
  379. data/lib/frameworks/sproutcore/frameworks/datetime/frameworks/localized/system/datetime.js +45 -1
  380. data/lib/frameworks/sproutcore/frameworks/datetime/frameworks/localized/tests/system/datetime.js +88 -0
  381. data/lib/frameworks/sproutcore/frameworks/{experimental/frameworks/designer → designer}/coders/design.js +0 -0
  382. data/lib/frameworks/sproutcore/frameworks/{experimental/frameworks/designer → designer}/coders/object.js +0 -0
  383. data/lib/frameworks/sproutcore/frameworks/{experimental/frameworks/designer → designer}/controllers/controllers.js +3 -3
  384. data/lib/frameworks/sproutcore/frameworks/{experimental/frameworks/designer → designer}/controllers/design.js +2 -2
  385. data/lib/frameworks/sproutcore/frameworks/{experimental/frameworks/designer → designer}/controllers/designs.js +19 -19
  386. data/lib/frameworks/sproutcore/frameworks/{experimental/frameworks/designer → designer}/controllers/page_design.js +44 -44
  387. data/lib/frameworks/sproutcore/frameworks/{experimental/frameworks/designer → designer}/controllers/page_files.js +4 -4
  388. data/lib/frameworks/sproutcore/frameworks/{experimental/frameworks/designer → designer}/core.js +0 -0
  389. data/lib/frameworks/sproutcore/frameworks/{experimental/frameworks/designer → designer}/css/css_rule.js +0 -0
  390. data/lib/frameworks/sproutcore/frameworks/{experimental/frameworks/designer → designer}/css/css_style.js +6 -6
  391. data/lib/frameworks/sproutcore/frameworks/{experimental/frameworks/designer → designer}/css/css_style_sheet.js +37 -37
  392. data/lib/frameworks/sproutcore/frameworks/{experimental/frameworks/designer → designer}/designers/button.js +0 -0
  393. data/lib/frameworks/sproutcore/frameworks/{experimental/frameworks/designer → designer}/designers/label.js +0 -0
  394. data/lib/frameworks/sproutcore/frameworks/{experimental/frameworks/designer → designer}/designers/object_designer.js +0 -0
  395. data/lib/frameworks/sproutcore/frameworks/{experimental/frameworks/designer → designer}/designers/tab.js +0 -0
  396. data/lib/frameworks/sproutcore/frameworks/{experimental/frameworks/designer → designer}/designers/text_field.js +0 -0
  397. data/lib/frameworks/sproutcore/frameworks/{experimental/frameworks/designer → designer}/designers/view_designer.js +1 -1
  398. data/lib/frameworks/sproutcore/frameworks/{experimental/frameworks/designer → designer}/english.lproj/css/designer.css +0 -0
  399. data/lib/frameworks/sproutcore/frameworks/{experimental/frameworks/designer → designer}/english.lproj/design_page.js +0 -0
  400. data/lib/frameworks/sproutcore/frameworks/{experimental/frameworks/designer → designer}/english.lproj/high_light.css +0 -0
  401. data/lib/frameworks/sproutcore/frameworks/{experimental/frameworks/designer → designer}/english.lproj/images/controller.png +0 -0
  402. data/lib/frameworks/sproutcore/frameworks/{experimental/frameworks/designer → designer}/english.lproj/images/dock-bg.png +0 -0
  403. data/lib/frameworks/sproutcore/frameworks/{experimental/frameworks/designer → designer}/english.lproj/images/dock-item-bg.png +0 -0
  404. data/lib/frameworks/sproutcore/frameworks/{experimental/frameworks/designer → designer}/english.lproj/images/dock-item-divider.png +0 -0
  405. data/lib/frameworks/sproutcore/frameworks/{experimental/frameworks/designer → designer}/english.lproj/images/dock-item-sel-bg.png +0 -0
  406. data/lib/frameworks/sproutcore/frameworks/{experimental/frameworks/designer → designer}/english.lproj/images/dock-item-sel-divider.png +0 -0
  407. data/lib/frameworks/sproutcore/frameworks/{experimental/frameworks/designer → designer}/english.lproj/images/main-bg.png +0 -0
  408. data/lib/frameworks/sproutcore/frameworks/{experimental/frameworks/designer → designer}/english.lproj/images/page.png +0 -0
  409. data/lib/frameworks/sproutcore/frameworks/{experimental/frameworks/designer → designer}/english.lproj/images/pane.png +0 -0
  410. data/lib/frameworks/sproutcore/frameworks/{experimental/frameworks/designer → designer}/english.lproj/images/view.png +0 -0
  411. data/lib/frameworks/sproutcore/frameworks/{experimental/frameworks/designer → designer}/english.lproj/selection_handles.css +0 -0
  412. data/lib/frameworks/sproutcore/frameworks/{experimental/frameworks/designer → designer}/ext/binding.js +0 -0
  413. data/lib/frameworks/sproutcore/frameworks/{experimental/frameworks/designer → designer}/ext/object.js +0 -0
  414. data/lib/frameworks/sproutcore/frameworks/{experimental/frameworks/designer → designer}/ext/page.js +0 -0
  415. data/lib/frameworks/sproutcore/frameworks/{experimental/frameworks/designer → designer}/ext/view.js +0 -0
  416. data/lib/frameworks/sproutcore/frameworks/{experimental/frameworks/designer → designer}/mixins/button.js +0 -0
  417. data/lib/frameworks/sproutcore/frameworks/{experimental/frameworks/designer → designer}/mixins/snap_lines.js +0 -0
  418. data/lib/frameworks/sproutcore/frameworks/{experimental/frameworks/designer → designer}/tests/coders/page.js +0 -0
  419. data/lib/frameworks/sproutcore/frameworks/{experimental/frameworks/designer → designer}/tests/designers/view_designer.js +0 -0
  420. data/lib/frameworks/sproutcore/frameworks/{experimental/frameworks/designer → designer}/views/designer_drop_target.js +36 -37
  421. data/lib/frameworks/sproutcore/frameworks/{experimental/frameworks/designer → designer}/views/drawing.js +1 -1
  422. data/lib/frameworks/sproutcore/frameworks/{experimental/frameworks/designer → designer}/views/high_light.js +17 -17
  423. data/lib/frameworks/sproutcore/frameworks/{experimental/frameworks/designer → designer}/views/page_item_view.js +0 -0
  424. data/lib/frameworks/sproutcore/frameworks/{experimental/frameworks/designer → designer}/views/selection_handles.js +14 -14
  425. data/lib/frameworks/sproutcore/frameworks/desktop/mixins/collection_fast_path.js +1 -2
  426. data/lib/frameworks/sproutcore/frameworks/desktop/mixins/scrollable.js +51 -51
  427. data/lib/frameworks/sproutcore/frameworks/{experimental/frameworks/split_view → desktop}/mixins/split_child.js +63 -52
  428. data/lib/frameworks/sproutcore/frameworks/{experimental/frameworks/split_view → desktop}/mixins/split_thumb.js +64 -59
  429. data/lib/frameworks/sproutcore/frameworks/desktop/panes/alert.js +113 -112
  430. data/lib/frameworks/sproutcore/frameworks/desktop/panes/menu.js +182 -203
  431. data/lib/frameworks/sproutcore/frameworks/desktop/panes/palette.js +13 -13
  432. data/lib/frameworks/sproutcore/frameworks/desktop/panes/panel.js +51 -29
  433. data/lib/frameworks/sproutcore/frameworks/desktop/panes/picker.js +513 -307
  434. data/lib/frameworks/sproutcore/frameworks/desktop/panes/sheet.js +69 -217
  435. data/lib/frameworks/sproutcore/frameworks/desktop/render_delegates/button.js +31 -26
  436. data/lib/frameworks/sproutcore/frameworks/desktop/render_delegates/checkbox.js +15 -20
  437. data/lib/frameworks/sproutcore/frameworks/desktop/render_delegates/collection.js +2 -6
  438. data/lib/frameworks/sproutcore/frameworks/desktop/render_delegates/disclosure.js +6 -6
  439. data/lib/frameworks/sproutcore/frameworks/desktop/render_delegates/image_button.js +25 -16
  440. data/lib/frameworks/sproutcore/frameworks/desktop/render_delegates/panel.js +6 -6
  441. data/lib/frameworks/sproutcore/frameworks/desktop/render_delegates/picker.js +29 -16
  442. data/lib/frameworks/sproutcore/frameworks/desktop/render_delegates/popup_button.js +1 -1
  443. data/lib/frameworks/sproutcore/frameworks/desktop/render_delegates/progress.js +19 -23
  444. data/lib/frameworks/sproutcore/frameworks/desktop/render_delegates/radio.js +14 -17
  445. data/lib/frameworks/sproutcore/frameworks/desktop/render_delegates/radio_group.js +24 -24
  446. data/lib/frameworks/sproutcore/frameworks/desktop/render_delegates/segment.js +4 -4
  447. data/lib/frameworks/sproutcore/frameworks/desktop/render_delegates/slider.js +5 -5
  448. data/lib/frameworks/sproutcore/frameworks/{experimental/frameworks/split_view → desktop}/render_delegates/split.js +0 -0
  449. data/lib/frameworks/sproutcore/frameworks/{experimental/frameworks/split_view → desktop}/render_delegates/split_divider.js +0 -0
  450. data/lib/frameworks/sproutcore/frameworks/desktop/resources/modal.css +2 -0
  451. data/lib/frameworks/sproutcore/frameworks/desktop/resources/panel.css +1 -1
  452. data/lib/frameworks/sproutcore/frameworks/desktop/resources/segmented.css +24 -98
  453. data/lib/frameworks/sproutcore/frameworks/desktop/system/drag.js +446 -442
  454. data/lib/frameworks/sproutcore/frameworks/desktop/tests/panes/alert/ui.js +42 -21
  455. data/lib/frameworks/sproutcore/frameworks/desktop/tests/panes/menu/methods.js +19 -3
  456. data/lib/frameworks/sproutcore/frameworks/desktop/tests/panes/menu/ui.js +26 -28
  457. data/lib/frameworks/sproutcore/frameworks/desktop/tests/panes/palette/ui.js +3 -2
  458. data/lib/frameworks/sproutcore/frameworks/desktop/tests/panes/pane_page.js +11 -7
  459. data/lib/frameworks/sproutcore/frameworks/desktop/tests/panes/panel/ui.js +5 -4
  460. data/lib/frameworks/sproutcore/frameworks/desktop/tests/panes/picker/methods.js +32 -26
  461. data/lib/frameworks/sproutcore/frameworks/desktop/tests/panes/picker/ui.js +27 -22
  462. data/lib/frameworks/sproutcore/frameworks/desktop/tests/panes/select_button/methods.js +5 -4
  463. data/lib/frameworks/sproutcore/frameworks/desktop/tests/panes/select_button/ui.js +0 -2
  464. data/lib/frameworks/sproutcore/frameworks/desktop/tests/panes/sheet/ui.js +11 -8
  465. data/lib/frameworks/sproutcore/frameworks/desktop/tests/views/button/displayProperties.js +5 -5
  466. data/lib/frameworks/sproutcore/frameworks/desktop/tests/views/button/keyEquivalents.js +9 -11
  467. data/lib/frameworks/sproutcore/frameworks/desktop/tests/views/button/ui.js +23 -23
  468. data/lib/frameworks/sproutcore/frameworks/desktop/tests/views/checkbox/ui.js +15 -17
  469. data/lib/frameworks/sproutcore/frameworks/desktop/tests/{mixins → views/collection}/collection_fast_path.js +18 -12
  470. data/lib/frameworks/sproutcore/frameworks/desktop/tests/views/collection/content.js +46 -53
  471. data/lib/frameworks/sproutcore/frameworks/desktop/tests/views/collection/itemViewForContentIndex.js +101 -47
  472. data/lib/frameworks/sproutcore/frameworks/desktop/tests/views/collection/mouse.js +26 -26
  473. data/lib/frameworks/sproutcore/frameworks/desktop/tests/views/collection/reload.js +89 -69
  474. data/lib/frameworks/sproutcore/frameworks/desktop/tests/views/collection/selection.js +27 -25
  475. data/lib/frameworks/sproutcore/frameworks/desktop/tests/views/collection/ui_diagram.js +32 -35
  476. data/lib/frameworks/sproutcore/frameworks/desktop/tests/views/date_field/methods.js +1 -0
  477. data/lib/frameworks/sproutcore/frameworks/desktop/tests/views/date_field/ui.js +6 -11
  478. data/lib/frameworks/sproutcore/frameworks/desktop/tests/views/disclosure/ui.js +3 -5
  479. data/lib/frameworks/sproutcore/frameworks/desktop/tests/views/grid/drag_and_drop.js +103 -8
  480. data/lib/frameworks/sproutcore/frameworks/desktop/tests/views/grid/methods.js +76 -38
  481. data/lib/frameworks/sproutcore/frameworks/desktop/tests/views/image_button/ui.js +3 -5
  482. data/lib/frameworks/sproutcore/frameworks/desktop/tests/views/list/drag_and_drop.js +91 -3
  483. data/lib/frameworks/sproutcore/frameworks/desktop/tests/views/list/render.js +2 -17
  484. data/lib/frameworks/sproutcore/frameworks/desktop/tests/views/list/rowHeightForContentIndex.js +70 -38
  485. data/lib/frameworks/sproutcore/frameworks/desktop/tests/views/list/ui_alternatingrows.js +17 -19
  486. data/lib/frameworks/sproutcore/frameworks/desktop/tests/views/list/ui_outline.js +10 -13
  487. data/lib/frameworks/sproutcore/frameworks/desktop/tests/views/list/ui_row_heights.js +37 -30
  488. data/lib/frameworks/sproutcore/frameworks/desktop/tests/views/list/ui_simple.js +18 -20
  489. data/lib/frameworks/sproutcore/frameworks/desktop/tests/views/list_item.js +115 -28
  490. data/lib/frameworks/sproutcore/frameworks/desktop/tests/views/scroll/ui.js +0 -2
  491. data/lib/frameworks/sproutcore/frameworks/desktop/tests/views/segmented/methods.js +37 -1
  492. data/lib/frameworks/sproutcore/frameworks/desktop/tests/views/segmented/ui.js +194 -182
  493. data/lib/frameworks/sproutcore/frameworks/desktop/tests/views/select/ui.js +2 -3
  494. data/lib/frameworks/sproutcore/frameworks/desktop/tests/views/select_field/ui.js +18 -21
  495. data/lib/frameworks/sproutcore/frameworks/desktop/tests/views/separator.js +5 -6
  496. data/lib/frameworks/sproutcore/frameworks/desktop/tests/views/slider/methods.js +5 -4
  497. data/lib/frameworks/sproutcore/frameworks/{experimental/frameworks/split_view/tests → desktop/tests/views/split}/children.js +15 -15
  498. data/lib/frameworks/sproutcore/frameworks/{experimental/frameworks/split_view/tests → desktop/tests/views/split}/dividers.js +0 -0
  499. data/lib/frameworks/sproutcore/frameworks/desktop/tests/views/split/methods.js +341 -45
  500. data/lib/frameworks/sproutcore/frameworks/{experimental/frameworks/split_view/tests → desktop/tests/views/split}/split_child.js +0 -0
  501. data/lib/frameworks/sproutcore/frameworks/{experimental/frameworks/split_view/tests → desktop/tests/views/split}/split_thumb.js +0 -0
  502. data/lib/frameworks/sproutcore/frameworks/desktop/tests/views/split/ui.js +6 -8
  503. data/lib/frameworks/sproutcore/frameworks/desktop/tests/views/stacked/ui_comments.js +49 -52
  504. data/lib/frameworks/sproutcore/frameworks/desktop/tests/views/tab/ui.js +23 -6
  505. data/lib/frameworks/sproutcore/frameworks/desktop/tests/views/toolbar/ui.js +2 -4
  506. data/lib/frameworks/sproutcore/frameworks/desktop/tests/views/web/ui.js +4 -5
  507. data/lib/frameworks/sproutcore/frameworks/desktop/views/button.js +47 -38
  508. data/lib/frameworks/sproutcore/frameworks/desktop/views/checkbox.js +24 -24
  509. data/lib/frameworks/sproutcore/frameworks/desktop/views/collection.js +887 -740
  510. data/lib/frameworks/sproutcore/frameworks/desktop/views/date_field.js +2 -2
  511. data/lib/frameworks/sproutcore/frameworks/desktop/views/grid.js +68 -55
  512. data/lib/frameworks/sproutcore/frameworks/desktop/views/image_button.js +3 -3
  513. data/lib/frameworks/sproutcore/frameworks/desktop/views/list.js +8 -26
  514. data/lib/frameworks/sproutcore/frameworks/desktop/views/list_item.js +189 -167
  515. data/lib/frameworks/sproutcore/frameworks/desktop/views/master_detail.js +55 -54
  516. data/lib/frameworks/sproutcore/frameworks/desktop/views/menu_item.js +8 -4
  517. data/lib/frameworks/sproutcore/frameworks/desktop/views/menu_scroll.js +145 -146
  518. data/lib/frameworks/sproutcore/frameworks/desktop/views/popup_button.js +21 -21
  519. data/lib/frameworks/sproutcore/frameworks/desktop/views/progress.js +2 -2
  520. data/lib/frameworks/sproutcore/frameworks/desktop/views/radio.js +66 -66
  521. data/lib/frameworks/sproutcore/frameworks/desktop/views/scene.js +40 -44
  522. data/lib/frameworks/sproutcore/frameworks/desktop/views/scroll.js +203 -200
  523. data/lib/frameworks/sproutcore/frameworks/desktop/views/scroller.js +11 -12
  524. data/lib/frameworks/sproutcore/frameworks/desktop/views/segment.js +6 -13
  525. data/lib/frameworks/sproutcore/frameworks/desktop/views/segmented.js +87 -112
  526. data/lib/frameworks/sproutcore/frameworks/desktop/views/select.js +192 -179
  527. data/lib/frameworks/sproutcore/frameworks/desktop/views/select_button.js +23 -23
  528. data/lib/frameworks/sproutcore/frameworks/desktop/views/select_field.js +64 -64
  529. data/lib/frameworks/sproutcore/frameworks/desktop/views/slider.js +56 -56
  530. data/lib/frameworks/sproutcore/frameworks/desktop/views/split.js +784 -714
  531. data/lib/frameworks/sproutcore/frameworks/desktop/views/split_divider.js +21 -39
  532. data/lib/frameworks/sproutcore/frameworks/desktop/views/stacked.js +45 -41
  533. data/lib/frameworks/sproutcore/frameworks/desktop/views/static_content.js +1 -1
  534. data/lib/frameworks/sproutcore/frameworks/desktop/views/tab.js +4 -10
  535. data/lib/frameworks/sproutcore/frameworks/desktop/views/thumb.js +9 -47
  536. data/lib/frameworks/sproutcore/frameworks/desktop/views/toolbar.js +40 -16
  537. data/lib/frameworks/sproutcore/frameworks/desktop/views/web.js +2 -1
  538. data/lib/frameworks/sproutcore/frameworks/desktop/views/workspace.js +62 -50
  539. data/lib/frameworks/sproutcore/frameworks/experimental/Buildfile +0 -9
  540. data/lib/frameworks/sproutcore/frameworks/experimental/frameworks/device_motion/device.js +45 -45
  541. data/lib/frameworks/sproutcore/frameworks/experimental/frameworks/device_motion/platform.js +16 -16
  542. data/lib/frameworks/sproutcore/frameworks/experimental/frameworks/polymorphism/models/record.js +46 -6
  543. data/lib/frameworks/sproutcore/frameworks/experimental/frameworks/polymorphism/tests/models/polymorphism/simple.js +16 -2
  544. data/lib/frameworks/sproutcore/frameworks/experimental/frameworks/scroll_view/render_delegates/desktop_scroller.js +12 -12
  545. data/lib/frameworks/sproutcore/frameworks/experimental/frameworks/scroll_view/tests/scroll/ui.js +38 -40
  546. data/lib/frameworks/sproutcore/frameworks/experimental/frameworks/select_view/ext/menu.js +8 -8
  547. data/lib/frameworks/sproutcore/frameworks/experimental/frameworks/select_view/views/select.js +20 -20
  548. data/lib/frameworks/sproutcore/frameworks/formatters/formatters/date_formatter.js +16 -16
  549. data/lib/frameworks/sproutcore/frameworks/foundation/controllers/tree.js +26 -14
  550. data/lib/frameworks/sproutcore/frameworks/foundation/debug/control_test_pane.js +43 -43
  551. data/lib/frameworks/sproutcore/frameworks/foundation/debug/test-image.png +0 -0
  552. data/lib/frameworks/sproutcore/frameworks/foundation/delegates/inline_text_field.js +11 -11
  553. data/lib/frameworks/sproutcore/frameworks/foundation/mixins/auto_resize.js +63 -41
  554. data/lib/frameworks/sproutcore/frameworks/foundation/mixins/button.js +1 -1
  555. data/lib/frameworks/sproutcore/frameworks/foundation/mixins/collection_content.js +60 -61
  556. data/lib/frameworks/sproutcore/frameworks/foundation/mixins/control.js +72 -72
  557. data/lib/frameworks/sproutcore/frameworks/foundation/mixins/flowed_layout.js +142 -142
  558. data/lib/frameworks/sproutcore/frameworks/foundation/mixins/gesturable.js +1 -1
  559. data/lib/frameworks/sproutcore/frameworks/foundation/mixins/inline_editable.js +1 -1
  560. data/lib/frameworks/sproutcore/frameworks/foundation/mixins/inner_frame.js +10 -8
  561. data/lib/frameworks/sproutcore/frameworks/foundation/mixins/static_layout.js +36 -29
  562. data/lib/frameworks/sproutcore/frameworks/foundation/private/tree_item_observer.js +4 -4
  563. data/lib/frameworks/sproutcore/frameworks/foundation/protocols/swap_transition_protocol.js +150 -0
  564. data/lib/frameworks/sproutcore/frameworks/foundation/render_delegates/canvas_image.js +54 -29
  565. data/lib/frameworks/sproutcore/frameworks/foundation/render_delegates/image.js +23 -18
  566. data/lib/frameworks/sproutcore/frameworks/foundation/render_delegates/label.js +12 -11
  567. data/lib/frameworks/sproutcore/frameworks/foundation/resources/benchmark.css +21 -20
  568. data/lib/frameworks/sproutcore/frameworks/foundation/resources/images/sproutcore-128.png +0 -0
  569. data/lib/frameworks/sproutcore/frameworks/foundation/resources/images/sproutcore-256.png +0 -0
  570. data/lib/frameworks/sproutcore/frameworks/foundation/resources/images/sproutcore-32.png +0 -0
  571. data/lib/frameworks/sproutcore/frameworks/foundation/resources/images/sproutcore-48.png +0 -0
  572. data/lib/frameworks/sproutcore/frameworks/foundation/resources/images/sproutcore-512.png +0 -0
  573. data/lib/frameworks/sproutcore/frameworks/foundation/resources/images/sproutcore-64.png +0 -0
  574. data/lib/frameworks/sproutcore/frameworks/foundation/resources/label.css +5 -0
  575. data/lib/frameworks/sproutcore/frameworks/foundation/system/app_cache.js +412 -0
  576. data/lib/frameworks/sproutcore/frameworks/foundation/system/benchmark.js +2 -3
  577. data/lib/frameworks/sproutcore/frameworks/foundation/system/module.js +11 -5
  578. data/lib/frameworks/sproutcore/frameworks/foundation/system/text_selection.js +21 -21
  579. data/lib/frameworks/sproutcore/frameworks/foundation/system/utils/string_measurement.js +8 -3
  580. data/lib/frameworks/sproutcore/frameworks/foundation/tests/controllers/tree/selection_support.js +33 -8
  581. data/lib/frameworks/sproutcore/frameworks/foundation/tests/delegates/inline_text_field/inline_text_field.js +2 -1
  582. data/lib/frameworks/sproutcore/frameworks/foundation/tests/mixins/content_display.js +9 -3
  583. data/lib/frameworks/sproutcore/frameworks/foundation/tests/mixins/control/displayProperties.js +5 -4
  584. data/lib/frameworks/sproutcore/frameworks/foundation/tests/mixins/flowed_layout/tests.js +49 -4
  585. data/lib/frameworks/sproutcore/frameworks/foundation/tests/mixins/inline_text_field/beginEditing.js +29 -21
  586. data/lib/frameworks/sproutcore/frameworks/foundation/tests/mixins/staticLayout.js +3 -5
  587. data/lib/frameworks/sproutcore/frameworks/foundation/tests/mixins/validatable/ui.js +8 -10
  588. data/lib/frameworks/sproutcore/frameworks/foundation/tests/system/app_cache_test.js +81 -0
  589. data/lib/frameworks/sproutcore/frameworks/foundation/tests/system/image_queue.js +2 -2
  590. data/lib/frameworks/sproutcore/frameworks/foundation/tests/system/utils/pointInElement.js +0 -3
  591. data/lib/frameworks/sproutcore/frameworks/foundation/tests/views/container/methods.js +40 -1
  592. data/lib/frameworks/sproutcore/frameworks/foundation/tests/views/container/transition_test.js +143 -0
  593. data/lib/frameworks/sproutcore/frameworks/foundation/tests/views/container/ui.js +5 -7
  594. data/lib/frameworks/sproutcore/frameworks/foundation/tests/views/image/ui.js +187 -84
  595. data/lib/frameworks/sproutcore/frameworks/foundation/tests/views/label/ui.js +6 -41
  596. data/lib/frameworks/sproutcore/frameworks/foundation/tests/views/text_field/methods.js +51 -7
  597. data/lib/frameworks/sproutcore/frameworks/foundation/tests/views/text_field/ui.js +11 -16
  598. data/lib/frameworks/sproutcore/frameworks/foundation/transitions/adjust_bounce_transition.js +80 -0
  599. data/lib/frameworks/sproutcore/frameworks/foundation/transitions/adjust_smooth_transition.js +39 -0
  600. data/lib/frameworks/sproutcore/frameworks/foundation/transitions/adjust_spring_transition.js +77 -0
  601. data/lib/frameworks/sproutcore/frameworks/foundation/transitions/bounce_transition.js +211 -0
  602. data/lib/frameworks/sproutcore/frameworks/foundation/transitions/fade_transition.js +57 -0
  603. data/lib/frameworks/sproutcore/frameworks/foundation/transitions/pop_transition.js +82 -0
  604. data/lib/frameworks/sproutcore/frameworks/foundation/transitions/scale_transition.js +54 -0
  605. data/lib/frameworks/sproutcore/frameworks/foundation/transitions/slide_transition.js +140 -0
  606. data/lib/frameworks/sproutcore/frameworks/foundation/transitions/spring_transition.js +203 -0
  607. data/lib/frameworks/sproutcore/frameworks/foundation/transitions/swap_dissolve_transition.js +67 -0
  608. data/lib/frameworks/sproutcore/frameworks/foundation/transitions/swap_fade_color_transition.js +81 -0
  609. data/lib/frameworks/sproutcore/frameworks/foundation/transitions/swap_move_in_transition.js +104 -0
  610. data/lib/frameworks/sproutcore/frameworks/foundation/transitions/swap_push_transition.js +181 -0
  611. data/lib/frameworks/sproutcore/frameworks/foundation/transitions/swap_reveal_transition.js +90 -0
  612. data/lib/frameworks/sproutcore/frameworks/foundation/validators/validator.js +2 -2
  613. data/lib/frameworks/sproutcore/frameworks/foundation/views/container.js +483 -95
  614. data/lib/frameworks/sproutcore/frameworks/foundation/views/field.js +65 -65
  615. data/lib/frameworks/sproutcore/frameworks/foundation/views/image.js +111 -100
  616. data/lib/frameworks/sproutcore/frameworks/foundation/views/inline_text_field.js +30 -222
  617. data/lib/frameworks/sproutcore/frameworks/foundation/views/label.js +38 -24
  618. data/lib/frameworks/sproutcore/frameworks/foundation/views/text_field.js +74 -62
  619. data/lib/frameworks/sproutcore/frameworks/jquery/jquery-1.8.3-patched.js +9485 -0
  620. data/lib/frameworks/sproutcore/frameworks/media/media_capabilities.js +4 -4
  621. data/lib/frameworks/sproutcore/frameworks/media/render_delegates/media_slider.js +20 -20
  622. data/lib/frameworks/sproutcore/frameworks/media/resources/video.css +18 -17
  623. data/lib/frameworks/sproutcore/frameworks/media/views/audio.js +19 -19
  624. data/lib/frameworks/sproutcore/frameworks/media/views/controls.js +10 -11
  625. data/lib/frameworks/sproutcore/frameworks/media/views/mini_controls.js +7 -8
  626. data/lib/frameworks/sproutcore/frameworks/media/views/video.js +24 -24
  627. data/lib/frameworks/sproutcore/frameworks/qunit/test/test.js +2 -2
  628. data/lib/frameworks/sproutcore/frameworks/routing/system/routes.js +32 -21
  629. data/lib/frameworks/sproutcore/frameworks/routing/tests/system/routes.js +72 -53
  630. data/lib/frameworks/sproutcore/frameworks/runtime/core.js +164 -156
  631. data/lib/frameworks/sproutcore/frameworks/runtime/ext/array.js +20 -20
  632. data/lib/frameworks/sproutcore/frameworks/runtime/mixins/array.js +145 -140
  633. data/lib/frameworks/sproutcore/frameworks/runtime/mixins/comparable.js +1 -1
  634. data/lib/frameworks/sproutcore/frameworks/runtime/mixins/copyable.js +2 -2
  635. data/lib/frameworks/sproutcore/frameworks/runtime/mixins/enumerable.js +393 -370
  636. data/lib/frameworks/sproutcore/frameworks/runtime/mixins/freezable.js +3 -3
  637. data/lib/frameworks/sproutcore/frameworks/runtime/mixins/observable.js +1045 -999
  638. data/lib/frameworks/sproutcore/frameworks/runtime/private/chain_observer.js +41 -36
  639. data/lib/frameworks/sproutcore/frameworks/runtime/private/observer_queue.js +10 -4
  640. data/lib/frameworks/sproutcore/frameworks/runtime/private/observer_set.js +11 -1
  641. data/lib/frameworks/sproutcore/frameworks/runtime/private/property_chain.js +7 -7
  642. data/lib/frameworks/sproutcore/frameworks/runtime/system/binding.js +275 -205
  643. data/lib/frameworks/sproutcore/frameworks/runtime/system/function.js +27 -27
  644. data/lib/frameworks/sproutcore/frameworks/runtime/system/index_set.js +229 -193
  645. data/lib/frameworks/sproutcore/frameworks/runtime/system/logger.js +24 -24
  646. data/lib/frameworks/sproutcore/frameworks/runtime/system/object.js +186 -188
  647. data/lib/frameworks/sproutcore/frameworks/runtime/system/range_observer.js +1 -1
  648. data/lib/frameworks/sproutcore/frameworks/runtime/system/run_loop.js +138 -65
  649. data/lib/frameworks/sproutcore/frameworks/runtime/system/set.js +11 -10
  650. data/lib/frameworks/sproutcore/frameworks/runtime/system/string.js +8 -4
  651. data/lib/frameworks/sproutcore/frameworks/runtime/tests/core/tupleForPropertyPath.js +4 -0
  652. data/lib/frameworks/sproutcore/frameworks/runtime/tests/mixins/observable/chained.js +112 -23
  653. data/lib/frameworks/sproutcore/frameworks/runtime/tests/mixins/observable/observable.js +71 -18
  654. data/lib/frameworks/sproutcore/frameworks/runtime/tests/system/binding.js +97 -57
  655. data/lib/frameworks/sproutcore/frameworks/runtime/tests/system/index_set/add.js +22 -22
  656. data/lib/frameworks/sproutcore/frameworks/runtime/tests/system/index_set/infinite.js +184 -0
  657. data/lib/frameworks/sproutcore/frameworks/runtime/tests/system/observer_set.js +63 -1
  658. data/lib/frameworks/sproutcore/frameworks/runtime/tests/system/run_loop.js +73 -36
  659. data/lib/frameworks/sproutcore/frameworks/runtime/tests/system/set.js +100 -25
  660. data/lib/frameworks/sproutcore/frameworks/runtime/tests/system/string.js +7 -0
  661. data/lib/frameworks/sproutcore/frameworks/statechart/debug/sequence_matcher.js +1 -1
  662. data/lib/frameworks/sproutcore/frameworks/statechart/private/state_path_matcher.js +2 -2
  663. data/lib/frameworks/sproutcore/frameworks/statechart/system/history_state.js +32 -32
  664. data/lib/frameworks/sproutcore/frameworks/statechart/system/state.js +449 -422
  665. data/lib/frameworks/sproutcore/frameworks/statechart/system/state_route_handler_context.js +19 -19
  666. data/lib/frameworks/sproutcore/frameworks/statechart/system/statechart.js +612 -562
  667. data/lib/frameworks/sproutcore/frameworks/statechart/tests/state_transitioning/routing/with_concurrent_states/basic.js +115 -62
  668. data/lib/frameworks/sproutcore/frameworks/statechart/tests/state_transitioning/routing/without_concurrent_states/basic.js +145 -64
  669. data/lib/frameworks/sproutcore/frameworks/statechart/tests/statechart/respond_to_event.js +17 -1
  670. data/lib/frameworks/sproutcore/frameworks/table/views/table_head.js +30 -30
  671. data/lib/frameworks/sproutcore/frameworks/table/views/table_row.js +34 -34
  672. data/lib/frameworks/sproutcore/frameworks/template_view/ext/handlebars/bind.js +1 -1
  673. data/lib/frameworks/sproutcore/frameworks/template_view/ext/handlebars/collection.js +2 -2
  674. data/lib/frameworks/sproutcore/frameworks/template_view/ext/handlebars/view.js +3 -5
  675. data/lib/frameworks/sproutcore/frameworks/template_view/tests/panes/template.js +2 -0
  676. data/lib/frameworks/sproutcore/frameworks/template_view/tests/views/template/core.js +2 -2
  677. data/lib/frameworks/sproutcore/frameworks/template_view/views/bindable_span.js +7 -7
  678. data/lib/frameworks/sproutcore/frameworks/template_view/views/template.js +4 -4
  679. data/lib/frameworks/sproutcore/frameworks/template_view/views/template_collection.js +15 -21
  680. data/lib/frameworks/sproutcore/frameworks/testing/system/plan.js +4 -4
  681. data/lib/frameworks/sproutcore/frameworks/testing/system/runner.js +35 -35
  682. data/lib/frameworks/sproutcore/scripts/run_sc_server_master.sh +34 -0
  683. data/lib/frameworks/sproutcore/tests/phantomjs_runner.phantomjs +606 -0
  684. data/lib/frameworks/sproutcore/themes/ace/designs/psds/panel/PanelPane.opacity +0 -0
  685. data/lib/frameworks/sproutcore/themes/ace/designs/psds/panel/Pointers.opacity +0 -0
  686. data/lib/frameworks/sproutcore/themes/ace/resources/button/ace/44px/active_button@2x.png +0 -0
  687. data/lib/frameworks/sproutcore/themes/ace/resources/button/ace/44px/normal_button@2x.png +0 -0
  688. data/lib/frameworks/sproutcore/themes/ace/resources/button/ace/44px/selected_active_button@2x.png +0 -0
  689. data/lib/frameworks/sproutcore/themes/ace/resources/button/ace/44px/selected_button@2x.png +0 -0
  690. data/lib/frameworks/sproutcore/themes/ace/resources/button/popup/select.css +3 -4
  691. data/lib/frameworks/sproutcore/themes/ace/resources/collection/normal/list.css +18 -0
  692. data/lib/frameworks/sproutcore/themes/ace/resources/panel/panel.png +0 -0
  693. data/lib/frameworks/sproutcore/themes/ace/resources/panel/panel@2x.png +0 -0
  694. data/lib/frameworks/sproutcore/themes/ace/resources/picker/ace/panel.png +0 -0
  695. data/lib/frameworks/sproutcore/themes/ace/resources/picker/ace/panel@2x.png +0 -0
  696. data/lib/frameworks/sproutcore/themes/ace/resources/picker/ace/picker.css +34 -14
  697. data/lib/frameworks/sproutcore/themes/ace/resources/picker/ace/pointers.png +0 -0
  698. data/lib/frameworks/sproutcore/themes/ace/resources/picker/ace/pointers@2x.png +0 -0
  699. data/lib/frameworks/sproutcore/themes/ace/resources/segmented/18px/segmented.css +5 -4
  700. data/lib/frameworks/sproutcore/themes/ace/resources/segmented/24px/segmented.css +7 -2
  701. data/lib/frameworks/sproutcore/themes/ace/resources/segmented/30px/segmented.css +5 -4
  702. data/lib/frameworks/sproutcore/themes/ace/resources/segmented/44px/segmented.css +6 -3
  703. data/lib/frameworks/sproutcore/themes/ace/resources/toolbar/toolbar.css +7 -5
  704. data/lib/frameworks/sproutcore/themes/legacy_theme/render_delegates/button.js +7 -7
  705. data/lib/frameworks/sproutcore/themes/legacy_theme/render_delegates/progress.js +37 -37
  706. data/lib/frameworks/sproutcore/themes/legacy_theme/render_delegates/slider.js +12 -12
  707. data/lib/sproutcore/helpers/static_helper.rb +35 -27
  708. data/sproutcore.gemspec +1 -0
  709. metadata +529 -451
  710. data/lib/frameworks/sproutcore/apps/showcase/resources/images/sproutcore-logo.png +0 -0
  711. data/lib/frameworks/sproutcore/apps/showcase/views/button_views.js +0 -55
  712. data/lib/frameworks/sproutcore/apps/showcase/views/container_views.js +0 -29
  713. data/lib/frameworks/sproutcore/apps/showcase/views/grid_views.js +0 -28
  714. data/lib/frameworks/sproutcore/apps/showcase/views/image_button_views.js +0 -22
  715. data/lib/frameworks/sproutcore/apps/showcase/views/image_views.js +0 -51
  716. data/lib/frameworks/sproutcore/apps/tests/states/no_targets.js +0 -26
  717. data/lib/frameworks/sproutcore/apps/tests/states/ready.js +0 -56
  718. data/lib/frameworks/sproutcore/apps/tests/states/ready_detail.js +0 -41
  719. data/lib/frameworks/sproutcore/apps/tests/states/ready_empty.js +0 -48
  720. data/lib/frameworks/sproutcore/apps/tests/states/ready_list.js +0 -41
  721. data/lib/frameworks/sproutcore/apps/tests/states/ready_loading.js +0 -44
  722. data/lib/frameworks/sproutcore/apps/tests/states/ready_no_tests.js +0 -31
  723. data/lib/frameworks/sproutcore/apps/tests/states/start.js +0 -39
  724. data/lib/frameworks/sproutcore/apps/welcome/tests/controllers/targets.js +0 -15
  725. data/lib/frameworks/sproutcore/frameworks/animation/Buildfile +0 -3
  726. data/lib/frameworks/sproutcore/frameworks/animation/LICENSE +0 -25
  727. data/lib/frameworks/sproutcore/frameworks/animation/README.md +0 -79
  728. data/lib/frameworks/sproutcore/frameworks/animation/core.js +0 -1208
  729. data/lib/frameworks/sproutcore/frameworks/animation/tests/core.js +0 -152
  730. data/lib/frameworks/sproutcore/frameworks/core_foundation/tests/views/view/parentViewDidChange.js +0 -67
  731. data/lib/frameworks/sproutcore/frameworks/core_foundation/tests/views/view/prepareContext.js +0 -203
  732. data/lib/frameworks/sproutcore/frameworks/core_foundation/tests/views/view/updateLayerLocation.js +0 -213
  733. data/lib/frameworks/sproutcore/frameworks/desktop/mixins/border.js +0 -163
  734. data/lib/frameworks/sproutcore/frameworks/desktop/tests/mixins/border.js +0 -97
  735. data/lib/frameworks/sproutcore/frameworks/experimental/frameworks/split_view/tests/methods.js +0 -312
  736. data/lib/frameworks/sproutcore/frameworks/experimental/frameworks/split_view/views/split.js +0 -961
  737. data/lib/frameworks/sproutcore/frameworks/experimental/frameworks/split_view/views/split_divider.js +0 -40
  738. data/lib/frameworks/sproutcore/frameworks/experimental/frameworks/split_view/views/thumb.js +0 -27
  739. data/lib/frameworks/sproutcore/frameworks/foundation/resources/images/sproutcore-logo.png +0 -0
  740. data/lib/frameworks/sproutcore/frameworks/foundation/resources/images/sproutcore.png +0 -0
  741. data/lib/frameworks/sproutcore/frameworks/jquery/jquery-buffer.js +0 -394
  742. data/lib/frameworks/sproutcore/frameworks/jquery/jquery-buffered.js +0 -133
  743. data/lib/frameworks/sproutcore/frameworks/jquery/jquery-sc.js +0 -18
  744. data/lib/frameworks/sproutcore/frameworks/jquery/jquery.js +0 -8981
  745. data/lib/frameworks/sproutcore/frameworks/jquery/tests/set_class.js +0 -40
  746. data/lib/frameworks/sproutcore/themes/ace/resources/picker/ace/picker.js +0 -0
@@ -7,66 +7,62 @@
7
7
 
8
8
  /** @class
9
9
 
10
- Displays several views as scenes that can slide on and off the screen. The
11
- scene view is a nice way to provide a simple effect of moving from a
12
- higher level screen to a more detailed level screen. You will be able to
13
- optionally choose the kind of animation used to transition the two scenes
14
- as well if supported on the web browser.
15
-
16
- # Using SC.SceneView
17
-
18
- To setup the scene view, you should define the 'scenes' property with an
19
- array of scene names. These will be the properties on the scene view that
20
- you can shift in an out of view as needed. You can edit the scenes property
21
- at any time. It will only be used when you start to transition from one
22
- scene to another.
23
-
24
- Next you should set your nowShowing property to the name of the scene you
25
- would like to display. This will cause the view to transition scenes if it
26
- is visible on screen. Otherwise, it will simply make the new scene view
27
- the current content view and that's it.
10
+ This view was significantly more limited than what can be achieved
11
+ using the new transition plugins in SproutCore 1.10. Please use the
12
+ `transition` property in SC.ContainerView for animating between
13
+ views.
28
14
 
29
15
  @extends SC.ContainerView
30
- @since SproutCore 1.0
16
+ @deprecated Version 1.10
17
+ @see SC.ContainerView#transition
18
+ @since Version 1.0
31
19
  */
32
20
  SC.SceneView = SC.ContainerView.extend(
33
21
  /** @scope SC.SceneView.prototype */ {
34
22
 
23
+ //@if(debug)
24
+ init: function () {
25
+ sc_super();
26
+
27
+ SC.warn("Developer Warning: SC.SceneView has been deprecated. Please use the transition property of SC.ContainerView for animated view swapping.");
28
+ },
29
+ //@endif
30
+
35
31
  /**
36
32
  Array of scene names. Scenes will slide on and off screen in the order
37
33
  that you specify them here. That is, if you shift from a scene at index
38
34
  2 to a scene at index 1, the scenes will animation backwards. If you
39
35
  shift to a scene at index 3, the scenes will animate forwards.
40
-
36
+
41
37
  @type Array
42
38
  @default ['master', 'detail']
43
39
  */
44
40
  scenes: ['master', 'detail'],
45
41
 
46
42
  /**
47
- The currently showing scene. Changing this property will cause the
48
- scene view to transition to the new scene. If you set this property to
43
+ The currently showing scene. Changing this property will cause the
44
+ scene view to transition to the new scene. If you set this property to
49
45
  null, an empty string, or a non-existent scene, then the scene will appear
50
46
  empty.
51
-
47
+
52
48
  @type String
53
49
  @default null
54
50
  */
55
51
  nowShowing: null,
56
-
52
+
57
53
  /**
58
54
  Speed of transition. Should be expressed in msec.
59
-
55
+
60
56
  @type Number
61
57
  @default 200
62
58
  */
63
59
  transitionDuration: 200,
64
-
60
+
65
61
  /** @private */
66
62
  _state: 'NO_VIEW', // no view
67
63
 
68
64
  /** @private
69
- Whenever called to change the content, save the nowShowing state and
65
+ Whenever called to change the content, save the nowShowing state and
70
66
  then animate in by adjusting the layout.
71
67
  */
72
68
  replaceContent: function(content) {
@@ -88,17 +84,17 @@ SC.SceneView = SC.ContainerView.extend(
88
84
  // cleanup animation here too..
89
85
  this._targetView = newContent ;
90
86
  this._targetIndex = idx;
91
-
87
+
92
88
  if (this._timer) this._timer.invalidate();
93
89
  this._leftView = this._rightView = this._start = this._end = null;
94
90
  this._timer = null;
95
-
96
-
91
+
92
+
97
93
  this.removeAllChildren();
98
94
 
99
95
  if (oldContent) oldContent.set('layout', layout);
100
96
  if (newContent) newContent.set('layout', layout);
101
-
97
+
102
98
  if (newContent) this.appendChild(newContent);
103
99
  this._state = newContent ? this.READY : this.NO_VIEW ;
104
100
  },
@@ -118,8 +114,8 @@ SC.SceneView = SC.ContainerView.extend(
118
114
  }
119
115
 
120
116
  this._targetView = newContent ;
121
- this._targetIndex = inIdx;
122
-
117
+ this._targetIndex = inIdx;
118
+
123
119
  // save some info needed for animation
124
120
  if (inIdx > outIdx) {
125
121
  this._leftView = oldContent;
@@ -149,19 +145,19 @@ SC.SceneView = SC.ContainerView.extend(
149
145
  the left and right views based on the portion completed. When we finish
150
146
  call replaceScene().
151
147
  */
152
- tick: function() {
148
+ tick: function() {
153
149
  this._timer = null ; // clear out
154
-
150
+
155
151
  var now = Date.now(),
156
152
  pct = (now-this._start)/(this._end-this._start),
157
153
  target = this._target,
158
154
  left = this._leftView,
159
155
  right = this._rightView,
160
156
  layout, adjust;
161
-
157
+
162
158
  if (pct<0) pct = 0;
163
-
164
- // if we're done or the view is no longer visible, just replace the
159
+
160
+ // if we're done or the view is no longer visible, just replace the
165
161
  // scene.
166
162
  if (!this.get('isVisibleInWindow') || (pct>=1)) {
167
163
  return this.replaceScene(this._targetView);
@@ -170,7 +166,7 @@ SC.SceneView = SC.ContainerView.extend(
170
166
  // ok, now let's compute the new layouts for the two views and set them
171
167
  layout = SC.clone(this.get('frame'));
172
168
  adjust = Math.floor(layout.width * pct);
173
-
169
+
174
170
  // set the layout for the views, depending on the direction
175
171
  if (target>0) {
176
172
  layout.left = 0-(layout.width-adjust);
@@ -179,11 +175,11 @@ SC.SceneView = SC.ContainerView.extend(
179
175
  layout = SC.clone(layout);
180
176
  layout.left = adjust ;
181
177
  right.set('layout', layout);
182
-
178
+
183
179
  } else {
184
180
  layout.left = 0-adjust ;
185
181
  left.set('layout', layout);
186
-
182
+
187
183
  layout = SC.clone(layout);
188
184
  layout.left = layout.width-adjust;
189
185
  right.set('layout', layout);
@@ -192,14 +188,14 @@ SC.SceneView = SC.ContainerView.extend(
192
188
  this._timer = this.invokeLater(this.tick, 20);
193
189
  return this;
194
190
  },
195
-
191
+
196
192
 
197
193
  /** @private */
198
194
  NO_VIEW: 'NO_VIEW',
199
-
195
+
200
196
  /** @private */
201
197
  ANIMATING: 'ANIMATING',
202
-
198
+
203
199
  /** @private */
204
200
  READY: 'READY',
205
201
 
@@ -97,14 +97,14 @@ SC.ScrollView = SC.View.extend({
97
97
  @type Number
98
98
  @default 0
99
99
  */
100
- horizontalScrollOffset: function(key, value) {
100
+ horizontalScrollOffset: function (key, value) {
101
101
  if (value !== undefined) {
102
102
  var minOffset = this.minimumHorizontalScrollOffset(),
103
103
  maxOffset = this.get('maximumHorizontalScrollOffset');
104
- this._scroll_horizontalScrollOffset = Math.max(minOffset,Math.min(maxOffset, value)) ;
104
+ this._scroll_horizontalScrollOffset = Math.max(minOffset, Math.min(maxOffset, value));
105
105
  }
106
106
 
107
- return this._scroll_horizontalScrollOffset||0;
107
+ return this._scroll_horizontalScrollOffset || 0;
108
108
  }.property().cacheable(),
109
109
 
110
110
  /**
@@ -114,21 +114,21 @@ SC.ScrollView = SC.View.extend({
114
114
  @type Number
115
115
  @default 0
116
116
  */
117
- verticalScrollOffset: function(key, value) {
117
+ verticalScrollOffset: function (key, value) {
118
118
  if (value !== undefined) {
119
119
  var minOffset = this.get('minimumVerticalScrollOffset'),
120
120
  maxOffset = this.get('maximumVerticalScrollOffset');
121
- this._scroll_verticalScrollOffset = Math.max(minOffset,Math.min(maxOffset, value)) ;
121
+ this._scroll_verticalScrollOffset = Math.max(minOffset, Math.min(maxOffset, value));
122
122
  }
123
123
 
124
- return this._scroll_verticalScrollOffset||0;
124
+ return this._scroll_verticalScrollOffset || 0;
125
125
  }.property().cacheable(),
126
126
 
127
127
  /** @private
128
128
  Calculates the maximum offset given content and container sizes, and the
129
129
  alignment.
130
130
  */
131
- maximumScrollOffset: function(contentSize, containerSize, align) {
131
+ maximumScrollOffset: function (contentSize, containerSize, align) {
132
132
  // if our content size is larger than or the same size as the container, it's quite
133
133
  // simple to calculate the answer. Otherwise, we need to do some fancy-pants
134
134
  // alignment logic (read: simple math)
@@ -152,7 +152,7 @@ SC.ScrollView = SC.View.extend({
152
152
  Calculates the minimum offset given content and container sizes, and the
153
153
  alignment.
154
154
  */
155
- minimumScrollOffset: function(contentSize, containerSize, align) {
155
+ minimumScrollOffset: function (contentSize, containerSize, align) {
156
156
  // if the content is larger than the container, we have no need to change the minimum
157
157
  // away from the natural 0 position.
158
158
  if (contentSize > containerSize) return 0;
@@ -180,8 +180,8 @@ SC.ScrollView = SC.View.extend({
180
180
  @type Number
181
181
  @default 0
182
182
  */
183
- maximumHorizontalScrollOffset: function() {
184
- var view = this.get('contentView') ;
183
+ maximumHorizontalScrollOffset: function () {
184
+ var view = this.get('contentView');
185
185
  var contentWidth = view ? view.get('frame').width : 0,
186
186
  calculatedWidth = view ? view.get('calculatedWidth') : 0;
187
187
 
@@ -192,7 +192,7 @@ SC.ScrollView = SC.View.extend({
192
192
  }
193
193
  contentWidth *= this._scale;
194
194
 
195
- var containerWidth = this.get('containerView').get('frame').width ;
195
+ var containerWidth = this.get('containerView').get('frame').width;
196
196
 
197
197
  // we still must go through minimumScrollOffset even if we can't scroll
198
198
  // because we need to adjust for alignment. So, just make sure it won't allow scrolling.
@@ -209,19 +209,19 @@ SC.ScrollView = SC.View.extend({
209
209
  @type Number
210
210
  @default 0
211
211
  */
212
- maximumVerticalScrollOffset: function() {
212
+ maximumVerticalScrollOffset: function () {
213
213
  var view = this.get('contentView'),
214
214
  contentHeight = (view && view.get('frame')) ? view.get('frame').height : 0,
215
215
  calculatedHeight = view ? view.get('calculatedHeight') : 0;
216
216
 
217
217
  // The following code checks if there is a calculatedWidth (collections)
218
218
  // to avoid looking at the incorrect value calculated by frame.
219
- if(calculatedHeight){
219
+ if (calculatedHeight) {
220
220
  contentHeight = calculatedHeight;
221
221
  }
222
222
  contentHeight *= this._scale;
223
223
 
224
- var containerHeight = this.get('containerView').get('frame').height ;
224
+ var containerHeight = this.get('containerView').get('frame').height;
225
225
 
226
226
  // we still must go through minimumScrollOffset even if we can't scroll
227
227
  // because we need to adjust for alignment. So, just make sure it won't allow scrolling.
@@ -239,18 +239,18 @@ SC.ScrollView = SC.View.extend({
239
239
  @type Number
240
240
  @default 0
241
241
  */
242
- minimumHorizontalScrollOffset: function() {
243
- var view = this.get('contentView') ;
242
+ minimumHorizontalScrollOffset: function () {
243
+ var view = this.get('contentView');
244
244
  var contentWidth = view ? view.get('frame').width : 0,
245
245
  calculatedWidth = view ? view.get('calculatedWidth') : 0;
246
246
  // The following code checks if there is a calculatedWidth (collections)
247
247
  // to avoid looking at the incorrect value calculated by frame.
248
- if(calculatedWidth){
248
+ if (calculatedWidth) {
249
249
  contentWidth = calculatedWidth;
250
250
  }
251
251
  contentWidth *= this._scale;
252
252
 
253
- var containerWidth = this.get('containerView').get('frame').width ;
253
+ var containerWidth = this.get('containerView').get('frame').width;
254
254
 
255
255
  // we still must go through minimumScrollOffset even if we can't scroll
256
256
  // because we need to adjust for alignment. So, just make sure it won't allow scrolling.
@@ -267,19 +267,19 @@ SC.ScrollView = SC.View.extend({
267
267
  @type Number
268
268
  @default 0
269
269
  */
270
- minimumVerticalScrollOffset: function() {
271
- var view = this.get('contentView') ;
270
+ minimumVerticalScrollOffset: function () {
271
+ var view = this.get('contentView');
272
272
  var contentHeight = (view && view.get('frame')) ? view.get('frame').height : 0,
273
273
  calculatedHeight = view ? view.get('calculatedHeight') : 0;
274
274
 
275
275
  // The following code checks if there is a calculatedWidth (collections)
276
276
  // to avoid looking at the incorrect value calculated by frame.
277
- if(calculatedHeight){
277
+ if (calculatedHeight) {
278
278
  contentHeight = view.calculatedHeight;
279
279
  }
280
280
  contentHeight *= this._scale;
281
281
 
282
- var containerHeight = this.get('containerView').get('frame').height ;
282
+ var containerHeight = this.get('containerView').get('frame').height;
283
283
 
284
284
  // we still must go through minimumScrollOffset even if we can't scroll
285
285
  // because we need to adjust for alignment. So, just make sure it won't allow scrolling.
@@ -319,7 +319,7 @@ SC.ScrollView = SC.View.extend({
319
319
  @default value of frame.height
320
320
  @observes frame
321
321
  */
322
- verticalPageScroll: function() {
322
+ verticalPageScroll: function () {
323
323
  return this.get('frame').height;
324
324
  }.property('frame'),
325
325
 
@@ -334,7 +334,7 @@ SC.ScrollView = SC.View.extend({
334
334
  @default value of frame.width
335
335
  @observes frame
336
336
  */
337
- horizontalPageScroll: function() {
337
+ horizontalPageScroll: function () {
338
338
  return this.get('frame').width;
339
339
  }.property('frame'),
340
340
 
@@ -392,10 +392,10 @@ SC.ScrollView = SC.View.extend({
392
392
  @type Boolean
393
393
  @default YES
394
394
  */
395
- canScrollHorizontal: function() {
395
+ canScrollHorizontal: function () {
396
396
  return !!(this.get('hasHorizontalScroller') &&
397
397
  this.get('horizontalScrollerView') &&
398
- this.get('isHorizontalScrollerVisible')) ;
398
+ this.get('isHorizontalScrollerVisible'));
399
399
  }.property('isHorizontalScrollerVisible').cacheable(),
400
400
 
401
401
  /**
@@ -455,10 +455,10 @@ SC.ScrollView = SC.View.extend({
455
455
  @type Boolean
456
456
  @default YES
457
457
  */
458
- canScrollVertical: function() {
458
+ canScrollVertical: function () {
459
459
  return !!(this.get('hasVerticalScroller') &&
460
460
  this.get('verticalScrollerView') &&
461
- this.get('isVerticalScrollerVisible')) ;
461
+ this.get('isVerticalScrollerVisible'));
462
462
  }.property('isVerticalScrollerVisible').cacheable(),
463
463
 
464
464
  /**
@@ -491,7 +491,7 @@ SC.ScrollView = SC.View.extend({
491
491
  @type Boolean
492
492
  @default NO
493
493
  */
494
- verticalOverlay: function() {
494
+ verticalOverlay: function () {
495
495
  if (SC.platform.touch) return YES;
496
496
  return NO;
497
497
  }.property().cacheable(),
@@ -507,7 +507,7 @@ SC.ScrollView = SC.View.extend({
507
507
  @type Boolean
508
508
  @default NO
509
509
  */
510
- horizontalOverlay: function() {
510
+ horizontalOverlay: function () {
511
511
  if (SC.platform.touch) return YES;
512
512
  return NO;
513
513
  }.property().cacheable(),
@@ -580,21 +580,22 @@ SC.ScrollView = SC.View.extend({
580
580
  @param {Number} y the y scroll location
581
581
  @returns {SC.ScrollView} receiver
582
582
  */
583
- scrollTo: function(x,y) {
583
+ scrollTo: function (x, y) {
584
584
  // normalize params
585
- if (y===undefined && SC.typeOf(x) === SC.T_HASH) {
586
- y = x.y; x = x.x;
585
+ if (y === undefined && SC.typeOf(x) === SC.T_HASH) {
586
+ y = x.y;
587
+ x = x.x;
587
588
  }
588
589
 
589
590
  if (!SC.none(x)) {
590
- this.set('horizontalScrollOffset', x) ;
591
+ this.set('horizontalScrollOffset', x);
591
592
  }
592
593
 
593
594
  if (!SC.none(y)) {
594
- this.set('verticalScrollOffset', y) ;
595
+ this.set('verticalScrollOffset', y);
595
596
  }
596
597
 
597
- return this ;
598
+ return this;
598
599
  },
599
600
 
600
601
  /**
@@ -610,16 +611,17 @@ SC.ScrollView = SC.View.extend({
610
611
  @param {Number} y change in the y direction
611
612
  @returns {SC.ScrollView} receiver
612
613
  */
613
- scrollBy: function(x , y) {
614
+ scrollBy: function (x, y) {
614
615
  // normalize params
615
- if (y===undefined && SC.typeOf(x) === SC.T_HASH) {
616
- y = x.y; x = x.x;
616
+ if (y === undefined && SC.typeOf(x) === SC.T_HASH) {
617
+ y = x.y;
618
+ x = x.x;
617
619
  }
618
620
 
619
621
  // if null, undefined, or 0, pass null; otherwise just add current offset
620
- x = (x) ? this.get('horizontalScrollOffset')+x : null ;
621
- y = (y) ? this.get('verticalScrollOffset')+y : null ;
622
- return this.scrollTo(x,y) ;
622
+ x = (x) ? this.get('horizontalScrollOffset') + x : null;
623
+ y = (y) ? this.get('verticalScrollOffset') + y : null;
624
+ return this.scrollTo(x, y);
623
625
  },
624
626
 
625
627
  /**
@@ -630,12 +632,12 @@ SC.ScrollView = SC.View.extend({
630
632
  @param {SC.View} view view to scroll or null to scroll receiver visible
631
633
  @returns {Boolean} YES if scroll position was changed
632
634
  */
633
- scrollToVisible: function(view) {
635
+ scrollToVisible: function (view) {
634
636
 
635
637
  // if no view is passed, do default
636
638
  if (arguments.length === 0) return sc_super();
637
639
 
638
- var contentView = this.get('contentView') ;
640
+ var contentView = this.get('contentView');
639
641
  if (!contentView) return NO; // nothing to do if no contentView.
640
642
 
641
643
  // get the frame for the view - should work even for views with static
@@ -645,7 +647,7 @@ SC.ScrollView = SC.View.extend({
645
647
 
646
648
  // convert view's frame to an offset from the contentView origin. This
647
649
  // will become the new scroll offset after some adjustment.
648
- vf = contentView.convertFrameFromView(vf, view.get('parentView')) ;
650
+ vf = contentView.convertFrameFromView(vf, view.get('parentView'));
649
651
 
650
652
  return this.scrollToRect(vf);
651
653
  },
@@ -655,27 +657,27 @@ SC.ScrollView = SC.View.extend({
655
657
  @param {Rect} rect Rectangle to scroll to.
656
658
  @returns {Boolean} YES if scroll position was changed.
657
659
  */
658
- scrollToRect: function(rect) {
660
+ scrollToRect: function (rect) {
659
661
  // find current visible frame.
660
- var vo = SC.cloneRect(this.get('containerView').get('frame')) ;
662
+ var vo = SC.cloneRect(this.get('containerView').get('frame'));
661
663
 
662
- vo.x = this.get('horizontalScrollOffset') ;
663
- vo.y = this.get('verticalScrollOffset') ;
664
+ vo.x = this.get('horizontalScrollOffset');
665
+ vo.y = this.get('verticalScrollOffset');
664
666
 
665
667
  var origX = vo.x, origY = vo.y;
666
668
 
667
669
  // if top edge is not visible, shift origin
668
- vo.y -= Math.max(0, SC.minY(vo) - SC.minY(rect)) ;
669
- vo.x -= Math.max(0, SC.minX(vo) - SC.minX(rect)) ;
670
+ vo.y -= Math.max(0, SC.minY(vo) - SC.minY(rect));
671
+ vo.x -= Math.max(0, SC.minX(vo) - SC.minX(rect));
670
672
 
671
673
  // if bottom edge is not visible, shift origin
672
- vo.y += Math.max(0, SC.maxY(rect) - SC.maxY(vo)) ;
673
- vo.x += Math.max(0, SC.maxX(rect) - SC.maxX(vo)) ;
674
+ vo.y += Math.max(0, SC.maxY(rect) - SC.maxY(vo));
675
+ vo.x += Math.max(0, SC.maxX(rect) - SC.maxX(vo));
674
676
 
675
677
  // scroll to that origin.
676
678
  if ((origX !== vo.x) || (origY !== vo.y)) {
677
679
  this.scrollTo(vo.x, vo.y);
678
- return YES ;
680
+ return YES;
679
681
  } else return NO;
680
682
  },
681
683
 
@@ -687,9 +689,9 @@ SC.ScrollView = SC.View.extend({
687
689
  @param {Number} lines number of lines
688
690
  @returns {SC.ScrollView} receiver
689
691
  */
690
- scrollDownLine: function(lines) {
691
- if (lines === undefined) lines = 1 ;
692
- return this.scrollBy(null, this.get('verticalLineScroll')*lines) ;
692
+ scrollDownLine: function (lines) {
693
+ if (lines === undefined) lines = 1;
694
+ return this.scrollBy(null, this.get('verticalLineScroll') * lines);
693
695
  },
694
696
 
695
697
  /**
@@ -699,9 +701,9 @@ SC.ScrollView = SC.View.extend({
699
701
  @param {Number} lines number of lines
700
702
  @returns {SC.ScrollView} receiver
701
703
  */
702
- scrollUpLine: function(lines) {
703
- if (lines === undefined) lines = 1 ;
704
- return this.scrollBy(null, 0-this.get('verticalLineScroll')*lines) ;
704
+ scrollUpLine: function (lines) {
705
+ if (lines === undefined) lines = 1;
706
+ return this.scrollBy(null, 0 - this.get('verticalLineScroll') * lines);
705
707
  },
706
708
 
707
709
  /**
@@ -711,9 +713,9 @@ SC.ScrollView = SC.View.extend({
711
713
  @param {Number} lines number of lines
712
714
  @returns {SC.ScrollView} receiver
713
715
  */
714
- scrollRightLine: function(lines) {
715
- if (lines === undefined) lines = 1 ;
716
- return this.scrollTo(this.get('horizontalLineScroll')*lines, null) ;
716
+ scrollRightLine: function (lines) {
717
+ if (lines === undefined) lines = 1;
718
+ return this.scrollTo(this.get('horizontalLineScroll') * lines, null);
717
719
  },
718
720
 
719
721
  /**
@@ -723,9 +725,9 @@ SC.ScrollView = SC.View.extend({
723
725
  @param {Number} lines number of lines
724
726
  @returns {SC.ScrollView} receiver
725
727
  */
726
- scrollLeftLine: function(lines) {
727
- if (lines === undefined) lines = 1 ;
728
- return this.scrollTo(0-this.get('horizontalLineScroll')*lines, null) ;
728
+ scrollLeftLine: function (lines) {
729
+ if (lines === undefined) lines = 1;
730
+ return this.scrollTo(0 - this.get('horizontalLineScroll') * lines, null);
729
731
  },
730
732
 
731
733
  /**
@@ -737,9 +739,9 @@ SC.ScrollView = SC.View.extend({
737
739
  @param {Number} pages number of lines
738
740
  @returns {SC.ScrollView} receiver
739
741
  */
740
- scrollDownPage: function(pages) {
741
- if (pages === undefined) pages = 1 ;
742
- return this.scrollBy(null, this.get('verticalPageScroll')*pages) ;
742
+ scrollDownPage: function (pages) {
743
+ if (pages === undefined) pages = 1;
744
+ return this.scrollBy(null, this.get('verticalPageScroll') * pages);
743
745
  },
744
746
 
745
747
  /**
@@ -751,9 +753,9 @@ SC.ScrollView = SC.View.extend({
751
753
  @param {Number} pages number of lines
752
754
  @returns {SC.ScrollView} receiver
753
755
  */
754
- scrollUpPage: function(pages) {
755
- if (pages === undefined) pages = 1 ;
756
- return this.scrollBy(null, 0-(this.get('verticalPageScroll')*pages)) ;
756
+ scrollUpPage: function (pages) {
757
+ if (pages === undefined) pages = 1;
758
+ return this.scrollBy(null, 0 - (this.get('verticalPageScroll') * pages));
757
759
  },
758
760
 
759
761
  /**
@@ -765,9 +767,9 @@ SC.ScrollView = SC.View.extend({
765
767
  @param {Number} pages number of lines
766
768
  @returns {SC.ScrollView} receiver
767
769
  */
768
- scrollRightPage: function(pages) {
769
- if (pages === undefined) pages = 1 ;
770
- return this.scrollBy(this.get('horizontalPageScroll')*pages, null) ;
770
+ scrollRightPage: function (pages) {
771
+ if (pages === undefined) pages = 1;
772
+ return this.scrollBy(this.get('horizontalPageScroll') * pages, null);
771
773
  },
772
774
 
773
775
  /**
@@ -779,9 +781,9 @@ SC.ScrollView = SC.View.extend({
779
781
  @param {Number} pages number of lines
780
782
  @returns {SC.ScrollView} receiver
781
783
  */
782
- scrollLeftPage: function(pages) {
783
- if (pages === undefined) pages = 1 ;
784
- return this.scrollBy(0-(this.get('horizontalPageScroll')*pages), null) ;
784
+ scrollLeftPage: function (pages) {
785
+ if (pages === undefined) pages = 1;
786
+ return this.scrollBy(0 - (this.get('horizontalPageScroll') * pages), null);
785
787
  },
786
788
 
787
789
  /** @private
@@ -792,41 +794,41 @@ SC.ScrollView = SC.View.extend({
792
794
  You may also want to override this method to handle layout for any
793
795
  additional controls you have added to the view.
794
796
  */
795
- tile: function() {
797
+ tile: function () {
796
798
  // get horizontal scroller/determine if we should have a scroller
797
- var hscroll = this.get('hasHorizontalScroller') ? this.get('horizontalScrollerView') : null ;
799
+ var hscroll = this.get('hasHorizontalScroller') ? this.get('horizontalScrollerView') : null;
798
800
  var hasHorizontal = hscroll && this.get('isHorizontalScrollerVisible');
799
801
 
800
802
  // get vertical scroller/determine if we should have a scroller
801
- var vscroll = this.get('hasVerticalScroller') ? this.get('verticalScrollerView') : null ;
802
- var hasVertical = vscroll && this.get('isVerticalScrollerVisible') ;
803
+ var vscroll = this.get('hasVerticalScroller') ? this.get('verticalScrollerView') : null;
804
+ var hasVertical = vscroll && this.get('isVerticalScrollerVisible');
803
805
 
804
806
  // get the containerView
805
- var clip = this.get('containerView') ;
806
- var clipLayout = { left: 0, top: 0 } ;
807
- var t, layout, vo, ho, vl, hl;
807
+ var clip = this.get('containerView');
808
+ var clipLayout = { left: 0, top: 0 };
809
+ var layout, vo, ho, vl, hl;
808
810
 
809
- var ht = ((hasHorizontal) ? hscroll.get('scrollbarThickness') : 0) ;
810
- var vt = (hasVertical) ? vscroll.get('scrollbarThickness') : 0 ;
811
+ var ht = ((hasHorizontal) ? hscroll.get('scrollbarThickness') : 0);
812
+ var vt = (hasVertical) ? vscroll.get('scrollbarThickness') : 0;
811
813
 
812
814
  if (hasHorizontal) {
813
- hl = this.get('horizontalScrollerLayout');
815
+ hl = this.get('horizontalScrollerLayout');
814
816
  layout = {
815
817
  left: (hl ? hl.left : 0),
816
818
  bottom: (hl ? hl.bottom : 0),
817
- right: (hl ? hl.right + vt-1 : vt-1),
819
+ right: (hl ? hl.right + vt - 1 : vt - 1),
818
820
  height: ht
819
821
  };
820
- hscroll.set('layout', layout) ;
822
+ hscroll.set('layout', layout);
821
823
  ho = this.get('horizontalOverlay');
822
- clipLayout.bottom = ho ? 0 : (layout.bottom + ht) ;
824
+ clipLayout.bottom = ho ? 0 : (layout.bottom + ht);
823
825
  } else {
824
- clipLayout.bottom = 0 ;
826
+ clipLayout.bottom = 0;
825
827
  }
826
- if (hscroll) hscroll.set('isVisible', hasHorizontal) ;
828
+ if (hscroll) hscroll.set('isVisible', hasHorizontal);
827
829
 
828
830
  if (hasVertical) {
829
- ht = ht + this.get('verticalScrollerBottom') ;
831
+ ht = ht + this.get('verticalScrollerBottom');
830
832
  vl = this.get('verticalScrollerLayout');
831
833
  layout = {
832
834
  top: (vl ? vl.top : 0),
@@ -834,21 +836,21 @@ SC.ScrollView = SC.View.extend({
834
836
  right: (vl ? vl.right : 0),
835
837
  width: vt
836
838
  };
837
- vscroll.set('layout', layout) ;
839
+ vscroll.set('layout', layout);
838
840
  vo = this.get('verticalOverlay');
839
- clipLayout.right = vo ? 0 : (layout.right + vt) ;
841
+ clipLayout.right = vo ? 0 : (layout.right + vt);
840
842
  } else {
841
- clipLayout.right = 0 ;
843
+ clipLayout.right = 0;
842
844
  }
843
- if (vscroll) vscroll.set('isVisible', hasVertical) ;
845
+ if (vscroll) vscroll.set('isVisible', hasVertical);
844
846
 
845
- clip.adjust(clipLayout) ;
847
+ clip.adjust(clipLayout);
846
848
  },
847
849
 
848
850
  /** @private
849
851
  Called whenever a scroller visibility changes. Calls the tile() method.
850
852
  */
851
- scrollerVisibilityDidChange: function() {
853
+ scrollerVisibilityDidChange: function () {
852
854
  this.tile();
853
855
  }.observes('isVerticalScrollerVisible', 'isHorizontalScrollerVisible'),
854
856
 
@@ -863,7 +865,9 @@ SC.ScrollView = SC.View.extend({
863
865
  _scroll_wheelDeltaY: 0,
864
866
 
865
867
  /** @private */
866
- mouseWheel: function(evt) {
868
+ mouseWheel: function (evt) {
869
+ if (!this.get('isEnabledInPane')) return NO;
870
+
867
871
  var horizontalScrollOffset = this.get('horizontalScrollOffset'),
868
872
  maximumHorizontalScrollOffset = this.get('maximumHorizontalScrollOffset'),
869
873
  maximumVerticalScrollOffset = this.get('maximumVerticalScrollOffset'),
@@ -891,16 +895,16 @@ SC.ScrollView = SC.View.extend({
891
895
  },
892
896
 
893
897
  /** @private */
894
- _scroll_mouseWheel: function() {
898
+ _scroll_mouseWheel: function () {
895
899
  this.scrollBy(this._scroll_wheelDeltaX, this._scroll_wheelDeltaY);
896
900
  if (SC.WHEEL_MOMENTUM && this._scroll_wheelDeltaY > 0) {
897
- this._scroll_wheelDeltaY = Math.floor(this._scroll_wheelDeltaY*0.950);
901
+ this._scroll_wheelDeltaY = Math.floor(this._scroll_wheelDeltaY * 0.950);
898
902
  this._scroll_wheelDeltaY = Math.max(this._scroll_wheelDeltaY, 0);
899
- this.invokeLater(this._scroll_mouseWheel, 10) ;
900
- } else if (SC.WHEEL_MOMENTUM && this._scroll_wheelDeltaY < 0){
901
- this._scroll_wheelDeltaY = Math.ceil(this._scroll_wheelDeltaY*0.950);
903
+ this.invokeLater(this._scroll_mouseWheel, 10);
904
+ } else if (SC.WHEEL_MOMENTUM && this._scroll_wheelDeltaY < 0) {
905
+ this._scroll_wheelDeltaY = Math.ceil(this._scroll_wheelDeltaY * 0.950);
902
906
  this._scroll_wheelDeltaY = Math.min(this._scroll_wheelDeltaY, 0);
903
- this.invokeLater(this._scroll_mouseWheel, 10) ;
907
+ this.invokeLater(this._scroll_mouseWheel, 10);
904
908
  } else {
905
909
  this._scroll_wheelDeltaY = 0;
906
910
  this._scroll_wheelDeltaX = 0;
@@ -929,7 +933,7 @@ SC.ScrollView = SC.View.extend({
929
933
  @type Number
930
934
  @default 1.0
931
935
  */
932
- scale: function(key, value) {
936
+ scale: function (key, value) {
933
937
  if (value !== undefined) {
934
938
  this._scale = Math.min(Math.max(this.get("minimumScale"), value), this.get("maximumScale"));
935
939
  }
@@ -964,7 +968,7 @@ SC.ScrollView = SC.View.extend({
964
968
  _scale_css: "",
965
969
 
966
970
  /** @private */
967
- updateScale: function(scale) {
971
+ updateScale: function (scale) {
968
972
  var contentView = this.get("contentView");
969
973
  if (!contentView) return;
970
974
 
@@ -1025,7 +1029,7 @@ SC.ScrollView = SC.View.extend({
1025
1029
  /** @private
1026
1030
  If the view supports it, this
1027
1031
  */
1028
- _touchScrollDidChange: function() {
1032
+ _touchScrollDidChange: function () {
1029
1033
  if (this.get("contentView").touchScrollDidChange) {
1030
1034
  this.get("contentView").touchScrollDidChange(
1031
1035
  this._scroll_horizontalScrollOffset,
@@ -1044,7 +1048,7 @@ SC.ScrollView = SC.View.extend({
1044
1048
  },
1045
1049
 
1046
1050
  /** @private */
1047
- _touchScrollDidStart: function() {
1051
+ _touchScrollDidStart: function () {
1048
1052
  if (this.get("contentView").touchScrollDidStart) {
1049
1053
  this.get("contentView").touchScrollDidStart(this._scroll_horizontalScrollOffset, this._scroll_verticalScrollOffset);
1050
1054
  }
@@ -1059,7 +1063,7 @@ SC.ScrollView = SC.View.extend({
1059
1063
  },
1060
1064
 
1061
1065
  /** @private */
1062
- _touchScrollDidEnd: function() {
1066
+ _touchScrollDidEnd: function () {
1063
1067
  if (this.get("contentView").touchScrollDidEnd) {
1064
1068
  this.get("contentView").touchScrollDidEnd(this._scroll_horizontalScrollOffset, this._scroll_verticalScrollOffset);
1065
1069
  }
@@ -1075,10 +1079,14 @@ SC.ScrollView = SC.View.extend({
1075
1079
  },
1076
1080
 
1077
1081
  /** @private */
1078
- _applyCSSTransforms: function(layer) {
1082
+ _applyCSSTransforms: function (layer) {
1079
1083
  var transform = "";
1080
1084
  this.updateScale(this._scale);
1081
- transform += 'translate3d('+ -this._scroll_horizontalScrollOffset +'px, '+ -Math.round(this._scroll_verticalScrollOffset)+'px,0) ';
1085
+ transform += 'translate3d(' +
1086
+ -this._scroll_horizontalScrollOffset +
1087
+ 'px, ' +
1088
+ -Math.round(this._scroll_verticalScrollOffset) +
1089
+ 'px,0) ';
1082
1090
  transform += this._scale_css;
1083
1091
  if (layer) {
1084
1092
  var style = layer.style;
@@ -1088,7 +1096,7 @@ SC.ScrollView = SC.View.extend({
1088
1096
  },
1089
1097
 
1090
1098
  /** @private */
1091
- captureTouch: function(touch) {
1099
+ captureTouch: function () {
1092
1100
  return YES;
1093
1101
  },
1094
1102
 
@@ -1096,7 +1104,7 @@ SC.ScrollView = SC.View.extend({
1096
1104
  touchGeneration: 0,
1097
1105
 
1098
1106
  /** @private */
1099
- touchStart: function(touch) {
1107
+ touchStart: function (touch) {
1100
1108
  var generation = ++this.touchGeneration;
1101
1109
  if (!this.tracking && this.get("delaysContentTouches")) {
1102
1110
  this.invokeLater(this.beginTouchesInContent, 150, generation);
@@ -1110,10 +1118,10 @@ SC.ScrollView = SC.View.extend({
1110
1118
  },
1111
1119
 
1112
1120
  /** @private */
1113
- beginTouchesInContent: function(gen) {
1121
+ beginTouchesInContent: function (gen) {
1114
1122
  if (gen !== this.touchGeneration) return;
1115
1123
 
1116
- var touch = this.touch, itemView;
1124
+ var touch = this.touch;
1117
1125
 
1118
1126
  // NOTE! On iPad it is possible that the timer set in touchStart() will not have yet fired and that touchEnd() will
1119
1127
  // come in in the same Run Loop as the one that started with the call to touchStart(). The bad thing that happens is that
@@ -1148,7 +1156,7 @@ SC.ScrollView = SC.View.extend({
1148
1156
 
1149
1157
  @param {Event} evt
1150
1158
  */
1151
- beginTouchTracking: function(touch, starting) {
1159
+ beginTouchTracking: function (touch, starting) {
1152
1160
  var avg = touch.averagedTouchesForView(this, starting);
1153
1161
 
1154
1162
  var verticalScrollOffset = this._scroll_verticalScrollOffset || 0,
@@ -1173,16 +1181,16 @@ SC.ScrollView = SC.View.extend({
1173
1181
  }
1174
1182
 
1175
1183
  // calculate container+content width/height
1176
- view = this.get('contentView') ;
1184
+ view = this.get('contentView');
1177
1185
 
1178
- if(view){
1186
+ if (view) {
1179
1187
  viewFrame = view.get('frame');
1180
1188
  contentWidth = viewFrame.width;
1181
1189
  contentHeight = viewFrame.height;
1182
1190
  }
1183
1191
 
1184
- if(view.calculatedWidth && view.calculatedWidth!==0) contentWidth = view.calculatedWidth;
1185
- if (view.calculatedHeight && view.calculatedHeight !==0) contentHeight = view.calculatedHeight;
1192
+ if (view.calculatedWidth && view.calculatedWidth !== 0) contentWidth = view.calculatedWidth;
1193
+ if (view.calculatedHeight && view.calculatedHeight !== 0) contentHeight = view.calculatedHeight;
1186
1194
 
1187
1195
  var containerFrame = this.get('containerView').get('frame'),
1188
1196
  containerWidth = containerFrame.width,
@@ -1265,7 +1273,7 @@ SC.ScrollView = SC.View.extend({
1265
1273
  },
1266
1274
 
1267
1275
  /** @private */
1268
- _adjustForEdgeResistance: function(offset, minOffset, maxOffset, resistanceCoefficient, asymptote) {
1276
+ _adjustForEdgeResistance: function (offset, minOffset, maxOffset, resistanceCoefficient, asymptote) {
1269
1277
  var distanceFromEdge;
1270
1278
 
1271
1279
  // find distance from edge
@@ -1285,13 +1293,13 @@ SC.ScrollView = SC.View.extend({
1285
1293
  },
1286
1294
 
1287
1295
  /** @private */
1288
- touchesDragged: function(evt, touches) {
1296
+ touchesDragged: function (evt) {
1289
1297
  var avg = evt.averagedTouchesForView(this);
1290
1298
  this.updateTouchScroll(avg.x, avg.y, avg.d, evt.timeStamp);
1291
1299
  },
1292
1300
 
1293
1301
  /** @private */
1294
- updateTouchScroll: function(touchX, touchY, distance, timeStamp) {
1302
+ updateTouchScroll: function (touchX, touchY, distance, timeStamp) {
1295
1303
  // get some vars
1296
1304
  var touch = this.touch,
1297
1305
  touchXInFrame = touchX - touch.globalFrame.x,
@@ -1306,8 +1314,8 @@ SC.ScrollView = SC.View.extend({
1306
1314
  vAlign = this.get("verticalAlign");
1307
1315
 
1308
1316
  // calculate new position in content
1309
- var positionInContentX = ((this._scroll_horizontalScrollOffset||0) + touchXInFrame) / this._scale,
1310
- positionInContentY = ((this._scroll_verticalScrollOffset||0) + touchYInFrame) / this._scale;
1317
+ var positionInContentX = ((this._scroll_horizontalScrollOffset || 0) + touchXInFrame) / this._scale,
1318
+ positionInContentY = ((this._scroll_verticalScrollOffset || 0) + touchYInFrame) / this._scale;
1311
1319
 
1312
1320
  // calculate deltas
1313
1321
  var deltaX = positionInContentX - touch.startTouchOffsetInContent.x,
@@ -1366,8 +1374,8 @@ SC.ScrollView = SC.View.extend({
1366
1374
  var newScale = this._adjustForEdgeResistance(scale, touch.minimumScale, touch.maximumScale, touch.resistanceCoefficient, touch.resistanceAsymptote);
1367
1375
  this.dragging = YES;
1368
1376
  this._scale = newScale;
1369
- var newPositionInContentX = positionInContentX * this._scale,
1370
- newPositionInContentY = positionInContentY * this._scale;
1377
+ // var newPositionInContentX = positionInContentX * this._scale,
1378
+ // newPositionInContentY = positionInContentY * this._scale;
1371
1379
  }
1372
1380
  }
1373
1381
 
@@ -1425,7 +1433,7 @@ SC.ScrollView = SC.View.extend({
1425
1433
  },
1426
1434
 
1427
1435
  /** @private */
1428
- touchEnd: function(touch) {
1436
+ touchEnd: function (touch) {
1429
1437
  var touchStatus = this.touch,
1430
1438
  avg = touch.averagedTouchesForView(this);
1431
1439
 
@@ -1472,12 +1480,11 @@ SC.ScrollView = SC.View.extend({
1472
1480
  },
1473
1481
 
1474
1482
  /** @private */
1475
- touchCancelled: function(touch) {
1476
- var touchStatus = this.touch,
1477
- avg = touch.averagedTouchesForView(this);
1483
+ touchCancelled: function () {
1484
+ var touchStatus = this.touch;
1478
1485
 
1479
1486
  // if we are decelerating, we don't want to stop that. That would be bad. Because there's no point.
1480
- if (!this.touch || !this.touch.timeout) {
1487
+ if (!touchStatus || !touchStatus.timeout) {
1481
1488
  this.beginPropertyChanges();
1482
1489
  this.set("scale", this._scale);
1483
1490
  this.set("verticalScrollOffset", this._scroll_verticalScrollOffset);
@@ -1495,25 +1502,22 @@ SC.ScrollView = SC.View.extend({
1495
1502
  },
1496
1503
 
1497
1504
  /** @private */
1498
- startDecelerationAnimation: function(evt) {
1499
- var touch = this.touch;
1505
+ startDecelerationAnimation: function (evt) {
1506
+ var touch = this.touch, self = this;
1500
1507
  touch.decelerationVelocity = {
1501
1508
  x: touch.scrollVelocity.x * 10,
1502
1509
  y: touch.scrollVelocity.y * 10
1503
1510
  };
1504
1511
 
1505
- this.decelerateAnimation();
1512
+ window.requestAnimationFrame(function(){
1513
+ self.decelerateAnimation();
1514
+ });
1506
1515
  },
1507
1516
 
1508
1517
  /** @private
1509
1518
  Does bounce calculations, adjusting velocity.
1510
-
1511
- Bouncing is fun. Functions that handle it should have fun names,
1512
- don'tcha think?
1513
-
1514
- P.S.: should this be named "bouncityBounce" instead?
1515
1519
  */
1516
- bouncyBounce: function(velocity, value, minValue, maxValue, de, ac, additionalAcceleration) {
1520
+ bouncyBounce: function (velocity, value, minValue, maxValue, de, ac, additionalAcceleration) {
1517
1521
  // we have 4 possible paths. On a higher level, we have two leaf paths that can be applied
1518
1522
  // for either of two super-paths.
1519
1523
  //
@@ -1532,7 +1536,7 @@ SC.ScrollView = SC.View.extend({
1532
1536
  if (value < minValue) {
1533
1537
  if (velocity < 0) velocity = velocity + ((minValue - value) * de);
1534
1538
  else {
1535
- velocity = Math.min((minValue-value) * ac + additionalAcceleration, minValue - value - 0.01);
1539
+ velocity = Math.min((minValue - value) * ac + additionalAcceleration, minValue - value - 0.01);
1536
1540
  }
1537
1541
  } else if (value > maxValue) {
1538
1542
  if (velocity > 0) velocity = velocity - ((value - maxValue) * de);
@@ -1544,7 +1548,7 @@ SC.ScrollView = SC.View.extend({
1544
1548
  },
1545
1549
 
1546
1550
  /** @private */
1547
- decelerateAnimation: function() {
1551
+ decelerateAnimation: function () {
1548
1552
  // get a bunch of properties. They are named well, so not much explanation of what they are...
1549
1553
  // However, note maxOffsetX/Y takes into account the scale;
1550
1554
  // also, newX/Y adds in the current deceleration velocity (the deceleration velocity will
@@ -1563,8 +1567,8 @@ SC.ScrollView = SC.View.extend({
1563
1567
  now = Date.now(),
1564
1568
  t = Math.max(now - touch.lastEventTime, 1),
1565
1569
 
1566
- newX = this._scroll_horizontalScrollOffset + touch.decelerationVelocity.x * (t/10),
1567
- newY = this._scroll_verticalScrollOffset + touch.decelerationVelocity.y * (t/10);
1570
+ newX = this._scroll_horizontalScrollOffset + touch.decelerationVelocity.x * (t / 10),
1571
+ newY = this._scroll_verticalScrollOffset + touch.decelerationVelocity.y * (t / 10);
1568
1572
 
1569
1573
  var de = touch.decelerationFromEdge, ac = touch.accelerationToEdge;
1570
1574
 
@@ -1710,9 +1714,9 @@ SC.ScrollView = SC.View.extend({
1710
1714
  // (so we may calculate elapsed time) and the timeout we are creating, so we may cancel it in future.
1711
1715
  var self = this;
1712
1716
  touch.lastEventTime = Date.now();
1713
- this.touch.timeout = setTimeout(function(){
1714
- SC.run(self.decelerateAnimation(), self);
1715
- }, 30);
1717
+ window.requestAnimationFrame(function(){
1718
+ SC.run(self.decelerateAnimation(), self);
1719
+ });
1716
1720
  },
1717
1721
 
1718
1722
  // ..........................................................
@@ -1723,8 +1727,8 @@ SC.ScrollView = SC.View.extend({
1723
1727
  Instantiate scrollers & container views as needed. Replace their classes
1724
1728
  in the regular properties.
1725
1729
  */
1726
- createChildViews: function() {
1727
- var childViews = [] , view;
1730
+ createChildViews: function () {
1731
+ var childViews = [], view;
1728
1732
 
1729
1733
  // create the containerView. We must always have a container view.
1730
1734
  // also, setup the contentView as the child of the containerView...
@@ -1745,9 +1749,9 @@ SC.ScrollView = SC.View.extend({
1745
1749
  view = this.horizontalScrollerView = this.createChildView(view, {
1746
1750
  layoutDirection: SC.LAYOUT_HORIZONTAL,
1747
1751
  valueBinding: '*owner.horizontalScrollOffset'
1748
- }) ;
1752
+ });
1749
1753
  childViews.push(view);
1750
- } else this.horizontalScrollerView = null ;
1754
+ } else this.horizontalScrollerView = null;
1751
1755
  }
1752
1756
 
1753
1757
  // create a vertical scroller view if needed...
@@ -1757,41 +1761,42 @@ SC.ScrollView = SC.View.extend({
1757
1761
  view = this.verticalScrollerView = this.createChildView(view, {
1758
1762
  layoutDirection: SC.LAYOUT_VERTICAL,
1759
1763
  valueBinding: '*owner.verticalScrollOffset'
1760
- }) ;
1764
+ });
1761
1765
  childViews.push(view);
1762
- } else this.verticalScrollerView = null ;
1766
+ } else this.verticalScrollerView = null;
1763
1767
  }
1764
1768
 
1765
1769
  // set childViews array.
1766
- this.childViews = childViews ;
1770
+ this.childViews = childViews;
1767
1771
 
1768
- this.contentViewDidChange() ; // setup initial display...
1769
- this.tile() ; // set up initial tiling
1772
+ this.contentViewDidChange(); // setup initial display...
1773
+ this.tile(); // set up initial tiling
1770
1774
  },
1771
1775
 
1772
1776
  /** @private */
1773
- init: function() {
1777
+ init: function () {
1774
1778
  sc_super();
1775
1779
 
1776
1780
  // start observing initial content view. The content view's frame has
1777
1781
  // already been setup in prepareDisplay so we don't need to call
1778
1782
  // viewFrameDidChange...
1779
- this._scroll_contentView = this.get('contentView') ;
1780
- var contentView = this._scroll_contentView ;
1783
+ this._scroll_contentView = this.get('contentView');
1784
+ var contentView = this._scroll_contentView;
1781
1785
 
1782
1786
  if (contentView) {
1783
- contentView.addObserver('frame', this, this.contentViewFrameDidChange);
1784
- contentView.addObserver('calculatedWidth', this, this.contentViewFrameDidChange);
1785
- contentView.addObserver('calculatedHeight', this, this.contentViewFrameDidChange);
1787
+ contentView.addObserver('frame', this, 'contentViewFrameDidChange');
1788
+ contentView.addObserver('calculatedWidth', this, 'contentViewFrameDidChange');
1789
+ contentView.addObserver('calculatedHeight', this, 'contentViewFrameDidChange');
1790
+ contentView.addObserver('layer', this, 'contentViewLayerDidChange');
1786
1791
  }
1787
1792
 
1788
- if (this.get('isVisibleInWindow')) this._scsv_registerAutoscroll() ;
1793
+ if (this.get('isVisibleInWindow')) this._scsv_registerAutoscroll();
1789
1794
  },
1790
1795
 
1791
1796
  /** @private
1792
1797
  Registers/deregisters view with SC.Drag for autoscrolling
1793
1798
  */
1794
- _scsv_registerAutoscroll: function() {
1799
+ _scsv_registerAutoscroll: function () {
1795
1800
  if (this.get('isVisibleInWindow')) SC.Drag.addScrollableView(this);
1796
1801
  else SC.Drag.removeScrollableView(this);
1797
1802
  }.observes('isVisibleInWindow'),
@@ -1800,29 +1805,27 @@ SC.ScrollView = SC.View.extend({
1800
1805
  Whenever the contentView is changed, we need to observe the content view's
1801
1806
  frame to be notified whenever it's size changes.
1802
1807
  */
1803
- contentViewDidChange: function() {
1808
+ contentViewDidChange: function () {
1804
1809
  var newView = this.get('contentView'),
1805
- oldView = this._scroll_contentView,
1806
- frameObserver = this.contentViewFrameDidChange,
1807
- layerObserver = this.contentViewLayerDidChange;
1810
+ oldView = this._scroll_contentView;
1808
1811
 
1809
1812
  if (newView !== oldView) {
1810
1813
 
1811
1814
  // stop observing old content view
1812
1815
  if (oldView) {
1813
- oldView.removeObserver('calculatedWidth', this, this.contentViewFrameDidChange);
1814
- oldView.removeObserver('calculatedHeight', this, this.contentViewFrameDidChange);
1815
- oldView.removeObserver('frame', this, frameObserver);
1816
- oldView.removeObserver('layer', this, layerObserver);
1816
+ oldView.removeObserver('calculatedWidth', this, 'contentViewFrameDidChange');
1817
+ oldView.removeObserver('calculatedHeight', this, 'contentViewFrameDidChange');
1818
+ oldView.removeObserver('frame', this, 'contentViewFrameDidChange');
1819
+ oldView.removeObserver('layer', this, 'contentViewLayerDidChange');
1817
1820
  }
1818
1821
 
1819
1822
  // update cache
1820
1823
  this._scroll_contentView = newView;
1821
1824
  if (newView) {
1822
- newView.addObserver('frame', this, frameObserver);
1823
- newView.addObserver('calculatedWidth', this, this.contentViewFrameDidChange);
1824
- newView.addObserver('calculatedHeight', this, this.contentViewFrameDidChange);
1825
- newView.addObserver('layer', this, layerObserver);
1825
+ newView.addObserver('frame', this, 'contentViewFrameDidChange');
1826
+ newView.addObserver('calculatedWidth', this, 'contentViewFrameDidChange');
1827
+ newView.addObserver('calculatedHeight', this, 'contentViewFrameDidChange');
1828
+ newView.addObserver('layer', this, 'contentViewLayerDidChange');
1826
1829
  }
1827
1830
 
1828
1831
  // replace container
@@ -1838,7 +1841,7 @@ SC.ScrollView = SC.View.extend({
1838
1841
  that, for example, the scroll views displays correctly when switching
1839
1842
  views out in a ContainerView.
1840
1843
  */
1841
- render: function(context, firstTime) {
1844
+ render: function (context, firstTime) {
1842
1845
  this.invokeLast(this.adjustElementScroll);
1843
1846
 
1844
1847
  if (firstTime) {
@@ -1858,8 +1861,6 @@ SC.ScrollView = SC.View.extend({
1858
1861
  scroller maximum and optionally update the scroller visibility if the
1859
1862
  size of the contentView changes. We don't care about the origin since
1860
1863
  that is tracked separately from the offset values.
1861
-
1862
- @param {Boolean} force (optional) Re-calculate everything even if the contentView’s frame didn’t change size
1863
1864
  */
1864
1865
  contentViewFrameDidChange: function(force) {
1865
1866
  var view = this.get('contentView'),
@@ -1867,7 +1868,7 @@ SC.ScrollView = SC.View.extend({
1867
1868
  scale = this._scale,
1868
1869
  width = 0,
1869
1870
  height = 0,
1870
- dim, dimWidth, dimHeight, calculatedWidth, calculatedHeight;
1871
+ dim, dimWidth, dimHeight;
1871
1872
 
1872
1873
  // If no view has been set yet, or it doesn't have a frame,
1873
1874
  // we can avoid doing any work.
@@ -1880,7 +1881,7 @@ SC.ScrollView = SC.View.extend({
1880
1881
  height *= scale;
1881
1882
 
1882
1883
  // cache out scroll settings...
1883
- if (!force && (width === this._scroll_contentWidth) && (height === this._scroll_contentHeight)) return ;
1884
+ if ((width === this._scroll_contentWidth) && (height === this._scroll_contentHeight)) return;
1884
1885
  this._scroll_contentWidth = width;
1885
1886
  this._scroll_contentHeight = height;
1886
1887
 
@@ -1893,8 +1894,8 @@ SC.ScrollView = SC.View.extend({
1893
1894
  if (this.get('autohidesHorizontalScroller')) {
1894
1895
  this.set('isHorizontalScrollerVisible', width > dimWidth);
1895
1896
  }
1896
- view.setIfChanged('maximum', width-dimWidth) ;
1897
- view.setIfChanged('proportion', dimWidth/width);
1897
+ view.setIfChanged('maximum', width - dimWidth);
1898
+ view.setIfChanged('proportion', dimWidth / width);
1898
1899
  }
1899
1900
 
1900
1901
  if (this.get('hasVerticalScroller') && (view = this.get('verticalScrollerView'))) {
@@ -1902,8 +1903,8 @@ SC.ScrollView = SC.View.extend({
1902
1903
  if (this.get('autohidesVerticalScroller')) {
1903
1904
  this.set('isVerticalScrollerVisible', height > dimHeight);
1904
1905
  }
1905
- view.setIfChanged('maximum', height-dimHeight) ;
1906
- view.setIfChanged('proportion', dimHeight/height);
1906
+ view.setIfChanged('maximum', height - dimHeight);
1907
+ view.setIfChanged('proportion', dimHeight / height);
1907
1908
  }
1908
1909
 
1909
1910
  // If there is no vertical scroller and auto hiding is on, make
@@ -1940,15 +1941,16 @@ SC.ScrollView = SC.View.extend({
1940
1941
  If our frame changes, then we need to re-calculate the visibility of our
1941
1942
  scrollers, etc.
1942
1943
  */
1943
- frameDidChange: function() {
1944
- this.contentViewFrameDidChange(YES);
1944
+ frameDidChange: function () {
1945
+ this._scroll_contentWidth = this._scroll_contentHeight = null;
1946
+ this.contentViewFrameDidChange();
1945
1947
  }.observes('frame'),
1946
1948
 
1947
1949
  /** @private
1948
1950
  If the layer of the content view changes, we need to readjust the
1949
1951
  scrollTop and scrollLeft properties on the new DOM element.
1950
1952
  */
1951
- contentViewLayerDidChange: function() {
1953
+ contentViewLayerDidChange: function () {
1952
1954
  // Invalidate these cached values, as they're no longer valid
1953
1955
  if (this._verticalScrollOffset !== 0) this._verticalScrollOffset = -1;
1954
1956
  if (this._horizontalScrollOffset !== 0) this._horizontalScrollOffset = -1;
@@ -1959,7 +1961,7 @@ SC.ScrollView = SC.View.extend({
1959
1961
  Whenever the horizontal scroll offset changes, update the scrollers and
1960
1962
  edit the location of the contentView.
1961
1963
  */
1962
- _scroll_horizontalScrollOffsetDidChange: function() {
1964
+ _scroll_horizontalScrollOffsetDidChange: function () {
1963
1965
  this.invokeLast(this.adjustElementScroll);
1964
1966
  }.observes('horizontalScrollOffset'),
1965
1967
 
@@ -1967,7 +1969,7 @@ SC.ScrollView = SC.View.extend({
1967
1969
  Whenever the vertical scroll offset changes, update the scrollers and
1968
1970
  edit the location of the contentView.
1969
1971
  */
1970
- _scroll_verticalScrollOffsetDidChange: function() {
1972
+ _scroll_verticalScrollOffsetDidChange: function () {
1971
1973
  this.invokeLast(this.adjustElementScroll);
1972
1974
  }.observes('verticalScrollOffset'),
1973
1975
 
@@ -1975,7 +1977,7 @@ SC.ScrollView = SC.View.extend({
1975
1977
  Called at the end of the run loop to actually adjust the scrollTop
1976
1978
  and scrollLeft properties of the container view.
1977
1979
  */
1978
- adjustElementScroll: function() {
1980
+ adjustElementScroll: function () {
1979
1981
  var container = this.get('containerView'),
1980
1982
  content = this.get('contentView'),
1981
1983
  verticalScrollOffset = this.get('verticalScrollOffset'),
@@ -2015,15 +2017,16 @@ SC.ScrollView = SC.View.extend({
2015
2017
  forceDimensionsRecalculation: function (forceWidth, forceHeight, vOffSet, hOffSet) {
2016
2018
  var oldScrollHOffset = hOffSet;
2017
2019
  var oldScrollVOffset = vOffSet;
2018
- this.scrollTo(0,0);
2019
- if(forceWidth && forceHeight){
2020
+ this.scrollTo(0, 0);
2021
+
2022
+ if (forceWidth && forceHeight) {
2020
2023
  this.scrollTo(this.get('maximumHorizontalScrollOffset'), this.get('maximumVerticalScrollOffset'));
2021
2024
  }
2022
- if(forceWidth && !forceHeight){
2025
+ if (forceWidth && !forceHeight) {
2023
2026
  this.scrollTo(this.get('maximumHorizontalScrollOffset'), oldScrollVOffset);
2024
2027
  }
2025
- if(!forceWidth && forceHeight){
2026
- this.scrollTo(oldScrollHOffset ,this.get('maximumVerticalScrollOffset'));
2028
+ if (!forceWidth && forceHeight) {
2029
+ this.scrollTo(oldScrollHOffset, this.get('maximumVerticalScrollOffset'));
2027
2030
  }
2028
2031
  },
2029
2032