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
@@ -16,7 +16,7 @@ sc_require('models/record');
16
16
  your application can work with.
17
17
 
18
18
  Normally you do not create `RecordArray`s yourself. Instead, a
19
- `RecordArray` is returned when you call `SC.Store.findAll()`, already
19
+ `RecordArray` is returned when you call `SC.Store.find()`, already
20
20
  properly configured. You can usually just work with the `RecordArray`
21
21
  instance just like any other array.
22
22
 
@@ -43,7 +43,7 @@ sc_require('models/record');
43
43
  computationally heavy to match a large dataset to a query. To avoid the
44
44
  browser from ever showing a slow script timer in this scenario, the query
45
45
  matching is by default paced at 100ms. If query matching takes longer than
46
- 100ms, it will chunk the work with setTimeout to avoid too much computation
46
+ 100ms, it will chunk the work with invokeNext to avoid too much computation
47
47
  to happen in one runloop.
48
48
 
49
49
 
@@ -212,7 +212,7 @@ SC.RecordArray = SC.Object.extend(SC.Enumerable, SC.Array,
212
212
  len = recs ? (recs.get ? recs.get('length') : recs.length) : 0,
213
213
  i, keys;
214
214
 
215
- if (!storeKeys) throw "Unable to edit an SC.RecordArray that does not have its storeKeys property set.";
215
+ if (!storeKeys) throw new Error("Unable to edit an SC.RecordArray that does not have its storeKeys property set.");
216
216
 
217
217
  if (!this.get('isEditable')) throw SC.RecordArray.NOT_EDITABLE;
218
218
 
@@ -575,18 +575,13 @@ SC.RecordArray = SC.Object.extend(SC.Enumerable, SC.Array,
575
575
 
576
576
  // if we reach our threshold of pacing we need to schedule the rest of the
577
577
  // storeKeys to also be updated
578
- if(storeKeysToPace.length>0) {
579
- var self = this;
580
- // use setTimeout here to guarantee that we hit the next runloop,
581
- // and not the same runloop which the invoke* methods do not guarantee
582
- window.setTimeout(function() {
583
- SC.run(function() {
584
- if(!self || self.get('isDestroyed')) return;
585
- self.set('needsFlush', YES);
586
- self._scq_changedStoreKeys = SC.IndexSet.create().addEach(storeKeysToPace);
587
- self.flush();
588
- });
589
- }, 1);
578
+ if (storeKeysToPace.length > 0) {
579
+ this.invokeNext(function () {
580
+ if (!this || this.get('isDestroyed')) return;
581
+ this.set('needsFlush', YES);
582
+ this._scq_changedStoreKeys = SC.IndexSet.create().addEach(storeKeysToPace);
583
+ this.flush();
584
+ });
590
585
  }
591
586
 
592
587
  // clear set of changed store keys
@@ -757,7 +752,7 @@ SC.RecordArray.mixin(/** @scope SC.RecordArray.prototype */{
757
752
  /**
758
753
  Number of milliseconds to allow a query matching to run for. If this number
759
754
  is exceeded, the query matching will be paced so as to not lock up the
760
- browser (by essentially splitting the work with a setTimeout)
755
+ browser (by essentially splitting the work with an invokeNext)
761
756
 
762
757
  @type Number
763
758
  */
@@ -84,13 +84,13 @@ SC.Store = SC.Object.extend( /** @scope SC.Store.prototype */ {
84
84
  @param {SC.DataSource|String} dataSource the data source
85
85
  @returns {SC.Store} receiver
86
86
  */
87
- from: function(dataSource) {
87
+ from: function (dataSource) {
88
88
  this.set('dataSource', dataSource);
89
89
  return this ;
90
90
  },
91
91
 
92
92
  // lazily convert data source to real object
93
- _getDataSource: function() {
93
+ _getDataSource: function () {
94
94
  var ret = this.get('dataSource');
95
95
  if (typeof ret === SC.T_STRING) {
96
96
  ret = SC.requiredObjectForPropertyPath(ret);
@@ -108,7 +108,7 @@ SC.Store = SC.Object.extend( /** @scope SC.Store.prototype */ {
108
108
  @param {SC.DataSource...} dataSource one or more data source arguments
109
109
  @returns {SC.Store} receiver
110
110
  */
111
- cascade: function(dataSource) {
111
+ cascade: function (dataSource) {
112
112
  var dataSources = SC.A(arguments) ;
113
113
  dataSource = SC.CascadeDataSource.create({
114
114
  dataSources: dataSources
@@ -134,7 +134,7 @@ SC.Store = SC.Object.extend( /** @scope SC.Store.prototype */ {
134
134
  @param {Class} newStoreClass optional the class of the newly-created nested store (defaults to SC.NestedStore)
135
135
  @returns {SC.NestedStore} new nested store chained to receiver
136
136
  */
137
- chain: function(attrs, newStoreClass) {
137
+ chain: function (attrs, newStoreClass) {
138
138
  if (!attrs) attrs = {};
139
139
  attrs.parentStore = this;
140
140
 
@@ -166,7 +166,7 @@ SC.Store = SC.Object.extend( /** @scope SC.Store.prototype */ {
166
166
 
167
167
  @returns {SC.Store} receiver
168
168
  */
169
- willDestroyNestedStore: function(nestedStore) {
169
+ willDestroyNestedStore: function (nestedStore) {
170
170
  if (this.nestedStores) {
171
171
  this.nestedStores.removeObject(nestedStore);
172
172
  }
@@ -180,7 +180,7 @@ SC.Store = SC.Object.extend( /** @scope SC.Store.prototype */ {
180
180
  @param {SC.Store} store store instance
181
181
  @returns {Boolean} YES if belongs
182
182
  */
183
- hasNestedStore: function(store) {
183
+ hasNestedStore: function (store) {
184
184
  while(store && (store !== this)) store = store.get('parentStore');
185
185
  return store === this ;
186
186
  },
@@ -293,7 +293,7 @@ SC.Store = SC.Object.extend( /** @scope SC.Store.prototype */ {
293
293
  @param {Number} storeKey the store key
294
294
  @returns {Number} edit status
295
295
  */
296
- storeKeyEditState: function(storeKey) {
296
+ storeKeyEditState: function (storeKey) {
297
297
  var editables = this.editables, locks = this.locks;
298
298
  return (editables && editables[storeKey]) ? SC.Store.EDITABLE : SC.Store.LOCKED ;
299
299
  },
@@ -306,7 +306,7 @@ SC.Store = SC.Object.extend( /** @scope SC.Store.prototype */ {
306
306
  @param {Number} storeKey key to retrieve
307
307
  @returns {Hash} data hash or null
308
308
  */
309
- readDataHash: function(storeKey) {
309
+ readDataHash: function (storeKey) {
310
310
  return this.dataHashes[storeKey];
311
311
  },
312
312
 
@@ -321,7 +321,7 @@ SC.Store = SC.Object.extend( /** @scope SC.Store.prototype */ {
321
321
  @param {Number} storeKey the store key to retrieve
322
322
  @returns {Hash} the attributes hash
323
323
  */
324
- readEditableDataHash: function(storeKey) {
324
+ readEditableDataHash: function (storeKey) {
325
325
  // read the value - if there is no hash just return; nothing to do
326
326
  var ret = this.dataHashes[storeKey];
327
327
  if (!ret) return ret ; // nothing to do.
@@ -346,7 +346,7 @@ SC.Store = SC.Object.extend( /** @scope SC.Store.prototype */ {
346
346
  @param {String} propertyName property to read
347
347
  @returns {Object} editable property value
348
348
  */
349
- readEditableProperty: function(storeKey, propertyName) {
349
+ readEditableProperty: function (storeKey, propertyName) {
350
350
  var hash = this.readEditableDataHash(storeKey),
351
351
  editables = this.editables[storeKey], // get editable info...
352
352
  ret = hash[propertyName];
@@ -382,7 +382,7 @@ SC.Store = SC.Object.extend( /** @scope SC.Store.prototype */ {
382
382
  @param {String} status the new hash status
383
383
  @returns {SC.Store} receiver
384
384
  */
385
- writeDataHash: function(storeKey, hash, status) {
385
+ writeDataHash: function (storeKey, hash, status) {
386
386
 
387
387
  // update dataHashes and optionally status.
388
388
  if (hash) this.dataHashes[storeKey] = hash;
@@ -418,7 +418,7 @@ SC.Store = SC.Object.extend( /** @scope SC.Store.prototype */ {
418
418
  @param {String} status optional new status
419
419
  @returns {SC.Store} receiver
420
420
  */
421
- removeDataHash: function(storeKey, status) {
421
+ removeDataHash: function (storeKey, status) {
422
422
  // don't use delete -- that will allow parent dataHash to come through
423
423
  this.dataHashes[storeKey] = null;
424
424
  this.statuses[storeKey] = status || SC.Record.EMPTY;
@@ -437,7 +437,7 @@ SC.Store = SC.Object.extend( /** @scope SC.Store.prototype */ {
437
437
  @param {Number} storeKey the store key
438
438
  @returns {Number} status
439
439
  */
440
- readStatus: function(storeKey) {
440
+ readStatus: function (storeKey) {
441
441
  // use readDataHash to handle optimistic locking. this could be inlined
442
442
  // but for now this minimized copy-and-paste code.
443
443
  this.readDataHash(storeKey);
@@ -452,7 +452,7 @@ SC.Store = SC.Object.extend( /** @scope SC.Store.prototype */ {
452
452
  @param {Number} storeKey the store key
453
453
  @returns {Number} status
454
454
  */
455
- peekStatus: function(storeKey) {
455
+ peekStatus: function (storeKey) {
456
456
  return this.statuses[storeKey] || SC.Record.EMPTY;
457
457
  },
458
458
 
@@ -466,7 +466,7 @@ SC.Store = SC.Object.extend( /** @scope SC.Store.prototype */ {
466
466
  @param {SC.Error} error optional error object
467
467
  @returns {SC.Store} receiver
468
468
  */
469
- writeStatus: function(storeKey, newStatus) {
469
+ writeStatus: function (storeKey, newStatus) {
470
470
  // use writeDataHash for now to handle optimistic lock. maximize code
471
471
  // reuse.
472
472
  return this.writeDataHash(storeKey, null, newStatus);
@@ -484,7 +484,7 @@ SC.Store = SC.Object.extend( /** @scope SC.Store.prototype */ {
484
484
  @param {String} key that changed (optional)
485
485
  @returns {SC.Store} receiver
486
486
  */
487
- dataHashDidChange: function(storeKeys, rev, statusOnly, key) {
487
+ dataHashDidChange: function (storeKeys, rev, statusOnly, key) {
488
488
 
489
489
  // update the revision for storeKey. Use generateStoreKey() because that
490
490
  // guarantees a universally (to this store hierarchy anyway) unique
@@ -506,7 +506,7 @@ SC.Store = SC.Object.extend( /** @scope SC.Store.prototype */ {
506
506
  this.revisions[storeKey] = rev;
507
507
  this._notifyRecordPropertyChange(storeKey, statusOnly, key);
508
508
 
509
- this._propagateToChildren(storeKey, function(storeKey){
509
+ this._propagateToChildren(storeKey, function (storeKey) {
510
510
  that.dataHashDidChange(storeKey, null, statusOnly, key);
511
511
  });
512
512
  }
@@ -518,7 +518,7 @@ SC.Store = SC.Object.extend( /** @scope SC.Store.prototype */ {
518
518
  Will push all changes to a the recordPropertyChanges property
519
519
  and execute `flush()` once at the end of the runloop.
520
520
  */
521
- _notifyRecordPropertyChange: function(storeKey, statusOnly, key) {
521
+ _notifyRecordPropertyChange: function (storeKey, statusOnly, key) {
522
522
 
523
523
  var records = this.records,
524
524
  nestedStores = this.get('nestedStores'),
@@ -599,7 +599,7 @@ SC.Store = SC.Object.extend( /** @scope SC.Store.prototype */ {
599
599
 
600
600
  @returns {SC.Store} receiver
601
601
  */
602
- flush: function() {
602
+ flush: function () {
603
603
  if (!this.recordPropertyChanges) return this;
604
604
 
605
605
  var changes = this.recordPropertyChanges,
@@ -610,7 +610,7 @@ SC.Store = SC.Object.extend( /** @scope SC.Store.prototype */ {
610
610
  recordTypes = SC.CoreSet.create(),
611
611
  rec, recordType, statusOnly, idx, len, storeKey, keys;
612
612
 
613
- storeKeys.forEach(function(storeKey) {
613
+ storeKeys.forEach(function (storeKey) {
614
614
  if (records.contains(storeKey)) {
615
615
  statusOnly = hasDataChanges.contains(storeKey) ? NO : YES;
616
616
  rec = this.records[storeKey];
@@ -649,7 +649,7 @@ SC.Store = SC.Object.extend( /** @scope SC.Store.prototype */ {
649
649
 
650
650
  @returns {SC.Store} receiver
651
651
  */
652
- reset: function() {
652
+ reset: function () {
653
653
 
654
654
  // create a new empty data store
655
655
  this.dataHashes = {} ;
@@ -673,6 +673,16 @@ SC.Store = SC.Object.extend( /** @scope SC.Store.prototype */ {
673
673
  }
674
674
  }
675
675
 
676
+ // Also reset all pre-created recordArrays.
677
+ var ra, raList = this.get('recordArrays');
678
+ if (raList) {
679
+ while (ra = raList.pop()) {
680
+ ra.destroy();
681
+ }
682
+ raList.clear();
683
+ this.set('recordArrays', null);
684
+ }
685
+
676
686
  this.set('hasChanges', NO);
677
687
  },
678
688
 
@@ -692,7 +702,7 @@ SC.Store = SC.Object.extend( /** @scope SC.Store.prototype */ {
692
702
  @param {Boolean} force
693
703
  @returns {SC.Store} receiver
694
704
  */
695
- commitChangesFromNestedStore: function(nestedStore, changes, force) {
705
+ commitChangesFromNestedStore: function (nestedStore, changes, force) {
696
706
  // first, check for optimistic locking problems
697
707
  if (!force) this._verifyLockRevisions(changes, nestedStore.locks);
698
708
 
@@ -756,7 +766,7 @@ SC.Store = SC.Object.extend( /** @scope SC.Store.prototype */ {
756
766
  @param {SC.Set} locks the locks to verify
757
767
  @returns {SC.Store} receiver
758
768
  */
759
- _verifyLockRevisions: function(changes, locks) {
769
+ _verifyLockRevisions: function (changes, locks) {
760
770
  var len = changes.length, revs = this.revisions, i, storeKey, lock, rev ;
761
771
  if (locks && revs) {
762
772
  for(i=0;i<len;i++) {
@@ -838,7 +848,7 @@ SC.Store = SC.Object.extend( /** @scope SC.Store.prototype */ {
838
848
  @param {String} id the id to load
839
849
  @returns {SC.Record} record instance or null
840
850
  */
841
- find: function(recordType, id) {
851
+ find: function (recordType, id) {
842
852
 
843
853
  // if recordType is passed as string, find object
844
854
  if (SC.typeOf(recordType)===SC.T_STRING) {
@@ -859,29 +869,8 @@ SC.Store = SC.Object.extend( /** @scope SC.Store.prototype */ {
859
869
  }
860
870
  },
861
871
 
862
- /** @private
863
- DEPRECATED used find() instead.
864
-
865
- This method will accept a record type or query and return a record array
866
- matching the results. This method was commonly used prior to SproutCore
867
- 1.0. It has been deprecated in favor of a single `find()` method instead.
868
-
869
- For compatibility, this method will continue to work in SproutCore 1.0 but
870
- it will raise a warning. It will be removed in a future version of
871
- SproutCore.
872
- */
873
- findAll: function(recordType, conditions, params) {
874
- SC.Logger.warn("SC.Store#findAll() will be removed in a future version of SproutCore. Use SC.Store#find() instead");
875
-
876
- if (!recordType || !recordType.isQuery) {
877
- recordType = SC.Query.local(recordType, conditions, params);
878
- }
879
-
880
- return this._findQuery(recordType, YES, YES);
881
- },
882
-
883
-
884
- _findQuery: function(query, createIfNeeded, refreshIfNew) {
872
+ /** @private */
873
+ _findQuery: function (query, createIfNeeded, refreshIfNew) {
885
874
 
886
875
  // lookup the local RecordArray for this query.
887
876
  var cache = this._scst_recordArraysByQuery,
@@ -906,7 +895,8 @@ SC.Store = SC.Object.extend( /** @scope SC.Store.prototype */ {
906
895
  return ret ;
907
896
  },
908
897
 
909
- _findRecord: function(recordType, id) {
898
+ /** @private */
899
+ _findRecord: function (recordType, id) {
910
900
 
911
901
  var storeKey ;
912
902
 
@@ -942,7 +932,7 @@ SC.Store = SC.Object.extend( /** @scope SC.Store.prototype */ {
942
932
  @param {SC.RecordArray} recordArray the record array
943
933
  @returns {SC.Store} receiver
944
934
  */
945
- recordArrayWillDestroy: function(recordArray) {
935
+ recordArrayWillDestroy: function (recordArray) {
946
936
  var cache = this._scst_recordArraysByQuery,
947
937
  set = this.get('recordArrays');
948
938
 
@@ -962,7 +952,7 @@ SC.Store = SC.Object.extend( /** @scope SC.Store.prototype */ {
962
952
  @param {SC.Query} query the record array query to refresh
963
953
  @returns {SC.Store} receiver
964
954
  */
965
- refreshQuery: function(query) {
955
+ refreshQuery: function (query) {
966
956
  if (!query) throw new Error("refreshQuery() requires a query");
967
957
 
968
958
  var cache = this._scst_recordArraysByQuery,
@@ -978,18 +968,18 @@ SC.Store = SC.Object.extend( /** @scope SC.Store.prototype */ {
978
968
  },
979
969
 
980
970
  /** @private
981
- Will ask all record arrays that have been returned from `findAll`
971
+ Will ask all record arrays that have been returned from `find`
982
972
  with an `SC.Query` to check their arrays with the new `storeKey`s
983
973
 
984
974
  @param {SC.IndexSet} storeKeys set of storeKeys that changed
985
975
  @param {SC.Set} recordTypes
986
976
  @returns {SC.Store} receiver
987
977
  */
988
- _notifyRecordArrays: function(storeKeys, recordTypes) {
978
+ _notifyRecordArrays: function (storeKeys, recordTypes) {
989
979
  var recordArrays = this.get('recordArrays');
990
980
  if (!recordArrays) return this;
991
981
 
992
- recordArrays.forEach(function(recArray) {
982
+ recordArrays.forEach(function (recArray) {
993
983
  if (recArray) recArray.storeDidChangeStoreKeys(storeKeys, recordTypes);
994
984
  }, this);
995
985
 
@@ -1010,7 +1000,7 @@ SC.Store = SC.Object.extend( /** @scope SC.Store.prototype */ {
1010
1000
  @param {SC.Record} recordType the record type
1011
1001
  @returns {SC.Array} array instance - usually SC.RecordArray
1012
1002
  */
1013
- recordsFor: function(recordType) {
1003
+ recordsFor: function (recordType) {
1014
1004
  var storeKeys = [],
1015
1005
  storeKeysById = recordType.storeKeysById(),
1016
1006
  id, storeKey, ret;
@@ -1029,6 +1019,7 @@ SC.Store = SC.Object.extend( /** @scope SC.Store.prototype */ {
1029
1019
  return ret ;
1030
1020
  },
1031
1021
 
1022
+ /** @private */
1032
1023
  _TMP_REC_ATTRS: {},
1033
1024
 
1034
1025
  /**
@@ -1044,7 +1035,7 @@ SC.Store = SC.Object.extend( /** @scope SC.Store.prototype */ {
1044
1035
  @param {Number} storeKey The storeKey for the dataHash.
1045
1036
  @returns {SC.Record} Returns a record instance.
1046
1037
  */
1047
- materializeRecord: function(storeKey) {
1038
+ materializeRecord: function (storeKey) {
1048
1039
  var records = this.records, ret, recordType, attrs;
1049
1040
 
1050
1041
  // look up in cached records
@@ -1107,7 +1098,7 @@ SC.Store = SC.Object.extend( /** @scope SC.Store.prototype */ {
1107
1098
 
1108
1099
  @returns {SC.Record} Returns the created record
1109
1100
  */
1110
- createRecord: function(recordType, dataHash, id) {
1101
+ createRecord: function (recordType, dataHash, id) {
1111
1102
  var primaryKey, prototype, storeKey, status, K = SC.Record, changelog, defaultVal, ret;
1112
1103
 
1113
1104
  //initialize dataHash if necessary
@@ -1215,7 +1206,7 @@ SC.Store = SC.Object.extend( /** @scope SC.Store.prototype */ {
1215
1206
  @param {Array} ids (optional) ids to assign to records
1216
1207
  @returns {Array} array of materialized record instances.
1217
1208
  */
1218
- createRecords: function(recordTypes, dataHashes, ids) {
1209
+ createRecords: function (recordTypes, dataHashes, ids) {
1219
1210
  var ret = [], recordType, id, isArray, len = dataHashes.length, idx ;
1220
1211
  isArray = SC.typeOf(recordTypes) === SC.T_ARRAY;
1221
1212
  if (!isArray) recordType = recordTypes;
@@ -1239,7 +1230,7 @@ SC.Store = SC.Object.extend( /** @scope SC.Store.prototype */ {
1239
1230
  @param {Number} storeKey (optional) if passed, ignores recordType and id
1240
1231
  @returns {SC.Store} receiver
1241
1232
  */
1242
- unloadRecord: function(recordType, id, storeKey, newStatus) {
1233
+ unloadRecord: function (recordType, id, storeKey, newStatus) {
1243
1234
  if (storeKey === undefined) storeKey = recordType.storeKeyFor(id);
1244
1235
  var status = this.readStatus(storeKey), K = SC.Record;
1245
1236
  newStatus = newStatus || K.EMPTY;
@@ -1260,7 +1251,7 @@ SC.Store = SC.Object.extend( /** @scope SC.Store.prototype */ {
1260
1251
 
1261
1252
  // Handle all the child Records
1262
1253
  var that = this;
1263
- this._propagateToChildren(storeKey, function(storeKey){
1254
+ this._propagateToChildren(storeKey, function (storeKey) {
1264
1255
  that.unloadRecord(null, null, storeKey, newStatus);
1265
1256
  });
1266
1257
 
@@ -1287,7 +1278,7 @@ SC.Store = SC.Object.extend( /** @scope SC.Store.prototype */ {
1287
1278
  @param {Array} storeKeys (optional) store keys to unload
1288
1279
  @returns {SC.Store} receiver
1289
1280
  */
1290
- unloadRecords: function(recordTypes, ids, storeKeys, newStatus) {
1281
+ unloadRecords: function (recordTypes, ids, storeKeys, newStatus) {
1291
1282
  var len, isArray, idx, id, recordType, storeKey;
1292
1283
 
1293
1284
  if (storeKeys === undefined) {
@@ -1330,7 +1321,7 @@ SC.Store = SC.Object.extend( /** @scope SC.Store.prototype */ {
1330
1321
  @param {Number} storeKey (optional) if passed, ignores recordType and id
1331
1322
  @returns {SC.Store} receiver
1332
1323
  */
1333
- destroyRecord: function(recordType, id, storeKey) {
1324
+ destroyRecord: function (recordType, id, storeKey) {
1334
1325
  if (storeKey === undefined) storeKey = recordType.storeKeyFor(id);
1335
1326
  var status = this.readStatus(storeKey), changelog, K = SC.Record;
1336
1327
 
@@ -1346,9 +1337,10 @@ SC.Store = SC.Object.extend( /** @scope SC.Store.prototype */ {
1346
1337
  } else if (status & K.BUSY) {
1347
1338
  throw K.BUSY_ERROR ;
1348
1339
 
1349
- // if new status, destroy but leave in clean state
1340
+ // if new status, destroy in clean state
1350
1341
  } else if (status === K.READY_NEW) {
1351
1342
  status = K.DESTROYED_CLEAN ;
1343
+ this.removeDataHash(storeKey, status) ;
1352
1344
 
1353
1345
  // otherwise, destroy in dirty state
1354
1346
  } else status = K.DESTROYED_DIRTY ;
@@ -1370,7 +1362,7 @@ SC.Store = SC.Object.extend( /** @scope SC.Store.prototype */ {
1370
1362
  }
1371
1363
 
1372
1364
  var that = this;
1373
- this._propagateToChildren(storeKey, function(storeKey){
1365
+ this._propagateToChildren(storeKey, function (storeKey){
1374
1366
  that.destroyRecord(null, null, storeKey);
1375
1367
  });
1376
1368
 
@@ -1397,7 +1389,7 @@ SC.Store = SC.Object.extend( /** @scope SC.Store.prototype */ {
1397
1389
  @param {Array} storeKeys (optional) store keys to destroy
1398
1390
  @returns {SC.Store} receiver
1399
1391
  */
1400
- destroyRecords: function(recordTypes, ids, storeKeys) {
1392
+ destroyRecords: function (recordTypes, ids, storeKeys) {
1401
1393
  var len, isArray, idx, id, recordType, storeKey;
1402
1394
  if(storeKeys===undefined){
1403
1395
  len = ids.length;
@@ -1421,43 +1413,46 @@ SC.Store = SC.Object.extend( /** @scope SC.Store.prototype */ {
1421
1413
  /**
1422
1414
  register a Child Record to the parent
1423
1415
  */
1424
- registerChildToParent: function(parentStoreKey, childStoreKey, path){
1425
- var prs, crs, oldPk, oldChildren, pkRef;
1416
+ registerChildToParent: function (parentStoreKey, childStoreKey, path) {
1417
+ var parentRecords, childRecords, oldPk, oldChildren, pkRef;
1418
+
1426
1419
  // Check the child to see if it has a parent
1427
- crs = this.childRecords || {};
1428
- prs = this.parentRecords || {};
1420
+ childRecords = this.childRecords || {};
1421
+ parentRecords = this.parentRecords || {};
1422
+
1429
1423
  // first rid of the old parent
1430
- oldPk = crs[childStoreKey];
1431
- if (oldPk){
1432
- oldChildren = prs[oldPk];
1424
+ oldPk = childRecords[childStoreKey];
1425
+ if (oldPk) {
1426
+ oldChildren = parentRecords[oldPk];
1433
1427
  delete oldChildren[childStoreKey];
1434
1428
  // this.recordDidChange(null, null, oldPk, key);
1435
1429
  }
1436
- pkRef = prs[parentStoreKey] || {};
1430
+ pkRef = parentRecords[parentStoreKey] || {};
1437
1431
  pkRef[childStoreKey] = path || YES;
1438
- prs[parentStoreKey] = pkRef;
1439
- crs[childStoreKey] = parentStoreKey;
1432
+ parentRecords[parentStoreKey] = pkRef;
1433
+ childRecords[childStoreKey] = parentStoreKey;
1434
+
1440
1435
  // sync the status of the child
1441
1436
  this.writeStatus(childStoreKey, this.statuses[parentStoreKey]);
1442
- this.childRecords = crs;
1443
- this.parentRecords = prs;
1437
+ this.childRecords = childRecords;
1438
+ this.parentRecords = parentRecords;
1444
1439
  },
1445
1440
 
1446
1441
  /**
1447
1442
  Unregister the Child Record from its Parent. This will cause the Child
1448
1443
  Record to be removed from the store.
1449
1444
  */
1450
- unregisterChildFromParent: function(childStoreKey) {
1451
- var crs, oldPk;
1445
+ unregisterChildFromParent: function (childStoreKey) {
1446
+ var childRecords, oldPk;
1452
1447
 
1453
1448
  // Check the child to see if it has a parent
1454
- crs = this.childRecords;
1449
+ childRecords = this.childRecords;
1455
1450
 
1456
1451
  // Remove the parent's connection to the child. This doesn't remove the
1457
1452
  // parent store key from the cache of parent store keys if the parent
1458
1453
  // no longer has any other registered children, because the amount of effort
1459
1454
  // to determine that would not be worth the miniscule memory savings.
1460
- oldPk = crs[childStoreKey];
1455
+ oldPk = childRecords[childStoreKey];
1461
1456
  if (oldPk) {
1462
1457
  delete this.parentRecords[oldPk][childStoreKey];
1463
1458
  }
@@ -1468,13 +1463,13 @@ SC.Store = SC.Object.extend( /** @scope SC.Store.prototype */ {
1468
1463
  // 3. from the cache of child record store keys
1469
1464
  this.removeDataHash(childStoreKey);
1470
1465
  delete this.records[childStoreKey];
1471
- delete crs[childStoreKey];
1466
+ delete childRecords[childStoreKey];
1472
1467
  },
1473
1468
 
1474
1469
  /**
1475
1470
  materialize the parent when passing in a store key for the child
1476
1471
  */
1477
- materializeParentRecord: function(childStoreKey){
1472
+ materializeParentRecord: function (childStoreKey){
1478
1473
  var pk, crs;
1479
1474
  if (SC.none(childStoreKey)) return null;
1480
1475
  crs = this.childRecords;
@@ -1489,7 +1484,7 @@ SC.Store = SC.Object.extend( /** @scope SC.Store.prototype */ {
1489
1484
 
1490
1485
  @param {Number} storeKey The store key of the parent
1491
1486
  */
1492
- parentStoreKeyExists: function(storeKey){
1487
+ parentStoreKeyExists: function (storeKey){
1493
1488
  if (SC.none(storeKey)) return ;
1494
1489
  var crs = this.childRecords || {};
1495
1490
  return crs[storeKey];
@@ -1498,7 +1493,7 @@ SC.Store = SC.Object.extend( /** @scope SC.Store.prototype */ {
1498
1493
  /**
1499
1494
  function that propagates a function call to all children
1500
1495
  */
1501
- _propagateToChildren: function(storeKey, func){
1496
+ _propagateToChildren: function (storeKey, func) {
1502
1497
  // Handle all the child Records
1503
1498
  if ( SC.none(this.parentRecords) ) return;
1504
1499
  var children = this.parentRecords[storeKey] || {};
@@ -1522,7 +1517,7 @@ SC.Store = SC.Object.extend( /** @scope SC.Store.prototype */ {
1522
1517
  @param {Boolean} if the change is to statusOnly (optional)
1523
1518
  @returns {SC.Store} receiver
1524
1519
  */
1525
- recordDidChange: function(recordType, id, storeKey, key, statusOnly) {
1520
+ recordDidChange: function (recordType, id, storeKey, key, statusOnly) {
1526
1521
  if (storeKey === undefined) storeKey = recordType.storeKeyFor(id);
1527
1522
  var status = this.readStatus(storeKey), changelog, K = SC.Record;
1528
1523
 
@@ -1579,7 +1574,7 @@ SC.Store = SC.Object.extend( /** @scope SC.Store.prototype */ {
1579
1574
  @param {Array} storeKeys (optional) store keys to destroy
1580
1575
  @returns {SC.Store} receiver
1581
1576
  */
1582
- recordsDidChange: function(recordTypes, ids, storeKeys) {
1577
+ recordsDidChange: function (recordTypes, ids, storeKeys) {
1583
1578
  var len, isArray, idx, id, recordType, storeKey;
1584
1579
  if(storeKeys===undefined){
1585
1580
  len = ids.length;
@@ -1619,7 +1614,7 @@ SC.Store = SC.Object.extend( /** @scope SC.Store.prototype */ {
1619
1614
  @param {Function|Array} callback function or array of functions
1620
1615
  @returns {Array} storeKeys to be retrieved
1621
1616
  */
1622
- retrieveRecords: function(recordTypes, ids, storeKeys, isRefresh, callbacks) {
1617
+ retrieveRecords: function (recordTypes, ids, storeKeys, isRefresh, callbacks) {
1623
1618
 
1624
1619
  var source = this._getDataSource(),
1625
1620
  isArray = SC.typeOf(recordTypes) === SC.T_ARRAY,
@@ -1711,7 +1706,7 @@ SC.Store = SC.Object.extend( /** @scope SC.Store.prototype */ {
1711
1706
  @private
1712
1707
  stores the callbacks for the storeKeys that are inflight
1713
1708
  **/
1714
- _setCallbackForStoreKey: function(storeKey, callback, hasCallbackArray, storeKeys){
1709
+ _setCallbackForStoreKey: function (storeKey, callback, hasCallbackArray, storeKeys){
1715
1710
  var queue = this._callback_queue;
1716
1711
  if(hasCallbackArray) queue[storeKey] = {callback: callback, otherKeys: storeKeys};
1717
1712
  else queue[storeKey] = callback;
@@ -1721,7 +1716,7 @@ SC.Store = SC.Object.extend( /** @scope SC.Store.prototype */ {
1721
1716
  retreives and calls callback for `storkey` if exists
1722
1717
  also handles if a single callback is need for one key
1723
1718
  **/
1724
- _retreiveCallbackForStoreKey: function(storeKey){
1719
+ _retreiveCallbackForStoreKey: function (storeKey){
1725
1720
  var queue = this._callback_queue,
1726
1721
  callback = queue[storeKey],
1727
1722
  allFinished, keys;
@@ -1733,13 +1728,13 @@ SC.Store = SC.Object.extend( /** @scope SC.Store.prototype */ {
1733
1728
  else if(SC.typeOf(callback) == SC.T_HASH){
1734
1729
  callback.completed = YES;
1735
1730
  keys = callback.storeKeys;
1736
- keys.forEach(function(key){
1731
+ keys.forEach(function (key){
1737
1732
  if(!queue[key].completed) allFinished = YES;
1738
1733
  });
1739
1734
  if(allFinished){
1740
1735
  callback.callback.call(); // args?
1741
1736
  //cleanup
1742
- keys.forEach(function(key){
1737
+ keys.forEach(function (key){
1743
1738
  delete queue[key];
1744
1739
  });
1745
1740
  }
@@ -1752,7 +1747,7 @@ SC.Store = SC.Object.extend( /** @scope SC.Store.prototype */ {
1752
1747
  @private
1753
1748
 
1754
1749
  */
1755
- _cancelCallback: function(storeKey){
1750
+ _cancelCallback: function (storeKey){
1756
1751
  var queue = this._callback_queue;
1757
1752
  if(queue[storeKey]){
1758
1753
  delete queue[storeKey];
@@ -1778,7 +1773,7 @@ SC.Store = SC.Object.extend( /** @scope SC.Store.prototype */ {
1778
1773
  @param {Function} callback (optional)
1779
1774
  @returns {Number} storeKey that was retrieved
1780
1775
  */
1781
- retrieveRecord: function(recordType, id, storeKey, isRefresh, callback) {
1776
+ retrieveRecord: function (recordType, id, storeKey, isRefresh, callback) {
1782
1777
  var array = this._TMP_RETRIEVE_ARRAY,
1783
1778
  ret;
1784
1779
 
@@ -1807,7 +1802,7 @@ SC.Store = SC.Object.extend( /** @scope SC.Store.prototype */ {
1807
1802
  @param {Function} callback (optional) when refresh completes
1808
1803
  @returns {Boolean} YES if the retrieval was a success.
1809
1804
  */
1810
- refreshRecord: function(recordType, id, storeKey, callback) {
1805
+ refreshRecord: function (recordType, id, storeKey, callback) {
1811
1806
  return !!this.retrieveRecord(recordType, id, storeKey, YES, callback);
1812
1807
  },
1813
1808
 
@@ -1822,7 +1817,7 @@ SC.Store = SC.Object.extend( /** @scope SC.Store.prototype */ {
1822
1817
  @param {Function} callback (optional) when refresh completes
1823
1818
  @returns {Boolean} YES if the retrieval was a success.
1824
1819
  */
1825
- refreshRecords: function(recordTypes, ids, storeKeys, callback) {
1820
+ refreshRecords: function (recordTypes, ids, storeKeys, callback) {
1826
1821
  var ret = this.retrieveRecords(recordTypes, ids, storeKeys, YES, callback);
1827
1822
  return ret && ret.length>0;
1828
1823
  },
@@ -1844,7 +1839,7 @@ SC.Store = SC.Object.extend( /** @scope SC.Store.prototype */ {
1844
1839
 
1845
1840
  @returns {Boolean} if the action was succesful.
1846
1841
  */
1847
- commitRecords: function(recordTypes, ids, storeKeys, params, callbacks) {
1842
+ commitRecords: function (recordTypes, ids, storeKeys, params, callbacks) {
1848
1843
  var source = this._getDataSource(),
1849
1844
  isArray = SC.typeOf(recordTypes) === SC.T_ARRAY,
1850
1845
  hasCallbackArray = SC.typeOf(callbacks) === SC.T_ARRAY,
@@ -1939,7 +1934,7 @@ SC.Store = SC.Object.extend( /** @scope SC.Store.prototype */ {
1939
1934
  @param {Function|Array} callback function or array of functions
1940
1935
  @returns {Boolean} if the action was successful.
1941
1936
  */
1942
- commitRecord: function(recordType, id, storeKey, params, callback) {
1937
+ commitRecord: function (recordType, id, storeKey, params, callback) {
1943
1938
  var array = this._TMP_RETRIEVE_ARRAY,
1944
1939
  ret ;
1945
1940
  if (id === undefined && storeKey === undefined ) return NO;
@@ -1967,7 +1962,7 @@ SC.Store = SC.Object.extend( /** @scope SC.Store.prototype */ {
1967
1962
  @param {Array} storeKeys (optional) store keys to destroy
1968
1963
  @returns {SC.Store} the store.
1969
1964
  */
1970
- cancelRecords: function(recordTypes, ids, storeKeys) {
1965
+ cancelRecords: function (recordTypes, ids, storeKeys) {
1971
1966
  var source = this._getDataSource(),
1972
1967
  isArray = SC.typeOf(recordTypes) === SC.T_ARRAY,
1973
1968
  K = SC.Record,
@@ -2012,7 +2007,7 @@ SC.Store = SC.Object.extend( /** @scope SC.Store.prototype */ {
2012
2007
  @param {Array} storeKeys (optional) store keys to destroy
2013
2008
  @returns {SC.Store} the store.
2014
2009
  */
2015
- cancelRecord: function(recordType, id, storeKey) {
2010
+ cancelRecord: function (recordType, id, storeKey) {
2016
2011
  var array = this._TMP_RETRIEVE_ARRAY,
2017
2012
  ret ;
2018
2013
 
@@ -2055,7 +2050,7 @@ SC.Store = SC.Object.extend( /** @scope SC.Store.prototype */ {
2055
2050
  @param {Array} id optional. if not passed lookup on the hash
2056
2051
  @returns {String} store keys assigned to these id
2057
2052
  */
2058
- loadRecord: function(recordType, dataHash, id) {
2053
+ loadRecord: function (recordType, dataHash, id) {
2059
2054
  var K = SC.Record,
2060
2055
  ret, primaryKey, storeKey;
2061
2056
 
@@ -2101,7 +2096,7 @@ SC.Store = SC.Object.extend( /** @scope SC.Store.prototype */ {
2101
2096
  @param {Array} ids optional array of ids. if not passed lookup on hashes
2102
2097
  @returns {Array} store keys assigned to these ids
2103
2098
  */
2104
- loadRecords: function(recordTypes, dataHashes, ids) {
2099
+ loadRecords: function (recordTypes, dataHashes, ids) {
2105
2100
  var isArray = SC.typeOf(recordTypes) === SC.T_ARRAY,
2106
2101
  len = dataHashes.get('length'),
2107
2102
  ret = [],
@@ -2137,7 +2132,7 @@ SC.Store = SC.Object.extend( /** @scope SC.Store.prototype */ {
2137
2132
 
2138
2133
  @returns {SC.Error} SC.Error or undefined if no error associated with the record.
2139
2134
  */
2140
- readError: function(storeKey) {
2135
+ readError: function (storeKey) {
2141
2136
  var errors = this.recordErrors ;
2142
2137
  return errors ? errors[storeKey] : undefined ;
2143
2138
  },
@@ -2149,7 +2144,7 @@ SC.Store = SC.Object.extend( /** @scope SC.Store.prototype */ {
2149
2144
 
2150
2145
  @returns {SC.Error} SC.Error or undefined if no error associated with the query.
2151
2146
  */
2152
- readQueryError: function(query) {
2147
+ readQueryError: function (query) {
2153
2148
  var errors = this.queryErrors ;
2154
2149
  return errors ? errors[SC.guidFor(query)] : undefined ;
2155
2150
  },
@@ -2166,7 +2161,7 @@ SC.Store = SC.Object.extend( /** @scope SC.Store.prototype */ {
2166
2161
  @param {Number} storeKey record store key to cancel
2167
2162
  @returns {SC.Store} receiver
2168
2163
  */
2169
- dataSourceDidCancel: function(storeKey) {
2164
+ dataSourceDidCancel: function (storeKey) {
2170
2165
  var status = this.readStatus(storeKey),
2171
2166
  K = SC.Record;
2172
2167
 
@@ -2222,7 +2217,7 @@ SC.Store = SC.Object.extend( /** @scope SC.Store.prototype */ {
2222
2217
  @param {Object} newId optional new id to replace the old one
2223
2218
  @returns {SC.Store} receiver
2224
2219
  */
2225
- dataSourceDidComplete: function(storeKey, dataHash, newId) {
2220
+ dataSourceDidComplete: function (storeKey, dataHash, newId) {
2226
2221
  var status = this.readStatus(storeKey), K = SC.Record, statusOnly;
2227
2222
 
2228
2223
  // EMPTY, ERROR, READY_CLEAN, READY_NEW, READY_DIRTY, DESTROYED_CLEAN,
@@ -2261,7 +2256,7 @@ SC.Store = SC.Object.extend( /** @scope SC.Store.prototype */ {
2261
2256
  @param {Number} storeKey record store key to cancel
2262
2257
  @returns {SC.Store} receiver
2263
2258
  */
2264
- dataSourceDidDestroy: function(storeKey) {
2259
+ dataSourceDidDestroy: function (storeKey) {
2265
2260
  var status = this.readStatus(storeKey), K = SC.Record;
2266
2261
 
2267
2262
  // EMPTY, ERROR, READY_CLEAN, READY_NEW, READY_DIRTY, DESTROYED_CLEAN,
@@ -2294,7 +2289,7 @@ SC.Store = SC.Object.extend( /** @scope SC.Store.prototype */ {
2294
2289
  @param {SC.Error} error [optional] an SC.Error instance to associate with storeKey
2295
2290
  @returns {SC.Store} receiver
2296
2291
  */
2297
- dataSourceDidError: function(storeKey, error) {
2292
+ dataSourceDidError: function (storeKey, error) {
2298
2293
  var status = this.readStatus(storeKey), errors = this.recordErrors, K = SC.Record;
2299
2294
 
2300
2295
  // EMPTY, ERROR, READY_CLEAN, READY_NEW, READY_DIRTY, DESTROYED_CLEAN,
@@ -2337,15 +2332,15 @@ SC.Store = SC.Object.extend( /** @scope SC.Store.prototype */ {
2337
2332
  @param {Number} storeKey optional store key.
2338
2333
  @returns {Number|Boolean} storeKey if push was allowed, NO if not
2339
2334
  */
2340
- pushRetrieve: function(recordType, id, dataHash, storeKey) {
2335
+ pushRetrieve: function (recordType, id, dataHash, storeKey) {
2341
2336
  var K = SC.Record, status;
2342
2337
 
2343
- if(storeKey===undefined) storeKey = recordType.storeKeyFor(id);
2338
+ if (storeKey === undefined) storeKey = recordType.storeKeyFor(id);
2344
2339
  status = this.readStatus(storeKey);
2345
- if(status==K.EMPTY || status==K.ERROR || status==K.READY_CLEAN || status==K.DESTROYED_CLEAN) {
2340
+ if (status == K.EMPTY || status == K.ERROR || status == K.READY_CLEAN || status == K.DESTROYED_CLEAN) {
2346
2341
 
2347
2342
  status = K.READY_CLEAN;
2348
- if(dataHash===undefined) this.writeStatus(storeKey, status) ;
2343
+ if (dataHash === undefined) this.writeStatus(storeKey, status) ;
2349
2344
  else this.writeDataHash(storeKey, dataHash, status) ;
2350
2345
 
2351
2346
  if (id && this.idFor(storeKey) !== id) SC.Store.replaceIdFor(storeKey, id);
@@ -2366,7 +2361,7 @@ SC.Store = SC.Object.extend( /** @scope SC.Store.prototype */ {
2366
2361
  @param {Number} storeKey optional store key.
2367
2362
  @returns {Number|Boolean} storeKey if push was allowed, NO if not
2368
2363
  */
2369
- pushDestroy: function(recordType, id, storeKey) {
2364
+ pushDestroy: function (recordType, id, storeKey) {
2370
2365
  var K = SC.Record, status;
2371
2366
 
2372
2367
  if(storeKey===undefined){
@@ -2393,7 +2388,7 @@ SC.Store = SC.Object.extend( /** @scope SC.Store.prototype */ {
2393
2388
  @param {Number} storeKey optional store key.
2394
2389
  @returns {Number|Boolean} storeKey if push was allowed, NO if not
2395
2390
  */
2396
- pushError: function(recordType, id, error, storeKey) {
2391
+ pushError: function (recordType, id, error, storeKey) {
2397
2392
  var K = SC.Record, status, errors = this.recordErrors;
2398
2393
 
2399
2394
  if(storeKey===undefined) storeKey = recordType.storeKeyFor(id);
@@ -2425,53 +2420,81 @@ SC.Store = SC.Object.extend( /** @scope SC.Store.prototype */ {
2425
2420
  // stores. This is why these methods are implemented here instead of
2426
2421
  // directly on `Query` or `RecordArray` objects.
2427
2422
 
2428
- /**
2429
- Sets the passed array of storeKeys as the new data for the query. You
2430
- can call this at any time for a remote query to update its content. If
2431
- you want to use incremental loading, then pass a `SparseArray` object.
2432
-
2433
- If the query you pass is not a REMOTE query, then this method will raise
2434
- an exception. This will also implicitly transition the query state to
2435
- `SC.Record.READY`.
2436
-
2437
- If you called `loadRecords()` before to load the actual content, you can
2438
- call this method with the return value of that method to actually set the
2439
- storeKeys on the result.
2423
+ /** @deprecated
2440
2424
 
2441
2425
  @param {SC.Query} query the query you are loading. must be remote.
2442
2426
  @param {SC.Array} storeKeys array of store keys
2443
2427
  @returns {SC.Store} receiver
2444
2428
  */
2445
- loadQueryResults: function(query, storeKeys) {
2429
+ loadQueryResults: function (query, storeKeys) {
2430
+ //@if(debug)
2446
2431
  if (query.get('location') === SC.Query.LOCAL) {
2447
- throw new Error("Cannot load query results for a local query");
2432
+ throw new Error("Developer Error: You should not call loadQueryResults with a local query. You need to use dataSourceDidFetchQuery instead.");
2433
+ } else {
2434
+ SC.warn("Developer Warning: loadQueryResults has been deprecated in favor of using dataSourceDidFetchQuery for both local and remote queries. With remote queries, include the store keys when calling dataSourceDidFetchQuery.");
2448
2435
  }
2436
+ //@endif
2449
2437
 
2450
- var recArray = this._findQuery(query, YES, NO);
2451
- if (recArray) recArray.set('storeKeys', storeKeys);
2452
- this.dataSourceDidFetchQuery(query);
2453
-
2454
- return this ;
2438
+ return this.dataSourceDidFetchQuery(query, storeKeys);
2455
2439
  },
2456
2440
 
2457
2441
  /**
2458
2442
  Called by your data source whenever you finish fetching the results of a
2459
- query. This will put the query into a READY state if it was loading.
2443
+ query. This will put the record array for the query into a READY_CLEAN
2444
+ state if it was previously loading or refreshing.
2445
+
2446
+ # Handling REMOTE queries
2447
+
2448
+ Note that if the query is REMOTE, then you must first load the results
2449
+ into the store using `loadRecords()` and pass the ordered array of store
2450
+ keys returned by `loadRecords()` into this method.
2451
+
2452
+ For example,
2453
+
2454
+ storeKeys = store.loadRecords(body.contacts);
2455
+ store.dataSourceDidFetchQuery(query, storeKeys);
2456
+
2457
+ # Automatic updates
2458
+
2459
+ When you call this method the record array for the query will notify that
2460
+ its contents have changed. If the query is LOCAL then the contents will
2461
+ update automatically to include any new records you added to the store.
2462
+ If the query is REMOTE the contents will update to be the ordered records
2463
+ for the passed in store keys.
2460
2464
 
2461
- Note that if the query is a REMOTE query, then you must separately load
2462
- the results into the query using `loadQueryResults()`. If the query is
2463
- LOCAL, then the query will update automatically with any new records you
2464
- added to the store.
2465
+ # Incremental loading for REMOTE queries
2465
2466
 
2466
- @param {SC.Query} query the query you fetched
2467
+ If you want to support incremental loading, then pass an SC.SparseArray
2468
+ object to hold the store keys. This will allow you to load results
2469
+ incrementally and provide more store keys as you do.
2470
+
2471
+ See the SC.SparseArray documentation for more information.
2472
+
2473
+ @param {SC.Query} query The query you fetched
2474
+ @param {Array} [storeKeys] Ordered array of store keys as returned by a remote query. NOTE: Required for remote queries.
2467
2475
  @returns {SC.Store} receiver
2468
2476
  */
2469
- dataSourceDidFetchQuery: function(query) {
2470
- return this._scstore_dataSourceDidFetchQuery(query, YES);
2477
+ dataSourceDidFetchQuery: function (query, storeKeys) {
2478
+ var recArray = this._findQuery(query, YES, NO);
2479
+
2480
+ // Set the ordered array of store keys for remote queries.
2481
+ if (recArray && query.get('isRemote')) {
2482
+ //@if(debug)
2483
+ // Prevent confusion between local and remote requests.
2484
+ if (SC.none(storeKeys)) {
2485
+ throw new Error("Developer Error: The storeKeys argument in dataSourceDidFetchQuery is not optional for remote queries. For a remote query you must include the ordered array of store keys for the loaded records (even if it's an empty array).");
2486
+ }
2487
+ //@endif
2488
+
2489
+ recArray.set('storeKeys', storeKeys);
2490
+ }
2491
+
2492
+ return this._scstore_dataSourceDidFetchQuery(query);
2471
2493
  },
2472
2494
 
2473
- _scstore_dataSourceDidFetchQuery: function(query, createIfNeeded) {
2474
- var recArray = this._findQuery(query, createIfNeeded, NO),
2495
+ /** @private */
2496
+ _scstore_dataSourceDidFetchQuery: function (query) {
2497
+ var recArray = this._findQuery(query, NO, NO),
2475
2498
  nestedStores = this.get('nestedStores'),
2476
2499
  loc = nestedStores ? nestedStores.get('length') : 0;
2477
2500
 
@@ -2479,11 +2502,11 @@ SC.Store = SC.Object.extend( /** @scope SC.Store.prototype */ {
2479
2502
  if (recArray) recArray.storeDidFetchQuery(query);
2480
2503
 
2481
2504
  // notify nested stores
2482
- while(--loc >= 0) {
2483
- nestedStores[loc]._scstore_dataSourceDidFetchQuery(query, NO);
2505
+ while (--loc >= 0) {
2506
+ nestedStores[loc]._scstore_dataSourceDidFetchQuery(query);
2484
2507
  }
2485
2508
 
2486
- return this ;
2509
+ return this;
2487
2510
  },
2488
2511
 
2489
2512
  /**
@@ -2494,11 +2517,11 @@ SC.Store = SC.Object.extend( /** @scope SC.Store.prototype */ {
2494
2517
  @param {SC.Query} query the query you cancelled
2495
2518
  @returns {SC.Store} receiver
2496
2519
  */
2497
- dataSourceDidCancelQuery: function(query) {
2520
+ dataSourceDidCancelQuery: function (query) {
2498
2521
  return this._scstore_dataSourceDidCancelQuery(query, YES);
2499
2522
  },
2500
2523
 
2501
- _scstore_dataSourceDidCancelQuery: function(query, createIfNeeded) {
2524
+ _scstore_dataSourceDidCancelQuery: function (query, createIfNeeded) {
2502
2525
  var recArray = this._findQuery(query, createIfNeeded, NO),
2503
2526
  nestedStores = this.get('nestedStores'),
2504
2527
  loc = nestedStores ? nestedStores.get('length') : 0;
@@ -2523,7 +2546,7 @@ SC.Store = SC.Object.extend( /** @scope SC.Store.prototype */ {
2523
2546
  @param {SC.Error} error [optional] an SC.Error instance to associate with query
2524
2547
  @returns {SC.Store} receiver
2525
2548
  */
2526
- dataSourceDidErrorQuery: function(query, error) {
2549
+ dataSourceDidErrorQuery: function (query, error) {
2527
2550
  var errors = this.queryErrors;
2528
2551
 
2529
2552
  // Add the error to the array of query errors (for lookup later on if necessary).
@@ -2535,7 +2558,7 @@ SC.Store = SC.Object.extend( /** @scope SC.Store.prototype */ {
2535
2558
  return this._scstore_dataSourceDidErrorQuery(query, YES);
2536
2559
  },
2537
2560
 
2538
- _scstore_dataSourceDidErrorQuery: function(query, createIfNeeded) {
2561
+ _scstore_dataSourceDidErrorQuery: function (query, createIfNeeded) {
2539
2562
  var recArray = this._findQuery(query, createIfNeeded, NO),
2540
2563
  nestedStores = this.get('nestedStores'),
2541
2564
  loc = nestedStores ? nestedStores.get('length') : 0;
@@ -2556,13 +2579,13 @@ SC.Store = SC.Object.extend( /** @scope SC.Store.prototype */ {
2556
2579
  //
2557
2580
 
2558
2581
  /** @private */
2559
- init: function() {
2582
+ init: function () {
2560
2583
  sc_super();
2561
2584
  this.reset();
2562
2585
  },
2563
2586
 
2564
2587
 
2565
- toString: function() {
2588
+ toString: function () {
2566
2589
  // Include the name if the client has specified one.
2567
2590
  var name = this.get('name');
2568
2591
  if (!name) {
@@ -2585,7 +2608,7 @@ SC.Store = SC.Object.extend( /** @scope SC.Store.prototype */ {
2585
2608
  @param {Number} storeKey the store key
2586
2609
  @returns {String} primaryKey value
2587
2610
  */
2588
- idFor: function(storeKey) {
2611
+ idFor: function (storeKey) {
2589
2612
  return SC.Store.idFor(storeKey);
2590
2613
  },
2591
2614
 
@@ -2595,7 +2618,7 @@ SC.Store = SC.Object.extend( /** @scope SC.Store.prototype */ {
2595
2618
  @param {Number} storeKey the store key
2596
2619
  @returns {SC.Record} record instance
2597
2620
  */
2598
- recordTypeFor: function(storeKey) {
2621
+ recordTypeFor: function (storeKey) {
2599
2622
  return SC.Store.recordTypeFor(storeKey) ;
2600
2623
  },
2601
2624
 
@@ -2607,7 +2630,7 @@ SC.Store = SC.Object.extend( /** @scope SC.Store.prototype */ {
2607
2630
  @param {String} primaryKey the primary key
2608
2631
  @returns {Number} storeKey
2609
2632
  */
2610
- storeKeyFor: function(recordType, primaryKey) {
2633
+ storeKeyFor: function (recordType, primaryKey) {
2611
2634
  return recordType.storeKeyFor(primaryKey);
2612
2635
  },
2613
2636
 
@@ -2620,7 +2643,7 @@ SC.Store = SC.Object.extend( /** @scope SC.Store.prototype */ {
2620
2643
  @param {String} primaryKey the primary key
2621
2644
  @returns {Number} a storeKey.
2622
2645
  */
2623
- storeKeyExists: function(recordType, primaryKey) {
2646
+ storeKeyExists: function (recordType, primaryKey) {
2624
2647
  return recordType.storeKeyExists(primaryKey);
2625
2648
  },
2626
2649
 
@@ -2631,7 +2654,7 @@ SC.Store = SC.Object.extend( /** @scope SC.Store.prototype */ {
2631
2654
  @param {SC.Record} recordType
2632
2655
  @returns {Array} set of storeKeys
2633
2656
  */
2634
- storeKeysFor: function(recordType) {
2657
+ storeKeysFor: function (recordType) {
2635
2658
  var ret = [],
2636
2659
  isEnum = recordType && recordType.isEnumerable,
2637
2660
  recType, storeKey, isMatch ;
@@ -2656,7 +2679,7 @@ SC.Store = SC.Object.extend( /** @scope SC.Store.prototype */ {
2656
2679
 
2657
2680
  @returns {Array} set of storeKeys
2658
2681
  */
2659
- storeKeys: function() {
2682
+ storeKeys: function () {
2660
2683
  var ret = [], storeKey;
2661
2684
  if(!this.statuses) return ret;
2662
2685
 
@@ -2676,7 +2699,7 @@ SC.Store = SC.Object.extend( /** @scope SC.Store.prototype */ {
2676
2699
  @param {Number} storeKey
2677
2700
  @returns {String}
2678
2701
  */
2679
- statusString: function(storeKey) {
2702
+ statusString: function (storeKey) {
2680
2703
  var rec = this.materializeRecord(storeKey);
2681
2704
  return rec.statusString();
2682
2705
  }
@@ -2774,7 +2797,7 @@ SC.Store.mixin(/** @scope SC.Store.prototype */{
2774
2797
 
2775
2798
  @type Number
2776
2799
  */
2777
- generateStoreKey: function() { return this.nextStoreKey++; },
2800
+ generateStoreKey: function () { return this.nextStoreKey++; },
2778
2801
 
2779
2802
  /**
2780
2803
  Given a `storeKey` returns the `primaryKey` associated with the key.
@@ -2783,7 +2806,7 @@ SC.Store.mixin(/** @scope SC.Store.prototype */{
2783
2806
  @param {Number} storeKey the store key
2784
2807
  @returns {String} the primary key or null
2785
2808
  */
2786
- idFor: function(storeKey) {
2809
+ idFor: function (storeKey) {
2787
2810
  return this.idsByStoreKey[storeKey] ;
2788
2811
  },
2789
2812
 
@@ -2794,7 +2817,7 @@ SC.Store.mixin(/** @scope SC.Store.prototype */{
2794
2817
  @param {Number} storeKey the store key
2795
2818
  @returns {SC.Query} query query object
2796
2819
  */
2797
- queryFor: function(storeKey) {
2820
+ queryFor: function (storeKey) {
2798
2821
  return this.queriesByStoreKey[storeKey];
2799
2822
  },
2800
2823
 
@@ -2808,7 +2831,7 @@ SC.Store.mixin(/** @scope SC.Store.prototype */{
2808
2831
  @param {Number} storeKey the store key
2809
2832
  @returns {SC.Record} the record type
2810
2833
  */
2811
- recordTypeFor: function(storeKey) {
2834
+ recordTypeFor: function (storeKey) {
2812
2835
  return this.recordTypesByStoreKey[storeKey];
2813
2836
  },
2814
2837
 
@@ -2821,7 +2844,7 @@ SC.Store.mixin(/** @scope SC.Store.prototype */{
2821
2844
  @param {String} newPrimaryKey the new primary key
2822
2845
  @returns {SC.Store} receiver
2823
2846
  */
2824
- replaceIdFor: function(storeKey, newId) {
2847
+ replaceIdFor: function (storeKey, newId) {
2825
2848
  var oldId = this.idsByStoreKey[storeKey],
2826
2849
  recordType, storeKeys;
2827
2850
 
@@ -2854,98 +2877,9 @@ SC.Store.mixin(/** @scope SC.Store.prototype */{
2854
2877
  @param {SC.Record} recordType a record class
2855
2878
  @returns {SC.Store} receiver
2856
2879
  */
2857
- replaceRecordTypeFor: function(storeKey, recordType) {
2880
+ replaceRecordTypeFor: function (storeKey, recordType) {
2858
2881
  this.recordTypesByStoreKey[storeKey] = recordType;
2859
2882
  return this ;
2860
2883
  }
2861
2884
 
2862
2885
  });
2863
-
2864
-
2865
- /** @private */
2866
- SC.Store.prototype.nextStoreIndex = 1;
2867
-
2868
- // ..........................................................
2869
- // COMPATIBILITY
2870
- //
2871
-
2872
- /** @private
2873
- global store is used only for deprecated compatibility methods. Don't use
2874
- this in real code.
2875
- */
2876
- SC.Store._getDefaultStore = function() {
2877
- var store = this._store;
2878
- if(!store) this._store = store = SC.Store.create();
2879
- return store;
2880
- };
2881
-
2882
- /** @private
2883
-
2884
- DEPRECATED
2885
-
2886
- Included for compatibility, loads data hashes with the named `recordType`.
2887
- If no `recordType` is passed, expects to find a `recordType` property in the
2888
- data hashes. `dataSource` and `isLoaded` params are ignored.
2889
-
2890
- Calls `SC.Store#loadRecords()` on the default store. Do not use this method in
2891
- new code.
2892
-
2893
- @param {Array} dataHashes data hashes to import
2894
- @param {Object} dataSource ignored
2895
- @param {SC.Record} recordType default record type
2896
- @param {Boolean} isLoaded ignored
2897
- @returns {Array} SC.Record instances for loaded data hashes
2898
- */
2899
- SC.Store.updateRecords = function(dataHashes, dataSource, recordType, isLoaded) {
2900
- SC.Logger.warn("SC.Store.updateRecords() is deprecated. Use loadRecords() instead");
2901
- var store = this._getDefaultStore(),
2902
- len = dataHashes.length,
2903
- idx, ret;
2904
-
2905
- // if no recordType was passed, build an array of recordTypes from hashes
2906
- if (!recordType) {
2907
- recordType = [];
2908
- for(idx=0;idx<len;idx++) recordType[idx] = dataHashes[idx].recordType;
2909
- }
2910
-
2911
- // call new API. Returns storeKeys
2912
- ret = store.loadRecords(recordType, dataHashes);
2913
-
2914
- // map to SC.Record instances
2915
- len = ret.length;
2916
- for(idx=0;idx<len;idx++) ret[idx] = store.materializeRecord(ret[idx]);
2917
-
2918
- return ret ;
2919
- };
2920
-
2921
- /** @private
2922
-
2923
- DEPRECATED
2924
-
2925
- Finds a record with the passed guid on the default store. This is included
2926
- only for compatibility. You should use the newer `find()` method defined on
2927
- `SC.Store` instead.
2928
-
2929
- @param {String} guid the guid
2930
- @param {SC.Record} recordType expected record type
2931
- @returns {SC.Record} found record
2932
- */
2933
- SC.Store.find = function(guid, recordType) {
2934
- return this._getDefaultStore().find(recordType, guid);
2935
- };
2936
-
2937
- /** @private
2938
-
2939
- DEPRECATED
2940
-
2941
- Passes through to `findAll` on default store. This is included only for
2942
- compatibility. You should use the newer `findAll()` defined on `SC.Store`
2943
- instead.
2944
-
2945
- @param {Hash} filter search parameters
2946
- @param {SC.Record} recordType type of record to find
2947
- @returns {SC.RecordArray} result set
2948
- */
2949
- SC.Store.findAll = function(filter, recordType) {
2950
- return this._getDefaultStore().findAll(filter, recordType);
2951
- };