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
@@ -17,7 +17,7 @@ sc_require('ext/function');
17
17
  /**
18
18
  If {@link SC.Logger.format} is true, this delimiter will be put between arguments.
19
19
 
20
- @property {String}
20
+ @type String
21
21
  */
22
22
  SC.LOGGER_LOG_DELIMITER = ", ";
23
23
 
@@ -25,7 +25,7 @@ SC.LOGGER_LOG_DELIMITER = ", ";
25
25
  If {@link SC.Logger.error} falls back onto {@link SC.Logger.log}, this will be
26
26
  prepended to the output.
27
27
 
28
- @property {String}
28
+ @type String
29
29
  */
30
30
  SC.LOGGER_LOG_ERROR = "ERROR: ";
31
31
 
@@ -33,7 +33,7 @@ SC.LOGGER_LOG_ERROR = "ERROR: ";
33
33
  If {@link SC.Logger.info} falls back onto {@link SC.Logger.log}, this will be
34
34
  prepended to the output.
35
35
 
36
- @property {String}
36
+ @type String
37
37
  */
38
38
  SC.LOGGER_LOG_INFO = "INFO: ";
39
39
 
@@ -41,7 +41,7 @@ SC.LOGGER_LOG_INFO = "INFO: ";
41
41
  If {@link SC.Logger.warn} falls back onto {@link SC.Logger.log}, this will be
42
42
  prepended to the output.
43
43
 
44
- @property {String}
44
+ @type String
45
45
  */
46
46
  SC.LOGGER_LOG_WARN = "WARN: ";
47
47
 
@@ -49,7 +49,7 @@ SC.LOGGER_LOG_WARN = "WARN: ";
49
49
  If {@link SC.Logger.debug} falls back onto {@link SC.Logger.log}, this will be
50
50
  prepended to the output.
51
51
 
52
- @property {String}
52
+ @type String
53
53
  */
54
54
  SC.LOGGER_LOG_DEBUG = "DEBUG: ";
55
55
 
@@ -57,7 +57,7 @@ SC.LOGGER_LOG_DEBUG = "DEBUG: ";
57
57
  If {@link SC.Logger.group} falls back onto {@link SC.Logger.log}, this will
58
58
  be prepended to the output.
59
59
 
60
- @property {String}
60
+ @type String
61
61
  */
62
62
  SC.LOGGER_LOG_GROUP_HEADER = "** %@"; // The variable is the group title
63
63
 
@@ -65,7 +65,7 @@ SC.LOGGER_LOG_GROUP_HEADER = "** %@"; // The variable is the group title
65
65
  If the reporter does not support group(), then we’ll add our own indentation
66
66
  to our output. This constant represents one level of indentation.
67
67
 
68
- @property {String}
68
+ @type String
69
69
  */
70
70
  SC.LOGGER_LOG_GROUP_INDENTATION = " ";
71
71
 
@@ -73,7 +73,7 @@ SC.LOGGER_LOG_GROUP_INDENTATION = " ";
73
73
  When reporting recorded log messages, the timestamp is included with this
74
74
  prefix.
75
75
 
76
- @property {String}
76
+ @type String
77
77
  */
78
78
  SC.LOGGER_RECORDED_LOG_TIMESTAMP_PREFIX = "%@: ";
79
79
 
@@ -153,7 +153,7 @@ SC.Logger = SC.Object.create(
153
153
  An optional prefix that will be prepended to all log messages, but not any
154
154
  group titles.
155
155
 
156
- @property {String}
156
+ @type String
157
157
  */
158
158
  messagePrefix: null,
159
159
 
@@ -164,7 +164,7 @@ SC.Logger = SC.Object.create(
164
164
  specify both this and a 'messagePrefix', both will be output, and only the
165
165
  'messagePrefix' will be recorded.
166
166
 
167
- @property {String}
167
+ @type String
168
168
  */
169
169
  outputMessagePrefix: null,
170
170
 
@@ -175,7 +175,7 @@ SC.Logger = SC.Object.create(
175
175
  specify both this and a 'messagePrefix', both will be recorded, and only the
176
176
  'messagePrefix' will be output to the browser console.
177
177
 
178
- @property {String}
178
+ @type String
179
179
  */
180
180
  recordedMessagePrefix: null,
181
181
 
@@ -212,7 +212,7 @@ SC.Logger = SC.Object.create(
212
212
 
213
213
  If you do not specify this value, it will default to SC.LOGGER_LEVEL_NONE.
214
214
 
215
- @property {Constant}
215
+ @type Constant
216
216
  */
217
217
  logRecordingLevel: SC.LOGGER_LEVEL_NONE,
218
218
 
@@ -240,7 +240,7 @@ SC.Logger = SC.Object.create(
240
240
  originalArguments: {Arguments} // optional
241
241
  timestamp: {Date}
242
242
  }
243
-
243
+
244
244
  Group entry (either beginning or end of):
245
245
  {
246
246
  type: {Constant} SC.LOGGER_LEVEL_DEBUG, etc.
@@ -251,7 +251,7 @@ SC.Logger = SC.Object.create(
251
251
  }
252
252
  </pre>
253
253
 
254
- @property {Array}
254
+ @type Array
255
255
  */
256
256
  recordedLogMessages: null,
257
257
 
@@ -263,7 +263,7 @@ SC.Logger = SC.Object.create(
263
263
  older messages out of the array, so the most recent messages will be
264
264
  saved.
265
265
 
266
- @property {Number}
266
+ @type Number
267
267
  */
268
268
  recordedLogMessagesMaximumLength: 500,
269
269
 
@@ -276,7 +276,7 @@ SC.Logger = SC.Object.create(
276
276
  mechanism avoids thrashing the array for each log message once the
277
277
  maximum is reached.) When pruning, the most recent messages will be saved.
278
278
 
279
- @property {Number}
279
+ @type Number
280
280
  */
281
281
  recordedLogMessagesPruningMinimumLength: 100,
282
282
 
@@ -298,7 +298,7 @@ SC.Logger = SC.Object.create(
298
298
  /**
299
299
  Computed property that checks for the existence of the reporter object.
300
300
 
301
- @property {Boolean}
301
+ @type Boolean
302
302
  */
303
303
  exists: function() {
304
304
  return !SC.none(this.get('reporter'));
@@ -314,7 +314,7 @@ SC.Logger = SC.Object.create(
314
314
  simply utilize the message recording mechanism than put up a bunch of
315
315
  alerts when there is no browser console.
316
316
 
317
- @property {Boolean}
317
+ @type Boolean
318
318
  */
319
319
  fallBackOnAlert: NO,
320
320
 
@@ -323,7 +323,7 @@ SC.Logger = SC.Object.create(
323
323
  The reporter is the object which implements the actual logging functions.
324
324
 
325
325
  @default The browser’s console
326
- @property {Object}
326
+ @type Object
327
327
  */
328
328
  reporter: console,
329
329
 
@@ -1115,7 +1115,7 @@ SC.Logger = SC.Object.create(
1115
1115
  this.set('logOutputLevel', SC.LOGGER_LEVEL_INFO);
1116
1116
  }
1117
1117
  }
1118
-
1118
+
1119
1119
  this.debugEnabledDidChange();
1120
1120
  },
1121
1121
 
@@ -1295,7 +1295,7 @@ SC.Logger = SC.Object.create(
1295
1295
  if (shouldOutput) {
1296
1296
  // Decrease our indentation level to accommodate the group.
1297
1297
  this._outputIndentationLevel--;
1298
-
1298
+
1299
1299
  if (this.get('exists')) {
1300
1300
  // Do we have reporter.groupEnd defined as a function? If not, we
1301
1301
  // simply won't output anything.
@@ -1413,14 +1413,14 @@ SC.Logger = SC.Object.create(
1413
1413
  if (timestampStr) prefix = timestampStr;
1414
1414
  if (shouldIndent) prefix += this._indentation(indentation);
1415
1415
  if (prefix) args.splice(0, 0, prefix);
1416
-
1416
+
1417
1417
  if (func.apply) {
1418
1418
  func.apply(reporter, args);
1419
1419
  }
1420
1420
  else {
1421
1421
  // In IE8, passing the arguments as an array isn't ideal, but it's
1422
1422
  // pretty much all we can do because we can't call apply().
1423
- reporter[type](args);
1423
+ reporter[type](args);
1424
1424
  }
1425
1425
  }
1426
1426
  }
@@ -1511,7 +1511,7 @@ SC.Logger = SC.Object.create(
1511
1511
  if (len > this.get('recordedLogMessagesMaximumLength')) {
1512
1512
  recordedMessages.splice(0, (len - this.get('recordedLogMessagesPruningMinimumLength')));
1513
1513
  }
1514
-
1514
+
1515
1515
  // Notify that the array content changed.
1516
1516
  recordedMessages.enumerableContentDidChange();
1517
1517
  },
@@ -5,13 +5,13 @@
5
5
  // License: Licensed under MIT license (see license.js)
6
6
  // ==========================================================================
7
7
 
8
- sc_require('core') ;
9
- sc_require('mixins/observable') ;
8
+ sc_require('core');
9
+ sc_require('mixins/observable');
10
10
  sc_require('private/observer_queue');
11
- sc_require('mixins/array') ;
11
+ sc_require('mixins/array');
12
12
  sc_require('system/set');
13
13
 
14
- /*globals $$sel */
14
+ /*global*/
15
15
 
16
16
  SC.BENCHMARK_OBJECTS = NO;
17
17
 
@@ -37,10 +37,10 @@ SC._detect_base = function _detect_base(func, parent, name) {
37
37
  // weird edge-case (when a class is enhanced after first used),
38
38
  // we'll leave it off for now unless profiling demonstrates that
39
39
  // it's a hotspot.
40
- //if(base && func === base) { func.base = function() {}; }
40
+ //if(base && func === base) { func.base = function () {}; }
41
41
  //else { func.base = base; }
42
42
 
43
- if(func.isEnhancement) {
43
+ if (func.isEnhancement) {
44
44
  args = Array.prototype.slice.call(arguments, 1);
45
45
  } else {
46
46
  args = arguments;
@@ -65,26 +65,30 @@ SC._detect_base = function _detect_base(func, parent, name) {
65
65
  @returns {Hash} base hash
66
66
  */
67
67
  SC._object_extend = function _object_extend(base, ext, proto) {
68
- if (!ext) { throw "SC.Object.extend expects a non-null value. Did you forget to 'sc_require' something? Or were you passing a Protocol to extend() as if it were a mixin?"; }
68
+ if (!ext) { throw new Error("SC.Object.extend expects a non-null value. Did you forget to 'sc_require' something? Or were you passing a Protocol to extend() as if it were a mixin?"); }
69
69
  // set _kvo_cloned for later use
70
70
  base._kvo_cloned = null;
71
71
 
72
72
  // get some common vars
73
- var key, idx, len, cur, cprops = base.concatenatedProperties, K = SC.K,
74
- p1,p2;
73
+ var key, idx, cur,
74
+ cprops = base.concatenatedProperties,
75
+ K = SC.K,
76
+ p1, p2;
75
77
 
76
78
  // first, save any concat props. use old or new array or concat
77
- idx = (cprops) ? cprops.length : 0 ;
78
- var concats = (idx>0) ? {} : null;
79
- while(--idx>=0) {
80
- key = cprops[idx]; p1 = base[key]; p2 = ext[key];
79
+ idx = (cprops) ? cprops.length : 0;
80
+ var concats = (idx > 0) ? {} : null;
81
+ while (--idx >= 0) {
82
+ key = cprops[idx];
83
+ p1 = base[key];
84
+ p2 = ext[key];
81
85
 
82
86
  if (p1) {
83
87
  if (!(p1 instanceof Array)) p1 = SC.$A(p1);
84
- concats[key] = (p2) ? p1.concat(p2) : p2 ;
88
+ concats[key] = (p2) ? p1.concat(p2) : p2;
85
89
  } else {
86
90
  if (!(p2 instanceof Array)) p2 = SC.$A(p2);
87
- concats[key] = p2 ;
91
+ concats[key] = p2;
88
92
  }
89
93
  }
90
94
 
@@ -99,28 +103,28 @@ SC._object_extend = function _object_extend(base, ext, proto) {
99
103
  // outlets are treated a little differently because you can manually
100
104
  // name outlets in the passed in hash. If this is the case, then clone
101
105
  // the array first.
102
- var outlets = base.outlets, clonedOutlets = NO ;
106
+ var outlets = base.outlets, clonedOutlets = NO;
103
107
  if (ext.outlets) {
104
108
  outlets = (outlets || SC.EMPTY_ARRAY).concat(ext.outlets);
105
- clonedOutlets = YES ;
109
+ clonedOutlets = YES;
106
110
  }
107
111
 
108
112
  // now copy properties, add superclass to func.
109
- for(key in ext) {
113
+ for (key in ext) {
110
114
 
111
115
  if (key === '_kvo_cloned') continue; // do not copy
112
116
 
113
117
  // avoid copying builtin methods
114
- if (!ext.hasOwnProperty(key)) continue ;
118
+ if (!ext.hasOwnProperty(key)) continue;
115
119
 
116
120
  // get the value. use concats if defined
117
121
  value = (concats.hasOwnProperty(key) ? concats[key] : null) || ext[key];
118
122
 
119
- // Possibly add to a bindings.
123
+ // Possibly add to bindings.
120
124
  if (key.length > 7 && key.slice(-7) === "Binding") {
121
125
  if (!clonedBindings) {
122
- bindings = (bindings || SC.EMPTY_ARRAY).slice() ;
123
- clonedBindings = YES ;
126
+ bindings = (bindings || SC.EMPTY_ARRAY).slice();
127
+ clonedBindings = YES;
124
128
  }
125
129
 
126
130
  if (bindings === null) bindings = (base._bindings || SC.EMPTY_ARRAY).slice();
@@ -138,14 +142,14 @@ SC._object_extend = function _object_extend(base, ext, proto) {
138
142
  }
139
143
  }
140
144
  //@endif
141
- bindings[bindings.length] = key ;
145
+ bindings[bindings.length] = key;
142
146
 
143
147
  // Also add observers, outlets, and properties for functions...
144
148
  } else if (value && (value instanceof Function)) {
145
149
 
146
150
  // add super to funcs. Be sure not to set the base of a func to
147
151
  // itself to avoid infinite loops.
148
- if (!value.superclass && (value !== (cur=base[key]))) {
152
+ if (!value.superclass && (value !== (cur = base[key]))) {
149
153
  value.superclass = cur || K;
150
154
  value.base = proto ? SC._detect_base(value, proto, key) : cur || K;
151
155
  }
@@ -153,17 +157,18 @@ SC._object_extend = function _object_extend(base, ext, proto) {
153
157
  // handle regular observers
154
158
  if (value.propertyPaths) {
155
159
  if (!clonedObservers) {
156
- observers = (observers || SC.EMPTY_ARRAY).slice() ;
157
- clonedObservers = YES ;
160
+ observers = (observers || SC.EMPTY_ARRAY).slice();
161
+ clonedObservers = YES;
158
162
  }
159
- observers[observers.length] = key ;
163
+ observers[observers.length] = key;
160
164
 
161
165
  // handle local properties
162
166
  }
163
167
 
164
- if (paths = value.localPropertyPaths) {
168
+ paths = value.localPropertyPaths;
169
+ if (paths) {
165
170
  pathLoc = paths.length;
166
- while(--pathLoc >= 0) {
171
+ while (--pathLoc >= 0) {
167
172
  local = base._kvo_for(SC.keyFor('_kvo_local', paths[pathLoc]), SC.CoreSet);
168
173
  local.add(key);
169
174
  base._kvo_for('_kvo_observed_keys', SC.CoreSet).add(paths[pathLoc]);
@@ -174,10 +179,10 @@ SC._object_extend = function _object_extend(base, ext, proto) {
174
179
 
175
180
  if (value.dependentKeys) {
176
181
  if (!clonedProperties) {
177
- properties = (properties || SC.EMPTY_ARRAY).slice() ;
178
- clonedProperties = YES ;
182
+ properties = (properties || SC.EMPTY_ARRAY).slice();
183
+ clonedProperties = YES;
179
184
  }
180
- properties[properties.length] = key ;
185
+ properties[properties.length] = key;
181
186
 
182
187
  // handle outlets
183
188
  }
@@ -185,9 +190,9 @@ SC._object_extend = function _object_extend(base, ext, proto) {
185
190
  if (value.autoconfiguredOutlet) {
186
191
  if (!clonedOutlets) {
187
192
  outlets = (outlets || SC.EMPTY_ARRAY).slice();
188
- clonedOutlets = YES ;
193
+ clonedOutlets = YES;
189
194
  }
190
- outlets[outlets.length] = key ;
195
+ outlets[outlets.length] = key;
191
196
  }
192
197
 
193
198
  if (value.isEnhancement) {
@@ -196,7 +201,7 @@ SC._object_extend = function _object_extend(base, ext, proto) {
196
201
  }
197
202
 
198
203
  // copy property
199
- base[key] = value ;
204
+ base[key] = value;
200
205
  }
201
206
 
202
207
  // Manually set base on toString() because some JS engines (such as IE8) do
@@ -204,30 +209,31 @@ SC._object_extend = function _object_extend(base, ext, proto) {
204
209
  if (ext.hasOwnProperty('toString')) {
205
210
  key = 'toString';
206
211
  // get the value. use concats if defined
207
- value = (concats.hasOwnProperty(key) ? concats[key] : null) || ext[key] ;
208
- if (!value.superclass && (value !== (cur=base[key]))) {
209
- value.superclass = value.base = cur || K ;
212
+ value = (concats.hasOwnProperty(key) ? concats[key] : null) || ext[key];
213
+ if (!value.superclass && (value !== (cur = base[key]))) {
214
+ value.superclass = value.base = cur || K;
210
215
  }
211
216
  // copy property
212
- base[key] = value ;
217
+ base[key] = value;
213
218
  }
214
219
 
215
220
 
216
221
  // copy bindings, observers, and properties
217
222
  base._bindings = bindings || [];
218
- base._observers = observers || [] ;
219
- base._properties = properties || [] ;
223
+ base._observers = observers || [];
224
+ base._properties = properties || [];
220
225
  base.outlets = outlets || [];
221
226
 
222
- return base ;
223
- } ;
227
+ return base;
228
+ };
229
+
224
230
 
225
- SC._enhance = function(originalFunction, enhancement) {
226
- return function() {
231
+ SC._enhance = function (originalFunction, enhancement) {
232
+ return function () {
227
233
  var args = Array.prototype.slice.call(arguments, 0),
228
234
  self = this;
229
235
 
230
- args.unshift(function() { return originalFunction.apply(self, arguments); });
236
+ args.unshift(function () { return originalFunction.apply(self, arguments); });
231
237
  return enhancement.apply(this, args);
232
238
  };
233
239
  };
@@ -255,12 +261,12 @@ SC._enhance = function(originalFunction, enhancement) {
255
261
  ===
256
262
 
257
263
  You can create a SproutCore object just like any other object...
258
- obj = new SC.Object() ;
264
+ obj = new SC.Object();
259
265
 
260
266
  @extends SC.Observable
261
267
  @since SproutCore 1.0
262
268
  */
263
- SC.Object = function(props) {
269
+ SC.Object = function (props) {
264
270
  this.__sc_super__ = SC.Object.prototype;
265
271
  return this._object_init(props);
266
272
  };
@@ -277,10 +283,10 @@ SC.mixin(SC.Object, /** @scope SC.Object */ {
277
283
  @param {Hash} props the properties you want to add.
278
284
  @returns {Object} receiver
279
285
  */
280
- mixin: function(props) {
281
- var len = arguments.length, loc ;
282
- for(loc =0;loc<len;loc++) SC.mixin(this, arguments[loc]);
283
- return this ;
286
+ mixin: function () {
287
+ var len = arguments.length, loc;
288
+ for (loc = 0; loc < len; loc++) SC.mixin(this, arguments[loc]);
289
+ return this;
284
290
  },
285
291
 
286
292
  // ..........................................
@@ -311,18 +317,20 @@ SC.mixin(SC.Object, /** @scope SC.Object */ {
311
317
  @param {Hash} props the methods of properties you want to add
312
318
  @returns {Class} A new object class
313
319
  */
314
- extend: function(props) {
315
- var bench = SC.BENCHMARK_OBJECTS ;
316
- if (bench) SC.Benchmark.start('SC.Object.extend') ;
320
+ extend: function () {
321
+ //@if(debug)
322
+ var bench = SC.BENCHMARK_OBJECTS;
323
+ if (bench) SC.Benchmark.start('SC.Object.extend');
324
+ //@endif
317
325
 
318
326
  // build a new constructor and copy class methods. Do this before
319
327
  // adding any other properties so they are not overwritten by the copy.
320
- var prop, ret = function(props) {
328
+ var prop, ret = function (props) {
321
329
  this.__sc_super__ = ret.prototype;
322
330
  return this._object_init(props);
323
- } ;
324
- for(prop in this) {
325
- if (!this.hasOwnProperty(prop)) continue ;
331
+ };
332
+ for (prop in this) {
333
+ if (!this.hasOwnProperty(prop)) continue;
326
334
  ret[prop] = this[prop];
327
335
  }
328
336
 
@@ -330,7 +338,7 @@ SC.mixin(SC.Object, /** @scope SC.Object */ {
330
338
  if (this.hasOwnProperty('toString')) ret.toString = this.toString;
331
339
 
332
340
  // now setup superclass, guid
333
- ret.superclass = this ;
341
+ ret.superclass = this;
334
342
  ret.__sc_super__ = this.prototype;
335
343
  SC.generateGuid(ret, "sc"); // setup guid
336
344
 
@@ -341,22 +349,25 @@ SC.mixin(SC.Object, /** @scope SC.Object */ {
341
349
  var base = (ret.prototype = SC.beget(this.prototype)),
342
350
  idx, len = arguments.length;
343
351
 
344
- for(idx=0;idx<len;idx++) {
345
- SC._object_extend(base, arguments[idx], ret.__sc_super__) ;
352
+ for (idx = 0; idx < len; idx++) {
353
+ SC._object_extend(base, arguments[idx], ret.__sc_super__);
346
354
  }
347
355
  base.constructor = ret; // save constructor
348
356
 
349
- if (bench) SC.Benchmark.end('SC.Object.extend') ;
350
- return ret ;
357
+ //@if(debug)
358
+ if (bench) SC.Benchmark.end('SC.Object.extend');
359
+ //@endif
360
+
361
+ return ret;
351
362
  },
352
363
 
353
364
  // Tested in ../tests/system/object/enhance.js
354
- reopen: function(props) {
365
+ reopen: function (props) {
355
366
  var ret;
356
367
  ret = SC._object_extend(this.prototype, props, this.__sc_super__);
357
368
 
358
369
  if (this.subclasses) {
359
- this.subclasses.forEach(function(subclass, idx) {
370
+ this.subclasses.forEach(function (subclass, idx) {
360
371
  //@if(debug)
361
372
  // Turned Off, SC.View.reopen() makes this too obnoxious. SC.warn("Developer Warning: %@ was re-opened after subclasses were defined. We're still registering the additions to all subclasses of %@, but it would be safer to reopen() %@ before subclassing it.".fmt(this, this, this));
362
373
  //@endif
@@ -409,12 +420,13 @@ SC.mixin(SC.Object, /** @scope SC.Object */ {
409
420
 
410
421
  @returns {SC.Object} new instance of the receiver class.
411
422
  */
412
- create: function() {
413
- var C=this, ret = new C(arguments);
423
+ create: function () {
424
+ var C = this, ret = new C(arguments);
425
+
414
426
  if (SC.ObjectDesigner) {
415
427
  SC.ObjectDesigner.didCreateObject(ret, SC.$A(arguments));
416
428
  }
417
- return ret ;
429
+ return ret;
418
430
  },
419
431
  /**
420
432
  Walk like a duck. You can use this to quickly test classes.
@@ -432,7 +444,7 @@ SC.mixin(SC.Object, /** @scope SC.Object */ {
432
444
  subclasses: SC.Set.create(),
433
445
 
434
446
  /** @private */
435
- toString: function() { return SC._object_className(this); },
447
+ toString: function () { return SC._object_className(this); },
436
448
 
437
449
  // ..........................................
438
450
  // PROPERTY SUPPORT METHODS
@@ -454,11 +466,11 @@ SC.mixin(SC.Object, /** @scope SC.Object */ {
454
466
  @param {Class} scClass class to compare
455
467
  @returns {Boolean}
456
468
  */
457
- subclassOf: function(scClass) {
458
- if (this === scClass) return NO ;
459
- var t = this ;
460
- while(t = t.superclass) if (t === scClass) return YES ;
461
- return NO ;
469
+ subclassOf: function (scClass) {
470
+ if (this === scClass) return NO;
471
+ var t = this;
472
+ while (t = t.superclass) if (t === scClass) return YES;
473
+ return NO;
462
474
  },
463
475
 
464
476
  /**
@@ -468,7 +480,7 @@ SC.mixin(SC.Object, /** @scope SC.Object */ {
468
480
  @param {Class} scClass class to compare
469
481
  @returns {Boolean}
470
482
  */
471
- hasSubclass: function(scClass) {
483
+ hasSubclass: function (scClass) {
472
484
  return (scClass && scClass.subclassOf) ? scClass.subclassOf(this) : NO;
473
485
  },
474
486
 
@@ -489,8 +501,8 @@ SC.mixin(SC.Object, /** @scope SC.Object */ {
489
501
  @param {Class} scClass class to compare
490
502
  @returns {Boolean}
491
503
  */
492
- kindOf: function(scClass) {
493
- return (this === scClass) || this.subclassOf(scClass) ;
504
+ kindOf: function (scClass) {
505
+ return (this === scClass) || this.subclassOf(scClass);
494
506
  },
495
507
 
496
508
  // ..........................................................
@@ -504,7 +516,7 @@ SC.mixin(SC.Object, /** @scope SC.Object */ {
504
516
  @returns {Class} SC.Object subclass to create
505
517
  @function
506
518
  */
507
- design: function() {
519
+ design: function () {
508
520
  if (this.isDesign) {
509
521
  // @if (debug)
510
522
  SC.Logger.warn("SC.Object#design called twice for %@.".fmt(this));
@@ -513,13 +525,14 @@ SC.mixin(SC.Object, /** @scope SC.Object */ {
513
525
  }
514
526
 
515
527
  var ret = this.extend.apply(this, arguments);
516
- ret.isDesign = YES ;
528
+ ret.isDesign = YES;
517
529
  if (SC.ObjectDesigner) {
518
530
  SC.ObjectDesigner.didLoadDesign(ret, this, SC.A(arguments));
519
531
  }
520
- return ret ;
532
+ return ret;
521
533
  }
522
- }) ;
534
+
535
+ });
523
536
 
524
537
  // ..........................................
525
538
  // DEFAULT OBJECT INSTANCE
@@ -536,18 +549,20 @@ SC.Object.prototype = {
536
549
  @param {Array} extensions an array-like object with hashes to apply.
537
550
  @returns {Object} receiver
538
551
  */
539
- _object_init: function(extensions) {
552
+ _object_init: function (extensions) {
540
553
  // apply any new properties
541
- var idx, len = (extensions) ? extensions.length : 0;
542
- for(idx=0;idx<len;idx++) { SC._object_extend(this, extensions[idx], this.__sc_super__) ; }
543
- SC.generateGuid(this, "sc") ; // add guid
544
- this.init() ; // call real init
554
+ var idx,
555
+ len = (extensions) ? extensions.length : 0;
556
+ for (idx = 0; idx < len; idx++) { SC._object_extend(this, extensions[idx], this.__sc_super__); }
557
+ SC.generateGuid(this, "sc"); // add guid
558
+ this.init(); // call real init
545
559
 
546
560
  // Call 'initMixin' methods to automatically setup modules.
547
- var inits = this.initMixin; len = (inits) ? inits.length : 0 ;
548
- for(idx=0;idx < len; idx++) inits[idx].call(this);
561
+ var inits = this.initMixin;
562
+ len = (inits) ? inits.length : 0;
563
+ for (idx = 0; idx < len; idx++) inits[idx].call(this);
549
564
 
550
- return this ; // done!
565
+ return this; // done!
551
566
  },
552
567
 
553
568
  /**
@@ -566,7 +581,7 @@ SC.Object.prototype = {
566
581
  var MyClass = SC.Object.extend({
567
582
  extraMixin: null,
568
583
 
569
- init: function() {
584
+ init: function () {
570
585
  this.mixin(this.extraMixin);
571
586
  sc_super();
572
587
  }
@@ -574,23 +589,23 @@ SC.Object.prototype = {
574
589
 
575
590
  var ExampleMixin = { foo: "bar" };
576
591
 
577
- var instance = MyClass.create({ extraMixin: ExampleMixin }) ;
592
+ var instance = MyClass.create({ extraMixin: ExampleMixin });
578
593
 
579
594
  instance.get('foo') => "bar"
580
595
 
581
596
  @param {Hash} ext a hash to copy. Only one.
582
597
  @returns {Object} receiver
583
598
  */
584
- mixin: function() {
599
+ mixin: function () {
585
600
  var idx, len = arguments.length, init;
586
- for(idx=0;idx<len;idx++) SC._object_extend(this, arguments[idx]);
601
+ for (idx = 0; idx < len; idx++) SC._object_extend(this, arguments[idx]);
587
602
 
588
603
  // Reset the observable initialized status so that we can setup any new observables.
589
604
  this._observableInited = NO;
590
605
  this.initObservable();
591
606
 
592
607
  // Call initMixin
593
- for(idx=0;idx<len;idx++) {
608
+ for (idx = 0; idx < len; idx++) {
594
609
  init = arguments[idx].initMixin;
595
610
  if (init) init.call(this);
596
611
  }
@@ -611,9 +626,9 @@ SC.Object.prototype = {
611
626
 
612
627
 
613
628
  */
614
- init: function() {
629
+ init: function () {
615
630
  this.initObservable();
616
- return this ;
631
+ return this;
617
632
  },
618
633
 
619
634
  /**
@@ -635,19 +650,18 @@ SC.Object.prototype = {
635
650
 
636
651
  @returns {SC.Object} receiver
637
652
  */
638
- destroy: function() {
653
+ destroy: function () {
639
654
  if (this.get('isDestroyed')) return this; // nothing to do
640
655
  this.set('isDestroyed', YES);
641
656
 
642
657
  // destroy any mixins
643
- var idx, inits = this.destroyMixin, len = (inits) ? inits.length : 0 ;
644
- for(idx=0;idx < len; idx++) inits[idx].call(this);
658
+ var idx, inits = this.destroyMixin, len = (inits) ? inits.length : 0;
659
+ for (idx = 0; idx < len; idx++) inits[idx].call(this);
645
660
 
646
- // disconnect all bindings
647
- this.bindings.invoke('disconnect');
648
- this.bindings = null;
661
+ // destroy observables.
662
+ this.destroyObservable();
649
663
 
650
- return this ;
664
+ return this;
651
665
  },
652
666
 
653
667
  /**
@@ -663,7 +677,7 @@ SC.Object.prototype = {
663
677
  @param {String} methodName the property name to check
664
678
  @returns {Boolean}
665
679
  */
666
- respondsTo: function( methodName ) {
680
+ respondsTo: function (methodName) {
667
681
  return !!(this[methodName] instanceof Function);
668
682
  },
669
683
 
@@ -680,7 +694,7 @@ SC.Object.prototype = {
680
694
  @param {Object} arg2
681
695
  @returns {Boolean} YES if handled, NO if not handled
682
696
  */
683
- tryToPerform: function(methodName, arg1, arg2) {
697
+ tryToPerform: function (methodName, arg1, arg2) {
684
698
  return this.respondsTo(methodName) && (this[methodName](arg1, arg2) !== NO);
685
699
  },
686
700
 
@@ -700,17 +714,17 @@ SC.Object.prototype = {
700
714
  SC.Object.create({
701
715
 
702
716
  // DOES NOT WORK IN SAFARI 2 OR EARLIER
703
- method1: function() {
717
+ method1: function () {
704
718
  this.superclass();
705
719
  },
706
720
 
707
721
  // REQUIRES SC-BUILD TOOLS
708
- method2: function() {
722
+ method2: function () {
709
723
  sc_super();
710
724
  },
711
725
 
712
726
  // WORKS ANYTIME
713
- method3: function() {
727
+ method3: function () {
714
728
  arguments.callee.base.apply(this, arguments);
715
729
  }
716
730
  });
@@ -718,9 +732,9 @@ SC.Object.prototype = {
718
732
  @param {*args} args any arguments you want to pass along.
719
733
  @returns {Object} return value from super
720
734
  */
721
- superclass: function(args) {
735
+ superclass: function () {
722
736
  var caller = arguments.callee.caller;
723
- if (!caller) throw "superclass cannot determine the caller method" ;
737
+ if (!caller) throw new Error("superclass cannot determine the caller method");
724
738
  return caller.superclass ? caller.superclass.apply(this, arguments) : null;
725
739
  },
726
740
 
@@ -742,8 +756,8 @@ SC.Object.prototype = {
742
756
  @param {Class} scClass the class
743
757
  @returns {Boolean}
744
758
  */
745
- instanceOf: function(scClass) {
746
- return this.constructor === scClass ;
759
+ instanceOf: function (scClass) {
760
+ return this.constructor === scClass;
747
761
  },
748
762
 
749
763
  /**
@@ -764,18 +778,18 @@ SC.Object.prototype = {
764
778
  @param {Class} scClass the class
765
779
  @returns {Boolean}
766
780
  */
767
- kindOf: function(scClass) { return this.constructor.kindOf(scClass); },
781
+ kindOf: function (scClass) { return this.constructor.kindOf(scClass); },
768
782
 
769
783
  /** @private */
770
- toString: function() {
784
+ toString: function () {
771
785
  if (!this._object_toString) {
772
786
  // only cache the string if the klass name is available
773
787
  var klassName = SC._object_className(this.constructor),
774
788
  string = klassName + ":" + SC.guidFor(this);
775
- if (klassName) this._object_toString = string ;
776
- else return string ;
789
+ if (klassName) this._object_toString = string;
790
+ else return string;
777
791
  }
778
- return this._object_toString ;
792
+ return this._object_toString;
779
793
  },
780
794
 
781
795
  /**
@@ -785,7 +799,7 @@ SC.Object.prototype = {
785
799
 
786
800
 
787
801
  */
788
- awake: function() {
802
+ awake: function () {
789
803
  var outlets = this.outlets,
790
804
  i, len, outlet;
791
805
  for (i = 0, len = outlets.length; i < len; ++i) {
@@ -807,7 +821,7 @@ SC.Object.prototype = {
807
821
  @param {Function|String} method method or method name
808
822
  @returns {SC.Object} receiver
809
823
  */
810
- invokeOnce: function(method) {
824
+ invokeOnce: function (method) {
811
825
  //@if(debug)
812
826
  // If we're logging deferred calls, send along the information that needs to
813
827
  // be recorded.
@@ -825,8 +839,8 @@ SC.Object.prototype = {
825
839
  },
826
840
 
827
841
  /**
828
- Invokes the passed method once at the end of the current runloop,
829
- before any other methods (including events) are processed. This is useful
842
+ Invokes the passed method once at the end of the current run of the run loop,
843
+ before any other methods (including new events) are processed. This is useful
830
844
  for situations where you know you need to update something, but due to
831
845
  the way the run loop works, you can't actually do the update until the
832
846
  run loop has completed.
@@ -839,13 +853,13 @@ SC.Object.prototype = {
839
853
 
840
854
  // Creates a new MyRecord object and sets the selection of the
841
855
  // myRecord collection controller to the new object.
842
- createObjectAction: function(sender, evt) {
856
+ createObjectAction: function (sender, evt) {
843
857
  // create a new record and add it to the store
844
- var obj = MyRecord.newRecord() ;
858
+ var obj = MyRecord.newRecord();
845
859
 
846
860
  // update the collection controller's selection
847
- MyApp.myRecordCollectionController.invokeLast( function() {
848
- this.set('selection', [obj]) ;
861
+ MyApp.myRecordCollectionController.invokeLast( function () {
862
+ this.set('selection', [obj]);
849
863
  });
850
864
  }
851
865
 
@@ -855,13 +869,13 @@ SC.Object.prototype = {
855
869
  @param {Function|String} method method or method name
856
870
  @returns {SC.Object} receiver
857
871
  */
858
- invokeLast: function(method) {
872
+ invokeLast: function (method) {
859
873
  //@if(debug)
860
874
  // If we're logging deferred calls, send along the information that needs to
861
875
  // be recorded.
862
876
  var originatingTarget, originatingMethod, originatingStack;
863
877
  if (SC.LOG_DEFERRED_CALLS) {
864
- originatingTarget = this ;
878
+ originatingTarget = this;
865
879
  originatingStack = SC._getRecentStack();
866
880
  originatingMethod = originatingStack[0];
867
881
  }
@@ -873,29 +887,13 @@ SC.Object.prototype = {
873
887
  },
874
888
 
875
889
  /**
876
- Invokes the passed method once at the beginning of the next runloop,
877
- before any other methods (including events) are processed. This is useful
878
- for situations where you know you need to update something, but due to
879
- the way the run loop works, you can't actually do the update until the
880
- run loop has completed.
890
+ Invokes the passed target/method pair once at the beginning of the next
891
+ run of the run loop, before any other methods (including events) are
892
+ processed. Use this to defer painting to make views more responsive or
893
+ to ensure that the layer has been updated before using it.
881
894
 
882
- A simple example is setting the selection on a collection controller to a
883
- newly created object. Because the collection controller won't have its
884
- content collection updated until later in the run loop, setting the
885
- selection immediately will have no effect. In this situation, you could do
886
- this instead:
887
-
888
- // Creates a new MyRecord object and sets the selection of the
889
- // myRecord collection controller to the new object.
890
- createObjectAction: function(sender, evt) {
891
- // create a new record and add it to the store
892
- var obj = MyRecord.newRecord() ;
893
-
894
- // update the collection controller's selection
895
- MyApp.myRecordCollectionController.invokeNext( function() {
896
- this.set('selection', [obj]) ;
897
- });
898
- }
895
+ If you call this with the same target/method pair multiple times it will
896
+ only invoke the pair only once at the beginning of the next runloop.
899
897
 
900
898
  Note that in development mode only, the object and method that call this
901
899
  method will be recorded, for help in debugging scheduled code.
@@ -903,13 +901,13 @@ SC.Object.prototype = {
903
901
  @param {Function|String} method method or method name
904
902
  @returns {SC.Object} receiver
905
903
  */
906
- invokeNext: function(method) {
904
+ invokeNext: function (method) {
907
905
  //@if(debug)
908
906
  // If we're logging deferred calls, send along the information that needs to
909
907
  // be recorded.
910
908
  var originatingTarget, originatingMethod, originatingStack;
911
909
  if (SC.LOG_DEFERRED_CALLS) {
912
- originatingTarget = this ;
910
+ originatingTarget = this;
913
911
  originatingStack = SC._getRecentStack();
914
912
  originatingMethod = originatingStack[0];
915
913
  }
@@ -933,13 +931,13 @@ SC.Object.prototype = {
933
931
  */
934
932
  concatenatedProperties: ['concatenatedProperties', 'initMixin', 'destroyMixin']
935
933
 
936
- } ;
934
+ };
937
935
 
938
936
  // bootstrap the constructor for SC.Object.
939
937
  SC.Object.prototype.constructor = SC.Object;
940
938
 
941
939
  // Add observable to mixin
942
- SC.mixin(SC.Object.prototype, SC.Observable) ;
940
+ SC.mixin(SC.Object.prototype, SC.Observable);
943
941
 
944
942
  // ..........................................................
945
943
  // CLASS NAME SUPPORT
@@ -952,32 +950,32 @@ SC.mixin(SC.Object.prototype, SC.Observable) ;
952
950
  */
953
951
  function findClassNames() {
954
952
 
955
- if (SC._object_foundObjectClassNames) return ;
956
- SC._object_foundObjectClassNames = true ;
953
+ if (SC._object_foundObjectClassNames) return;
954
+ SC._object_foundObjectClassNames = true;
957
955
 
958
956
  var seen = [],
959
957
  detectedSC = false;
960
- var searchObject = function(root, object, levels) {
958
+ var searchObject = function (root, object, levels) {
961
959
 
962
960
  var path, value, type;
963
- levels-- ;
961
+ levels--;
964
962
 
965
963
  // not the fastest, but safe
966
- if (seen.indexOf(object) >= 0) return ;
967
- seen.push(object) ;
968
-
969
- for(var key in object) {
970
- if (key == '__scope__') continue ;
971
- if (key == 'superclass') continue ;
972
- if (key == '__SC__') key = 'SC' ;
973
- if (!key.match(/^[A-Z0-9]/)) continue ;
964
+ if (seen.indexOf(object) >= 0) return;
965
+ seen.push(object);
966
+
967
+ for (var key in object) {
968
+ if (key == '__scope__') continue;
969
+ if (key == 'superclass') continue;
970
+ if (key == '__SC__') key = 'SC';
971
+ if (!key.match(/^[A-Z0-9]/)) continue;
974
972
  if (key == 'SC') {
975
973
  if (detectedSC) continue;
976
974
  detectedSC = true;
977
975
  }
978
976
 
979
- path = (root) ? [root,key].join('.') : key ;
980
- value = object[key] ;
977
+ path = (root) ? [root, key].join('.') : key;
978
+ value = object[key];
981
979
 
982
980
  try {
983
981
  type = SC.typeOf(value);
@@ -986,25 +984,25 @@ function findClassNames() {
986
984
  break;
987
985
  }
988
986
 
989
- switch(type) {
987
+ switch (type) {
990
988
  case SC.T_CLASS:
991
989
  if (!value._object_className) value._object_className = path;
992
- if (levels>=0) searchObject(path, value, levels) ;
993
- break ;
990
+ if (levels >= 0) searchObject(path, value, levels);
991
+ break;
994
992
 
995
993
  case SC.T_OBJECT:
996
- if (levels>=0) searchObject(path, value, levels) ;
997
- break ;
994
+ if (levels >= 0) searchObject(path, value, levels);
995
+ break;
998
996
 
999
997
  case SC.T_HASH:
1000
- if (((root) || (path==='SC')) && (levels>=0)) searchObject(path, value, levels) ;
1001
- break ;
998
+ if (((root) || (path === 'SC')) && (levels >= 0)) searchObject(path, value, levels);
999
+ break;
1002
1000
 
1003
1001
  default:
1004
1002
  break;
1005
1003
  }
1006
1004
  }
1007
- } ;
1005
+ };
1008
1006
 
1009
1007
  // Fix for IE 7 and 8 in order to detect the SC global variable. When you create
1010
1008
  // a global variable in IE, it is not added to the window object like in other
@@ -1016,8 +1014,8 @@ function findClassNames() {
1016
1014
  //
1017
1015
  // window.MyApp = window.MyApp || SC.Object.create({ ... })
1018
1016
  //
1019
- window['__SC__'] = SC;
1020
- searchObject(null, window, 2) ;
1017
+ window.__SC__ = SC;
1018
+ searchObject(null, window, 2);
1021
1019
  }
1022
1020
 
1023
1021
  /**
@@ -1028,9 +1026,9 @@ function findClassNames() {
1028
1026
  @param {Class} scClass the class
1029
1027
  @returns {Boolean} if object1 is instance of class
1030
1028
  */
1031
- SC.instanceOf = function(scObject, scClass) {
1032
- return !!(scObject && scObject.constructor === scClass) ;
1033
- } ;
1029
+ SC.instanceOf = function (scObject, scClass) {
1030
+ return !!(scObject && scObject.constructor === scClass);
1031
+ };
1034
1032
 
1035
1033
  /**
1036
1034
  Same as the instance method, but lets you check kindOf without having to
@@ -1040,7 +1038,7 @@ SC.instanceOf = function(scObject, scClass) {
1040
1038
  @param {Class} scClass the class to check
1041
1039
  @returns {Boolean} if object is an instance of class or subclass
1042
1040
  */
1043
- SC.kindOf = function(scObject, scClass) {
1041
+ SC.kindOf = function (scObject, scClass) {
1044
1042
  if (scObject && !scObject.isClass) scObject = scObject.constructor;
1045
1043
  return !!(scObject && scObject.kindOf && scObject.kindOf(scClass));
1046
1044
  };
@@ -1051,15 +1049,15 @@ SC.kindOf = function(scObject, scClass) {
1051
1049
 
1052
1050
  This method is used to allow classes to determine their own name.
1053
1051
  */
1054
- SC._object_className = function(obj) {
1052
+ SC._object_className = function (obj) {
1055
1053
  if (SC.isReady === NO) return ''; // class names are not available until ready
1056
- if (!obj._object_className) findClassNames() ;
1057
- if (obj._object_className) return obj._object_className ;
1054
+ if (!obj._object_className) findClassNames();
1055
+ if (obj._object_className) return obj._object_className;
1058
1056
 
1059
1057
  // if no direct classname was found, walk up class chain looking for a
1060
1058
  // match.
1061
- var ret = obj ;
1062
- while(ret && !ret._object_className) ret = ret.superclass;
1059
+ var ret = obj;
1060
+ while (ret && !ret._object_className) ret = ret.superclass;
1063
1061
  return (ret && ret._object_className) ? ret._object_className : 'Anonymous';
1064
- } ;
1062
+ };
1065
1063