spade 0.0.1 → 0.0.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (1660) hide show
  1. data/.gitmodules +0 -9
  2. data/Gemfile +1 -17
  3. data/Gemfile.lock +16 -11
  4. data/lib/spade.rb +1 -0
  5. data/lib/spade/cli/base.rb +18 -0
  6. data/lib/spade/package.rb +21 -13
  7. data/lib/spade/remote.rb +7 -0
  8. data/lib/spade/version.rb +1 -1
  9. data/spade.gemspec +14 -1
  10. data/spec/cli/build_spec.rb +7 -7
  11. data/spec/cli/install_spec.rb +14 -0
  12. data/spec/cli/yank_spec.rb +68 -0
  13. data/spec/fixtures/core-test/bin/cot +1 -0
  14. data/spec/fixtures/core-test/lib/main.js +1 -0
  15. data/spec/fixtures/{coffee/bin/cake → core-test/resources/runner.css} +0 -0
  16. data/spec/fixtures/core-test/tests/test.js +1 -0
  17. data/spec/fixtures/package.json +28 -23
  18. data/spec/gauntlet_spec.rb +0 -3
  19. data/spec/package_spec.rb +32 -22
  20. data/spec/support/core_test.rb +19 -12
  21. data/spec/support/fake.rb +3 -1
  22. data/spec/support/fake_gem_server.rb +27 -11
  23. data/spec/support/fake_gemcutter.rb +8 -0
  24. metadata +101 -1650
  25. data/packages/core-test/.gitignore +0 -2
  26. data/packages/core-test/Buildfile +0 -15
  27. data/packages/core-test/CHANGELOG.md +0 -24
  28. data/packages/core-test/__preamble__.js +0 -34
  29. data/packages/core-test/bin/cot +0 -3
  30. data/packages/core-test/lib/assert.js +0 -306
  31. data/packages/core-test/lib/cli.js +0 -258
  32. data/packages/core-test/lib/core.js +0 -311
  33. data/packages/core-test/lib/loggers/browser.js +0 -390
  34. data/packages/core-test/lib/loggers/console.js +0 -235
  35. data/packages/core-test/lib/loggers/default.js +0 -272
  36. data/packages/core-test/lib/loggers/dummy.js +0 -168
  37. data/packages/core-test/lib/main.js +0 -22
  38. data/packages/core-test/lib/private/jquery.js +0 -6079
  39. data/packages/core-test/lib/qunit.js +0 -159
  40. data/packages/core-test/lib/runner.js +0 -65
  41. data/packages/core-test/lib/spec.js +0 -302
  42. data/packages/core-test/lib/sync.js +0 -64
  43. data/packages/core-test/lib/system/dump.js +0 -208
  44. data/packages/core-test/lib/system/equiv.js +0 -199
  45. data/packages/core-test/lib/system/ext.js +0 -62
  46. data/packages/core-test/lib/system/module.js +0 -162
  47. data/packages/core-test/lib/system/plan.js +0 -223
  48. data/packages/core-test/lib/system/stub.js +0 -98
  49. data/packages/core-test/lib/system/test.js +0 -373
  50. data/packages/core-test/lib/test.js +0 -69
  51. data/packages/core-test/lib/utils.js +0 -256
  52. data/packages/core-test/package.json +0 -10
  53. data/packages/core-test/resources/additions.css +0 -8
  54. data/packages/core-test/resources/runner.css +0 -177
  55. data/packages/core-test/tests/apis/commonjs-test.js +0 -102
  56. data/packages/core-test/tests/apis/core-test.js +0 -154
  57. data/packages/core-test/tests/apis/qunit-test.js +0 -244
  58. data/packages/core-test/tests/apis/spec-test.js +0 -344
  59. data/packages/core-test/tests/system/equiv/qunit-test.js +0 -1400
  60. data/packages/core-test/tests/system/test/assert-test.js +0 -86
  61. data/packages/core-test/tests/system/test/error-test.js +0 -62
  62. data/packages/core-test/tests/system/test/schedule-test.js +0 -210
  63. data/packages/core-test/tests/utils/fmt-test.js +0 -24
  64. data/packages/handlebars/Gemfile +0 -4
  65. data/packages/handlebars/README.markdown +0 -205
  66. data/packages/handlebars/Rakefile +0 -65
  67. data/packages/handlebars/lib/handlebars.js +0 -19
  68. data/packages/handlebars/lib/handlebars/ast.js +0 -88
  69. data/packages/handlebars/lib/handlebars/compiler.js +0 -116
  70. data/packages/handlebars/lib/handlebars/debug.js +0 -25
  71. data/packages/handlebars/lib/handlebars/printer.js +0 -114
  72. data/packages/handlebars/lib/handlebars/runtime.js +0 -280
  73. data/packages/handlebars/lib/handlebars/utils.js +0 -61
  74. data/packages/handlebars/lib/handlebars/visitor.js +0 -14
  75. data/packages/handlebars/lib/handlebars/vm.js +0 -634
  76. data/packages/handlebars/spec/acceptance_spec.rb +0 -100
  77. data/packages/handlebars/spec/parser_spec.rb +0 -181
  78. data/packages/handlebars/spec/qunit_spec.js +0 -497
  79. data/packages/handlebars/spec/spec_helper.rb +0 -107
  80. data/packages/handlebars/spec/tokenizer_spec.rb +0 -145
  81. data/packages/handlebars/src/handlebars.l +0 -27
  82. data/packages/handlebars/src/handlebars.yy +0 -79
  83. data/packages/handlebars/test.js +0 -56
  84. data/packages/jquery-core/lib/main.js +0 -897
  85. data/packages/jquery-core/package.json +0 -9
  86. data/packages/sproutcore-bootstrap/lib/main.js +0 -11
  87. data/packages/sproutcore-bootstrap/package.json +0 -15
  88. data/packages/sproutcore-corefoundation/lib/main.js +0 -66
  89. data/packages/sproutcore-corefoundation/lib/tests.js +0 -74
  90. data/packages/sproutcore-corefoundation/package.json +0 -27
  91. data/packages/sproutcore-corefoundation/tests.html +0 -12
  92. data/packages/sproutcore-datastore/lib/main.js +0 -23
  93. data/packages/sproutcore-datastore/package.json +0 -16
  94. data/packages/sproutcore-datetime/lib/main.js +0 -6
  95. data/packages/sproutcore-datetime/package.json +0 -16
  96. data/packages/sproutcore-handlebars/lib/handlebars.js +0 -5
  97. data/packages/sproutcore-handlebars/lib/main.js +0 -15
  98. data/packages/sproutcore-handlebars/package.json +0 -17
  99. data/packages/sproutcore-jquery/lib/main.js +0 -10
  100. data/packages/sproutcore-jquery/package.json +0 -12
  101. data/packages/sproutcore-preprocessor/bin/chance +0 -64
  102. data/packages/sproutcore-preprocessor/lib/css.js +0 -21
  103. data/packages/sproutcore-preprocessor/lib/main.js +0 -1
  104. data/packages/sproutcore-preprocessor/lib/preprocessor.js +0 -12
  105. data/packages/sproutcore-preprocessor/lib/sc_static.js +0 -9
  106. data/packages/sproutcore-preprocessor/package.json +0 -18
  107. data/packages/sproutcore-runtime/lib/main.js +0 -37
  108. data/packages/sproutcore-runtime/package.json +0 -21
  109. data/spec/fixtures/coffee/bin/coffee +0 -0
  110. data/spec/fixtures/coffee/lib/coffee.js +0 -0
  111. data/spec/fixtures/coffee/lib/coffee.png +0 -0
  112. data/spec/fixtures/coffee/lib/coffee/base.js +0 -0
  113. data/spec/fixtures/coffee/lib/coffee/mocha/chai.js +0 -0
  114. data/spec/fixtures/coffee/qunit/coffee/test.js +0 -0
  115. data/spec/fixtures/coffee/qunit/test.js +0 -0
  116. data/spec/fixtures/coffee/qunit/test.log +0 -0
  117. data/sproutcore/.gitignore +0 -13
  118. data/sproutcore/Buildfile +0 -112
  119. data/sproutcore/CHANGELOG.md +0 -232
  120. data/sproutcore/README.md +0 -68
  121. data/sproutcore/apps/docs/core.js +0 -27
  122. data/sproutcore/apps/docs/design/Doc Viewer.graffle/QuickLook/Preview.pdf +0 -0
  123. data/sproutcore/apps/docs/design/Doc Viewer.graffle/QuickLook/Thumbnail.tiff +0 -0
  124. data/sproutcore/apps/docs/design/Doc Viewer.graffle/data.plist +0 -14378
  125. data/sproutcore/apps/docs/design/Doc Viewer.graffle/image10.png +0 -0
  126. data/sproutcore/apps/docs/design/Doc Viewer.graffle/image11.png +0 -0
  127. data/sproutcore/apps/docs/design/Doc Viewer.graffle/image13.png +0 -0
  128. data/sproutcore/apps/docs/design/Doc Viewer.graffle/image14.png +0 -0
  129. data/sproutcore/apps/docs/design/Doc Viewer.graffle/image8.png +0 -0
  130. data/sproutcore/apps/docs/design/Doc Viewer.graffle/image9.tiff +0 -0
  131. data/sproutcore/apps/docs/english.lproj/loading.rhtml +0 -9
  132. data/sproutcore/apps/docs/english.lproj/main_page.js +0 -22
  133. data/sproutcore/apps/docs/english.lproj/strings.js +0 -15
  134. data/sproutcore/apps/docs/main.js +0 -30
  135. data/sproutcore/apps/greenhouse/README +0 -18
  136. data/sproutcore/apps/greenhouse/TODO +0 -56
  137. data/sproutcore/apps/greenhouse/beautify.js +0 -1058
  138. data/sproutcore/apps/greenhouse/controllers/design.js +0 -20
  139. data/sproutcore/apps/greenhouse/controllers/file.js +0 -35
  140. data/sproutcore/apps/greenhouse/controllers/files.js +0 -40
  141. data/sproutcore/apps/greenhouse/controllers/layout.js +0 -53
  142. data/sproutcore/apps/greenhouse/controllers/library.js +0 -194
  143. data/sproutcore/apps/greenhouse/controllers/page.js +0 -18
  144. data/sproutcore/apps/greenhouse/controllers/property.js +0 -19
  145. data/sproutcore/apps/greenhouse/controllers/property_editor.js +0 -17
  146. data/sproutcore/apps/greenhouse/controllers/target.js +0 -20
  147. data/sproutcore/apps/greenhouse/controllers/targets.js +0 -43
  148. data/sproutcore/apps/greenhouse/controllers/view_configs.js +0 -100
  149. data/sproutcore/apps/greenhouse/core.js +0 -65
  150. data/sproutcore/apps/greenhouse/core_file.js +0 -124
  151. data/sproutcore/apps/greenhouse/data_source.js +0 -250
  152. data/sproutcore/apps/greenhouse/english.lproj/app_page.js +0 -399
  153. data/sproutcore/apps/greenhouse/english.lproj/css/app-selector.css +0 -107
  154. data/sproutcore/apps/greenhouse/english.lproj/css/button.css +0 -314
  155. data/sproutcore/apps/greenhouse/english.lproj/css/dock.css +0 -90
  156. data/sproutcore/apps/greenhouse/english.lproj/css/general.css +0 -51
  157. data/sproutcore/apps/greenhouse/english.lproj/css/main-page.css +0 -93
  158. data/sproutcore/apps/greenhouse/english.lproj/css/menu.css +0 -49
  159. data/sproutcore/apps/greenhouse/english.lproj/css/modal.css +0 -41
  160. data/sproutcore/apps/greenhouse/english.lproj/css/picker.css +0 -195
  161. data/sproutcore/apps/greenhouse/english.lproj/css/search.css +0 -60
  162. data/sproutcore/apps/greenhouse/english.lproj/css/text-field.css +0 -67
  163. data/sproutcore/apps/greenhouse/english.lproj/dialogs.js +0 -303
  164. data/sproutcore/apps/greenhouse/english.lproj/fonts/museosans_500.eot +0 -0
  165. data/sproutcore/apps/greenhouse/english.lproj/fonts/museosans_500.otf +0 -0
  166. data/sproutcore/apps/greenhouse/english.lproj/fonts/museosans_500.woff +0 -0
  167. data/sproutcore/apps/greenhouse/english.lproj/fonts/museosans_500_italic.eot +0 -0
  168. data/sproutcore/apps/greenhouse/english.lproj/fonts/museosans_500_italic.otf +0 -0
  169. data/sproutcore/apps/greenhouse/english.lproj/fonts/museosans_500_italic.woff +0 -0
  170. data/sproutcore/apps/greenhouse/english.lproj/images/app-selector/choose-app.png +0 -0
  171. data/sproutcore/apps/greenhouse/english.lproj/images/app-selector/list-item-sel.png +0 -0
  172. data/sproutcore/apps/greenhouse/english.lproj/images/buttons/capsule-xl/active-l.png +0 -0
  173. data/sproutcore/apps/greenhouse/english.lproj/images/buttons/capsule-xl/active-m.png +0 -0
  174. data/sproutcore/apps/greenhouse/english.lproj/images/buttons/capsule-xl/active-r.png +0 -0
  175. data/sproutcore/apps/greenhouse/english.lproj/images/buttons/capsule-xl/regular-l.png +0 -0
  176. data/sproutcore/apps/greenhouse/english.lproj/images/buttons/capsule-xl/regular-m.png +0 -0
  177. data/sproutcore/apps/greenhouse/english.lproj/images/buttons/capsule-xl/regular-r.png +0 -0
  178. data/sproutcore/apps/greenhouse/english.lproj/images/buttons/capsule/active-l.png +0 -0
  179. data/sproutcore/apps/greenhouse/english.lproj/images/buttons/capsule/active-r.png +0 -0
  180. data/sproutcore/apps/greenhouse/english.lproj/images/buttons/capsule/disabled-l.png +0 -0
  181. data/sproutcore/apps/greenhouse/english.lproj/images/buttons/capsule/disabled-r.png +0 -0
  182. data/sproutcore/apps/greenhouse/english.lproj/images/buttons/capsule/regular-l.png +0 -0
  183. data/sproutcore/apps/greenhouse/english.lproj/images/buttons/capsule/regular-r.png +0 -0
  184. data/sproutcore/apps/greenhouse/english.lproj/images/buttons/capsule/sel-active-l.png +0 -0
  185. data/sproutcore/apps/greenhouse/english.lproj/images/buttons/capsule/sel-active-r.png +0 -0
  186. data/sproutcore/apps/greenhouse/english.lproj/images/buttons/capsule/sel-disabled-l.png +0 -0
  187. data/sproutcore/apps/greenhouse/english.lproj/images/buttons/capsule/sel-disabled-r.png +0 -0
  188. data/sproutcore/apps/greenhouse/english.lproj/images/buttons/capsule/sel-l.png +0 -0
  189. data/sproutcore/apps/greenhouse/english.lproj/images/buttons/capsule/sel-r.png +0 -0
  190. data/sproutcore/apps/greenhouse/english.lproj/images/buttons/dark/active-l.png +0 -0
  191. data/sproutcore/apps/greenhouse/english.lproj/images/buttons/dark/active-m.png +0 -0
  192. data/sproutcore/apps/greenhouse/english.lproj/images/buttons/dark/active-r.png +0 -0
  193. data/sproutcore/apps/greenhouse/english.lproj/images/buttons/dark/cap-active-l.png +0 -0
  194. data/sproutcore/apps/greenhouse/english.lproj/images/buttons/dark/cap-active-r.png +0 -0
  195. data/sproutcore/apps/greenhouse/english.lproj/images/buttons/dark/cap-l.png +0 -0
  196. data/sproutcore/apps/greenhouse/english.lproj/images/buttons/dark/cap-r.png +0 -0
  197. data/sproutcore/apps/greenhouse/english.lproj/images/buttons/dark/cap-sel-active-l.png +0 -0
  198. data/sproutcore/apps/greenhouse/english.lproj/images/buttons/dark/cap-sel-active-r.png +0 -0
  199. data/sproutcore/apps/greenhouse/english.lproj/images/buttons/dark/cap-sel-l.png +0 -0
  200. data/sproutcore/apps/greenhouse/english.lproj/images/buttons/dark/cap-sel-r.png +0 -0
  201. data/sproutcore/apps/greenhouse/english.lproj/images/buttons/dark/disabled-l.png +0 -0
  202. data/sproutcore/apps/greenhouse/english.lproj/images/buttons/dark/disabled-m.png +0 -0
  203. data/sproutcore/apps/greenhouse/english.lproj/images/buttons/dark/disabled-r.png +0 -0
  204. data/sproutcore/apps/greenhouse/english.lproj/images/buttons/dark/regular-l.png +0 -0
  205. data/sproutcore/apps/greenhouse/english.lproj/images/buttons/dark/regular-m.png +0 -0
  206. data/sproutcore/apps/greenhouse/english.lproj/images/buttons/dark/regular-r.png +0 -0
  207. data/sproutcore/apps/greenhouse/english.lproj/images/buttons/dark/sel-active-l.png +0 -0
  208. data/sproutcore/apps/greenhouse/english.lproj/images/buttons/dark/sel-active-m.png +0 -0
  209. data/sproutcore/apps/greenhouse/english.lproj/images/buttons/dark/sel-active-r.png +0 -0
  210. data/sproutcore/apps/greenhouse/english.lproj/images/buttons/dark/sel-disabled-l.png +0 -0
  211. data/sproutcore/apps/greenhouse/english.lproj/images/buttons/dark/sel-disabled-m.png +0 -0
  212. data/sproutcore/apps/greenhouse/english.lproj/images/buttons/dark/sel-disabled-r.png +0 -0
  213. data/sproutcore/apps/greenhouse/english.lproj/images/buttons/dark/sel-l.png +0 -0
  214. data/sproutcore/apps/greenhouse/english.lproj/images/buttons/dark/sel-m.png +0 -0
  215. data/sproutcore/apps/greenhouse/english.lproj/images/buttons/dark/sel-r.png +0 -0
  216. data/sproutcore/apps/greenhouse/english.lproj/images/buttons/shared/active-m.png +0 -0
  217. data/sproutcore/apps/greenhouse/english.lproj/images/buttons/shared/disabled-m.png +0 -0
  218. data/sproutcore/apps/greenhouse/english.lproj/images/buttons/shared/regular-m.png +0 -0
  219. data/sproutcore/apps/greenhouse/english.lproj/images/buttons/shared/sel-active-m.png +0 -0
  220. data/sproutcore/apps/greenhouse/english.lproj/images/buttons/shared/sel-disabled-m.png +0 -0
  221. data/sproutcore/apps/greenhouse/english.lproj/images/buttons/shared/sel-m.png +0 -0
  222. data/sproutcore/apps/greenhouse/english.lproj/images/buttons/square/active-l.png +0 -0
  223. data/sproutcore/apps/greenhouse/english.lproj/images/buttons/square/active-r.png +0 -0
  224. data/sproutcore/apps/greenhouse/english.lproj/images/buttons/square/disabled-l.png +0 -0
  225. data/sproutcore/apps/greenhouse/english.lproj/images/buttons/square/disabled-r.png +0 -0
  226. data/sproutcore/apps/greenhouse/english.lproj/images/buttons/square/regular-l.png +0 -0
  227. data/sproutcore/apps/greenhouse/english.lproj/images/buttons/square/regular-r.png +0 -0
  228. data/sproutcore/apps/greenhouse/english.lproj/images/buttons/square/sel-active-l.png +0 -0
  229. data/sproutcore/apps/greenhouse/english.lproj/images/buttons/square/sel-active-r.png +0 -0
  230. data/sproutcore/apps/greenhouse/english.lproj/images/buttons/square/sel-disabled-l.png +0 -0
  231. data/sproutcore/apps/greenhouse/english.lproj/images/buttons/square/sel-disabled-r.png +0 -0
  232. data/sproutcore/apps/greenhouse/english.lproj/images/buttons/square/sel-l.png +0 -0
  233. data/sproutcore/apps/greenhouse/english.lproj/images/buttons/square/sel-r.png +0 -0
  234. data/sproutcore/apps/greenhouse/english.lproj/images/icons/actions-active.png +0 -0
  235. data/sproutcore/apps/greenhouse/english.lproj/images/icons/actions.png +0 -0
  236. data/sproutcore/apps/greenhouse/english.lproj/images/icons/inspector-active.png +0 -0
  237. data/sproutcore/apps/greenhouse/english.lproj/images/icons/inspector.png +0 -0
  238. data/sproutcore/apps/greenhouse/english.lproj/images/icons/library-active.png +0 -0
  239. data/sproutcore/apps/greenhouse/english.lproj/images/icons/library.png +0 -0
  240. data/sproutcore/apps/greenhouse/english.lproj/images/icons/projects-active.png +0 -0
  241. data/sproutcore/apps/greenhouse/english.lproj/images/icons/projects.png +0 -0
  242. data/sproutcore/apps/greenhouse/english.lproj/images/icons/run-active.png +0 -0
  243. data/sproutcore/apps/greenhouse/english.lproj/images/icons/run.png +0 -0
  244. data/sproutcore/apps/greenhouse/english.lproj/images/icons/save-active.png +0 -0
  245. data/sproutcore/apps/greenhouse/english.lproj/images/icons/save.png +0 -0
  246. data/sproutcore/apps/greenhouse/english.lproj/images/logos/greenhouse-l.png +0 -0
  247. data/sproutcore/apps/greenhouse/english.lproj/images/logos/greenhouse-s.png +0 -0
  248. data/sproutcore/apps/greenhouse/english.lproj/images/logos/sproutcore.png +0 -0
  249. data/sproutcore/apps/greenhouse/english.lproj/images/main-bg.png +0 -0
  250. data/sproutcore/apps/greenhouse/english.lproj/images/picker/bottom-left.png +0 -0
  251. data/sproutcore/apps/greenhouse/english.lproj/images/picker/bottom-right.png +0 -0
  252. data/sproutcore/apps/greenhouse/english.lproj/images/picker/bottom.png +0 -0
  253. data/sproutcore/apps/greenhouse/english.lproj/images/picker/close-active.png +0 -0
  254. data/sproutcore/apps/greenhouse/english.lproj/images/picker/close.png +0 -0
  255. data/sproutcore/apps/greenhouse/english.lproj/images/picker/left.png +0 -0
  256. data/sproutcore/apps/greenhouse/english.lproj/images/picker/pointer-bottom.png +0 -0
  257. data/sproutcore/apps/greenhouse/english.lproj/images/picker/pointer-left.png +0 -0
  258. data/sproutcore/apps/greenhouse/english.lproj/images/picker/pointer-right.png +0 -0
  259. data/sproutcore/apps/greenhouse/english.lproj/images/picker/pointer-top.png +0 -0
  260. data/sproutcore/apps/greenhouse/english.lproj/images/picker/right.png +0 -0
  261. data/sproutcore/apps/greenhouse/english.lproj/images/picker/search-active.png +0 -0
  262. data/sproutcore/apps/greenhouse/english.lproj/images/picker/search.png +0 -0
  263. data/sproutcore/apps/greenhouse/english.lproj/images/picker/top-left.png +0 -0
  264. data/sproutcore/apps/greenhouse/english.lproj/images/picker/top-right.png +0 -0
  265. data/sproutcore/apps/greenhouse/english.lproj/images/picker/top.png +0 -0
  266. data/sproutcore/apps/greenhouse/english.lproj/images/toolbar-bg.png +0 -0
  267. data/sproutcore/apps/greenhouse/english.lproj/inspectors.js +0 -365
  268. data/sproutcore/apps/greenhouse/english.lproj/loading.rhtml +0 -9
  269. data/sproutcore/apps/greenhouse/english.lproj/main_page.js +0 -95
  270. data/sproutcore/apps/greenhouse/english.lproj/strings.js +0 -93
  271. data/sproutcore/apps/greenhouse/fixtures/file.js +0 -35
  272. data/sproutcore/apps/greenhouse/main.js +0 -28
  273. data/sproutcore/apps/greenhouse/mixins/drop_down.js +0 -97
  274. data/sproutcore/apps/greenhouse/models/design.js +0 -26
  275. data/sproutcore/apps/greenhouse/models/dir.js +0 -93
  276. data/sproutcore/apps/greenhouse/models/file.js +0 -51
  277. data/sproutcore/apps/greenhouse/models/target.js +0 -82
  278. data/sproutcore/apps/greenhouse/models/view_config.js +0 -49
  279. data/sproutcore/apps/greenhouse/resources/test_page.js +0 -37
  280. data/sproutcore/apps/greenhouse/states/inspector.js +0 -152
  281. data/sproutcore/apps/greenhouse/states/library.js +0 -142
  282. data/sproutcore/apps/greenhouse/states/main.js +0 -283
  283. data/sproutcore/apps/greenhouse/states/modals.js +0 -299
  284. data/sproutcore/apps/greenhouse/states/ready.js +0 -235
  285. data/sproutcore/apps/greenhouse/tests/controllers/design.js +0 -15
  286. data/sproutcore/apps/greenhouse/tests/controllers/designs.js +0 -15
  287. data/sproutcore/apps/greenhouse/tests/controllers/file.js +0 -15
  288. data/sproutcore/apps/greenhouse/tests/controllers/files.js +0 -15
  289. data/sproutcore/apps/greenhouse/tests/models/file.js +0 -15
  290. data/sproutcore/apps/greenhouse/tests/models/view_config.js +0 -15
  291. data/sproutcore/apps/greenhouse/tests/views/list_item.js +0 -16
  292. data/sproutcore/apps/greenhouse/tests/views/plist_item.js +0 -20
  293. data/sproutcore/apps/greenhouse/theme.js +0 -25
  294. data/sproutcore/apps/greenhouse/views/anchor.js +0 -277
  295. data/sproutcore/apps/greenhouse/views/application_list_item.js +0 -19
  296. data/sproutcore/apps/greenhouse/views/event_blocker.js +0 -32
  297. data/sproutcore/apps/greenhouse/views/label_designer.js +0 -16
  298. data/sproutcore/apps/greenhouse/views/list_item.js +0 -42
  299. data/sproutcore/apps/greenhouse/views/plist_item.js +0 -178
  300. data/sproutcore/apps/greenhouse/views/simple_button.js +0 -157
  301. data/sproutcore/apps/greenhouse/views/tear_off_picker.js +0 -56
  302. data/sproutcore/apps/greenhouse/views/web.js +0 -44
  303. data/sproutcore/apps/test_controls/Buildfile +0 -0
  304. data/sproutcore/apps/test_controls/controllers/buttons.js +0 -21
  305. data/sproutcore/apps/test_controls/controllers/categories.js +0 -108
  306. data/sproutcore/apps/test_controls/controllers/category.js +0 -36
  307. data/sproutcore/apps/test_controls/core.js +0 -29
  308. data/sproutcore/apps/test_controls/main.js +0 -14
  309. data/sproutcore/apps/test_controls/resources/buttons_page.js +0 -142
  310. data/sproutcore/apps/test_controls/resources/checkboxes_page.js +0 -45
  311. data/sproutcore/apps/test_controls/resources/flow_layout_page.js +0 -84
  312. data/sproutcore/apps/test_controls/resources/list_page.js +0 -40
  313. data/sproutcore/apps/test_controls/resources/loading.rhtml +0 -9
  314. data/sproutcore/apps/test_controls/resources/main_page.css +0 -60
  315. data/sproutcore/apps/test_controls/resources/main_page.js +0 -145
  316. data/sproutcore/apps/test_controls/resources/progress_page.js +0 -32
  317. data/sproutcore/apps/test_controls/resources/radio_page.js +0 -48
  318. data/sproutcore/apps/test_controls/resources/scroll_page.js +0 -76
  319. data/sproutcore/apps/test_controls/resources/segmented_page.js +0 -98
  320. data/sproutcore/apps/test_controls/resources/select_page.js +0 -60
  321. data/sproutcore/apps/test_controls/resources/sliders_page.js +0 -53
  322. data/sproutcore/apps/test_controls/resources/strings.js +0 -50
  323. data/sproutcore/apps/test_controls/resources/tab_page.js +0 -44
  324. data/sproutcore/apps/test_controls/resources/text_field_page.js +0 -41
  325. data/sproutcore/apps/test_controls/theme.js +0 -34
  326. data/sproutcore/apps/tests/controllers/detail.js +0 -25
  327. data/sproutcore/apps/tests/controllers/source.js +0 -29
  328. data/sproutcore/apps/tests/controllers/target.js +0 -26
  329. data/sproutcore/apps/tests/controllers/targets.js +0 -86
  330. data/sproutcore/apps/tests/controllers/tests.js +0 -33
  331. data/sproutcore/apps/tests/core.js +0 -133
  332. data/sproutcore/apps/tests/english.lproj/loading.rhtml +0 -9
  333. data/sproutcore/apps/tests/english.lproj/main_page.css +0 -48
  334. data/sproutcore/apps/tests/english.lproj/main_page.js +0 -233
  335. data/sproutcore/apps/tests/english.lproj/strings.js +0 -26
  336. data/sproutcore/apps/tests/main.js +0 -27
  337. data/sproutcore/apps/tests/states/no_targets.js +0 -26
  338. data/sproutcore/apps/tests/states/ready.js +0 -56
  339. data/sproutcore/apps/tests/states/ready_detail.js +0 -41
  340. data/sproutcore/apps/tests/states/ready_empty.js +0 -48
  341. data/sproutcore/apps/tests/states/ready_list.js +0 -41
  342. data/sproutcore/apps/tests/states/ready_loading.js +0 -44
  343. data/sproutcore/apps/tests/states/ready_no_tests.js +0 -31
  344. data/sproutcore/apps/tests/states/start.js +0 -39
  345. data/sproutcore/apps/tests/tests/controllers/detail.js +0 -15
  346. data/sproutcore/apps/tests/tests/controllers/source.js +0 -15
  347. data/sproutcore/apps/tests/tests/controllers/target.js +0 -15
  348. data/sproutcore/apps/tests/tests/controllers/targets.js +0 -15
  349. data/sproutcore/apps/tests/tests/controllers/tests.js +0 -15
  350. data/sproutcore/apps/tests/tests/models/target.js +0 -15
  351. data/sproutcore/apps/tests/tests/models/test.js +0 -15
  352. data/sproutcore/apps/tests/tests/views/offset_checkbox.js +0 -15
  353. data/sproutcore/apps/tests/views/offset_checkbox.js +0 -26
  354. data/sproutcore/apps/welcome/controllers/targets.js +0 -56
  355. data/sproutcore/apps/welcome/core.js +0 -30
  356. data/sproutcore/apps/welcome/english.lproj/images/main-bg.png +0 -0
  357. data/sproutcore/apps/welcome/english.lproj/loading.rhtml +0 -10
  358. data/sproutcore/apps/welcome/english.lproj/main_page.css +0 -25
  359. data/sproutcore/apps/welcome/english.lproj/main_page.js +0 -67
  360. data/sproutcore/apps/welcome/english.lproj/strings.js +0 -15
  361. data/sproutcore/apps/welcome/main.js +0 -19
  362. data/sproutcore/apps/welcome/tests/controllers/targets.js +0 -15
  363. data/sproutcore/design/CollectionView State Charts.graffle +0 -4848
  364. data/sproutcore/design/Design Charts.graffle +0 -16845
  365. data/sproutcore/design/Record State Table.numbers +0 -0
  366. data/sproutcore/design/SproutCore Datastore Design.graffle/QuickLook/Preview.pdf +0 -0
  367. data/sproutcore/design/SproutCore Datastore Design.graffle/QuickLook/Thumbnail.tiff +0 -0
  368. data/sproutcore/design/SproutCore Datastore Design.graffle/data.plist +0 -19588
  369. data/sproutcore/design/SproutCore Datastore Design.graffle/image8.png +0 -0
  370. data/sproutcore/design/SproutCore Design Template.graffle/QuickLook/Preview.pdf +0 -0
  371. data/sproutcore/design/SproutCore Design Template.graffle/QuickLook/Thumbnail.tiff +0 -0
  372. data/sproutcore/design/SproutCore Design Template.graffle/data.plist +0 -1452
  373. data/sproutcore/design/SproutCore Design Template.graffle/image8.png +0 -0
  374. data/sproutcore/design/TestRunner Design.graffle/QuickLook/Preview.pdf +0 -0
  375. data/sproutcore/design/TestRunner Design.graffle/QuickLook/Thumbnail.tiff +0 -0
  376. data/sproutcore/design/TestRunner Design.graffle/data.plist +0 -24187
  377. data/sproutcore/design/TestRunner Design.graffle/image10.png +0 -0
  378. data/sproutcore/design/TestRunner Design.graffle/image11.png +0 -0
  379. data/sproutcore/design/TestRunner Design.graffle/image13.png +0 -0
  380. data/sproutcore/design/TestRunner Design.graffle/image15.png +0 -0
  381. data/sproutcore/design/TestRunner Design.graffle/image16.png +0 -0
  382. data/sproutcore/design/TestRunner Design.graffle/image17.png +0 -0
  383. data/sproutcore/design/TestRunner Design.graffle/image18.png +0 -0
  384. data/sproutcore/design/TestRunner Design.graffle/image19.png +0 -0
  385. data/sproutcore/design/TestRunner Design.graffle/image22.tiff +0 -0
  386. data/sproutcore/design/TestRunner Design.graffle/image23.png +0 -0
  387. data/sproutcore/design/TestRunner Design.graffle/image24.png +0 -0
  388. data/sproutcore/design/TestRunner Design.graffle/image25.png +0 -0
  389. data/sproutcore/design/TestRunner Design.graffle/image30.png +0 -0
  390. data/sproutcore/design/TestRunner Design.graffle/image31.png +0 -0
  391. data/sproutcore/design/TestRunner Design.graffle/image8.png +0 -0
  392. data/sproutcore/design/TestRunner Design.graffle/image9.png +0 -0
  393. data/sproutcore/design/greenhouse-statechart.graffle +0 -9025
  394. data/sproutcore/design/greenhouse-statechart.pdf +0 -0
  395. data/sproutcore/design/iphone-webapp-loading.psd +0 -0
  396. data/sproutcore/frameworks/animation/Buildfile +0 -3
  397. data/sproutcore/frameworks/animation/LICENSE +0 -25
  398. data/sproutcore/frameworks/animation/README.md +0 -79
  399. data/sproutcore/frameworks/animation/core.js +0 -1206
  400. data/sproutcore/frameworks/animation/tests/core.js +0 -152
  401. data/sproutcore/frameworks/bootstrap/README +0 -9
  402. data/sproutcore/frameworks/bootstrap/core.js +0 -7
  403. data/sproutcore/frameworks/bootstrap/setup_body_class_names.js +0 -10
  404. data/sproutcore/frameworks/bootstrap/system/bench.js +0 -14
  405. data/sproutcore/frameworks/bootstrap/system/browser.js +0 -65
  406. data/sproutcore/frameworks/bootstrap/system/loader.js +0 -50
  407. data/sproutcore/frameworks/bootstrap/tests/system/browser.js +0 -187
  408. data/sproutcore/frameworks/core_foundation/.greenhouseconf +0 -33
  409. data/sproutcore/frameworks/core_foundation/controllers/array.js +0 -498
  410. data/sproutcore/frameworks/core_foundation/controllers/controller.js +0 -44
  411. data/sproutcore/frameworks/core_foundation/controllers/object.js +0 -342
  412. data/sproutcore/frameworks/core_foundation/core.js +0 -201
  413. data/sproutcore/frameworks/core_foundation/ext/object.js +0 -83
  414. data/sproutcore/frameworks/core_foundation/ext/run_loop.js +0 -163
  415. data/sproutcore/frameworks/core_foundation/mixins/delegate_support.js +0 -110
  416. data/sproutcore/frameworks/core_foundation/mixins/responder_context.js +0 -269
  417. data/sproutcore/frameworks/core_foundation/mixins/selection_support.js +0 -250
  418. data/sproutcore/frameworks/core_foundation/mixins/string.js +0 -163
  419. data/sproutcore/frameworks/core_foundation/panes/keyboard.js +0 -68
  420. data/sproutcore/frameworks/core_foundation/panes/layout.js +0 -108
  421. data/sproutcore/frameworks/core_foundation/panes/main.js +0 -52
  422. data/sproutcore/frameworks/core_foundation/panes/manipulation.js +0 -27
  423. data/sproutcore/frameworks/core_foundation/panes/pane.js +0 -672
  424. data/sproutcore/frameworks/core_foundation/panes/template.js +0 -24
  425. data/sproutcore/frameworks/core_foundation/panes/visibility.js +0 -11
  426. data/sproutcore/frameworks/core_foundation/protocols/observable_protocol.js +0 -40
  427. data/sproutcore/frameworks/core_foundation/protocols/sparse_array_delegate.js +0 -131
  428. data/sproutcore/frameworks/core_foundation/resources/core.css +0 -371
  429. data/sproutcore/frameworks/core_foundation/resources/view.css +0 -57
  430. data/sproutcore/frameworks/core_foundation/system/application.js +0 -35
  431. data/sproutcore/frameworks/core_foundation/system/browser.js +0 -36
  432. data/sproutcore/frameworks/core_foundation/system/builder.js +0 -210
  433. data/sproutcore/frameworks/core_foundation/system/core_query.js +0 -141
  434. data/sproutcore/frameworks/core_foundation/system/cursor.js +0 -131
  435. data/sproutcore/frameworks/core_foundation/system/device.js +0 -210
  436. data/sproutcore/frameworks/core_foundation/system/event.js +0 -914
  437. data/sproutcore/frameworks/core_foundation/system/json.js +0 -515
  438. data/sproutcore/frameworks/core_foundation/system/locale.js +0 -293
  439. data/sproutcore/frameworks/core_foundation/system/page.js +0 -108
  440. data/sproutcore/frameworks/core_foundation/system/platform.js +0 -399
  441. data/sproutcore/frameworks/core_foundation/system/ready.js +0 -77
  442. data/sproutcore/frameworks/core_foundation/system/render_context.js +0 -1063
  443. data/sproutcore/frameworks/core_foundation/system/responder.js +0 -124
  444. data/sproutcore/frameworks/core_foundation/system/root_responder.js +0 -2173
  445. data/sproutcore/frameworks/core_foundation/system/selection_set.js +0 -695
  446. data/sproutcore/frameworks/core_foundation/system/sparse_array.js +0 -393
  447. data/sproutcore/frameworks/core_foundation/system/theme.js +0 -316
  448. data/sproutcore/frameworks/core_foundation/system/timer.js +0 -553
  449. data/sproutcore/frameworks/core_foundation/system/utils.js +0 -151
  450. data/sproutcore/frameworks/core_foundation/system/utils/rect.js +0 -98
  451. data/sproutcore/frameworks/core_foundation/tests/controllers/array/array_case.js +0 -218
  452. data/sproutcore/frameworks/core_foundation/tests/controllers/array/enum_case.js +0 -206
  453. data/sproutcore/frameworks/core_foundation/tests/controllers/array/null_case.js +0 -64
  454. data/sproutcore/frameworks/core_foundation/tests/controllers/array/selection_support.js +0 -344
  455. data/sproutcore/frameworks/core_foundation/tests/controllers/array/single_case.js +0 -136
  456. data/sproutcore/frameworks/core_foundation/tests/controllers/object/empty_case.js +0 -82
  457. data/sproutcore/frameworks/core_foundation/tests/controllers/object/multiple_case.js +0 -111
  458. data/sproutcore/frameworks/core_foundation/tests/controllers/object/single_case.js +0 -193
  459. data/sproutcore/frameworks/core_foundation/tests/controllers/object/single_enumerable_case.js +0 -265
  460. data/sproutcore/frameworks/core_foundation/tests/mixins/responder_context.js +0 -75
  461. data/sproutcore/frameworks/core_foundation/tests/mixins/string.js +0 -55
  462. data/sproutcore/frameworks/core_foundation/tests/panes/template.js +0 -14
  463. data/sproutcore/frameworks/core_foundation/tests/system/builder.js +0 -42
  464. data/sproutcore/frameworks/core_foundation/tests/system/core_query/within.js +0 -65
  465. data/sproutcore/frameworks/core_foundation/tests/system/json.js +0 -14
  466. data/sproutcore/frameworks/core_foundation/tests/system/locale.js +0 -134
  467. data/sproutcore/frameworks/core_foundation/tests/system/ready/done.js +0 -32
  468. data/sproutcore/frameworks/core_foundation/tests/system/render_context/begin.js +0 -47
  469. data/sproutcore/frameworks/core_foundation/tests/system/render_context/element.js +0 -44
  470. data/sproutcore/frameworks/core_foundation/tests/system/render_context/end.js +0 -124
  471. data/sproutcore/frameworks/core_foundation/tests/system/render_context/get.js +0 -51
  472. data/sproutcore/frameworks/core_foundation/tests/system/render_context/helpers_attr.js +0 -50
  473. data/sproutcore/frameworks/core_foundation/tests/system/render_context/helpers_basic.js +0 -28
  474. data/sproutcore/frameworks/core_foundation/tests/system/render_context/helpers_className.js +0 -177
  475. data/sproutcore/frameworks/core_foundation/tests/system/render_context/helpers_style.js +0 -109
  476. data/sproutcore/frameworks/core_foundation/tests/system/render_context/init.js +0 -55
  477. data/sproutcore/frameworks/core_foundation/tests/system/render_context/join.js +0 -28
  478. data/sproutcore/frameworks/core_foundation/tests/system/render_context/push_text.js +0 -74
  479. data/sproutcore/frameworks/core_foundation/tests/system/render_context/tag.js +0 -46
  480. data/sproutcore/frameworks/core_foundation/tests/system/render_context/update.js +0 -218
  481. data/sproutcore/frameworks/core_foundation/tests/system/root_responder/makeKeyPane.js +0 -124
  482. data/sproutcore/frameworks/core_foundation/tests/system/root_responder/makeMainPane.js +0 -68
  483. data/sproutcore/frameworks/core_foundation/tests/system/root_responder/makeMenuPane.js +0 -48
  484. data/sproutcore/frameworks/core_foundation/tests/system/root_responder/root_responder.js +0 -101
  485. data/sproutcore/frameworks/core_foundation/tests/system/root_responder/targetForAction.js +0 -288
  486. data/sproutcore/frameworks/core_foundation/tests/system/selection_set/add.js +0 -92
  487. data/sproutcore/frameworks/core_foundation/tests/system/selection_set/copy.js +0 -17
  488. data/sproutcore/frameworks/core_foundation/tests/system/selection_set/indexSetForSource.js +0 -98
  489. data/sproutcore/frameworks/core_foundation/tests/system/selection_set/isEqual.js +0 -60
  490. data/sproutcore/frameworks/core_foundation/tests/system/selection_set/remove.js +0 -111
  491. data/sproutcore/frameworks/core_foundation/tests/system/sparse_array.js +0 -194
  492. data/sproutcore/frameworks/core_foundation/tests/system/theme.js +0 -77
  493. data/sproutcore/frameworks/core_foundation/tests/system/timer/invalidate.js +0 -38
  494. data/sproutcore/frameworks/core_foundation/tests/system/timer/invokeLater.js +0 -203
  495. data/sproutcore/frameworks/core_foundation/tests/system/timer/isPaused.js +0 -71
  496. data/sproutcore/frameworks/core_foundation/tests/system/timer/performAction.js +0 -69
  497. data/sproutcore/frameworks/core_foundation/tests/system/timer/schedule.js +0 -170
  498. data/sproutcore/frameworks/core_foundation/tests/system/utils/normalizeURL.js +0 -18
  499. data/sproutcore/frameworks/core_foundation/tests/system/utils/offset.js +0 -271
  500. data/sproutcore/frameworks/core_foundation/tests/system/utils/rect.js +0 -99
  501. data/sproutcore/frameworks/core_foundation/tests/views/main_pane.js +0 -43
  502. data/sproutcore/frameworks/core_foundation/tests/views/pane/append_remove.js +0 -218
  503. data/sproutcore/frameworks/core_foundation/tests/views/pane/child_view.js +0 -20
  504. data/sproutcore/frameworks/core_foundation/tests/views/pane/firstResponder.js +0 -148
  505. data/sproutcore/frameworks/core_foundation/tests/views/pane/keyPane.js +0 -133
  506. data/sproutcore/frameworks/core_foundation/tests/views/pane/layout.js +0 -31
  507. data/sproutcore/frameworks/core_foundation/tests/views/pane/sendEvent.js +0 -206
  508. data/sproutcore/frameworks/core_foundation/tests/views/template/checkbox_support.js +0 -32
  509. data/sproutcore/frameworks/core_foundation/tests/views/template/text_field_support.js +0 -73
  510. data/sproutcore/frameworks/core_foundation/tests/views/template_view/collection.js +0 -111
  511. data/sproutcore/frameworks/core_foundation/tests/views/template_view/core.js +0 -100
  512. data/sproutcore/frameworks/core_foundation/tests/views/template_view/handlebars.js +0 -580
  513. data/sproutcore/frameworks/core_foundation/tests/views/view/animation.js +0 -376
  514. data/sproutcore/frameworks/core_foundation/tests/views/view/build.js +0 -85
  515. data/sproutcore/frameworks/core_foundation/tests/views/view/build_children.js +0 -89
  516. data/sproutcore/frameworks/core_foundation/tests/views/view/clippingFrame.js +0 -117
  517. data/sproutcore/frameworks/core_foundation/tests/views/view/convertFrames.js +0 -248
  518. data/sproutcore/frameworks/core_foundation/tests/views/view/convertLayouts.js +0 -145
  519. data/sproutcore/frameworks/core_foundation/tests/views/view/createChildViews.js +0 -132
  520. data/sproutcore/frameworks/core_foundation/tests/views/view/createLayer.js +0 -97
  521. data/sproutcore/frameworks/core_foundation/tests/views/view/destroyLayer.js +0 -83
  522. data/sproutcore/frameworks/core_foundation/tests/views/view/didAppendToDocument.js +0 -51
  523. data/sproutcore/frameworks/core_foundation/tests/views/view/findLayerInParentLayer.js +0 -50
  524. data/sproutcore/frameworks/core_foundation/tests/views/view/init.js +0 -50
  525. data/sproutcore/frameworks/core_foundation/tests/views/view/insertBefore.js +0 -217
  526. data/sproutcore/frameworks/core_foundation/tests/views/view/isVisible.js +0 -79
  527. data/sproutcore/frameworks/core_foundation/tests/views/view/isVisibleInWindow.js +0 -116
  528. data/sproutcore/frameworks/core_foundation/tests/views/view/keyboard.js +0 -22
  529. data/sproutcore/frameworks/core_foundation/tests/views/view/layer.js +0 -150
  530. data/sproutcore/frameworks/core_foundation/tests/views/view/layoutChildViews.js +0 -162
  531. data/sproutcore/frameworks/core_foundation/tests/views/view/layoutDidChange.js +0 -180
  532. data/sproutcore/frameworks/core_foundation/tests/views/view/layoutStyle.js +0 -735
  533. data/sproutcore/frameworks/core_foundation/tests/views/view/parentViewDidChange.js +0 -67
  534. data/sproutcore/frameworks/core_foundation/tests/views/view/prepareContext.js +0 -203
  535. data/sproutcore/frameworks/core_foundation/tests/views/view/removeChild.js +0 -189
  536. data/sproutcore/frameworks/core_foundation/tests/views/view/render.js +0 -125
  537. data/sproutcore/frameworks/core_foundation/tests/views/view/render_delegate_support.js +0 -163
  538. data/sproutcore/frameworks/core_foundation/tests/views/view/replaceChild.js +0 -29
  539. data/sproutcore/frameworks/core_foundation/tests/views/view/static_layout.js +0 -21
  540. data/sproutcore/frameworks/core_foundation/tests/views/view/theme.js +0 -43
  541. data/sproutcore/frameworks/core_foundation/tests/views/view/updateLayer.js +0 -148
  542. data/sproutcore/frameworks/core_foundation/tests/views/view/updateLayerLocation.js +0 -213
  543. data/sproutcore/frameworks/core_foundation/tests/views/view/view.js +0 -64
  544. data/sproutcore/frameworks/core_foundation/tests/views/view/viewDidResize.js +0 -202
  545. data/sproutcore/frameworks/core_foundation/views/template.js +0 -77
  546. data/sproutcore/frameworks/core_foundation/views/template/checkbox_support.js +0 -20
  547. data/sproutcore/frameworks/core_foundation/views/template/collection.js +0 -106
  548. data/sproutcore/frameworks/core_foundation/views/template/text_field_support.js +0 -35
  549. data/sproutcore/frameworks/core_foundation/views/view.js +0 -1458
  550. data/sproutcore/frameworks/core_foundation/views/view/animation.js +0 -181
  551. data/sproutcore/frameworks/core_foundation/views/view/base.js +0 -1
  552. data/sproutcore/frameworks/core_foundation/views/view/cursor.js +0 -48
  553. data/sproutcore/frameworks/core_foundation/views/view/enabled.js +0 -57
  554. data/sproutcore/frameworks/core_foundation/views/view/keyboard.js +0 -223
  555. data/sproutcore/frameworks/core_foundation/views/view/layout.js +0 -1087
  556. data/sproutcore/frameworks/core_foundation/views/view/layout_style.js +0 -618
  557. data/sproutcore/frameworks/core_foundation/views/view/manipulation.js +0 -426
  558. data/sproutcore/frameworks/core_foundation/views/view/theming.js +0 -362
  559. data/sproutcore/frameworks/core_foundation/views/view/touch.js +0 -67
  560. data/sproutcore/frameworks/core_foundation/views/view/visibility.js +0 -118
  561. data/sproutcore/frameworks/core_tools/core.js +0 -20
  562. data/sproutcore/frameworks/core_tools/data_source.js +0 -99
  563. data/sproutcore/frameworks/core_tools/english.lproj/strings.js +0 -15
  564. data/sproutcore/frameworks/core_tools/fixtures/target.js +0 -87
  565. data/sproutcore/frameworks/core_tools/fixtures/test.js +0 -44
  566. data/sproutcore/frameworks/core_tools/models/target.js +0 -108
  567. data/sproutcore/frameworks/core_tools/models/test.js +0 -48
  568. data/sproutcore/frameworks/datastore/core.js +0 -8
  569. data/sproutcore/frameworks/datastore/data_sources/cascade.js +0 -180
  570. data/sproutcore/frameworks/datastore/data_sources/data_source.js +0 -583
  571. data/sproutcore/frameworks/datastore/data_sources/fixtures.js +0 -393
  572. data/sproutcore/frameworks/datastore/debug/json.js +0 -71
  573. data/sproutcore/frameworks/datastore/debug/standard_setup.js +0 -96
  574. data/sproutcore/frameworks/datastore/fixtures/author_fixtures.js +0 -2503
  575. data/sproutcore/frameworks/datastore/fixtures/sample.js +0 -17
  576. data/sproutcore/frameworks/datastore/models/child_attribute.js +0 -96
  577. data/sproutcore/frameworks/datastore/models/children_attribute.js +0 -75
  578. data/sproutcore/frameworks/datastore/models/fetched_attribute.js +0 -100
  579. data/sproutcore/frameworks/datastore/models/many_attribute.js +0 -154
  580. data/sproutcore/frameworks/datastore/models/record.js +0 -1318
  581. data/sproutcore/frameworks/datastore/models/record_attribute.js +0 -567
  582. data/sproutcore/frameworks/datastore/models/single_attribute.js +0 -159
  583. data/sproutcore/frameworks/datastore/system/child_array.js +0 -222
  584. data/sproutcore/frameworks/datastore/system/many_array.js +0 -418
  585. data/sproutcore/frameworks/datastore/system/nested_store.js +0 -609
  586. data/sproutcore/frameworks/datastore/system/query.js +0 -1599
  587. data/sproutcore/frameworks/datastore/system/record_array.js +0 -710
  588. data/sproutcore/frameworks/datastore/system/store.js +0 -2860
  589. data/sproutcore/frameworks/datastore/tests/data_sources/cascade.js +0 -133
  590. data/sproutcore/frameworks/datastore/tests/data_sources/fixtures.js +0 -122
  591. data/sproutcore/frameworks/datastore/tests/integration/contact_model.js +0 -131
  592. data/sproutcore/frameworks/datastore/tests/integration/cyclical_relationship.js +0 -119
  593. data/sproutcore/frameworks/datastore/tests/integration/mail_model.js +0 -91
  594. data/sproutcore/frameworks/datastore/tests/integration/test_runner_model.js +0 -56
  595. data/sproutcore/frameworks/datastore/tests/models/datetime_recordattribute.js +0 -73
  596. data/sproutcore/frameworks/datastore/tests/models/many_attribute.js +0 -423
  597. data/sproutcore/frameworks/datastore/tests/models/nested_records/data_store.js +0 -180
  598. data/sproutcore/frameworks/datastore/tests/models/nested_records/nested_record.js +0 -309
  599. data/sproutcore/frameworks/datastore/tests/models/nested_records/nested_record_array.js +0 -363
  600. data/sproutcore/frameworks/datastore/tests/models/nested_records/nested_record_array_complex.js +0 -421
  601. data/sproutcore/frameworks/datastore/tests/models/nested_records/nested_record_complex.js +0 -304
  602. data/sproutcore/frameworks/datastore/tests/models/record/core_methods.js +0 -55
  603. data/sproutcore/frameworks/datastore/tests/models/record/destroy.js +0 -92
  604. data/sproutcore/frameworks/datastore/tests/models/record/error_methods.js +0 -56
  605. data/sproutcore/frameworks/datastore/tests/models/record/normalize.js +0 -336
  606. data/sproutcore/frameworks/datastore/tests/models/record/readAttribute.js +0 -53
  607. data/sproutcore/frameworks/datastore/tests/models/record/refresh.js +0 -48
  608. data/sproutcore/frameworks/datastore/tests/models/record/storeDidChangeProperties.js +0 -170
  609. data/sproutcore/frameworks/datastore/tests/models/record/unknownProperty.js +0 -66
  610. data/sproutcore/frameworks/datastore/tests/models/record/writeAttribute.js +0 -112
  611. data/sproutcore/frameworks/datastore/tests/models/record_attribute.js +0 -252
  612. data/sproutcore/frameworks/datastore/tests/models/single_attribute.js +0 -284
  613. data/sproutcore/frameworks/datastore/tests/system/many_array/core_methods.js +0 -204
  614. data/sproutcore/frameworks/datastore/tests/system/nested_store/chain.js +0 -180
  615. data/sproutcore/frameworks/datastore/tests/system/nested_store/commitChanges.js +0 -173
  616. data/sproutcore/frameworks/datastore/tests/system/nested_store/commitChangesFromNestedStore.js +0 -158
  617. data/sproutcore/frameworks/datastore/tests/system/nested_store/core_methods.js +0 -70
  618. data/sproutcore/frameworks/datastore/tests/system/nested_store/dataHashDidChange.js +0 -113
  619. data/sproutcore/frameworks/datastore/tests/system/nested_store/discardChanges.js +0 -102
  620. data/sproutcore/frameworks/datastore/tests/system/nested_store/readDataHash.js +0 -180
  621. data/sproutcore/frameworks/datastore/tests/system/nested_store/readEditableDataHash.js +0 -126
  622. data/sproutcore/frameworks/datastore/tests/system/nested_store/removeDataHash.js +0 -163
  623. data/sproutcore/frameworks/datastore/tests/system/nested_store/writeDataHash.js +0 -166
  624. data/sproutcore/frameworks/datastore/tests/system/query/builders.js +0 -219
  625. data/sproutcore/frameworks/datastore/tests/system/query/compare.js +0 -144
  626. data/sproutcore/frameworks/datastore/tests/system/query/contains.js +0 -131
  627. data/sproutcore/frameworks/datastore/tests/system/query/containsRecordTypes.js +0 -81
  628. data/sproutcore/frameworks/datastore/tests/system/query/copy.js +0 -30
  629. data/sproutcore/frameworks/datastore/tests/system/query/evaluation.js +0 -197
  630. data/sproutcore/frameworks/datastore/tests/system/query/evaluation_of_records.js +0 -92
  631. data/sproutcore/frameworks/datastore/tests/system/query/expandedRecordTypes.js +0 -64
  632. data/sproutcore/frameworks/datastore/tests/system/query/parse.js +0 -216
  633. data/sproutcore/frameworks/datastore/tests/system/query/queryWithScope.js +0 -57
  634. data/sproutcore/frameworks/datastore/tests/system/query/record_type_is.js +0 -47
  635. data/sproutcore/frameworks/datastore/tests/system/query/registered_comparisons.js +0 -70
  636. data/sproutcore/frameworks/datastore/tests/system/query/registered_query_extensions.js +0 -71
  637. data/sproutcore/frameworks/datastore/tests/system/record_array/core_methods.js +0 -177
  638. data/sproutcore/frameworks/datastore/tests/system/record_array/error_methods.js +0 -50
  639. data/sproutcore/frameworks/datastore/tests/system/record_array/flush.js +0 -214
  640. data/sproutcore/frameworks/datastore/tests/system/store/cancelRecord.js +0 -54
  641. data/sproutcore/frameworks/datastore/tests/system/store/commitChangesFromNestedStore.js +0 -137
  642. data/sproutcore/frameworks/datastore/tests/system/store/commitRecord.js +0 -221
  643. data/sproutcore/frameworks/datastore/tests/system/store/core_methods.js +0 -156
  644. data/sproutcore/frameworks/datastore/tests/system/store/createRecord.js +0 -76
  645. data/sproutcore/frameworks/datastore/tests/system/store/dataHashDidChange.js +0 -157
  646. data/sproutcore/frameworks/datastore/tests/system/store/dataSourceCallbacks.js +0 -278
  647. data/sproutcore/frameworks/datastore/tests/system/store/destroyRecord.js +0 -110
  648. data/sproutcore/frameworks/datastore/tests/system/store/error_methods.js +0 -62
  649. data/sproutcore/frameworks/datastore/tests/system/store/find.js +0 -530
  650. data/sproutcore/frameworks/datastore/tests/system/store/init.js +0 -23
  651. data/sproutcore/frameworks/datastore/tests/system/store/loadRecord.js +0 -64
  652. data/sproutcore/frameworks/datastore/tests/system/store/pushChanges.js +0 -61
  653. data/sproutcore/frameworks/datastore/tests/system/store/readDataHash.js +0 -74
  654. data/sproutcore/frameworks/datastore/tests/system/store/readEditableDataHash.js +0 -74
  655. data/sproutcore/frameworks/datastore/tests/system/store/recordDidChange.js +0 -76
  656. data/sproutcore/frameworks/datastore/tests/system/store/removeDataHash.js +0 -144
  657. data/sproutcore/frameworks/datastore/tests/system/store/retrieveRecord.js +0 -200
  658. data/sproutcore/frameworks/datastore/tests/system/store/unloadRecords.js +0 -41
  659. data/sproutcore/frameworks/datastore/tests/system/store/writeDataHash.js +0 -125
  660. data/sproutcore/frameworks/datetime/resources/strings.js +0 -14
  661. data/sproutcore/frameworks/datetime/system/datetime.js +0 -1111
  662. data/sproutcore/frameworks/datetime/tests/system/datetime.js +0 -383
  663. data/sproutcore/frameworks/debug/core.js +0 -114
  664. data/sproutcore/frameworks/debug/invoke_once_last_debugging.js +0 -259
  665. data/sproutcore/frameworks/designer/coders/design.js +0 -20
  666. data/sproutcore/frameworks/designer/coders/object.js +0 -347
  667. data/sproutcore/frameworks/designer/controllers/controllers.js +0 -16
  668. data/sproutcore/frameworks/designer/controllers/design.js +0 -37
  669. data/sproutcore/frameworks/designer/controllers/designs.js +0 -133
  670. data/sproutcore/frameworks/designer/controllers/page_design.js +0 -170
  671. data/sproutcore/frameworks/designer/controllers/page_files.js +0 -22
  672. data/sproutcore/frameworks/designer/core.js +0 -26
  673. data/sproutcore/frameworks/designer/css/css_rule.js +0 -22
  674. data/sproutcore/frameworks/designer/css/css_style.js +0 -29
  675. data/sproutcore/frameworks/designer/css/css_style_sheet.js +0 -201
  676. data/sproutcore/frameworks/designer/designers/button.js +0 -21
  677. data/sproutcore/frameworks/designer/designers/label.js +0 -16
  678. data/sproutcore/frameworks/designer/designers/object_designer.js +0 -296
  679. data/sproutcore/frameworks/designer/designers/tab.js +0 -18
  680. data/sproutcore/frameworks/designer/designers/text_field.js +0 -15
  681. data/sproutcore/frameworks/designer/designers/view_designer.js +0 -1267
  682. data/sproutcore/frameworks/designer/english.lproj/css/designer.css +0 -96
  683. data/sproutcore/frameworks/designer/english.lproj/design_page.js +0 -55
  684. data/sproutcore/frameworks/designer/english.lproj/high_light.css +0 -10
  685. data/sproutcore/frameworks/designer/english.lproj/images/controller.png +0 -0
  686. data/sproutcore/frameworks/designer/english.lproj/images/dock-bg.png +0 -0
  687. data/sproutcore/frameworks/designer/english.lproj/images/dock-item-bg.png +0 -0
  688. data/sproutcore/frameworks/designer/english.lproj/images/dock-item-divider.png +0 -0
  689. data/sproutcore/frameworks/designer/english.lproj/images/dock-item-sel-bg.png +0 -0
  690. data/sproutcore/frameworks/designer/english.lproj/images/dock-item-sel-divider.png +0 -0
  691. data/sproutcore/frameworks/designer/english.lproj/images/main-bg.png +0 -0
  692. data/sproutcore/frameworks/designer/english.lproj/images/page.png +0 -0
  693. data/sproutcore/frameworks/designer/english.lproj/images/pane.png +0 -0
  694. data/sproutcore/frameworks/designer/english.lproj/images/view.png +0 -0
  695. data/sproutcore/frameworks/designer/english.lproj/selection_handles.css +0 -58
  696. data/sproutcore/frameworks/designer/ext/binding.js +0 -33
  697. data/sproutcore/frameworks/designer/ext/object.js +0 -26
  698. data/sproutcore/frameworks/designer/ext/page.js +0 -58
  699. data/sproutcore/frameworks/designer/ext/view.js +0 -27
  700. data/sproutcore/frameworks/designer/mixins/button.js +0 -11
  701. data/sproutcore/frameworks/designer/mixins/snap_lines.js +0 -221
  702. data/sproutcore/frameworks/designer/tests/coders/page.js +0 -54
  703. data/sproutcore/frameworks/designer/tests/designers/view_designer.js +0 -47
  704. data/sproutcore/frameworks/designer/views/designer_drop_target.js +0 -144
  705. data/sproutcore/frameworks/designer/views/drawing.js +0 -219
  706. data/sproutcore/frameworks/designer/views/high_light.js +0 -66
  707. data/sproutcore/frameworks/designer/views/page_item_view.js +0 -130
  708. data/sproutcore/frameworks/designer/views/selection_handles.js +0 -78
  709. data/sproutcore/frameworks/desktop/.greenhouseconf +0 -218
  710. data/sproutcore/frameworks/desktop/core.js +0 -18
  711. data/sproutcore/frameworks/desktop/debug/drag.js +0 -41
  712. data/sproutcore/frameworks/desktop/english.lproj/alert.css +0 -56
  713. data/sproutcore/frameworks/desktop/english.lproj/debug/a_sample_image.jpg +0 -0
  714. data/sproutcore/frameworks/desktop/english.lproj/debug/apple-logo1.jpeg +0 -0
  715. data/sproutcore/frameworks/desktop/english.lproj/debug/iframe.html +0 -23
  716. data/sproutcore/frameworks/desktop/english.lproj/disclosure.css +0 -74
  717. data/sproutcore/frameworks/desktop/english.lproj/drag.css +0 -7
  718. data/sproutcore/frameworks/desktop/english.lproj/icons.css +0 -943
  719. data/sproutcore/frameworks/desktop/english.lproj/images/cap.png +0 -0
  720. data/sproutcore/frameworks/desktop/english.lproj/images/downbutton.png +0 -0
  721. data/sproutcore/frameworks/desktop/english.lproj/images/icons/shared.png +0 -0
  722. data/sproutcore/frameworks/desktop/english.lproj/images/thumb-bottom.png +0 -0
  723. data/sproutcore/frameworks/desktop/english.lproj/images/thumb-center.png +0 -0
  724. data/sproutcore/frameworks/desktop/english.lproj/images/thumb-top.png +0 -0
  725. data/sproutcore/frameworks/desktop/english.lproj/images/track.png +0 -0
  726. data/sproutcore/frameworks/desktop/english.lproj/images/upbutton.png +0 -0
  727. data/sproutcore/frameworks/desktop/english.lproj/list_item.css +0 -185
  728. data/sproutcore/frameworks/desktop/english.lproj/menu.css +0 -12
  729. data/sproutcore/frameworks/desktop/english.lproj/menu_item_view.css +0 -109
  730. data/sproutcore/frameworks/desktop/english.lproj/modal.css +0 -9
  731. data/sproutcore/frameworks/desktop/english.lproj/panel.css +0 -91
  732. data/sproutcore/frameworks/desktop/english.lproj/picker.css +0 -35
  733. data/sproutcore/frameworks/desktop/english.lproj/progress.css +0 -33
  734. data/sproutcore/frameworks/desktop/english.lproj/radio.css +0 -10
  735. data/sproutcore/frameworks/desktop/english.lproj/segmented.css +0 -132
  736. data/sproutcore/frameworks/desktop/english.lproj/separator.css +0 -19
  737. data/sproutcore/frameworks/desktop/english.lproj/slider.css +0 -66
  738. data/sproutcore/frameworks/desktop/english.lproj/split.css +0 -0
  739. data/sproutcore/frameworks/desktop/english.lproj/split_divider.css +0 -6
  740. data/sproutcore/frameworks/desktop/english.lproj/strings.js +0 -14
  741. data/sproutcore/frameworks/desktop/english.lproj/tab.css +0 -7
  742. data/sproutcore/frameworks/desktop/english.lproj/toolbar.css +0 -5
  743. data/sproutcore/frameworks/desktop/english.lproj/touch-scroller.css +0 -196
  744. data/sproutcore/frameworks/desktop/english.lproj/well.css +0 -71
  745. data/sproutcore/frameworks/desktop/mixins/border.js +0 -151
  746. data/sproutcore/frameworks/desktop/mixins/collection_fast_path.js +0 -694
  747. data/sproutcore/frameworks/desktop/mixins/collection_group.js +0 -22
  748. data/sproutcore/frameworks/desktop/mixins/collection_row_delegate.js +0 -95
  749. data/sproutcore/frameworks/desktop/mixins/collection_view_delegate.js +0 -295
  750. data/sproutcore/frameworks/desktop/mixins/navigation_builder.js +0 -130
  751. data/sproutcore/frameworks/desktop/mixins/scrollable.js +0 -253
  752. data/sproutcore/frameworks/desktop/panes/alert.js +0 -457
  753. data/sproutcore/frameworks/desktop/panes/menu.js +0 -1141
  754. data/sproutcore/frameworks/desktop/panes/modal.js +0 -71
  755. data/sproutcore/frameworks/desktop/panes/palette.js +0 -74
  756. data/sproutcore/frameworks/desktop/panes/panel.js +0 -207
  757. data/sproutcore/frameworks/desktop/panes/picker.js +0 -796
  758. data/sproutcore/frameworks/desktop/panes/select_button.js +0 -895
  759. data/sproutcore/frameworks/desktop/panes/sheet.js +0 -214
  760. data/sproutcore/frameworks/desktop/protocols/drag_data_source.js +0 -39
  761. data/sproutcore/frameworks/desktop/protocols/drag_source.js +0 -81
  762. data/sproutcore/frameworks/desktop/protocols/drop_target.js +0 -175
  763. data/sproutcore/frameworks/desktop/protocols/responder.js +0 -299
  764. data/sproutcore/frameworks/desktop/render_delegates/button.js +0 -105
  765. data/sproutcore/frameworks/desktop/render_delegates/checkbox.js +0 -100
  766. data/sproutcore/frameworks/desktop/render_delegates/collection.js +0 -24
  767. data/sproutcore/frameworks/desktop/render_delegates/disclosure.js +0 -69
  768. data/sproutcore/frameworks/desktop/render_delegates/helpers/slicing.js +0 -34
  769. data/sproutcore/frameworks/desktop/render_delegates/image_button.js +0 -30
  770. data/sproutcore/frameworks/desktop/render_delegates/master_detail.js +0 -28
  771. data/sproutcore/frameworks/desktop/render_delegates/menu.js +0 -47
  772. data/sproutcore/frameworks/desktop/render_delegates/panel.js +0 -28
  773. data/sproutcore/frameworks/desktop/render_delegates/picker.js +0 -43
  774. data/sproutcore/frameworks/desktop/render_delegates/progress.js +0 -187
  775. data/sproutcore/frameworks/desktop/render_delegates/radio.js +0 -95
  776. data/sproutcore/frameworks/desktop/render_delegates/radio_group.js +0 -109
  777. data/sproutcore/frameworks/desktop/render_delegates/segment.js +0 -55
  778. data/sproutcore/frameworks/desktop/render_delegates/segmented.js +0 -77
  779. data/sproutcore/frameworks/desktop/render_delegates/slider.js +0 -58
  780. data/sproutcore/frameworks/desktop/render_delegates/source_list.js +0 -8
  781. data/sproutcore/frameworks/desktop/render_delegates/toolbar.js +0 -18
  782. data/sproutcore/frameworks/desktop/render_delegates/well.js +0 -27
  783. data/sproutcore/frameworks/desktop/render_delegates/workspace.js +0 -18
  784. data/sproutcore/frameworks/desktop/system/drag.js +0 -974
  785. data/sproutcore/frameworks/desktop/system/key_bindings.js +0 -40
  786. data/sproutcore/frameworks/desktop/system/undo_manager.js +0 -187
  787. data/sproutcore/frameworks/desktop/tests/integration/dialog.js +0 -48
  788. data/sproutcore/frameworks/desktop/tests/mixins/border.js +0 -97
  789. data/sproutcore/frameworks/desktop/tests/panes/alert/methods.js +0 -10
  790. data/sproutcore/frameworks/desktop/tests/panes/alert/ui.js +0 -158
  791. data/sproutcore/frameworks/desktop/tests/panes/menu/methods.js +0 -135
  792. data/sproutcore/frameworks/desktop/tests/panes/menu/ui.js +0 -258
  793. data/sproutcore/frameworks/desktop/tests/panes/palette/methods.js +0 -10
  794. data/sproutcore/frameworks/desktop/tests/panes/palette/ui.js +0 -35
  795. data/sproutcore/frameworks/desktop/tests/panes/pane_page.js +0 -41
  796. data/sproutcore/frameworks/desktop/tests/panes/panel/methods.js +0 -10
  797. data/sproutcore/frameworks/desktop/tests/panes/panel/ui.js +0 -83
  798. data/sproutcore/frameworks/desktop/tests/panes/picker/methods.js +0 -10
  799. data/sproutcore/frameworks/desktop/tests/panes/picker/ui.js +0 -92
  800. data/sproutcore/frameworks/desktop/tests/panes/select_button/methods.js +0 -194
  801. data/sproutcore/frameworks/desktop/tests/panes/select_button/ui.js +0 -220
  802. data/sproutcore/frameworks/desktop/tests/panes/sheet/methods.js +0 -10
  803. data/sproutcore/frameworks/desktop/tests/panes/sheet/ui.js +0 -44
  804. data/sproutcore/frameworks/desktop/tests/views/button/methods.js +0 -166
  805. data/sproutcore/frameworks/desktop/tests/views/button/ui.js +0 -236
  806. data/sproutcore/frameworks/desktop/tests/views/checkbox/methods.js +0 -126
  807. data/sproutcore/frameworks/desktop/tests/views/checkbox/ui.js +0 -124
  808. data/sproutcore/frameworks/desktop/tests/views/collection/content.js +0 -249
  809. data/sproutcore/frameworks/desktop/tests/views/collection/deleteSelection.js +0 -82
  810. data/sproutcore/frameworks/desktop/tests/views/collection/deselect.js +0 -215
  811. data/sproutcore/frameworks/desktop/tests/views/collection/displayProperties.js +0 -31
  812. data/sproutcore/frameworks/desktop/tests/views/collection/itemViewForContentIndex.js +0 -300
  813. data/sproutcore/frameworks/desktop/tests/views/collection/layerIdFor.js +0 -65
  814. data/sproutcore/frameworks/desktop/tests/views/collection/length.js +0 -88
  815. data/sproutcore/frameworks/desktop/tests/views/collection/mouse.js +0 -240
  816. data/sproutcore/frameworks/desktop/tests/views/collection/nowShowing.js +0 -121
  817. data/sproutcore/frameworks/desktop/tests/views/collection/reload.js +0 -177
  818. data/sproutcore/frameworks/desktop/tests/views/collection/select.js +0 -240
  819. data/sproutcore/frameworks/desktop/tests/views/collection/selectNextItem.js +0 -205
  820. data/sproutcore/frameworks/desktop/tests/views/collection/selectPreviousItem.js +0 -211
  821. data/sproutcore/frameworks/desktop/tests/views/collection/selection.js +0 -141
  822. data/sproutcore/frameworks/desktop/tests/views/collection/ui_diagram.js +0 -188
  823. data/sproutcore/frameworks/desktop/tests/views/date_field/methods.js +0 -76
  824. data/sproutcore/frameworks/desktop/tests/views/date_field/ui.js +0 -456
  825. data/sproutcore/frameworks/desktop/tests/views/disclosure/methods.js +0 -10
  826. data/sproutcore/frameworks/desktop/tests/views/disclosure/ui.js +0 -104
  827. data/sproutcore/frameworks/desktop/tests/views/grid/methods.js +0 -10
  828. data/sproutcore/frameworks/desktop/tests/views/grid/ui.js +0 -10
  829. data/sproutcore/frameworks/desktop/tests/views/image_button/ui.js +0 -25
  830. data/sproutcore/frameworks/desktop/tests/views/list/render.js +0 -92
  831. data/sproutcore/frameworks/desktop/tests/views/list/rowDelegate.js +0 -183
  832. data/sproutcore/frameworks/desktop/tests/views/list/rowHeightForContentIndex.js +0 -133
  833. data/sproutcore/frameworks/desktop/tests/views/list/rowOffsetForContentIndex.js +0 -131
  834. data/sproutcore/frameworks/desktop/tests/views/list/ui_alternatingrows.js +0 -130
  835. data/sproutcore/frameworks/desktop/tests/views/list/ui_outline.js +0 -56
  836. data/sproutcore/frameworks/desktop/tests/views/list/ui_row_heights.js +0 -205
  837. data/sproutcore/frameworks/desktop/tests/views/list/ui_simple.js +0 -127
  838. data/sproutcore/frameworks/desktop/tests/views/list_item.js +0 -396
  839. data/sproutcore/frameworks/desktop/tests/views/menu_item/methods.js +0 -10
  840. data/sproutcore/frameworks/desktop/tests/views/menu_item/ui.js +0 -46
  841. data/sproutcore/frameworks/desktop/tests/views/progress/methods.js +0 -128
  842. data/sproutcore/frameworks/desktop/tests/views/progress/ui.js +0 -421
  843. data/sproutcore/frameworks/desktop/tests/views/radio/methods.js +0 -119
  844. data/sproutcore/frameworks/desktop/tests/views/radio/ui.js +0 -349
  845. data/sproutcore/frameworks/desktop/tests/views/scroll/methods.js +0 -143
  846. data/sproutcore/frameworks/desktop/tests/views/scroll/ui.js +0 -162
  847. data/sproutcore/frameworks/desktop/tests/views/scroller.js +0 -118
  848. data/sproutcore/frameworks/desktop/tests/views/segmented/methods.js +0 -108
  849. data/sproutcore/frameworks/desktop/tests/views/segmented/ui.js +0 -457
  850. data/sproutcore/frameworks/desktop/tests/views/select/methods.js +0 -144
  851. data/sproutcore/frameworks/desktop/tests/views/select/ui.js +0 -224
  852. data/sproutcore/frameworks/desktop/tests/views/select_field/methods.js +0 -163
  853. data/sproutcore/frameworks/desktop/tests/views/select_field/ui.js +0 -117
  854. data/sproutcore/frameworks/desktop/tests/views/separator.js +0 -44
  855. data/sproutcore/frameworks/desktop/tests/views/source_list/methods.js +0 -10
  856. data/sproutcore/frameworks/desktop/tests/views/source_list/ui.js +0 -10
  857. data/sproutcore/frameworks/desktop/tests/views/split/methods.js +0 -60
  858. data/sproutcore/frameworks/desktop/tests/views/split/ui.js +0 -59
  859. data/sproutcore/frameworks/desktop/tests/views/stacked/ui_comments.js +0 -238
  860. data/sproutcore/frameworks/desktop/tests/views/static_content.js +0 -46
  861. data/sproutcore/frameworks/desktop/tests/views/tab/methods.js +0 -54
  862. data/sproutcore/frameworks/desktop/tests/views/tab/ui.js +0 -92
  863. data/sproutcore/frameworks/desktop/tests/views/toolbar/method.js +0 -33
  864. data/sproutcore/frameworks/desktop/tests/views/toolbar/ui.js +0 -29
  865. data/sproutcore/frameworks/desktop/tests/views/web/methods.js +0 -10
  866. data/sproutcore/frameworks/desktop/tests/views/web/ui.js +0 -110
  867. data/sproutcore/frameworks/desktop/tests/views/well/ui.js +0 -54
  868. data/sproutcore/frameworks/desktop/views/button.js +0 -564
  869. data/sproutcore/frameworks/desktop/views/checkbox.js +0 -110
  870. data/sproutcore/frameworks/desktop/views/collection.js +0 -3090
  871. data/sproutcore/frameworks/desktop/views/date_field.js +0 -319
  872. data/sproutcore/frameworks/desktop/views/disclosure.js +0 -68
  873. data/sproutcore/frameworks/desktop/views/file.js +0 -112
  874. data/sproutcore/frameworks/desktop/views/grid.js +0 -207
  875. data/sproutcore/frameworks/desktop/views/image_button.js +0 -74
  876. data/sproutcore/frameworks/desktop/views/list.js +0 -637
  877. data/sproutcore/frameworks/desktop/views/list_item.js +0 -923
  878. data/sproutcore/frameworks/desktop/views/master_detail.js +0 -257
  879. data/sproutcore/frameworks/desktop/views/menu_item.js +0 -704
  880. data/sproutcore/frameworks/desktop/views/menu_scroll.js +0 -615
  881. data/sproutcore/frameworks/desktop/views/navigation.js +0 -237
  882. data/sproutcore/frameworks/desktop/views/navigation_bar.js +0 -181
  883. data/sproutcore/frameworks/desktop/views/popup_button.js +0 -299
  884. data/sproutcore/frameworks/desktop/views/progress.js +0 -197
  885. data/sproutcore/frameworks/desktop/views/radio.js +0 -347
  886. data/sproutcore/frameworks/desktop/views/scene.js +0 -204
  887. data/sproutcore/frameworks/desktop/views/scroll.js +0 -1824
  888. data/sproutcore/frameworks/desktop/views/scroller.js +0 -917
  889. data/sproutcore/frameworks/desktop/views/segment.js +0 -104
  890. data/sproutcore/frameworks/desktop/views/segmented.js +0 -1002
  891. data/sproutcore/frameworks/desktop/views/select.js +0 -809
  892. data/sproutcore/frameworks/desktop/views/select_field.js +0 -344
  893. data/sproutcore/frameworks/desktop/views/separator.js +0 -36
  894. data/sproutcore/frameworks/desktop/views/slider.js +0 -291
  895. data/sproutcore/frameworks/desktop/views/source_list.js +0 -49
  896. data/sproutcore/frameworks/desktop/views/source_list_group.js +0 -169
  897. data/sproutcore/frameworks/desktop/views/split.js +0 -891
  898. data/sproutcore/frameworks/desktop/views/split_divider.js +0 -52
  899. data/sproutcore/frameworks/desktop/views/stacked.js +0 -110
  900. data/sproutcore/frameworks/desktop/views/static_content.js +0 -134
  901. data/sproutcore/frameworks/desktop/views/tab.js +0 -186
  902. data/sproutcore/frameworks/desktop/views/thumb.js +0 -53
  903. data/sproutcore/frameworks/desktop/views/toolbar.js +0 -88
  904. data/sproutcore/frameworks/desktop/views/web.js +0 -87
  905. data/sproutcore/frameworks/desktop/views/well.js +0 -65
  906. data/sproutcore/frameworks/desktop/views/workspace.js +0 -251
  907. data/sproutcore/frameworks/documentation/core.js +0 -0
  908. data/sproutcore/frameworks/experimental/README.md +0 -23
  909. data/sproutcore/frameworks/experimental/frameworks/device_motion/README.md +0 -11
  910. data/sproutcore/frameworks/experimental/frameworks/device_motion/device.js +0 -215
  911. data/sproutcore/frameworks/experimental/frameworks/device_motion/platform.js +0 -67
  912. data/sproutcore/frameworks/experimental/frameworks/polymorphism/README.md +0 -34
  913. data/sproutcore/frameworks/experimental/frameworks/polymorphism/models/polymorphic_single_attribute.js +0 -183
  914. data/sproutcore/frameworks/experimental/frameworks/polymorphism/models/record.js +0 -23
  915. data/sproutcore/frameworks/experimental/frameworks/polymorphism/tests/models/polymorphic/single.js +0 -124
  916. data/sproutcore/frameworks/forms/english.lproj/default_styles.css +0 -5
  917. data/sproutcore/frameworks/forms/english.lproj/strings.js +0 -15
  918. data/sproutcore/frameworks/forms/mixins/edit_mode.js +0 -43
  919. data/sproutcore/frameworks/forms/mixins/emptiness.js +0 -95
  920. data/sproutcore/frameworks/forms/renderer_delegates/form.js +0 -22
  921. data/sproutcore/frameworks/forms/renderer_delegates/form_row.js +0 -21
  922. data/sproutcore/frameworks/forms/tests/views/form.js +0 -15
  923. data/sproutcore/frameworks/forms/tests/views/form_checkbox_field.js +0 -15
  924. data/sproutcore/frameworks/forms/tests/views/form_field.js +0 -15
  925. data/sproutcore/frameworks/forms/tests/views/form_label.js +0 -15
  926. data/sproutcore/frameworks/forms/tests/views/form_radio_field.js +0 -15
  927. data/sproutcore/frameworks/forms/tests/views/form_row.js +0 -15
  928. data/sproutcore/frameworks/forms/tests/views/form_text_field.js +0 -15
  929. data/sproutcore/frameworks/forms/views/form.js +0 -282
  930. data/sproutcore/frameworks/forms/views/form_row.js +0 -183
  931. data/sproutcore/frameworks/foundation/.greenhouseconf +0 -35
  932. data/sproutcore/frameworks/foundation/TESTING +0 -46
  933. data/sproutcore/frameworks/foundation/controllers/tree.js +0 -127
  934. data/sproutcore/frameworks/foundation/core.js +0 -0
  935. data/sproutcore/frameworks/foundation/debug/control_test_pane.js +0 -191
  936. data/sproutcore/frameworks/foundation/english.lproj/benchmark.css +0 -146
  937. data/sproutcore/frameworks/foundation/english.lproj/blank.gif +0 -0
  938. data/sproutcore/frameworks/foundation/english.lproj/bootstrap.rhtml +0 -67
  939. data/sproutcore/frameworks/foundation/english.lproj/button_view.css +0 -40
  940. data/sproutcore/frameworks/foundation/english.lproj/debug/control-test-pane.css +0 -9
  941. data/sproutcore/frameworks/foundation/english.lproj/images/favicon.ico +0 -0
  942. data/sproutcore/frameworks/foundation/english.lproj/images/sproutcore-logo.png +0 -0
  943. data/sproutcore/frameworks/foundation/english.lproj/images/sproutcore-startup-landscape.jpg +0 -0
  944. data/sproutcore/frameworks/foundation/english.lproj/images/sproutcore-startup-landscape.png +0 -0
  945. data/sproutcore/frameworks/foundation/english.lproj/images/sproutcore-startup-portrait.jpg +0 -0
  946. data/sproutcore/frameworks/foundation/english.lproj/images/sproutcore-startup-portrait.png +0 -0
  947. data/sproutcore/frameworks/foundation/english.lproj/images/sproutcore-startup.png +0 -0
  948. data/sproutcore/frameworks/foundation/english.lproj/images/sproutcore.png +0 -0
  949. data/sproutcore/frameworks/foundation/english.lproj/inline_editor.css +0 -12
  950. data/sproutcore/frameworks/foundation/english.lproj/label.css +0 -47
  951. data/sproutcore/frameworks/foundation/english.lproj/static_layout.css +0 -5
  952. data/sproutcore/frameworks/foundation/english.lproj/text_field.css +0 -146
  953. data/sproutcore/frameworks/foundation/fixtures/file_exists.json +0 -1
  954. data/sproutcore/frameworks/foundation/fixtures/malformed.json +0 -11
  955. data/sproutcore/frameworks/foundation/gestures/pinch.js +0 -81
  956. data/sproutcore/frameworks/foundation/gestures/swipe.js +0 -144
  957. data/sproutcore/frameworks/foundation/gestures/tap.js +0 -113
  958. data/sproutcore/frameworks/foundation/license.js +0 -28
  959. data/sproutcore/frameworks/foundation/mixins/auto_mixin.js +0 -39
  960. data/sproutcore/frameworks/foundation/mixins/auto_resize.js +0 -233
  961. data/sproutcore/frameworks/foundation/mixins/button.js +0 -360
  962. data/sproutcore/frameworks/foundation/mixins/collection_content.js +0 -178
  963. data/sproutcore/frameworks/foundation/mixins/content_display.js +0 -114
  964. data/sproutcore/frameworks/foundation/mixins/control.js +0 -422
  965. data/sproutcore/frameworks/foundation/mixins/editable.js +0 -158
  966. data/sproutcore/frameworks/foundation/mixins/flowed_layout.js +0 -628
  967. data/sproutcore/frameworks/foundation/mixins/gestureable.js +0 -214
  968. data/sproutcore/frameworks/foundation/mixins/inline_editable.js +0 -89
  969. data/sproutcore/frameworks/foundation/mixins/inline_editor_delegate.js +0 -139
  970. data/sproutcore/frameworks/foundation/mixins/inline_text_field.js +0 -589
  971. data/sproutcore/frameworks/foundation/mixins/inner_frame.js +0 -184
  972. data/sproutcore/frameworks/foundation/mixins/static_layout.js +0 -77
  973. data/sproutcore/frameworks/foundation/mixins/string.js +0 -391
  974. data/sproutcore/frameworks/foundation/mixins/tree_item_content.js +0 -160
  975. data/sproutcore/frameworks/foundation/mixins/validatable.js +0 -189
  976. data/sproutcore/frameworks/foundation/private/tree_item_observer.js +0 -914
  977. data/sproutcore/frameworks/foundation/render_delegates/canvas_image.js +0 -110
  978. data/sproutcore/frameworks/foundation/render_delegates/container.js +0 -18
  979. data/sproutcore/frameworks/foundation/render_delegates/image.js +0 -97
  980. data/sproutcore/frameworks/foundation/render_delegates/label.js +0 -139
  981. data/sproutcore/frameworks/foundation/render_delegates/render_delegate.js +0 -17
  982. data/sproutcore/frameworks/foundation/system/benchmark.js +0 -718
  983. data/sproutcore/frameworks/foundation/system/chance.js +0 -64
  984. data/sproutcore/frameworks/foundation/system/cookie.js +0 -171
  985. data/sproutcore/frameworks/foundation/system/core_query.js +0 -56
  986. data/sproutcore/frameworks/foundation/system/exception_handler.js +0 -88
  987. data/sproutcore/frameworks/foundation/system/gesture.js +0 -363
  988. data/sproutcore/frameworks/foundation/system/image_queue.js +0 -433
  989. data/sproutcore/frameworks/foundation/system/math.js +0 -57
  990. data/sproutcore/frameworks/foundation/system/module.js +0 -583
  991. data/sproutcore/frameworks/foundation/system/request.js +0 -596
  992. data/sproutcore/frameworks/foundation/system/response.js +0 -550
  993. data/sproutcore/frameworks/foundation/system/routes.js +0 -519
  994. data/sproutcore/frameworks/foundation/system/staticqueue.js +0 -53
  995. data/sproutcore/frameworks/foundation/system/task_queue.js +0 -153
  996. data/sproutcore/frameworks/foundation/system/text_selection.js +0 -103
  997. data/sproutcore/frameworks/foundation/system/time.js +0 -473
  998. data/sproutcore/frameworks/foundation/system/user_defaults.js +0 -392
  999. data/sproutcore/frameworks/foundation/system/utils/colors.js +0 -80
  1000. data/sproutcore/frameworks/foundation/system/utils/misc.js +0 -137
  1001. data/sproutcore/frameworks/foundation/system/utils/range.js +0 -64
  1002. data/sproutcore/frameworks/foundation/system/utils/string_measurement.js +0 -247
  1003. data/sproutcore/frameworks/foundation/tasks/preload_bundle.js +0 -41
  1004. data/sproutcore/frameworks/foundation/tasks/task.js +0 -17
  1005. data/sproutcore/frameworks/foundation/tests/controllers/tree/outline_case.js +0 -108
  1006. data/sproutcore/frameworks/foundation/tests/controllers/tree/selection_support.js +0 -340
  1007. data/sproutcore/frameworks/foundation/tests/debug/control_test_pane/methods.js +0 -10
  1008. data/sproutcore/frameworks/foundation/tests/debug/control_test_pane/ui.js +0 -113
  1009. data/sproutcore/frameworks/foundation/tests/integration/creating_views.js +0 -118
  1010. data/sproutcore/frameworks/foundation/tests/mixins/button/content.js +0 -195
  1011. data/sproutcore/frameworks/foundation/tests/mixins/button/displayProperties.js +0 -89
  1012. data/sproutcore/frameworks/foundation/tests/mixins/button/keyEquivalents.js +0 -57
  1013. data/sproutcore/frameworks/foundation/tests/mixins/button/ui.js +0 -69
  1014. data/sproutcore/frameworks/foundation/tests/mixins/content_display.js +0 -51
  1015. data/sproutcore/frameworks/foundation/tests/mixins/control/content.js +0 -168
  1016. data/sproutcore/frameworks/foundation/tests/mixins/control/displayProperties.js +0 -89
  1017. data/sproutcore/frameworks/foundation/tests/mixins/editable/ui.js +0 -44
  1018. data/sproutcore/frameworks/foundation/tests/mixins/inline_text_field/api.js +0 -52
  1019. data/sproutcore/frameworks/foundation/tests/mixins/inline_text_field/beginEditing.js +0 -238
  1020. data/sproutcore/frameworks/foundation/tests/mixins/inline_text_field/ui.js +0 -64
  1021. data/sproutcore/frameworks/foundation/tests/mixins/staticLayout.js +0 -144
  1022. data/sproutcore/frameworks/foundation/tests/mixins/string.js +0 -28
  1023. data/sproutcore/frameworks/foundation/tests/mixins/validatable/ui.js +0 -74
  1024. data/sproutcore/frameworks/foundation/tests/private/tree_item_observer/flat_case.js +0 -325
  1025. data/sproutcore/frameworks/foundation/tests/private/tree_item_observer/group_case.js +0 -718
  1026. data/sproutcore/frameworks/foundation/tests/private/tree_item_observer/outline_case.js +0 -484
  1027. data/sproutcore/frameworks/foundation/tests/system/cookie.js +0 -179
  1028. data/sproutcore/frameworks/foundation/tests/system/core_query/setClass.js +0 -59
  1029. data/sproutcore/frameworks/foundation/tests/system/math.js +0 -39
  1030. data/sproutcore/frameworks/foundation/tests/system/request.js +0 -273
  1031. data/sproutcore/frameworks/foundation/tests/system/routes.js +0 -356
  1032. data/sproutcore/frameworks/foundation/tests/system/task_queue.js +0 -43
  1033. data/sproutcore/frameworks/foundation/tests/system/user_defaults.js +0 -24
  1034. data/sproutcore/frameworks/foundation/tests/system/utils/pointInElement.js +0 -235
  1035. data/sproutcore/frameworks/foundation/tests/system/utils/range.js +0 -62
  1036. data/sproutcore/frameworks/foundation/tests/validators/credit_card.js +0 -35
  1037. data/sproutcore/frameworks/foundation/tests/validators/date.js +0 -26
  1038. data/sproutcore/frameworks/foundation/tests/validators/not_empty.js +0 -56
  1039. data/sproutcore/frameworks/foundation/tests/validators/number.js +0 -47
  1040. data/sproutcore/frameworks/foundation/tests/validators/password.js +0 -13
  1041. data/sproutcore/frameworks/foundation/tests/validators/validator.js +0 -20
  1042. data/sproutcore/frameworks/foundation/tests/views/container/methods.js +0 -18
  1043. data/sproutcore/frameworks/foundation/tests/views/container/ui.js +0 -145
  1044. data/sproutcore/frameworks/foundation/tests/views/image/ui.js +0 -492
  1045. data/sproutcore/frameworks/foundation/tests/views/label/ui.js +0 -179
  1046. data/sproutcore/frameworks/foundation/tests/views/text_field/methods.js +0 -87
  1047. data/sproutcore/frameworks/foundation/tests/views/text_field/nextValidKeyView.js +0 -110
  1048. data/sproutcore/frameworks/foundation/tests/views/text_field/ui.js +0 -577
  1049. data/sproutcore/frameworks/foundation/validators/credit_card.js +0 -125
  1050. data/sproutcore/frameworks/foundation/validators/date.js +0 -52
  1051. data/sproutcore/frameworks/foundation/validators/date_time.js +0 -48
  1052. data/sproutcore/frameworks/foundation/validators/email.js +0 -45
  1053. data/sproutcore/frameworks/foundation/validators/not_empty.js +0 -37
  1054. data/sproutcore/frameworks/foundation/validators/number.js +0 -99
  1055. data/sproutcore/frameworks/foundation/validators/password.js +0 -86
  1056. data/sproutcore/frameworks/foundation/validators/positive_integer.js +0 -84
  1057. data/sproutcore/frameworks/foundation/validators/validator.js +0 -326
  1058. data/sproutcore/frameworks/foundation/views/container.js +0 -140
  1059. data/sproutcore/frameworks/foundation/views/field.js +0 -337
  1060. data/sproutcore/frameworks/foundation/views/image.js +0 -381
  1061. data/sproutcore/frameworks/foundation/views/label.js +0 -219
  1062. data/sproutcore/frameworks/foundation/views/text_field.js +0 -1073
  1063. data/sproutcore/frameworks/handlebars/extensions.js +0 -44
  1064. data/sproutcore/frameworks/handlebars/extensions/bind.js +0 -156
  1065. data/sproutcore/frameworks/handlebars/extensions/collection.js +0 -75
  1066. data/sproutcore/frameworks/handlebars/extensions/localization.js +0 -5
  1067. data/sproutcore/frameworks/handlebars/extensions/view.js +0 -115
  1068. data/sproutcore/frameworks/handlebars/handlebars.js +0 -1401
  1069. data/sproutcore/frameworks/jquery/jquery-buffer.js +0 -376
  1070. data/sproutcore/frameworks/jquery/jquery-buffered.js +0 -205
  1071. data/sproutcore/frameworks/jquery/jquery-sc.js +0 -7
  1072. data/sproutcore/frameworks/jquery/jquery.js +0 -7179
  1073. data/sproutcore/frameworks/media/.greenhouseconf +0 -29
  1074. data/sproutcore/frameworks/media/resources/controls.png +0 -0
  1075. data/sproutcore/frameworks/media/resources/playeras3.fla +0 -0
  1076. data/sproutcore/frameworks/media/resources/video.css +0 -124
  1077. data/sproutcore/frameworks/media/resources/videoCanvas.swf +0 -0
  1078. data/sproutcore/frameworks/media/views/audio.js +0 -741
  1079. data/sproutcore/frameworks/media/views/controls.js +0 -88
  1080. data/sproutcore/frameworks/media/views/media_slider.js +0 -243
  1081. data/sproutcore/frameworks/media/views/mini_controls.js +0 -63
  1082. data/sproutcore/frameworks/media/views/simple_controls.js +0 -54
  1083. data/sproutcore/frameworks/media/views/video.js +0 -832
  1084. data/sproutcore/frameworks/mini/license.js +0 -29
  1085. data/sproutcore/frameworks/runtime/README +0 -12
  1086. data/sproutcore/frameworks/runtime/core.js +0 -1102
  1087. data/sproutcore/frameworks/runtime/debug/test_suites/array.js +0 -14
  1088. data/sproutcore/frameworks/runtime/debug/test_suites/array/base.js +0 -397
  1089. data/sproutcore/frameworks/runtime/debug/test_suites/array/indexOf.js +0 -33
  1090. data/sproutcore/frameworks/runtime/debug/test_suites/array/insertAt.js +0 -121
  1091. data/sproutcore/frameworks/runtime/debug/test_suites/array/objectAt.js +0 -34
  1092. data/sproutcore/frameworks/runtime/debug/test_suites/array/popObject.js +0 -50
  1093. data/sproutcore/frameworks/runtime/debug/test_suites/array/pushObject.js +0 -46
  1094. data/sproutcore/frameworks/runtime/debug/test_suites/array/rangeObserver.js +0 -371
  1095. data/sproutcore/frameworks/runtime/debug/test_suites/array/removeAt.js +0 -100
  1096. data/sproutcore/frameworks/runtime/debug/test_suites/array/removeObject.js +0 -49
  1097. data/sproutcore/frameworks/runtime/debug/test_suites/array/replace.js +0 -94
  1098. data/sproutcore/frameworks/runtime/debug/test_suites/array/shiftObject.js +0 -50
  1099. data/sproutcore/frameworks/runtime/debug/test_suites/array/unshiftObject.js +0 -47
  1100. data/sproutcore/frameworks/runtime/license.js +0 -29
  1101. data/sproutcore/frameworks/runtime/mixins/array.js +0 -658
  1102. data/sproutcore/frameworks/runtime/mixins/comparable.js +0 -45
  1103. data/sproutcore/frameworks/runtime/mixins/copyable.js +0 -72
  1104. data/sproutcore/frameworks/runtime/mixins/enumerable.js +0 -1426
  1105. data/sproutcore/frameworks/runtime/mixins/freezable.js +0 -110
  1106. data/sproutcore/frameworks/runtime/mixins/observable.js +0 -1408
  1107. data/sproutcore/frameworks/runtime/private/chain_observer.js +0 -178
  1108. data/sproutcore/frameworks/runtime/private/observer_queue.js +0 -178
  1109. data/sproutcore/frameworks/runtime/private/observer_set.js +0 -123
  1110. data/sproutcore/frameworks/runtime/system/binding.js +0 -1000
  1111. data/sproutcore/frameworks/runtime/system/enumerator.js +0 -107
  1112. data/sproutcore/frameworks/runtime/system/error.js +0 -157
  1113. data/sproutcore/frameworks/runtime/system/index_set.js +0 -1199
  1114. data/sproutcore/frameworks/runtime/system/logger.js +0 -1582
  1115. data/sproutcore/frameworks/runtime/system/object.js +0 -947
  1116. data/sproutcore/frameworks/runtime/system/range_observer.js +0 -270
  1117. data/sproutcore/frameworks/runtime/system/run_loop.js +0 -308
  1118. data/sproutcore/frameworks/runtime/system/set.js +0 -536
  1119. data/sproutcore/frameworks/runtime/tests/core/IsEqual.js +0 -30
  1120. data/sproutcore/frameworks/runtime/tests/core/beget.js +0 -23
  1121. data/sproutcore/frameworks/runtime/tests/core/clone.js +0 -108
  1122. data/sproutcore/frameworks/runtime/tests/core/compare.js +0 -44
  1123. data/sproutcore/frameworks/runtime/tests/core/console.js +0 -16
  1124. data/sproutcore/frameworks/runtime/tests/core/guidFor.js +0 -109
  1125. data/sproutcore/frameworks/runtime/tests/core/inspect.js +0 -27
  1126. data/sproutcore/frameworks/runtime/tests/core/itemType.js +0 -71
  1127. data/sproutcore/frameworks/runtime/tests/core/keys.js +0 -20
  1128. data/sproutcore/frameworks/runtime/tests/core/makeArray.js +0 -44
  1129. data/sproutcore/frameworks/runtime/tests/core/objectForPropertyPath.js +0 -19
  1130. data/sproutcore/frameworks/runtime/tests/core/tupleForPropertyPath.js +0 -37
  1131. data/sproutcore/frameworks/runtime/tests/mixins/array.js +0 -59
  1132. data/sproutcore/frameworks/runtime/tests/mixins/comparable.js +0 -44
  1133. data/sproutcore/frameworks/runtime/tests/mixins/enumerable.js +0 -658
  1134. data/sproutcore/frameworks/runtime/tests/mixins/observable/chained.js +0 -37
  1135. data/sproutcore/frameworks/runtime/tests/mixins/observable/observable.js +0 -733
  1136. data/sproutcore/frameworks/runtime/tests/mixins/observable/propertyChanges.js +0 -155
  1137. data/sproutcore/frameworks/runtime/tests/mixins/observable/registerDependentKeys.js +0 -79
  1138. data/sproutcore/frameworks/runtime/tests/mixins/propertyChanges.js +0 -81
  1139. data/sproutcore/frameworks/runtime/tests/private/observer_queue/isObservingSuspended.js +0 -55
  1140. data/sproutcore/frameworks/runtime/tests/system/binding.js +0 -395
  1141. data/sproutcore/frameworks/runtime/tests/system/error.js +0 -53
  1142. data/sproutcore/frameworks/runtime/tests/system/index_set/add.js +0 -212
  1143. data/sproutcore/frameworks/runtime/tests/system/index_set/addEach.js +0 -49
  1144. data/sproutcore/frameworks/runtime/tests/system/index_set/clone.js +0 -43
  1145. data/sproutcore/frameworks/runtime/tests/system/index_set/contains.js +0 -74
  1146. data/sproutcore/frameworks/runtime/tests/system/index_set/create.js +0 -42
  1147. data/sproutcore/frameworks/runtime/tests/system/index_set/indexAfter.js +0 -38
  1148. data/sproutcore/frameworks/runtime/tests/system/index_set/indexBefore.js +0 -38
  1149. data/sproutcore/frameworks/runtime/tests/system/index_set/intersects.js +0 -74
  1150. data/sproutcore/frameworks/runtime/tests/system/index_set/max.js +0 -40
  1151. data/sproutcore/frameworks/runtime/tests/system/index_set/min.js +0 -50
  1152. data/sproutcore/frameworks/runtime/tests/system/index_set/rangeStartForIndex.js +0 -36
  1153. data/sproutcore/frameworks/runtime/tests/system/index_set/remove.js +0 -189
  1154. data/sproutcore/frameworks/runtime/tests/system/index_set/removeEach.js +0 -49
  1155. data/sproutcore/frameworks/runtime/tests/system/index_set/without.js +0 -89
  1156. data/sproutcore/frameworks/runtime/tests/system/logger.js +0 -260
  1157. data/sproutcore/frameworks/runtime/tests/system/object/base.js +0 -195
  1158. data/sproutcore/frameworks/runtime/tests/system/object/bindings.js +0 -374
  1159. data/sproutcore/frameworks/runtime/tests/system/object/concatenated_properties.js +0 -71
  1160. data/sproutcore/frameworks/runtime/tests/system/object/enhance.js +0 -177
  1161. data/sproutcore/frameworks/runtime/tests/system/observer_set.js +0 -50
  1162. data/sproutcore/frameworks/runtime/tests/system/range_observer/create.js +0 -59
  1163. data/sproutcore/frameworks/runtime/tests/system/range_observer/destroy.js +0 -75
  1164. data/sproutcore/frameworks/runtime/tests/system/range_observer/objectPropertyDidChange.js +0 -117
  1165. data/sproutcore/frameworks/runtime/tests/system/range_observer/rangeDidChange.js +0 -110
  1166. data/sproutcore/frameworks/runtime/tests/system/range_observer/update.js +0 -65
  1167. data/sproutcore/frameworks/runtime/tests/system/run_loop.js +0 -120
  1168. data/sproutcore/frameworks/runtime/tests/system/set.js +0 -318
  1169. data/sproutcore/frameworks/statechart/core.js +0 -5
  1170. data/sproutcore/frameworks/statechart/debug/monitor.js +0 -136
  1171. data/sproutcore/frameworks/statechart/system/state.js +0 -713
  1172. data/sproutcore/frameworks/statechart/system/statechart.js +0 -951
  1173. data/sproutcore/frameworks/statechart/tests/async.js +0 -94
  1174. data/sproutcore/frameworks/statechart/tests/event_handling/advanced_event_handling.js +0 -310
  1175. data/sproutcore/frameworks/statechart/tests/namespace/access_substates.js +0 -252
  1176. data/sproutcore/frameworks/statechart/tests/state/is_current_state.js +0 -64
  1177. data/sproutcore/frameworks/statechart/tests/with_concurrent_states/goto_history_state.js +0 -88
  1178. data/sproutcore/frameworks/statechart/tests/with_concurrent_states/goto_state_advanced.js +0 -234
  1179. data/sproutcore/frameworks/statechart/tests/with_concurrent_states/goto_state_async.js +0 -123
  1180. data/sproutcore/frameworks/statechart/tests/with_concurrent_states/goto_state_basic.js +0 -139
  1181. data/sproutcore/frameworks/statechart/tests/with_concurrent_states/goto_state_intermediate.js +0 -119
  1182. data/sproutcore/frameworks/statechart/tests/with_concurrent_states/send_event.js +0 -183
  1183. data/sproutcore/frameworks/statechart/tests/without_concurrent_states/default_responder.js +0 -90
  1184. data/sproutcore/frameworks/statechart/tests/without_concurrent_states/goto_history_state.js +0 -200
  1185. data/sproutcore/frameworks/statechart/tests/without_concurrent_states/goto_state.js +0 -256
  1186. data/sproutcore/frameworks/statechart/tests/without_concurrent_states/goto_state_async.js +0 -187
  1187. data/sproutcore/frameworks/statechart/tests/without_concurrent_states/send_event.js +0 -122
  1188. data/sproutcore/frameworks/statechart/tests/without_concurrent_states/state_plugin.js +0 -99
  1189. data/sproutcore/frameworks/statechart/tests/without_concurrent_states/transient.js +0 -162
  1190. data/sproutcore/frameworks/table/mixins/table_delegate.js +0 -41
  1191. data/sproutcore/frameworks/table/system/table_column.js +0 -125
  1192. data/sproutcore/frameworks/table/views/table.js +0 -440
  1193. data/sproutcore/frameworks/table/views/table_cell.js +0 -63
  1194. data/sproutcore/frameworks/table/views/table_head.js +0 -158
  1195. data/sproutcore/frameworks/table/views/table_header.js +0 -214
  1196. data/sproutcore/frameworks/table/views/table_row.js +0 -155
  1197. data/sproutcore/frameworks/testing/core.js +0 -196
  1198. data/sproutcore/frameworks/testing/english.lproj/additions.css +0 -8
  1199. data/sproutcore/frameworks/testing/english.lproj/runner.css +0 -128
  1200. data/sproutcore/frameworks/testing/english.lproj/testsuite.css +0 -136
  1201. data/sproutcore/frameworks/testing/extras.js +0 -17
  1202. data/sproutcore/frameworks/testing/jquery.js +0 -3559
  1203. data/sproutcore/frameworks/testing/qunit.js +0 -827
  1204. data/sproutcore/frameworks/testing/system/dump.js +0 -205
  1205. data/sproutcore/frameworks/testing/system/equiv.js +0 -201
  1206. data/sproutcore/frameworks/testing/system/plan.js +0 -703
  1207. data/sproutcore/frameworks/testing/system/runner.js +0 -220
  1208. data/sproutcore/frameworks/testing/system/suite.js +0 -228
  1209. data/sproutcore/frameworks/testing/utils.js +0 -62
  1210. data/sproutcore/lib/index.rhtml +0 -164
  1211. data/sproutcore/license.js +0 -31
  1212. data/sproutcore/themes/ace/designs/dark.png +0 -0
  1213. data/sproutcore/themes/ace/designs/dark.psd +0 -0
  1214. data/sproutcore/themes/ace/designs/light.png +0 -0
  1215. data/sproutcore/themes/ace/designs/light.psd +0 -0
  1216. data/sproutcore/themes/ace/designs/psds/button/ace/18px/active_button.psd +0 -0
  1217. data/sproutcore/themes/ace/designs/psds/button/ace/18px/normal_button.psd +0 -0
  1218. data/sproutcore/themes/ace/designs/psds/button/ace/18px/selected_active_button.psd +0 -0
  1219. data/sproutcore/themes/ace/designs/psds/button/ace/18px/selected_button.psd +0 -0
  1220. data/sproutcore/themes/ace/designs/psds/button/ace/24px/active_button.psd +0 -0
  1221. data/sproutcore/themes/ace/designs/psds/button/ace/24px/active_button_capsule.psd +0 -0
  1222. data/sproutcore/themes/ace/designs/psds/button/ace/24px/active_button_pointer.psd +0 -0
  1223. data/sproutcore/themes/ace/designs/psds/button/ace/24px/normal_button.psd +0 -0
  1224. data/sproutcore/themes/ace/designs/psds/button/ace/24px/normal_button_capsule.psd +0 -0
  1225. data/sproutcore/themes/ace/designs/psds/button/ace/24px/normal_button_pointer.psd +0 -0
  1226. data/sproutcore/themes/ace/designs/psds/button/ace/24px/selected_active_button.psd +0 -0
  1227. data/sproutcore/themes/ace/designs/psds/button/ace/24px/selected_active_button_capsule.psd +0 -0
  1228. data/sproutcore/themes/ace/designs/psds/button/ace/24px/selected_active_button_pointer.psd +0 -0
  1229. data/sproutcore/themes/ace/designs/psds/button/ace/24px/selected_button.psd +0 -0
  1230. data/sproutcore/themes/ace/designs/psds/button/ace/24px/selected_button_capsule.psd +0 -0
  1231. data/sproutcore/themes/ace/designs/psds/button/ace/24px/selected_button_pointer.psd +0 -0
  1232. data/sproutcore/themes/ace/designs/psds/button/ace/30px/active_button.psd +0 -0
  1233. data/sproutcore/themes/ace/designs/psds/button/ace/30px/active_button_pointer.psd +0 -0
  1234. data/sproutcore/themes/ace/designs/psds/button/ace/30px/normal_button.psd +0 -0
  1235. data/sproutcore/themes/ace/designs/psds/button/ace/30px/normal_button_pointer.psd +0 -0
  1236. data/sproutcore/themes/ace/designs/psds/button/ace/30px/selected_active_button.psd +0 -0
  1237. data/sproutcore/themes/ace/designs/psds/button/ace/30px/selected_active_button_pointer.psd +0 -0
  1238. data/sproutcore/themes/ace/designs/psds/button/ace/30px/selected_button.psd +0 -0
  1239. data/sproutcore/themes/ace/designs/psds/button/ace/30px/selected_button_pointer.psd +0 -0
  1240. data/sproutcore/themes/ace/designs/psds/button/ace/44px/active_button.psd +0 -0
  1241. data/sproutcore/themes/ace/designs/psds/button/ace/44px/normal_button.psd +0 -0
  1242. data/sproutcore/themes/ace/designs/psds/button/ace/44px/selected_active_button.psd +0 -0
  1243. data/sproutcore/themes/ace/designs/psds/button/ace/44px/selected_button.psd +0 -0
  1244. data/sproutcore/themes/ace/designs/psds/button/dark/24px/active_button.psd +0 -0
  1245. data/sproutcore/themes/ace/designs/psds/button/dark/24px/active_button_capsule.psd +0 -0
  1246. data/sproutcore/themes/ace/designs/psds/button/dark/24px/active_button_pointer.psd +0 -0
  1247. data/sproutcore/themes/ace/designs/psds/button/dark/24px/normal_button.psd +0 -0
  1248. data/sproutcore/themes/ace/designs/psds/button/dark/24px/normal_button_capsule.psd +0 -0
  1249. data/sproutcore/themes/ace/designs/psds/button/dark/24px/normal_button_pointer.psd +0 -0
  1250. data/sproutcore/themes/ace/designs/psds/button/dark/24px/selected_active_button.psd +0 -0
  1251. data/sproutcore/themes/ace/designs/psds/button/dark/24px/selected_active_button_capsule.psd +0 -0
  1252. data/sproutcore/themes/ace/designs/psds/button/dark/24px/selected_active_button_pointer.psd +0 -0
  1253. data/sproutcore/themes/ace/designs/psds/button/dark/24px/selected_button.psd +0 -0
  1254. data/sproutcore/themes/ace/designs/psds/button/dark/24px/selected_button_capsule.psd +0 -0
  1255. data/sproutcore/themes/ace/designs/psds/button/dark/24px/selected_button_pointer.psd +0 -0
  1256. data/sproutcore/themes/ace/designs/psds/button/dark/30px/active_button.psd +0 -0
  1257. data/sproutcore/themes/ace/designs/psds/button/dark/30px/active_button_pointer.psd +0 -0
  1258. data/sproutcore/themes/ace/designs/psds/button/dark/30px/normal_button.psd +0 -0
  1259. data/sproutcore/themes/ace/designs/psds/button/dark/30px/normal_button_pointer.psd +0 -0
  1260. data/sproutcore/themes/ace/designs/psds/button/dark/30px/selected_active_button.psd +0 -0
  1261. data/sproutcore/themes/ace/designs/psds/button/dark/30px/selected_active_button_pointer.psd +0 -0
  1262. data/sproutcore/themes/ace/designs/psds/button/dark/30px/selected_button.psd +0 -0
  1263. data/sproutcore/themes/ace/designs/psds/button/dark/30px/selected_button_pointer.psd +0 -0
  1264. data/sproutcore/themes/ace/designs/psds/button/popup/active_select.psd +0 -0
  1265. data/sproutcore/themes/ace/designs/psds/button/popup/normal_select.psd +0 -0
  1266. data/sproutcore/themes/ace/designs/psds/checkbox/ace/14px/checkbox_checked.psd +0 -0
  1267. data/sproutcore/themes/ace/designs/psds/checkbox/ace/14px/checkbox_checked_active.psd +0 -0
  1268. data/sproutcore/themes/ace/designs/psds/checkbox/ace/14px/checkbox_mixed.psd +0 -0
  1269. data/sproutcore/themes/ace/designs/psds/checkbox/ace/14px/checkbox_mixed_active.psd +0 -0
  1270. data/sproutcore/themes/ace/designs/psds/checkbox/ace/14px/checkbox_unchecked.psd +0 -0
  1271. data/sproutcore/themes/ace/designs/psds/checkbox/ace/14px/checkbox_unchecked_active.psd +0 -0
  1272. data/sproutcore/themes/ace/designs/psds/checkbox/ace/16px/checkbox_checked.psd +0 -0
  1273. data/sproutcore/themes/ace/designs/psds/checkbox/ace/16px/checkbox_checked_active.psd +0 -0
  1274. data/sproutcore/themes/ace/designs/psds/checkbox/ace/16px/checkbox_mixed.psd +0 -0
  1275. data/sproutcore/themes/ace/designs/psds/checkbox/ace/16px/checkbox_mixed_active.psd +0 -0
  1276. data/sproutcore/themes/ace/designs/psds/checkbox/ace/16px/checkbox_unchecked.psd +0 -0
  1277. data/sproutcore/themes/ace/designs/psds/checkbox/ace/16px/checkbox_unchecked_active.psd +0 -0
  1278. data/sproutcore/themes/ace/designs/psds/collection/source-list/selection.psd +0 -0
  1279. data/sproutcore/themes/ace/designs/psds/disclosure/ace/disclosure_closed.psd +0 -0
  1280. data/sproutcore/themes/ace/designs/psds/disclosure/ace/disclosure_closed_active.psd +0 -0
  1281. data/sproutcore/themes/ace/designs/psds/disclosure/ace/disclosure_open.psd +0 -0
  1282. data/sproutcore/themes/ace/designs/psds/disclosure/ace/disclosure_open_active.psd +0 -0
  1283. data/sproutcore/themes/ace/designs/psds/menu/checkmark.psd +0 -0
  1284. data/sproutcore/themes/ace/designs/psds/menu/checkmark_active.psd +0 -0
  1285. data/sproutcore/themes/ace/designs/psds/menu/down.psd +0 -0
  1286. data/sproutcore/themes/ace/designs/psds/menu/menu.psd +0 -0
  1287. data/sproutcore/themes/ace/designs/psds/menu/menu_item.psd +0 -0
  1288. data/sproutcore/themes/ace/designs/psds/menu/up.psd +0 -0
  1289. data/sproutcore/themes/ace/designs/psds/panel/panel.psd +0 -0
  1290. data/sproutcore/themes/ace/designs/psds/panel/pointers.psd +0 -0
  1291. data/sproutcore/themes/ace/designs/psds/picker/popover/popover.psd +0 -0
  1292. data/sproutcore/themes/ace/designs/psds/picker/popover/popover_empty.psd +0 -0
  1293. data/sproutcore/themes/ace/designs/psds/picker/popover/popover_notoolbar.psd +0 -0
  1294. data/sproutcore/themes/ace/designs/psds/picker/popover/popover_pointers.psd +0 -0
  1295. data/sproutcore/themes/ace/designs/psds/picker/popover/popover_pointers_notoolbar.psd +0 -0
  1296. data/sproutcore/themes/ace/designs/psds/progress/ace/progress_view_content.psd +0 -0
  1297. data/sproutcore/themes/ace/designs/psds/progress/ace/progress_view_indeterminate_content.psd +0 -0
  1298. data/sproutcore/themes/ace/designs/psds/progress/ace/progress_view_track.psd +0 -0
  1299. data/sproutcore/themes/ace/designs/psds/radio/radio_active.psd +0 -0
  1300. data/sproutcore/themes/ace/designs/psds/radio/radio_mixed.psd +0 -0
  1301. data/sproutcore/themes/ace/designs/psds/radio/radio_mixed_active.psd +0 -0
  1302. data/sproutcore/themes/ace/designs/psds/radio/radio_selected.psd +0 -0
  1303. data/sproutcore/themes/ace/designs/psds/radio/radio_selected_active.psd +0 -0
  1304. data/sproutcore/themes/ace/designs/psds/radio/radio_unselected.psd +0 -0
  1305. data/sproutcore/themes/ace/designs/psds/scroller/horizontal/thumb.psd +0 -0
  1306. data/sproutcore/themes/ace/designs/psds/scroller/horizontal/track_and_arrows.psd +0 -0
  1307. data/sproutcore/themes/ace/designs/psds/scroller/horizontal/track_and_arrows_active.psd +0 -0
  1308. data/sproutcore/themes/ace/designs/psds/scroller/vertical/thumb.psd +0 -0
  1309. data/sproutcore/themes/ace/designs/psds/scroller/vertical/track_and_arrows.psd +0 -0
  1310. data/sproutcore/themes/ace/designs/psds/scroller/vertical/track_and_arrows_active.psd +0 -0
  1311. data/sproutcore/themes/ace/designs/psds/segmented/18px/segmented_active.psd +0 -0
  1312. data/sproutcore/themes/ace/designs/psds/segmented/18px/segmented_normal.psd +0 -0
  1313. data/sproutcore/themes/ace/designs/psds/segmented/18px/segmented_selected.psd +0 -0
  1314. data/sproutcore/themes/ace/designs/psds/segmented/18px/segmented_selected_active.psd +0 -0
  1315. data/sproutcore/themes/ace/designs/psds/segmented/24px/segmented_active.psd +0 -0
  1316. data/sproutcore/themes/ace/designs/psds/segmented/24px/segmented_normal.psd +0 -0
  1317. data/sproutcore/themes/ace/designs/psds/segmented/24px/segmented_selected.psd +0 -0
  1318. data/sproutcore/themes/ace/designs/psds/segmented/24px/segmented_selected_active.psd +0 -0
  1319. data/sproutcore/themes/ace/designs/psds/segmented/30px/segmented_active.psd +0 -0
  1320. data/sproutcore/themes/ace/designs/psds/segmented/30px/segmented_normal.psd +0 -0
  1321. data/sproutcore/themes/ace/designs/psds/segmented/30px/segmented_selected.psd +0 -0
  1322. data/sproutcore/themes/ace/designs/psds/segmented/30px/segmented_selected_active.psd +0 -0
  1323. data/sproutcore/themes/ace/designs/psds/segmented/44px/segmented_active.psd +0 -0
  1324. data/sproutcore/themes/ace/designs/psds/segmented/44px/segmented_normal.psd +0 -0
  1325. data/sproutcore/themes/ace/designs/psds/segmented/44px/segmented_selected.psd +0 -0
  1326. data/sproutcore/themes/ace/designs/psds/segmented/44px/segmented_selected_active.psd +0 -0
  1327. data/sproutcore/themes/ace/designs/psds/slider/ace/14px/knob.psd +0 -0
  1328. data/sproutcore/themes/ace/designs/psds/slider/ace/14px/knob_active.psd +0 -0
  1329. data/sproutcore/themes/ace/designs/psds/slider/ace/16px/knob.psd +0 -0
  1330. data/sproutcore/themes/ace/designs/psds/slider/ace/16px/knob_active.psd +0 -0
  1331. data/sproutcore/themes/ace/designs/psds/slider/ace/22px/knob.psd +0 -0
  1332. data/sproutcore/themes/ace/designs/psds/slider/ace/22px/knob_active.psd +0 -0
  1333. data/sproutcore/themes/ace/designs/psds/slider/ace/22px/track.psd +0 -0
  1334. data/sproutcore/themes/ace/designs/psds/slider/ace/track.psd +0 -0
  1335. data/sproutcore/themes/ace/designs/psds/toolbar/toolbar.psd +0 -0
  1336. data/sproutcore/themes/ace/designs/switch/switch.psd +0 -0
  1337. data/sproutcore/themes/ace/designs/switch/switch_handle.png +0 -0
  1338. data/sproutcore/themes/ace/designs/switch/switch_handle.psd +0 -0
  1339. data/sproutcore/themes/ace/designs/switch/switch_off.png +0 -0
  1340. data/sproutcore/themes/ace/designs/switch/switch_off.psd +0 -0
  1341. data/sproutcore/themes/ace/designs/switch/switch_on.png +0 -0
  1342. data/sproutcore/themes/ace/designs/switch/switch_on.psd +0 -0
  1343. data/sproutcore/themes/ace/resources/body.css +0 -13
  1344. data/sproutcore/themes/ace/resources/button/ace/18px/active_button.png +0 -0
  1345. data/sproutcore/themes/ace/resources/button/ace/18px/button.css +0 -33
  1346. data/sproutcore/themes/ace/resources/button/ace/18px/normal_button.png +0 -0
  1347. data/sproutcore/themes/ace/resources/button/ace/18px/selected_active_button.png +0 -0
  1348. data/sproutcore/themes/ace/resources/button/ace/18px/selected_button.png +0 -0
  1349. data/sproutcore/themes/ace/resources/button/ace/24px/active_button.png +0 -0
  1350. data/sproutcore/themes/ace/resources/button/ace/24px/active_button_capsule.png +0 -0
  1351. data/sproutcore/themes/ace/resources/button/ace/24px/active_button_pointer.png +0 -0
  1352. data/sproutcore/themes/ace/resources/button/ace/24px/button.css +0 -98
  1353. data/sproutcore/themes/ace/resources/button/ace/24px/normal_button.png +0 -0
  1354. data/sproutcore/themes/ace/resources/button/ace/24px/normal_button_capsule.png +0 -0
  1355. data/sproutcore/themes/ace/resources/button/ace/24px/normal_button_pointer.png +0 -0
  1356. data/sproutcore/themes/ace/resources/button/ace/24px/selected_active_button.png +0 -0
  1357. data/sproutcore/themes/ace/resources/button/ace/24px/selected_active_button_capsule.png +0 -0
  1358. data/sproutcore/themes/ace/resources/button/ace/24px/selected_active_button_pointer.png +0 -0
  1359. data/sproutcore/themes/ace/resources/button/ace/24px/selected_button.png +0 -0
  1360. data/sproutcore/themes/ace/resources/button/ace/24px/selected_button_capsule.png +0 -0
  1361. data/sproutcore/themes/ace/resources/button/ace/24px/selected_button_pointer.png +0 -0
  1362. data/sproutcore/themes/ace/resources/button/ace/30px/active_button.png +0 -0
  1363. data/sproutcore/themes/ace/resources/button/ace/30px/active_button_pointer.png +0 -0
  1364. data/sproutcore/themes/ace/resources/button/ace/30px/button.css +0 -78
  1365. data/sproutcore/themes/ace/resources/button/ace/30px/normal_button.png +0 -0
  1366. data/sproutcore/themes/ace/resources/button/ace/30px/normal_button_pointer.png +0 -0
  1367. data/sproutcore/themes/ace/resources/button/ace/30px/selected_active_button.png +0 -0
  1368. data/sproutcore/themes/ace/resources/button/ace/30px/selected_active_button_pointer.png +0 -0
  1369. data/sproutcore/themes/ace/resources/button/ace/30px/selected_button.png +0 -0
  1370. data/sproutcore/themes/ace/resources/button/ace/30px/selected_button_pointer.png +0 -0
  1371. data/sproutcore/themes/ace/resources/button/ace/44px/active_button.png +0 -0
  1372. data/sproutcore/themes/ace/resources/button/ace/44px/button.css +0 -39
  1373. data/sproutcore/themes/ace/resources/button/ace/44px/normal_button.png +0 -0
  1374. data/sproutcore/themes/ace/resources/button/ace/44px/selected_active_button.png +0 -0
  1375. data/sproutcore/themes/ace/resources/button/ace/44px/selected_button.png +0 -0
  1376. data/sproutcore/themes/ace/resources/button/ace/button.css +0 -36
  1377. data/sproutcore/themes/ace/resources/button/button.js +0 -75
  1378. data/sproutcore/themes/ace/resources/button/dark/24px/active_button.png +0 -0
  1379. data/sproutcore/themes/ace/resources/button/dark/24px/active_button_capsule.png +0 -0
  1380. data/sproutcore/themes/ace/resources/button/dark/24px/active_button_pointer.png +0 -0
  1381. data/sproutcore/themes/ace/resources/button/dark/24px/button.css +0 -93
  1382. data/sproutcore/themes/ace/resources/button/dark/24px/normal_button.png +0 -0
  1383. data/sproutcore/themes/ace/resources/button/dark/24px/normal_button_capsule.png +0 -0
  1384. data/sproutcore/themes/ace/resources/button/dark/24px/normal_button_pointer.png +0 -0
  1385. data/sproutcore/themes/ace/resources/button/dark/24px/selected_active_button.png +0 -0
  1386. data/sproutcore/themes/ace/resources/button/dark/24px/selected_active_button_capsule.png +0 -0
  1387. data/sproutcore/themes/ace/resources/button/dark/24px/selected_active_button_pointer.png +0 -0
  1388. data/sproutcore/themes/ace/resources/button/dark/24px/selected_button.png +0 -0
  1389. data/sproutcore/themes/ace/resources/button/dark/24px/selected_button_capsule.png +0 -0
  1390. data/sproutcore/themes/ace/resources/button/dark/24px/selected_button_pointer.png +0 -0
  1391. data/sproutcore/themes/ace/resources/button/dark/30px/active_button.png +0 -0
  1392. data/sproutcore/themes/ace/resources/button/dark/30px/active_button_pointer.png +0 -0
  1393. data/sproutcore/themes/ace/resources/button/dark/30px/button.css +0 -72
  1394. data/sproutcore/themes/ace/resources/button/dark/30px/normal_button.png +0 -0
  1395. data/sproutcore/themes/ace/resources/button/dark/30px/normal_button_pointer.png +0 -0
  1396. data/sproutcore/themes/ace/resources/button/dark/30px/selected_active_button.png +0 -0
  1397. data/sproutcore/themes/ace/resources/button/dark/30px/selected_active_button_pointer.png +0 -0
  1398. data/sproutcore/themes/ace/resources/button/dark/30px/selected_button.png +0 -0
  1399. data/sproutcore/themes/ace/resources/button/dark/30px/selected_button_pointer.png +0 -0
  1400. data/sproutcore/themes/ace/resources/button/dark/button.css +0 -17
  1401. data/sproutcore/themes/ace/resources/button/dark/button.js +0 -3
  1402. data/sproutcore/themes/ace/resources/button/popup/active_select.png +0 -0
  1403. data/sproutcore/themes/ace/resources/button/popup/normal_select.png +0 -0
  1404. data/sproutcore/themes/ace/resources/button/popup/select.css +0 -20
  1405. data/sproutcore/themes/ace/resources/checkbox/ace/14px/checkbox.css +0 -40
  1406. data/sproutcore/themes/ace/resources/checkbox/ace/14px/checkbox_checked.png +0 -0
  1407. data/sproutcore/themes/ace/resources/checkbox/ace/14px/checkbox_checked_active.png +0 -0
  1408. data/sproutcore/themes/ace/resources/checkbox/ace/14px/checkbox_mixed.png +0 -0
  1409. data/sproutcore/themes/ace/resources/checkbox/ace/14px/checkbox_mixed_active.png +0 -0
  1410. data/sproutcore/themes/ace/resources/checkbox/ace/14px/checkbox_unchecked.png +0 -0
  1411. data/sproutcore/themes/ace/resources/checkbox/ace/14px/checkbox_unchecked_active.png +0 -0
  1412. data/sproutcore/themes/ace/resources/checkbox/ace/16px/checkbox.css +0 -40
  1413. data/sproutcore/themes/ace/resources/checkbox/ace/16px/checkbox_checked.png +0 -0
  1414. data/sproutcore/themes/ace/resources/checkbox/ace/16px/checkbox_checked_active.png +0 -0
  1415. data/sproutcore/themes/ace/resources/checkbox/ace/16px/checkbox_mixed.png +0 -0
  1416. data/sproutcore/themes/ace/resources/checkbox/ace/16px/checkbox_mixed_active.png +0 -0
  1417. data/sproutcore/themes/ace/resources/checkbox/ace/16px/checkbox_unchecked.png +0 -0
  1418. data/sproutcore/themes/ace/resources/checkbox/ace/16px/checkbox_unchecked_active.png +0 -0
  1419. data/sproutcore/themes/ace/resources/checkbox/ace/checkbox.css +0 -7
  1420. data/sproutcore/themes/ace/resources/collection/normal/list.css +0 -4
  1421. data/sproutcore/themes/ace/resources/collection/normal/list_item.css +0 -17
  1422. data/sproutcore/themes/ace/resources/collection/source-list/selection.png +0 -0
  1423. data/sproutcore/themes/ace/resources/collection/source-list/source-list.js +0 -3
  1424. data/sproutcore/themes/ace/resources/collection/source-list/source_list_view.css +0 -36
  1425. data/sproutcore/themes/ace/resources/disclosure/ace/disclosure.css +0 -24
  1426. data/sproutcore/themes/ace/resources/disclosure/ace/disclosure_closed.png +0 -0
  1427. data/sproutcore/themes/ace/resources/disclosure/ace/disclosure_closed_active.png +0 -0
  1428. data/sproutcore/themes/ace/resources/disclosure/ace/disclosure_open.png +0 -0
  1429. data/sproutcore/themes/ace/resources/disclosure/ace/disclosure_open_active.png +0 -0
  1430. data/sproutcore/themes/ace/resources/imagebutton/ace/imagebutton.css +0 -11
  1431. data/sproutcore/themes/ace/resources/loading.css +0 -50
  1432. data/sproutcore/themes/ace/resources/master-detail/master-detail.css +0 -27
  1433. data/sproutcore/themes/ace/resources/menu/checkmark.png +0 -0
  1434. data/sproutcore/themes/ace/resources/menu/checkmark_active.png +0 -0
  1435. data/sproutcore/themes/ace/resources/menu/down.png +0 -0
  1436. data/sproutcore/themes/ace/resources/menu/menu.css +0 -75
  1437. data/sproutcore/themes/ace/resources/menu/menu.png +0 -0
  1438. data/sproutcore/themes/ace/resources/menu/menu_item.png +0 -0
  1439. data/sproutcore/themes/ace/resources/menu/up.png +0 -0
  1440. data/sproutcore/themes/ace/resources/pane/pane.css +0 -3
  1441. data/sproutcore/themes/ace/resources/panel/panel.css +0 -13
  1442. data/sproutcore/themes/ace/resources/panel/panel.js +0 -20
  1443. data/sproutcore/themes/ace/resources/panel/panel.png +0 -0
  1444. data/sproutcore/themes/ace/resources/picker/ace/panel.png +0 -0
  1445. data/sproutcore/themes/ace/resources/picker/ace/picker.css +0 -41
  1446. data/sproutcore/themes/ace/resources/picker/ace/picker.js +0 -0
  1447. data/sproutcore/themes/ace/resources/picker/ace/pointers.png +0 -0
  1448. data/sproutcore/themes/ace/resources/picker/popover/picker.js +0 -32
  1449. data/sproutcore/themes/ace/resources/picker/popover/popover.css +0 -111
  1450. data/sproutcore/themes/ace/resources/picker/popover/popover.js +0 -12
  1451. data/sproutcore/themes/ace/resources/picker/popover/popover.png +0 -0
  1452. data/sproutcore/themes/ace/resources/picker/popover/popover_empty.png +0 -0
  1453. data/sproutcore/themes/ace/resources/picker/popover/popover_notoolbar.png +0 -0
  1454. data/sproutcore/themes/ace/resources/picker/popover/popover_pointers.png +0 -0
  1455. data/sproutcore/themes/ace/resources/picker/popover/popover_pointers_notoolbar.png +0 -0
  1456. data/sproutcore/themes/ace/resources/picker/popover/workspace.js +0 -28
  1457. data/sproutcore/themes/ace/resources/progress/ace/progress.css +0 -27
  1458. data/sproutcore/themes/ace/resources/progress/ace/progress_view_content.png +0 -0
  1459. data/sproutcore/themes/ace/resources/progress/ace/progress_view_track.png +0 -0
  1460. data/sproutcore/themes/ace/resources/progress/progress.js +0 -78
  1461. data/sproutcore/themes/ace/resources/radio/radio.css +0 -63
  1462. data/sproutcore/themes/ace/resources/radio/radio_active.png +0 -0
  1463. data/sproutcore/themes/ace/resources/radio/radio_mixed.png +0 -0
  1464. data/sproutcore/themes/ace/resources/radio/radio_mixed_active.png +0 -0
  1465. data/sproutcore/themes/ace/resources/radio/radio_selected.png +0 -0
  1466. data/sproutcore/themes/ace/resources/radio/radio_selected_active.png +0 -0
  1467. data/sproutcore/themes/ace/resources/radio/radio_unselected.png +0 -0
  1468. data/sproutcore/themes/ace/resources/scroller/horizontal/horizontal.css +0 -78
  1469. data/sproutcore/themes/ace/resources/scroller/horizontal/horizontal_touch.css +0 -91
  1470. data/sproutcore/themes/ace/resources/scroller/horizontal/thumb.png +0 -0
  1471. data/sproutcore/themes/ace/resources/scroller/horizontal/track_and_arrows.png +0 -0
  1472. data/sproutcore/themes/ace/resources/scroller/horizontal/track_and_arrows_active.png +0 -0
  1473. data/sproutcore/themes/ace/resources/scroller/vertical/thumb.png +0 -0
  1474. data/sproutcore/themes/ace/resources/scroller/vertical/track_and_arrows.png +0 -0
  1475. data/sproutcore/themes/ace/resources/scroller/vertical/track_and_arrows_active.png +0 -0
  1476. data/sproutcore/themes/ace/resources/scroller/vertical/vertical.css +0 -80
  1477. data/sproutcore/themes/ace/resources/scroller/vertical/vertical_touch.css +0 -92
  1478. data/sproutcore/themes/ace/resources/segmented/18px/segmented.css +0 -91
  1479. data/sproutcore/themes/ace/resources/segmented/18px/segmented_active.png +0 -0
  1480. data/sproutcore/themes/ace/resources/segmented/18px/segmented_normal.png +0 -0
  1481. data/sproutcore/themes/ace/resources/segmented/18px/segmented_selected.png +0 -0
  1482. data/sproutcore/themes/ace/resources/segmented/18px/segmented_selected_active.png +0 -0
  1483. data/sproutcore/themes/ace/resources/segmented/24px/segmented.css +0 -91
  1484. data/sproutcore/themes/ace/resources/segmented/24px/segmented_active.png +0 -0
  1485. data/sproutcore/themes/ace/resources/segmented/24px/segmented_normal.png +0 -0
  1486. data/sproutcore/themes/ace/resources/segmented/24px/segmented_selected.png +0 -0
  1487. data/sproutcore/themes/ace/resources/segmented/24px/segmented_selected_active.png +0 -0
  1488. data/sproutcore/themes/ace/resources/segmented/30px/segmented.css +0 -91
  1489. data/sproutcore/themes/ace/resources/segmented/30px/segmented_active.png +0 -0
  1490. data/sproutcore/themes/ace/resources/segmented/30px/segmented_normal.png +0 -0
  1491. data/sproutcore/themes/ace/resources/segmented/30px/segmented_selected.png +0 -0
  1492. data/sproutcore/themes/ace/resources/segmented/30px/segmented_selected_active.png +0 -0
  1493. data/sproutcore/themes/ace/resources/segmented/44px/segmented.css +0 -95
  1494. data/sproutcore/themes/ace/resources/segmented/44px/segmented_active.png +0 -0
  1495. data/sproutcore/themes/ace/resources/segmented/44px/segmented_normal.png +0 -0
  1496. data/sproutcore/themes/ace/resources/segmented/44px/segmented_selected.png +0 -0
  1497. data/sproutcore/themes/ace/resources/segmented/44px/segmented_selected_active.png +0 -0
  1498. data/sproutcore/themes/ace/resources/segmented/segmented.css +0 -83
  1499. data/sproutcore/themes/ace/resources/slider/ace/14px/knob.png +0 -0
  1500. data/sproutcore/themes/ace/resources/slider/ace/14px/knob_active.png +0 -0
  1501. data/sproutcore/themes/ace/resources/slider/ace/14px/slider.css +0 -27
  1502. data/sproutcore/themes/ace/resources/slider/ace/16px/knob.png +0 -0
  1503. data/sproutcore/themes/ace/resources/slider/ace/16px/knob_active.png +0 -0
  1504. data/sproutcore/themes/ace/resources/slider/ace/16px/slider.css +0 -27
  1505. data/sproutcore/themes/ace/resources/slider/ace/22px/knob.png +0 -0
  1506. data/sproutcore/themes/ace/resources/slider/ace/22px/knob_active.png +0 -0
  1507. data/sproutcore/themes/ace/resources/slider/ace/22px/slider.css +0 -27
  1508. data/sproutcore/themes/ace/resources/slider/ace/22px/track.png +0 -0
  1509. data/sproutcore/themes/ace/resources/slider/ace/slider.css +0 -7
  1510. data/sproutcore/themes/ace/resources/slider/ace/slider.js +0 -56
  1511. data/sproutcore/themes/ace/resources/slider/ace/track.png +0 -0
  1512. data/sproutcore/themes/ace/resources/split/split.css +0 -5
  1513. data/sproutcore/themes/ace/resources/tab/tab.css +0 -3
  1514. data/sproutcore/themes/ace/resources/toolbar/toolbar.css +0 -8
  1515. data/sproutcore/themes/ace/resources/toolbar/toolbar.png +0 -0
  1516. data/sproutcore/themes/ace/resources/well/well.css +0 -7
  1517. data/sproutcore/themes/ace/resources/well/well.js +0 -17
  1518. data/sproutcore/themes/ace/theme.js +0 -14
  1519. data/sproutcore/themes/empty_theme/tests/mini_icons.rhtml +0 -69
  1520. data/sproutcore/themes/empty_theme/theme.js +0 -16
  1521. data/sproutcore/themes/iphone_theme/english.lproj/button.css +0 -41
  1522. data/sproutcore/themes/iphone_theme/english.lproj/core.css +0 -8
  1523. data/sproutcore/themes/iphone_theme/english.lproj/images/backButton.png +0 -0
  1524. data/sproutcore/themes/iphone_theme/english.lproj/images/blueButton.png +0 -0
  1525. data/sproutcore/themes/iphone_theme/english.lproj/images/cancel.png +0 -0
  1526. data/sproutcore/themes/iphone_theme/english.lproj/images/grayButton.png +0 -0
  1527. data/sproutcore/themes/iphone_theme/english.lproj/images/leftButton.png +0 -0
  1528. data/sproutcore/themes/iphone_theme/english.lproj/images/listArrow.png +0 -0
  1529. data/sproutcore/themes/iphone_theme/english.lproj/images/listArrowSel.png +0 -0
  1530. data/sproutcore/themes/iphone_theme/english.lproj/images/listGroup.png +0 -0
  1531. data/sproutcore/themes/iphone_theme/english.lproj/images/loading.gif +0 -0
  1532. data/sproutcore/themes/iphone_theme/english.lproj/images/pinstripes.png +0 -0
  1533. data/sproutcore/themes/iphone_theme/english.lproj/images/rightButton.png +0 -0
  1534. data/sproutcore/themes/iphone_theme/english.lproj/images/selection.png +0 -0
  1535. data/sproutcore/themes/iphone_theme/english.lproj/images/thumb.png +0 -0
  1536. data/sproutcore/themes/iphone_theme/english.lproj/images/toggle.png +0 -0
  1537. data/sproutcore/themes/iphone_theme/english.lproj/images/toggleOn.png +0 -0
  1538. data/sproutcore/themes/iphone_theme/english.lproj/images/toolButton.png +0 -0
  1539. data/sproutcore/themes/iphone_theme/english.lproj/images/toolbar.png +0 -0
  1540. data/sproutcore/themes/iphone_theme/english.lproj/images/whiteButton.png +0 -0
  1541. data/sproutcore/themes/iphone_theme/english.lproj/strings.js +0 -15
  1542. data/sproutcore/themes/standard_theme/Source/Panel.drawit/Data +0 -0
  1543. data/sproutcore/themes/standard_theme/Source/Panel.drawit/QuickLook/Preview.jpg +0 -0
  1544. data/sproutcore/themes/standard_theme/Source/Panel.drawit/QuickLook/Thumbnail.jpg +0 -0
  1545. data/sproutcore/themes/standard_theme/Source/SproutCore Theme Buttons.psd +0 -0
  1546. data/sproutcore/themes/standard_theme/Source/ToolbarView Pattern.drawit/Data +0 -0
  1547. data/sproutcore/themes/standard_theme/Source/ToolbarView Pattern.drawit/QuickLook/Preview.jpg +0 -0
  1548. data/sproutcore/themes/standard_theme/Source/ToolbarView Pattern.drawit/QuickLook/Thumbnail.jpg +0 -0
  1549. data/sproutcore/themes/standard_theme/Source/icons/16/10.png +0 -0
  1550. data/sproutcore/themes/standard_theme/Source/icons/16/100.png +0 -0
  1551. data/sproutcore/themes/standard_theme/Source/icons/16/102.png +0 -0
  1552. data/sproutcore/themes/standard_theme/Source/icons/16/110.png +0 -0
  1553. data/sproutcore/themes/standard_theme/Source/icons/16/120.png +0 -0
  1554. data/sproutcore/themes/standard_theme/Source/icons/16/127.png +0 -0
  1555. data/sproutcore/themes/standard_theme/Source/icons/16/18.png +0 -0
  1556. data/sproutcore/themes/standard_theme/Source/icons/16/19.png +0 -0
  1557. data/sproutcore/themes/standard_theme/Source/icons/16/2.png +0 -0
  1558. data/sproutcore/themes/standard_theme/Source/icons/16/24.png +0 -0
  1559. data/sproutcore/themes/standard_theme/Source/icons/16/26.png +0 -0
  1560. data/sproutcore/themes/standard_theme/Source/icons/16/27.png +0 -0
  1561. data/sproutcore/themes/standard_theme/Source/icons/16/28.png +0 -0
  1562. data/sproutcore/themes/standard_theme/Source/icons/16/29.png +0 -0
  1563. data/sproutcore/themes/standard_theme/Source/icons/16/30.png +0 -0
  1564. data/sproutcore/themes/standard_theme/Source/icons/16/31.png +0 -0
  1565. data/sproutcore/themes/standard_theme/Source/icons/16/33.png +0 -0
  1566. data/sproutcore/themes/standard_theme/Source/icons/16/37.png +0 -0
  1567. data/sproutcore/themes/standard_theme/Source/icons/16/41.png +0 -0
  1568. data/sproutcore/themes/standard_theme/Source/icons/16/99.png +0 -0
  1569. data/sproutcore/themes/standard_theme/Source/icons/24/10.png +0 -0
  1570. data/sproutcore/themes/standard_theme/Source/icons/24/100.png +0 -0
  1571. data/sproutcore/themes/standard_theme/Source/icons/24/102.png +0 -0
  1572. data/sproutcore/themes/standard_theme/Source/icons/24/110.png +0 -0
  1573. data/sproutcore/themes/standard_theme/Source/icons/24/120.png +0 -0
  1574. data/sproutcore/themes/standard_theme/Source/icons/24/127.png +0 -0
  1575. data/sproutcore/themes/standard_theme/Source/icons/24/18.png +0 -0
  1576. data/sproutcore/themes/standard_theme/Source/icons/24/19.png +0 -0
  1577. data/sproutcore/themes/standard_theme/Source/icons/24/2.png +0 -0
  1578. data/sproutcore/themes/standard_theme/Source/icons/24/24.png +0 -0
  1579. data/sproutcore/themes/standard_theme/Source/icons/24/26.png +0 -0
  1580. data/sproutcore/themes/standard_theme/Source/icons/24/27.png +0 -0
  1581. data/sproutcore/themes/standard_theme/Source/icons/24/28.png +0 -0
  1582. data/sproutcore/themes/standard_theme/Source/icons/24/29.png +0 -0
  1583. data/sproutcore/themes/standard_theme/Source/icons/24/30.png +0 -0
  1584. data/sproutcore/themes/standard_theme/Source/icons/24/31.png +0 -0
  1585. data/sproutcore/themes/standard_theme/Source/icons/24/33.png +0 -0
  1586. data/sproutcore/themes/standard_theme/Source/icons/24/37.png +0 -0
  1587. data/sproutcore/themes/standard_theme/Source/icons/24/41.png +0 -0
  1588. data/sproutcore/themes/standard_theme/Source/icons/24/99.png +0 -0
  1589. data/sproutcore/themes/standard_theme/Source/icons/32/10.png +0 -0
  1590. data/sproutcore/themes/standard_theme/Source/icons/32/100.png +0 -0
  1591. data/sproutcore/themes/standard_theme/Source/icons/32/102.png +0 -0
  1592. data/sproutcore/themes/standard_theme/Source/icons/32/110.png +0 -0
  1593. data/sproutcore/themes/standard_theme/Source/icons/32/120.png +0 -0
  1594. data/sproutcore/themes/standard_theme/Source/icons/32/127.png +0 -0
  1595. data/sproutcore/themes/standard_theme/Source/icons/32/18.png +0 -0
  1596. data/sproutcore/themes/standard_theme/Source/icons/32/19.png +0 -0
  1597. data/sproutcore/themes/standard_theme/Source/icons/32/2.png +0 -0
  1598. data/sproutcore/themes/standard_theme/Source/icons/32/24.png +0 -0
  1599. data/sproutcore/themes/standard_theme/Source/icons/32/26.png +0 -0
  1600. data/sproutcore/themes/standard_theme/Source/icons/32/27.png +0 -0
  1601. data/sproutcore/themes/standard_theme/Source/icons/32/28.png +0 -0
  1602. data/sproutcore/themes/standard_theme/Source/icons/32/29.png +0 -0
  1603. data/sproutcore/themes/standard_theme/Source/icons/32/30.png +0 -0
  1604. data/sproutcore/themes/standard_theme/Source/icons/32/31.png +0 -0
  1605. data/sproutcore/themes/standard_theme/Source/icons/32/33.png +0 -0
  1606. data/sproutcore/themes/standard_theme/Source/icons/32/37.png +0 -0
  1607. data/sproutcore/themes/standard_theme/Source/icons/32/41.png +0 -0
  1608. data/sproutcore/themes/standard_theme/Source/icons/32/99.png +0 -0
  1609. data/sproutcore/themes/standard_theme/Source/icons/48/10.png +0 -0
  1610. data/sproutcore/themes/standard_theme/Source/icons/48/18.png +0 -0
  1611. data/sproutcore/themes/standard_theme/Source/icons/48/19.png +0 -0
  1612. data/sproutcore/themes/standard_theme/Source/icons/48/2.png +0 -0
  1613. data/sproutcore/themes/standard_theme/Source/panel-sprite-x.drawit/Data +0 -0
  1614. data/sproutcore/themes/standard_theme/Source/panel-sprite-x.drawit/QuickLook/Preview.jpg +0 -0
  1615. data/sproutcore/themes/standard_theme/Source/panel-sprite-x.drawit/QuickLook/Thumbnail.jpg +0 -0
  1616. data/sproutcore/themes/standard_theme/Source/panel-sprite-y.drawit/Data +0 -0
  1617. data/sproutcore/themes/standard_theme/Source/panel-sprite-y.drawit/QuickLook/Preview.jpg +0 -0
  1618. data/sproutcore/themes/standard_theme/Source/panel-sprite-y.drawit/QuickLook/Thumbnail.jpg +0 -0
  1619. data/sproutcore/themes/standard_theme/Source/sc-theme-repeat-x-2.psd +0 -0
  1620. data/sproutcore/themes/standard_theme/Source/sc-theme-repeat-x.psd +0 -0
  1621. data/sproutcore/themes/standard_theme/Source/sc-theme-sprite.psd +0 -0
  1622. data/sproutcore/themes/standard_theme/Source/sc-theme-ysprite.psd +0 -0
  1623. data/sproutcore/themes/standard_theme/Source/shared-icons.psd +0 -0
  1624. data/sproutcore/themes/standard_theme/Source/sproutcore-logo.psd +0 -0
  1625. data/sproutcore/themes/standard_theme/Source/sticky-note.psd +0 -0
  1626. data/sproutcore/themes/standard_theme/english.lproj/button.css +0 -399
  1627. data/sproutcore/themes/standard_theme/english.lproj/checkbox.css +0 -78
  1628. data/sproutcore/themes/standard_theme/english.lproj/collection.css +0 -135
  1629. data/sproutcore/themes/standard_theme/english.lproj/core.css +0 -76
  1630. data/sproutcore/themes/standard_theme/english.lproj/disclosure.css +0 -57
  1631. data/sproutcore/themes/standard_theme/english.lproj/images/icons/mini_222222.png +0 -0
  1632. data/sproutcore/themes/standard_theme/english.lproj/images/icons/mini_454545.png +0 -0
  1633. data/sproutcore/themes/standard_theme/english.lproj/images/icons/mini_888888.png +0 -0
  1634. data/sproutcore/themes/standard_theme/english.lproj/images/icons/mini_ffffff.png +0 -0
  1635. data/sproutcore/themes/standard_theme/english.lproj/images/panels/sprite-x.png +0 -0
  1636. data/sproutcore/themes/standard_theme/english.lproj/images/panels/sprite-y.png +0 -0
  1637. data/sproutcore/themes/standard_theme/english.lproj/images/sc-scroller-repeat-x.png +0 -0
  1638. data/sproutcore/themes/standard_theme/english.lproj/images/sc-scroller-repeat-y.png +0 -0
  1639. data/sproutcore/themes/standard_theme/english.lproj/images/sc-scroller-sprite.png +0 -0
  1640. data/sproutcore/themes/standard_theme/english.lproj/images/sc-theme-repeat-x.png +0 -0
  1641. data/sproutcore/themes/standard_theme/english.lproj/images/sc-theme-ysprite.png +0 -0
  1642. data/sproutcore/themes/standard_theme/english.lproj/images/sc-toolbar-view.png +0 -0
  1643. data/sproutcore/themes/standard_theme/english.lproj/label.css +0 -11
  1644. data/sproutcore/themes/standard_theme/english.lproj/list_item.css +0 -82
  1645. data/sproutcore/themes/standard_theme/english.lproj/menu.css +0 -20
  1646. data/sproutcore/themes/standard_theme/english.lproj/menu_item_view.css +0 -36
  1647. data/sproutcore/themes/standard_theme/english.lproj/pane.css +0 -18
  1648. data/sproutcore/themes/standard_theme/english.lproj/panel.css +0 -33
  1649. data/sproutcore/themes/standard_theme/english.lproj/picker.css +0 -17
  1650. data/sproutcore/themes/standard_theme/english.lproj/progress.css +0 -27
  1651. data/sproutcore/themes/standard_theme/english.lproj/radio.css +0 -125
  1652. data/sproutcore/themes/standard_theme/english.lproj/scroller.css +0 -159
  1653. data/sproutcore/themes/standard_theme/english.lproj/segmented.css +0 -270
  1654. data/sproutcore/themes/standard_theme/english.lproj/slider.css +0 -94
  1655. data/sproutcore/themes/standard_theme/english.lproj/split_view.css +0 -11
  1656. data/sproutcore/themes/standard_theme/english.lproj/tab.css +0 -14
  1657. data/sproutcore/themes/standard_theme/english.lproj/table.css +0 -14
  1658. data/sproutcore/themes/standard_theme/english.lproj/text_field.css +0 -5
  1659. data/sproutcore/themes/standard_theme/english.lproj/toolbar.css +0 -7
  1660. data/sproutcore/themes/standard_theme/english.lproj/well.css +0 -36
@@ -1,17 +0,0 @@
1
- //require('core') ;
2
- //var Sample = new Object();
3
- // Sample.File= new Object();
4
- // Sample.File.FIXTURES =[];
5
- //
6
- // Sample.File.FIXTURES = [
7
- // // files
8
- // { guid: '10', name: 'Home', url: '/emily_parker', isDirectory: true, parent: null, children: 'Collection'},
9
- // { guid: '11', name: 'Documents', fileType: 'documents', url: '/emily_parker/Documents', isDirectory: true, parent: '10', children: 'Collection', createdAt: 'June 15, 2007', modifiedAt: 'October 21, 2007', filetype: 'directory', isShared: false},
10
- // { guid: '137',name: 'Library', fileType: 'library', url: '/emily_parker/Library', isDirectory: true, parent: '10', children: 'Collection', createdAt: 'June 15, 2007', modifiedAt: 'October 21, 2007', filetype: 'directory', isShared: false},
11
- // { guid: '12', name: 'Movies', fileType: 'movies', url: '/emily_parker/Movies', isDirectory: true, parent: '10', children: 'Collection', createdAt: 'June 15, 2007', modifiedAt: 'June 15, 2007', filetype: 'directory', isShared: true, sharedAt: 'October 15, 2007', sharedUntil: 'March 31, 2008', sharedUrl: '2fhty', isPasswordRequired: true},
12
- // { guid: '134',name: 'Music', fileType: 'music', url: '/emily_parker/Music', isDirectory: true, parent: '10', children: 'Collection', createdAt: 'June 15, 2007', modifiedAt: 'June 15, 2007', filetype: 'directory', isShared: true, sharedAt: 'October 15, 2007', sharedUntil: 'March 31, 2008', sharedUrl: '2fhty', isPasswordRequired: true},
13
- // { guid: '135',name: 'Pictures', fileType: 'pictures', url: '/emily_parker/Pictures', isDirectory: true, parent: '10', children: 'Collection', createdAt: 'June 15, 2007', modifiedAt: 'June 15, 2007', filetype: 'directory', isShared: true, sharedAt: 'October 15, 2007', sharedUntil: 'March 31, 2008', sharedUrl: '2fhty', isPasswordRequired: true},
14
- // { guid: '13', name: 'Auto Insurance', fileType: 'folder', url: '/emily_parker/Documents/Auto%20Insurance', isDirectory: true, parent: '11', children: 'Collection', createdAt: 'June 15, 2007', modifiedAt: 'October 21, 2007', filetype: 'directory', isShared: false},
15
- // { guid: '14', name: 'Birthday Invitation.pdf', fileType: 'file', url: '/emily_parker/Documents/Birthday%20Invitation', isDirectory: false, parent: '11', createdAt: 'October 17, 2007', modifiedAt: 'October 21, 2007', filetype: 'pdf', isShared: false},
16
- // { guid: '136', name: 'Software', fileType: 'software', url: '/emily_parker/Software', isDirectory: true, parent: '10', children: 'Collection', createdAt: 'June 15, 2007', modifiedAt: 'June 15, 2007', filetype: 'directory', isShared: true, sharedAt: 'October 15, 2007', sharedUntil: 'March 31, 2008', sharedUrl: '2fhty', isPasswordRequired: true}
17
- // ];
@@ -1,96 +0,0 @@
1
- // ==========================================================================
2
- // Project: SproutCore - JavaScript Application Framework
3
- // Copyright: ©2010 Evin Grano
4
- // License: Licensed under MIT license (see license.js)
5
- // ==========================================================================
6
-
7
- sc_require('models/record');
8
- sc_require('models/record_attribute');
9
-
10
- /** @class
11
-
12
- ChildAttribute is a subclass of RecordAttribute and handles to-one
13
- relationships for child records.
14
-
15
- When setting ( .set() ) the value of a toMany attribute, make sure
16
- to pass in an array of SC.Record objects.
17
-
18
- There are many ways you can configure a ManyAttribute:
19
-
20
- {{{
21
- contacts: SC.ChildAttribute.attr('SC.Child');
22
- }}}
23
-
24
- @extends SC.RecordAttribute
25
- @since SproutCore 1.0
26
- */
27
- SC.ChildAttribute = SC.RecordAttribute.extend(
28
- /** @scope SC.ChildAttribute.prototype */ {
29
-
30
- isNestedRecordTransform: YES,
31
-
32
- // ..........................................................
33
- // LOW-LEVEL METHODS
34
- //
35
-
36
- /** @private - adapted for to one relationship */
37
- toType: function(record, key, value) {
38
- var ret = null, rel,
39
- recordType = this.get('typeClass');
40
-
41
- if (!record) {
42
- throw 'SC.Child: Error during transform: Unable to retrieve parent record.';
43
- }
44
- if (!SC.none(value)) ret = record.registerNestedRecord(value, key);
45
-
46
- return ret;
47
- },
48
-
49
- // Default fromType is just returning itself
50
- fromType: function(record, key, value){
51
- var sk, store, ret;
52
- if (record){
53
- ret = record.registerNestedRecord(value, key, key);
54
- if (ret) {
55
- sk = ret.get('storeKey');
56
- store = ret.get('store');
57
- record.writeAttribute(key, store.readDataHash(sk));
58
- }
59
- else if (value) {
60
- record.writeAttribute(key, value);
61
- }
62
- }
63
-
64
- return ret;
65
- },
66
-
67
- /**
68
- The core handler. Called from the property.
69
- @param {SC.Record} record the record instance
70
- @param {String} key the key used to access this attribute on the record
71
- @param {Object} value the property value if called as a setter
72
- @returns {Object} property value
73
- */
74
- call: function(record, key, value) {
75
- var attrKey = this.get('key') || key, cRef,
76
- cacheKey = SC.keyFor('__kid__', SC.guidFor(this));
77
- if (value !== undefined) {
78
- // this.orphan(record, cacheKey, value);
79
- value = this.fromType(record, key, value) ; // convert to attribute.
80
- // record[cacheKey] = value;
81
- } else {
82
- value = record.readAttribute(attrKey);
83
- if (SC.none(value) && (value = this.get('defaultValue'))) {
84
- if (typeof value === SC.T_FUNCTION) {
85
- value = this.defaultValue(record, key, this);
86
- // write default value so it doesn't have to be executed again
87
- if(record.attributes()) record.writeAttribute(attrKey, value, true);
88
- }
89
- } else value = this.toType(record, key, value);
90
- }
91
-
92
- return value ;
93
- }
94
- });
95
-
96
-
@@ -1,75 +0,0 @@
1
- // ==========================================================================
2
- // Project: SproutCore - JavaScript Application Framework
3
- // Copyright: ©2010 Evin Grano
4
- // License: Licensed under MIT license (see license.js)
5
- // ==========================================================================
6
-
7
- sc_require('models/record');
8
- sc_require('models/record_attribute');
9
- sc_require('models/child_attribute');
10
- sc_require('system/child_array');
11
-
12
- /** @class
13
-
14
- ChildrenAttribute is a subclass of ChildAttribute and handles to-many
15
- relationships for child records.
16
-
17
- When setting ( .set() ) the value of a toMany attribute, make sure
18
- to pass in an array of SC.Record objects.
19
-
20
- There are many ways you can configure a ChildrenAttribute:
21
-
22
- {{{
23
- contacts: SC.ChildrenAttribute.attr('SC.Child');
24
- }}}
25
-
26
- @extends SC.RecordAttribute
27
- @since SproutCore 1.0
28
- */
29
- SC.ChildrenAttribute = SC.ChildAttribute.extend(
30
- /** @scope SC.ChildrenAttribute.prototype */ {
31
-
32
- // ..........................................................
33
- // LOW-LEVEL METHODS
34
- //
35
-
36
- /** @private - adapted for to many relationship */
37
- toType: function(record, key, value) {
38
- var attrKey = this.get('key') || key,
39
- arrayKey = SC.keyFor('__kidsArray__', SC.guidFor(this)),
40
- ret = record[arrayKey],
41
- recordType = this.get('typeClass'), rel;
42
-
43
- // lazily create a ManyArray one time. after that always return the
44
- // same object.
45
- if (!ret) {
46
- ret = SC.ChildArray.create({
47
- record: record,
48
- propertyName: attrKey,
49
- defaultRecordType: recordType
50
- });
51
-
52
- record[arrayKey] = ret ; // save on record
53
- rel = record.get('relationships');
54
- if (!rel) record.set('relationships', rel = []);
55
- rel.push(ret); // make sure we get notified of changes...
56
- }
57
-
58
- return ret;
59
- },
60
-
61
- // Default fromType is just returning itself
62
- fromType: function(record, key, value){
63
- var sk, store,
64
- arrayKey = SC.keyFor('__kidsArray__', SC.guidFor(this)),
65
- ret = record[arrayKey];
66
- if (record) {
67
- record.writeAttribute(key, value);
68
- if (ret) ret = ret.recordPropertyDidChange();
69
- }
70
-
71
- return ret;
72
- }
73
- });
74
-
75
-
@@ -1,100 +0,0 @@
1
- // ==========================================================================
2
- // Project: SproutCore - JavaScript Application Framework
3
- // Copyright: ©2006-2011 Strobe Inc. and contributors.
4
- // Portions ©2008-2010 Apple Inc. All rights reserved.
5
- // License: Licensed under MIT license (see license.js)
6
- // ==========================================================================
7
-
8
- sc_require('models/record');
9
- sc_require('models/record_attribute');
10
-
11
- /** @class
12
-
13
- Describes a single attribute that is fetched dynamically from the server
14
- when you request it. Normally getting a property value with this attribute
15
- applied will cause call the find() method on the record store passing
16
- the attribute record type as the query key along with the property value,
17
- owner record, and property key name as parameters.
18
-
19
- The DataSource you hook up to your store must know how to load this kind
20
- of relationship for this fetched property to work properly.
21
-
22
- The return value is usually an SC.RecordArray that will populate with the
23
- record data so that you can display it.
24
-
25
- @extends SC.RecordAttribute
26
- @since SproutCore 1.0
27
- */
28
- SC.FetchedAttribute = SC.RecordAttribute.extend(
29
- /** @scope SC.FetchedAttribute.prototype */ {
30
-
31
- /**
32
- Define the param key that will be passed to the findAll method on the
33
- store. If null, the param will not be send. Defaults to 'link'
34
-
35
- @property {String}
36
- */
37
- paramValueKey: 'link',
38
-
39
- /**
40
- Define the param key used to send the parent record. If null the param
41
- will not be sent. Defaults to 'owner'.
42
-
43
- @property {String}
44
- */
45
- paramOwnerKey: 'owner',
46
-
47
- /**
48
- Define the param key used to send the key name used to reference this
49
- attribute. If null, the param will not be sent. Defaults to "rel"
50
-
51
- @property {String}
52
- */
53
- paramRelKey: 'rel',
54
-
55
- /**
56
- Optional query key to pass to findAll. Otherwise type class will be
57
- passed.
58
-
59
- @property {String}
60
- */
61
- queryKey: null,
62
-
63
- /**
64
- Fetched attributes are not editable
65
-
66
- @property {Boolean}
67
- */
68
- isEditable: NO,
69
-
70
- // ..........................................................
71
- // LOW-LEVEL METHODS
72
- //
73
-
74
- /** @private - adapted for fetching. do findAll */
75
- toType: function(record, key, value) {
76
- var store = record.get('store');
77
- if (!store) return null ; // nothing to do
78
-
79
- var paramValueKey = this.get('paramValueKey'),
80
- paramOwnerKey = this.get('paramOwnerKey'),
81
- paramRelKey = this.get('paramRelKey'),
82
- queryKey = this.get('queryKey') || this.get('typeClass'),
83
- params = {};
84
-
85
- // setup params for query
86
- if (paramValueKey) params[paramValueKey] = value ;
87
- if (paramOwnerKey) params[paramOwnerKey] = record ;
88
- if (paramRelKey) params[paramRelKey] = this.get('key') || key ;
89
-
90
- // make request - should return SC.RecordArray instance
91
- return store.findAll(queryKey, params);
92
- },
93
-
94
- /** @private - fetched attributes are read only. */
95
- fromType: function(record, key, value) {
96
- return value;
97
- }
98
-
99
- }) ;
100
-
@@ -1,154 +0,0 @@
1
- // ==========================================================================
2
- // Project: SproutCore - JavaScript Application Framework
3
- // Copyright: ©2006-2011 Strobe Inc. and contributors.
4
- // Portions ©2008-2010 Apple Inc. All rights reserved.
5
- // License: Licensed under MIT license (see license.js)
6
- // ==========================================================================
7
-
8
- sc_require('models/record');
9
- sc_require('models/record_attribute');
10
- sc_require('system/many_array');
11
-
12
- /** @class
13
-
14
- ManyAttribute is a subclass of RecordAttribute and handles to-many
15
- relationships.
16
-
17
- When setting ( .set() ) the value of a toMany attribute, make sure
18
- to pass in an array of SC.Record objects.
19
-
20
- There are many ways you can configure a ManyAttribute:
21
-
22
- {{{
23
- contacts: SC.Record.toMany('MyApp.Contact', {
24
- inverse: 'group', // set the key used to represent the inverse
25
- isMaster: YES|NO, // indicate whether changing this should dirty
26
- transform: function(), // transforms value <=> storeKey,
27
- isEditable: YES|NO, make editable or not,
28
- through: 'taggings' // set a relationship this goes through
29
- });
30
- }}}
31
-
32
- @extends SC.RecordAttribute
33
- @since SproutCore 1.0
34
- */
35
- SC.ManyAttribute = SC.RecordAttribute.extend(
36
- /** @scope SC.ManyAttribute.prototype */ {
37
-
38
- /**
39
- Set the foreign key on content objects that represent the inversion of
40
- this relationship. The inverse property should be a toOne() or toMany()
41
- relationship as well. Modifying this many array will modify the inverse
42
- property as well.
43
-
44
- @property {String}
45
- */
46
- inverse: null,
47
-
48
- /**
49
- If YES then modifying this relationships will mark the owner record
50
- dirty. If set ot NO, then modifying this relationship will not alter
51
- this record. You should use this property only if you have an inverse
52
- property also set. Only one of the inverse relationships should be marked
53
- as master so you can control which record should be committed.
54
-
55
- @property {Boolean}
56
- */
57
- isMaster: YES,
58
-
59
- /**
60
- If set and you have an inverse relationship, will be used to determine the
61
- order of an object when it is added to an array. You can pass a function
62
- or an array of property keys.
63
-
64
- @property {Function|Array}
65
- */
66
- orderBy: null,
67
-
68
- // ..........................................................
69
- // LOW-LEVEL METHODS
70
- //
71
-
72
- /** @private - adapted for to many relationship */
73
- toType: function(record, key, value) {
74
- var type = this.get('typeClass'),
75
- attrKey = this.get('key') || key,
76
- arrayKey = SC.keyFor('__manyArray__', SC.guidFor(this)),
77
- ret = record[arrayKey],
78
- rel;
79
-
80
- // lazily create a ManyArray one time. after that always return the
81
- // same object.
82
- if (!ret) {
83
- ret = SC.ManyArray.create({
84
- recordType: type,
85
- record: record,
86
- propertyName: attrKey,
87
- manyAttribute: this
88
- });
89
-
90
- record[arrayKey] = ret ; // save on record
91
- rel = record.get('relationships');
92
- if (!rel) record.set('relationships', rel = []);
93
- rel.push(ret); // make sure we get notified of changes...
94
-
95
- }
96
-
97
- return ret;
98
- },
99
-
100
- /** @private - adapted for to many relationship */
101
- fromType: function(record, key, value) {
102
- var ret = [];
103
-
104
- if(!SC.isArray(value)) throw "Expects toMany attribute to be an array";
105
-
106
- var len = value.get('length');
107
- for(var i=0;i<len;i++) {
108
- ret[i] = value.objectAt(i).get('id');
109
- }
110
-
111
- return ret;
112
- },
113
-
114
- /**
115
- Called by an inverse relationship whenever the receiver is no longer part
116
- of the relationship. If this matches the inverse setting of the attribute
117
- then it will update itself accordingly.
118
-
119
- You should never call this directly.
120
-
121
- @param {SC.Record} the record owning this attribute
122
- @param {String} key the key for this attribute
123
- @param {SC.Record} inverseRecord record that was removed from inverse
124
- @param {String} key key on inverse that was modified
125
- @returns {void}
126
- */
127
- inverseDidRemoveRecord: function(record, key, inverseRecord, inverseKey) {
128
- var manyArray = record.get(key);
129
- if (manyArray) {
130
- manyArray.removeInverseRecord(inverseRecord);
131
- }
132
- },
133
-
134
- /**
135
- Called by an inverse relationship whenever the receiver is added to the
136
- inverse relationship. This will set the value of this inverse record to
137
- the new record.
138
-
139
- You should never call this directly.
140
-
141
- @param {SC.Record} the record owning this attribute
142
- @param {String} key the key for this attribute
143
- @param {SC.Record} inverseRecord record that was added to inverse
144
- @param {String} key key on inverse that was modified
145
- @returns {void}
146
- */
147
- inverseDidAddRecord: function(record, key, inverseRecord, inverseKey) {
148
- var manyArray = record.get(key);
149
- if (manyArray) {
150
- manyArray.addInverseRecord(inverseRecord);
151
- }
152
- }
153
-
154
- });
@@ -1,1318 +0,0 @@
1
- // ==========================================================================
2
- // Project: SproutCore - JavaScript Application Framework
3
- // Copyright: ©2006-2011 Strobe Inc. and contributors.
4
- // Portions ©2008-2010 Apple Inc. All rights reserved.
5
- // License: Licensed under MIT license (see license.js)
6
- // ==========================================================================
7
-
8
- /**
9
- @class
10
-
11
- A Record is the core model class in SproutCore. It is analogous to
12
- NSManagedObject in Core Data and EOEnterpriseObject in the Enterprise
13
- Objects Framework (aka WebObjects), or ActiveRecord::Base in Rails.
14
-
15
- To create a new model class, in your SproutCore workspace, do:
16
-
17
- {{{
18
- $ sc-gen model MyApp.MyModel
19
- }}}
20
-
21
- This will create MyApp.MyModel in clients/my_app/models/my_model.js.
22
-
23
- The core attributes hash is used to store the values of a record in a
24
- format that can be easily passed to/from the server. The values should
25
- generally be stored in their raw string form. References to external
26
- records should be stored as primary keys.
27
-
28
- Normally you do not need to work with the attributes hash directly.
29
- Instead you should use get/set on normal record properties. If the
30
- property is not defined on the object, then the record will check the
31
- attributes hash instead.
32
-
33
- You can bulk update attributes from the server using the
34
- updateAttributes() method.
35
-
36
- @extends SC.Object
37
- @since SproutCore 1.0
38
- */
39
- SC.Record = SC.Object.extend(
40
- /** @scope SC.Record.prototype */ {
41
-
42
- /**
43
- Walk like a duck
44
-
45
- @property {Boolean}
46
- */
47
- isRecord: YES,
48
-
49
- /**
50
- If you have nested records
51
- */
52
- isParentRecord: NO,
53
-
54
- // ...............................
55
- // PROPERTIES
56
- //
57
-
58
- /**
59
- This is the primary key used to distinguish records. If the keys
60
- match, the records are assumed to be identical.
61
-
62
- @property {String}
63
- */
64
- primaryKey: 'guid',
65
-
66
- /**
67
- Returns the id for the record instance. The id is used to uniquely
68
- identify this record instance from all others of the same type. If you
69
- have a primaryKey set on this class, then the id will be the value of the
70
- primaryKey property on the underlying JSON hash.
71
-
72
- @property {String}
73
- */
74
- id: function(key, value) {
75
- if (value !== undefined) {
76
- this.writeAttribute(this.get('primaryKey'), value);
77
- return value;
78
- } else {
79
- return SC.Store.idFor(this.storeKey);
80
- }
81
- }.property('storeKey').cacheable(),
82
-
83
- /**
84
- All records generally have a life cycle as they are created or loaded into
85
- memory, modified, committed and finally destroyed. This life cycle is
86
- managed by the status property on your record.
87
-
88
- The status of a record is modelled as a finite state machine. Based on the
89
- current state of the record, you can determine which operations are
90
- currently allowed on the record and which are not.
91
-
92
- In general, a record can be in one of five primary states; SC.Record.EMPTY,
93
- SC.Record.BUSY, SC.Record.READY, SC.Record.DESTROYED, SC.Record.ERROR.
94
- These are all described in more detail in the class mixin (below) where
95
- they are defined.
96
-
97
- @property {Number}
98
- */
99
- status: function() {
100
- return this.store.readStatus(this.storeKey);
101
- }.property('storeKey').cacheable(),
102
-
103
- /**
104
- The store that owns this record. All changes will be buffered into this
105
- store and committed to the rest of the store chain through here.
106
-
107
- This property is set when the record instance is created and should not be
108
- changed or else it will break the record behavior.
109
-
110
- @property {SC.Store}
111
- */
112
- store: null,
113
-
114
- /**
115
- This is the store key for the record, it is used to link it back to the
116
- dataHash. If a record is reused, this value will be replaced.
117
-
118
- You should not edit this store key but you may sometimes need to refer to
119
- this store key when implementing a Server object.
120
-
121
- @property {Number}
122
- */
123
- storeKey: null,
124
-
125
- /**
126
- YES when the record has been destroyed
127
-
128
- @property {Boolean}
129
- */
130
- isDestroyed: function() {
131
- return !!(this.get('status') & SC.Record.DESTROYED);
132
- }.property('status').cacheable(),
133
-
134
- /**
135
- YES when the record is in an editable state. You can use this property to
136
- quickly determine whether attempting to modify the record would raise an
137
- exception or not.
138
-
139
- This property is both readable and writable. Note however that if you
140
- set this property to YES but the status of the record is anything but
141
- SC.Record.READY, the return value of this property may remain NO.
142
-
143
- @property {Boolean}
144
- */
145
- isEditable: function(key, value) {
146
- if (value !== undefined) this._screc_isEditable = value;
147
- if (this.get('status') & SC.Record.READY) return this._screc_isEditable;
148
- else return NO ;
149
- }.property('status').cacheable(),
150
-
151
- _screc_isEditable: YES, // default
152
-
153
- /**
154
- YES when the record's contents have been loaded for the first time. You
155
- can use this to quickly determine if the record is ready to display.
156
-
157
- @property {Boolean}
158
- */
159
- isLoaded: function() {
160
- var K = SC.Record,
161
- status = this.get('status');
162
- return !((status===K.EMPTY) || (status===K.BUSY_LOADING) || (status===K.ERROR));
163
- }.property('status').cacheable(),
164
-
165
- /**
166
- If set, this should be an array of active relationship objects that need
167
- to be notified whenever the underlying record properties change.
168
- Currently this is only used by toMany relationships, but you could
169
- possibly patch into this yourself also if you are building your own
170
- relationships.
171
-
172
- Note this must be a regular Array - NOT any object implementing SC.Array.
173
-
174
- @property {Array}
175
- */
176
- relationships: null,
177
-
178
- /**
179
- This will return the raw attributes that you can edit directly. If you
180
- make changes to this hash, be sure to call beginEditing() before you get
181
- the attributes and endEditing() afterwards.
182
-
183
- @property {Hash}
184
- **/
185
- attributes: function() {
186
- var store = this.get('store'),
187
- storeKey = this.storeKey;
188
- return store.readEditableDataHash(storeKey);
189
- }.property(),
190
-
191
- /**
192
- This will return the raw attributes that you cannot edit directly. It is
193
- useful if you want to efficiently look at multiple attributes in bulk. If
194
- you would like to edit the attributes, see the @attributes@ property
195
- instead.
196
-
197
- @property {Hash}
198
- **/
199
- readOnlyAttributes: function() {
200
- var store = this.get('store'),
201
- storeKey = this.storeKey,
202
- ret = store.readDataHash(storeKey);
203
-
204
- if (ret) ret = SC.clone(ret, YES);
205
-
206
- return ret;
207
- }.property(),
208
-
209
- /**
210
- * The namespace which to retrieve the childRecord Types from
211
- */
212
- nestedRecordNamespace: null,
213
-
214
- /**
215
- Function that returns whether this is a nested Record
216
- */
217
- isNestedRecord: function(){
218
- var store = this.get('store'), ret,
219
- sk = this.get('storeKey'),
220
- prKey = store.parentStoreKeyExists(sk);
221
-
222
- ret = prKey ? YES : NO;
223
- return ret;
224
- }.property().cacheable(),
225
-
226
- parentRecord: function(){
227
- var sk = this.storeKey, store = this.get('store');
228
- return store.materializeParentRecord(sk);
229
- }.property(),
230
-
231
- // ...............................
232
- // CRUD OPERATIONS
233
- //
234
-
235
- /**
236
- Refresh the record from the persistent store. If the record was loaded
237
- from a persistent store, then the store will be asked to reload the
238
- record data from the server. If the record is new and exists only in
239
- memory then this call will have no effect.
240
-
241
- @param {boolean} recordOnly, optional param if you want to only THIS record
242
- even if it is a child record.
243
- @param {Function} callback, optional callback that will fire when request finishes
244
-
245
- @returns {SC.Record} receiver
246
- */
247
- refresh: function(recordOnly, callback) {
248
- var store = this.get('store'), rec, ro,
249
- sk = this.get('storeKey'),
250
- prKey = store.parentStoreKeyExists();
251
-
252
- // If we only want to commit this record or it doesn't have a parent record
253
- // we will commit this record
254
- ro = recordOnly || (SC.none(recordOnly) && SC.none(prKey));
255
- if (ro){
256
- store.refreshRecord(null, null, sk, callback);
257
- } else if (prKey){
258
- rec = store.materializeRecord(prKey);
259
- rec.refresh(recordOnly, callback);
260
- }
261
-
262
- return this ;
263
- },
264
-
265
- /**
266
- Deletes the record along with any dependent records. This will mark the
267
- records destroyed in the store as well as changing the isDestroyed
268
- property on the record to YES. If this is a new record, this will avoid
269
- creating the record in the first place.
270
-
271
- @param {boolean} recordOnly, optional param if you want to only THIS record
272
- even if it is a child record.
273
-
274
- @returns {SC.Record} receiver
275
- */
276
- destroy: function(recordOnly) {
277
- var store = this.get('store'), rec, ro,
278
- sk = this.get('storeKey'),
279
- prKey = store.parentStoreKeyExists();
280
-
281
- // If we only want to commit this record or it doesn't have a parent record
282
- // we will commit this record
283
- ro = recordOnly || (SC.none(recordOnly) && SC.none(prKey));
284
- if (ro){
285
- store.destroyRecord(null, null, sk);
286
- this.notifyPropertyChange('status');
287
- // If there are any aggregate records, we might need to propagate our new
288
- // status to them.
289
- this.propagateToAggregates();
290
-
291
- } else if (prKey){
292
- rec = store.materializeRecord(prKey);
293
- rec.destroy(recordOnly);
294
- }
295
-
296
- return this ;
297
- },
298
-
299
- /**
300
- You can invoke this method anytime you need to make the record as dirty.
301
- This will cause the record to be commited when you commitChanges()
302
- on the underlying store.
303
-
304
- If you use the writeAttribute() primitive, this method will be called for
305
- you.
306
-
307
- If you pass the key that changed it will ensure that observers are fired
308
- only once for the changed property instead of allPropertiesDidChange()
309
-
310
- @param {String} key that changed (optional)
311
- @returns {SC.Record} receiver
312
- */
313
- recordDidChange: function(key) {
314
-
315
- // If we have a parent, they changed too!
316
- var p = this.get('parentRecord');
317
- if (p) p.recordDidChange();
318
-
319
- this.get('store').recordDidChange(null, null, this.get('storeKey'), key);
320
- this.notifyPropertyChange('status');
321
-
322
- // If there are any aggregate records, we might need to propagate our new
323
- // status to them.
324
- this.propagateToAggregates();
325
-
326
- return this ;
327
- },
328
-
329
- // ...............................
330
- // ATTRIBUTES
331
- //
332
-
333
- /** @private
334
- Current edit level. Used to defer editing changes.
335
- */
336
- _editLevel: 0 ,
337
-
338
- /**
339
- Defers notification of record changes until you call a matching
340
- endEditing() method. This method is called automatically whenever you
341
- set an attribute, but you can call it yourself to group multiple changes.
342
-
343
- Calls to beginEditing() and endEditing() can be nested.
344
-
345
- @returns {SC.Record} receiver
346
- */
347
- beginEditing: function() {
348
- this._editLevel++;
349
- return this ;
350
- },
351
-
352
- /**
353
- Notifies the store of record changes if this matches a top level call to
354
- beginEditing(). This method is called automatically whenever you set an
355
- attribute, but you can call it yourself to group multiple changes.
356
-
357
- Calls to beginEditing() and endEditing() can be nested.
358
-
359
- @param {String} key that changed (optional)
360
- @returns {SC.Record} receiver
361
- */
362
- endEditing: function(key) {
363
- if(--this._editLevel <= 0) {
364
- this._editLevel = 0;
365
- this.recordDidChange(key);
366
- }
367
- return this ;
368
- },
369
-
370
- /**
371
- Reads the raw attribute from the underlying data hash. This method does
372
- not transform the underlying attribute at all.
373
-
374
- @param {String} key the attribute you want to read
375
- @returns {Object} the value of the key, or undefined if it doesn't exist
376
- */
377
- readAttribute: function(key) {
378
- var store = this.get('store'), storeKey = this.storeKey;
379
- var attrs = store.readDataHash(storeKey);
380
- return attrs ? attrs[key] : undefined ;
381
- },
382
-
383
- /**
384
- Updates the passed attribute with the new value. This method does not
385
- transform the value at all. If instead you want to modify an array or
386
- hash already defined on the underlying json, you should instead get
387
- an editable version of the attribute using editableAttribute()
388
-
389
- @param {String} key the attribute you want to read
390
- @param {Object} value the value you want to write
391
- @param {Boolean} ignoreDidChange only set if you do NOT want to flag
392
- record as dirty
393
- @returns {SC.Record} receiver
394
- */
395
- writeAttribute: function(key, value, ignoreDidChange) {
396
- var store = this.get('store'),
397
- storeKey = this.storeKey,
398
- attrs;
399
-
400
- attrs = store.readEditableDataHash(storeKey);
401
- if (!attrs) throw SC.Record.BAD_STATE_ERROR;
402
-
403
- // if value is the same, do not flag record as dirty
404
- if (value !== attrs[key]) {
405
- if(!ignoreDidChange) this.beginEditing();
406
- attrs[key] = value;
407
-
408
- // If the key is the primaryKey of the record, we need to tell the store
409
- // about the change.
410
- if (key===this.get('primaryKey')) {
411
- SC.Store.replaceIdFor(storeKey, value) ;
412
- this.propertyDidChange('id'); // Reset computed value
413
- }
414
-
415
- if(!ignoreDidChange) this.endEditing(key);
416
- }
417
- return this ;
418
- },
419
-
420
- /**
421
- This will also ensure that any aggregate records are also marked dirty
422
- if this record changes.
423
-
424
- Should not have to be called manually.
425
- */
426
- propagateToAggregates: function() {
427
- var storeKey = this.get('storeKey'),
428
- recordType = SC.Store.recordTypeFor(storeKey),
429
- idx, len, key, val, recs;
430
-
431
- var aggregates = recordType.aggregates;
432
-
433
- // if recordType aggregates are not set up yet, make sure to
434
- // create the cache first
435
- if (!aggregates) {
436
- var dataHash = this.get('store').readDataHash(storeKey);
437
- aggregates = [];
438
- for(var k in dataHash) {
439
- if(this[k] && this[k].get && this[k].get('aggregate')===YES) {
440
- aggregates.push(k);
441
- }
442
- }
443
- recordType.aggregates = aggregates;
444
- }
445
-
446
- // now loop through all aggregate properties and mark their related
447
- // record objects as dirty
448
- var K = SC.Record,
449
- dirty = K.DIRTY,
450
- readyNew = K.READY_NEW,
451
- destroyed = K.DESTROYED,
452
- readyClean = K.READY_CLEAN,
453
- iter;
454
-
455
- // If the child is dirty, then make sure the parent gets a dirty
456
- // status. (If the child is created or destroyed, there's no need,
457
- // because the parent will dirty itself when it modifies that
458
- // relationship.)
459
- iter = function(rec) {
460
- var childStatus, parentStatus;
461
-
462
- if (rec) {
463
- childStatus = this.get('status');
464
- if ((childStatus & dirty) ||
465
- (childStatus & readyNew) || (childStatus & destroyed)) {
466
- parentStatus = rec.get('status');
467
- if (parentStatus === readyClean) {
468
- // Note: storeDidChangeProperties() won't put it in the
469
- // changelog!
470
- rec.get('store').recordDidChange(rec.constructor, null, rec.get('storeKey'), null, YES);
471
- }
472
- }
473
- }
474
- };
475
-
476
- for(idx=0,len=aggregates.length;idx<len;++idx) {
477
- key = aggregates[idx];
478
- val = this.get(key);
479
- recs = SC.kindOf(val, SC.ManyArray) ? val : [val];
480
- recs.forEach(iter, this);
481
- }
482
- },
483
-
484
- /**
485
- Called by the store whenever the underlying data hash has changed. This
486
- will notify any observers interested in data hash properties that they
487
- have changed.
488
-
489
- @param {Boolean} statusOnly changed
490
- @param {String} key that changed (optional)
491
- @returns {SC.Record} receiver
492
- */
493
- storeDidChangeProperties: function(statusOnly, keys) {
494
- // TODO: Should this function call propagateToAggregates() at the
495
- // appropriate times?
496
- if (statusOnly) this.notifyPropertyChange('status');
497
- else {
498
- if (keys) {
499
- this.beginPropertyChanges();
500
- keys.forEach(function(k) { this.notifyPropertyChange(k); }, this);
501
- this.notifyPropertyChange('status');
502
- this.endPropertyChanges();
503
-
504
- } else this.allPropertiesDidChange();
505
-
506
- // also notify manyArrays
507
- var manyArrays = this.relationships,
508
- loc = manyArrays ? manyArrays.length : 0 ;
509
- while(--loc>=0) manyArrays[loc].recordPropertyDidChange(keys);
510
- }
511
- },
512
-
513
- /**
514
- Normalizing a record will ensure that the underlying hash conforms
515
- to the record attributes such as their types (transforms) and default
516
- values.
517
-
518
- This method will write the conforming hash to the store and return
519
- the materialized record.
520
-
521
- By normalizing the record, you can use .attributes() and be
522
- assured that it will conform to the defined model. For example, this
523
- can be useful in the case where you need to send a JSON representation
524
- to some server after you have used .createRecord(), since this method
525
- will enforce the 'rules' in the model such as their types and default
526
- values. You can also include null values in the hash with the
527
- includeNull argument.
528
-
529
- @param {Boolean} includeNull will write empty (null) attributes
530
- @returns {SC.Record} the normalized record
531
- */
532
-
533
- normalize: function(includeNull) {
534
- var primaryKey = this.primaryKey,
535
- recordId = this.get('id'),
536
- store = this.get('store'),
537
- storeKey = this.get('storeKey'),
538
- key, valueForKey, typeClass, recHash, attrValue, normChild, isRecord,
539
- isChild, defaultVal, keyForDataHash, attr;
540
-
541
- var dataHash = store.readEditableDataHash(storeKey) || {};
542
- dataHash[primaryKey] = recordId;
543
- recHash = store.readDataHash(storeKey);
544
-
545
- for (key in this) {
546
- // make sure property is a record attribute.
547
- valueForKey = this[key];
548
- if (valueForKey) {
549
- typeClass = valueForKey.typeClass;
550
- if (typeClass) {
551
- keyForDataHash = valueForKey.get('key') || key; // handle alt keys
552
- isRecord = SC.typeOf(typeClass.call(valueForKey))===SC.T_CLASS;
553
- isChild = valueForKey.isNestedRecordTransform;
554
- if (!isRecord && !isChild) {
555
- attrValue = this.get(key);
556
- if(attrValue!==undefined || (attrValue===null && includeNull)) {
557
- attr = this[key];
558
- // if record attribute, make sure we transform with the fromType
559
- if(SC.instanceOf(attr, SC.RecordAttribute)) {
560
- attrValue = attr.fromType(this, key, attrValue);
561
- }
562
- dataHash[keyForDataHash] = attrValue;
563
- }
564
-
565
- } else if (isChild) {
566
- attrValue = this.get(key);
567
-
568
- // Sometimes a child attribute property does not refer to a child record.
569
- // Catch this and don't try to normalize.
570
- if (attrValue && attrValue.normalize) {
571
- attrValue.normalize();
572
- }
573
- } else if (isRecord) {
574
- attrValue = recHash[keyForDataHash];
575
- if (attrValue !== undefined) {
576
- // write value already there
577
- dataHash[keyForDataHash] = attrValue;
578
- } else {
579
- // or write default
580
- defaultVal = valueForKey.get('defaultValue');
581
-
582
- // computed default value
583
- if (SC.typeOf(defaultVal)===SC.T_FUNCTION) {
584
- dataHash[keyForDataHash] = defaultVal(this, key, defaultVal);
585
- } else {
586
- // plain value
587
- dataHash[keyForDataHash] = defaultVal;
588
- }
589
- }
590
- }
591
- }
592
- }
593
- }
594
-
595
- return this;
596
- },
597
-
598
-
599
-
600
- /**
601
- If you try to get/set a property not defined by the record, then this
602
- method will be called. It will try to get the value from the set of
603
- attributes.
604
-
605
- This will also check is ignoreUnknownProperties is set on the recordType
606
- so that they will not be written to dataHash unless explicitly defined
607
- in the model schema.
608
-
609
- @param {String} key the attribute being get/set
610
- @param {Object} value the value to set the key to, if present
611
- @returns {Object} the value
612
- */
613
- unknownProperty: function(key, value) {
614
-
615
- if (value !== undefined) {
616
-
617
- // first check if we should ignore unknown properties for this
618
- // recordType
619
- var storeKey = this.get('storeKey'),
620
- recordType = SC.Store.recordTypeFor(storeKey);
621
-
622
- if(recordType.ignoreUnknownProperties===YES) {
623
- this[key] = value;
624
- return value;
625
- }
626
-
627
- // if we're modifying the PKEY, then SC.Store needs to relocate where
628
- // this record is cached. store the old key, update the value, then let
629
- // the store do the housekeeping...
630
- var primaryKey = this.get('primaryKey');
631
- this.writeAttribute(key,value);
632
-
633
- // update ID if needed
634
- if (key === primaryKey) {
635
- SC.Store.replaceIdFor(storeKey, value);
636
- }
637
-
638
- }
639
- return this.readAttribute(key);
640
- },
641
-
642
- /**
643
- Lets you commit this specific record to the store which will trigger
644
- the appropriate methods in the data source for you.
645
-
646
- @param {Hash} params optional additonal params that will passed down
647
- to the data source
648
- @param {boolean} recordOnly, optional param if you want to only commit a single
649
- record if it has a parent.
650
- @param {Function} callback, optional callback that the store will fire once the
651
- datasource finished committing
652
- @returns {SC.Record} receiver
653
- */
654
- commitRecord: function(params, recordOnly, callback) {
655
- var store = this.get('store'), rec, ro,
656
- sk = this.get('storeKey'),
657
- prKey = store.parentStoreKeyExists();
658
-
659
- // If we only want to commit this record or it doesn't have a parent record
660
- // we will commit this record
661
- ro = recordOnly || (SC.none(recordOnly) && SC.none(prKey));
662
- if (ro){
663
- store.commitRecord(undefined, undefined, this.get('storeKey'), params, callback);
664
- } else if (prKey){
665
- rec = store.materializeRecord(prKey);
666
- rec.commitRecord(params, recordOnly, callback);
667
- }
668
- return this ;
669
- },
670
-
671
- // ..........................................................
672
- // EMULATE SC.ERROR API
673
- //
674
-
675
- /**
676
- Returns YES whenever the status is SC.Record.ERROR. This will allow you
677
- to put the UI into an error state.
678
-
679
- @property {Boolean}
680
- */
681
- isError: function() {
682
- return this.get('status') & SC.Record.ERROR;
683
- }.property('status').cacheable(),
684
-
685
- /**
686
- Returns the receiver if the record is in an error state. Returns null
687
- otherwise.
688
-
689
- @property {SC.Record}
690
- */
691
- errorValue: function() {
692
- return this.get('isError') ? SC.val(this.get('errorObject')) : null ;
693
- }.property('isError').cacheable(),
694
-
695
- /**
696
- Returns the current error object only if the record is in an error state.
697
- If no explicit error object has been set, returns SC.Record.GENERIC_ERROR.
698
-
699
- @property {SC.Error}
700
- */
701
- errorObject: function() {
702
- if (this.get('isError')) {
703
- var store = this.get('store');
704
- return store.readError(this.get('storeKey')) || SC.Record.GENERIC_ERROR;
705
- } else return null ;
706
- }.property('isError').cacheable(),
707
-
708
- // ...............................
709
- // PRIVATE
710
- //
711
-
712
- /** @private
713
- Sets the key equal to value.
714
-
715
- This version will first check to see if the property is an
716
- SC.RecordAttribute, and if so, will ensure that its isEditable property
717
- is YES before attempting to change the value.
718
-
719
- @param key {String} the property to set
720
- @param value {Object} the value to set or null.
721
- @returns {SC.Record}
722
- */
723
- set: function(key, value) {
724
- var func = this[key];
725
-
726
- if (func && func.isProperty && func.get && !func.get('isEditable')) {
727
- return this;
728
- }
729
- return sc_super();
730
- },
731
-
732
- /** @private
733
- Creates string representation of record, with status.
734
-
735
- @returns {String}
736
- */
737
-
738
- toString: function() {
739
- // We won't use 'readOnlyAttributes' here because accessing them directly
740
- // avoids a SC.clone() -- we'll be careful not to edit anything.
741
- var attrs = this.get('store').readDataHash(this.get('storeKey'));
742
- return "%@(%@) %@".fmt(this.constructor.toString(), SC.inspect(attrs), this.statusString());
743
- },
744
-
745
- /** @private
746
- Creates string representation of record, with status.
747
-
748
- @returns {String}
749
- */
750
-
751
- statusString: function() {
752
- var ret = [], status = this.get('status');
753
-
754
- for(var prop in SC.Record) {
755
- if(prop.match(/[A-Z_]$/) && SC.Record[prop]===status) {
756
- ret.push(prop);
757
- }
758
- }
759
-
760
- return ret.join(" ");
761
- },
762
-
763
- /**
764
- Registers a child record with this parent record.
765
-
766
- If the parent already knows about the child record, return the cached
767
- instance. If not, create the child record instance and add it to the child
768
- record cache.
769
-
770
- @param {Hash} value The hash of attributes to apply to the child record.
771
- @param {Integer} key The store key that we are asking for
772
- */
773
- registerNestedRecord: function(value, key, path) {
774
- var store, psk, csk, childRecord, recordType;
775
-
776
- // if no path is entered it must be the key
777
- if (SC.none(path)) path = key;
778
- // if a record instance is passed, simply use the storeKey. This allows
779
- // you to pass a record from a chained store to get the same record in the
780
- // current store.
781
- if (value && value.get && value.get('isRecord')) {
782
- childRecord = value;
783
- }
784
- else {
785
- recordType = this._materializeNestedRecordType(value, key);
786
- childRecord = this.createNestedRecord(recordType, value);
787
- }
788
- if (childRecord){
789
- this.isParentRecord = YES;
790
- store = this.get('store');
791
- psk = this.get('storeKey');
792
- csk = childRecord.get('storeKey');
793
- store.registerChildToParent(psk, csk, path);
794
- }
795
-
796
- return childRecord;
797
- },
798
-
799
- /**
800
- private method that retrieves the recordType from the hash that is provided.
801
-
802
- Important for use in polymorphism but you must have the following items in the
803
- parent record:
804
-
805
- nestedRecordNamespace <= this is the object that has the SC.Records defined
806
-
807
- @param {Hash} value The hash of attributes to apply to the child record.
808
- @param {String} key the name of the key on the attribute
809
- */
810
- _materializeNestedRecordType: function(value, key){
811
- var childNS, recordType, ret;
812
-
813
- // Get the record type, first checking the "type" property on the hash.
814
- if (SC.typeOf(value) === SC.T_HASH) {
815
- // Get the record type.
816
- childNS = this.get('nestedRecordNamespace');
817
- if (value.type && !SC.none(childNS)) {
818
- recordType = childNS[value.type];
819
- }
820
- }
821
-
822
- // Maybe it's not a hash or there was no type property.
823
- if (!recordType && key && this[key]) {
824
- recordType = this[key].get('typeClass');
825
- }
826
-
827
- // When all else fails throw and exception.
828
- if (!recordType || !SC.kindOf(recordType, SC.Record)) {
829
- throw 'SC.Child: Error during transform: Invalid record type.';
830
- }
831
-
832
- return recordType;
833
- },
834
-
835
- /**
836
- Creates a new nested record instance.
837
-
838
- @param {SC.Record} recordType The type of the nested record to create.
839
- @param {Hash} hash The hash of attributes to apply to the child record.
840
- (may be null)
841
- */
842
- createNestedRecord: function(recordType, hash) {
843
- var store, id, sk, pk, cr = null, existingId = null;
844
- SC.run(function() {
845
- hash = hash || {}; // init if needed
846
-
847
- existingId = hash[recordType.prototype.primaryKey];
848
-
849
- store = this.get('store');
850
- if (SC.none(store)) throw 'Error: during the creation of a child record: NO STORE ON PARENT!';
851
-
852
- if (!id && (pk = recordType.prototype.primaryKey)) {
853
- id = hash[pk];
854
- // In case there isnt a primary key supplied then we create on
855
- // on the fly
856
- sk = id ? store.storeKeyExists(recordType, id) : null;
857
- if (sk){
858
- store.writeDataHash(sk, hash);
859
- cr = store.materializeRecord(sk);
860
- } else {
861
- cr = store.createRecord(recordType, hash) ;
862
- if (SC.none(id)){
863
- sk = cr.get('storeKey');
864
- id = 'cr'+sk;
865
- SC.Store.replaceIdFor(sk, id);
866
- hash = store.readEditableDataHash(sk);
867
- hash[pk] = id;
868
- }
869
- }
870
-
871
- }
872
-
873
- // ID processing if necessary
874
- if (SC.none(existingId) && this.generateIdForChild) this.generateIdForChild(cr);
875
-
876
- }, this);
877
-
878
- return cr;
879
- },
880
-
881
- _nestedRecordKey: 0,
882
-
883
- /**
884
- * Override this function if you want to have a special way of creating
885
- * ids for your child records
886
- */
887
- generateIdForChild: function(childRecord){}
888
-
889
- }) ;
890
-
891
- // Class Methods
892
- SC.Record.mixin( /** @scope SC.Record */ {
893
-
894
- /**
895
- Whether to ignore unknown properties when they are being set on the record
896
- object. This is useful if you want to strictly enforce the model schema
897
- and not allow dynamically expanding it by setting new unknown properties
898
-
899
- @property {Boolean}
900
- */
901
- ignoreUnknownProperties: NO,
902
-
903
- // ..........................................................
904
- // CONSTANTS
905
- //
906
-
907
- /**
908
- Generic state for records with no local changes.
909
-
910
- Use a logical AND (single &) to test record status
911
-
912
- @property {Number}
913
- */
914
- CLEAN: 0x0001, // 1
915
-
916
- /**
917
- Generic state for records with local changes.
918
-
919
- Use a logical AND (single &) to test record status
920
-
921
- @property {Number}
922
- */
923
- DIRTY: 0x0002, // 2
924
-
925
- /**
926
- State for records that are still loaded.
927
-
928
- A record instance should never be in this state. You will only run into
929
- it when working with the low-level data hash API on SC.Store. Use a
930
- logical AND (single &) to test record status
931
-
932
- @property {Number}
933
- */
934
- EMPTY: 0x0100, // 256
935
-
936
- /**
937
- State for records in an error state.
938
-
939
- Use a logical AND (single &) to test record status
940
-
941
- @property {Number}
942
- */
943
- ERROR: 0x1000, // 4096
944
-
945
- /**
946
- Generic state for records that are loaded and ready for use
947
-
948
- Use a logical AND (single &) to test record status
949
-
950
- @property {Number}
951
- */
952
- READY: 0x0200, // 512
953
-
954
- /**
955
- State for records that are loaded and ready for use with no local changes
956
-
957
- Use a logical AND (single &) to test record status
958
-
959
- @property {Number}
960
- */
961
- READY_CLEAN: 0x0201, // 513
962
-
963
-
964
- /**
965
- State for records that are loaded and ready for use with local changes
966
-
967
- Use a logical AND (single &) to test record status
968
-
969
- @property {Number}
970
- */
971
- READY_DIRTY: 0x0202, // 514
972
-
973
-
974
- /**
975
- State for records that are new - not yet committed to server
976
-
977
- Use a logical AND (single &) to test record status
978
-
979
- @property {Number}
980
- */
981
- READY_NEW: 0x0203, // 515
982
-
983
-
984
- /**
985
- Generic state for records that have been destroyed
986
-
987
- Use a logical AND (single &) to test record status
988
-
989
- @property {Number}
990
- */
991
- DESTROYED: 0x0400, // 1024
992
-
993
-
994
- /**
995
- State for records that have been destroyed and committed to server
996
-
997
- Use a logical AND (single &) to test record status
998
-
999
- @property {Number}
1000
- */
1001
- DESTROYED_CLEAN: 0x0401, // 1025
1002
-
1003
-
1004
- /**
1005
- State for records that have been destroyed but not yet committed to server
1006
-
1007
- Use a logical AND (single &) to test record status
1008
-
1009
- @property {Number}
1010
- */
1011
- DESTROYED_DIRTY: 0x0402, // 1026
1012
-
1013
-
1014
- /**
1015
- Generic state for records that have been submitted to data source
1016
-
1017
- Use a logical AND (single &) to test record status
1018
-
1019
- @property {Number}
1020
- */
1021
- BUSY: 0x0800, // 2048
1022
-
1023
-
1024
- /**
1025
- State for records that are still loading data from the server
1026
-
1027
- Use a logical AND (single &) to test record status
1028
-
1029
- @property {Number}
1030
- */
1031
- BUSY_LOADING: 0x0804, // 2052
1032
-
1033
-
1034
- /**
1035
- State for new records that were created and submitted to the server;
1036
- waiting on response from server
1037
-
1038
- Use a logical AND (single &) to test record status
1039
-
1040
- @property {Number}
1041
- */
1042
- BUSY_CREATING: 0x0808, // 2056
1043
-
1044
-
1045
- /**
1046
- State for records that have been modified and submitted to server
1047
-
1048
- Use a logical AND (single &) to test record status
1049
-
1050
- @property {Number}
1051
- */
1052
- BUSY_COMMITTING: 0x0810, // 2064
1053
-
1054
-
1055
- /**
1056
- State for records that have requested a refresh from the server.
1057
-
1058
- Use a logical AND (single &) to test record status.
1059
-
1060
- @property {Number}
1061
- */
1062
- BUSY_REFRESH: 0x0820, // 2080
1063
-
1064
-
1065
- /**
1066
- State for records that have requested a refresh from the server.
1067
-
1068
- Use a logical AND (single &) to test record status
1069
-
1070
- @property {Number}
1071
- */
1072
- BUSY_REFRESH_CLEAN: 0x0821, // 2081
1073
-
1074
- /**
1075
- State for records that have requested a refresh from the server.
1076
-
1077
- Use a logical AND (single &) to test record status
1078
-
1079
- @property {Number}
1080
- */
1081
- BUSY_REFRESH_DIRTY: 0x0822, // 2082
1082
-
1083
- /**
1084
- State for records that have been destroyed and submitted to server
1085
-
1086
- Use a logical AND (single &) to test record status
1087
-
1088
- @property {Number}
1089
- */
1090
- BUSY_DESTROYING: 0x0840, // 2112
1091
-
1092
-
1093
- // ..........................................................
1094
- // ERRORS
1095
- //
1096
-
1097
- /**
1098
- Error for when you try to modify a record while it is in a bad
1099
- state.
1100
-
1101
- @property {SC.Error}
1102
- */
1103
- BAD_STATE_ERROR: SC.$error("Internal barf Inconsistency"),
1104
-
1105
- /**
1106
- Error for when you try to create a new record that already exists.
1107
-
1108
- @property {SC.Error}
1109
- */
1110
- RECORD_EXISTS_ERROR: SC.$error("Record Exists"),
1111
-
1112
- /**
1113
- Error for when you attempt to locate a record that is not found
1114
-
1115
- @property {SC.Error}
1116
- */
1117
- NOT_FOUND_ERROR: SC.$error("Not found "),
1118
-
1119
- /**
1120
- Error for when you try to modify a record that is currently busy
1121
-
1122
- @property {SC.Error}
1123
- */
1124
- BUSY_ERROR: SC.$error("Busy"),
1125
-
1126
- /**
1127
- Generic unknown record error
1128
-
1129
- @property {SC.Error}
1130
- */
1131
- GENERIC_ERROR: SC.$error("Generic Error"),
1132
-
1133
- /**
1134
- * The next child key to allocate. A nextChildKey must always be greater than 0.
1135
- */
1136
- _nextChildKey: 0,
1137
-
1138
- // ..........................................................
1139
- // CLASS METHODS
1140
- //
1141
-
1142
- /**
1143
- Helper method returns a new SC.RecordAttribute instance to map a simple
1144
- value or to-one relationship. At the very least, you should pass the
1145
- type class you expect the attribute to have. You may pass any additional
1146
- options as well.
1147
-
1148
- Use this helper when you define SC.Record subclasses.
1149
-
1150
- h4. Example
1151
-
1152
- {{{
1153
- MyApp.Contact = SC.Record.extend({
1154
- firstName: SC.Record.attr(String, { isRequired: YES })
1155
- });
1156
- }}}
1157
-
1158
- @param {Class} type the attribute type
1159
- @param {Hash} opts the options for the attribute
1160
- @returns {SC.RecordAttribute} created instance
1161
- */
1162
- attr: function(type, opts) {
1163
- return SC.RecordAttribute.attr(type, opts);
1164
- },
1165
-
1166
- /**
1167
- Returns an SC.RecordAttribute that describes a fetched attribute. When
1168
- you reference this attribute, it will return an SC.RecordArray that uses
1169
- the type as the fetch key and passes the attribute value as a param.
1170
-
1171
- Use this helper when you define SC.Record subclasses.
1172
-
1173
- h4. Example
1174
-
1175
- {{{
1176
- MyApp.Group = SC.Record.extend({
1177
- contacts: SC.Record.fetch('MyApp.Contact')
1178
- });
1179
- }}}
1180
-
1181
- @param {SC.Record|String} recordType The type of records to load
1182
- @param {Hash} opts the options for the attribute
1183
- @returns {SC.RecordAttribute} created instance
1184
- */
1185
- fetch: function(recordType, opts) {
1186
- return SC.FetchedAttribute.attr(recordType, opts) ;
1187
- },
1188
-
1189
- /**
1190
- Returns:
1191
-
1192
- 1: SC.ManyAttribute that describes a record array backed by an
1193
- array of guids stored in the underlying JSON.
1194
- 2: SC.ChildrenAttribute that describes a record array backed by a
1195
- array of hashes.
1196
-
1197
- You can edit the contents of this relationship.
1198
-
1199
- For SC.ManyAttribute, If you set the inverse and isMaster: NO key,
1200
- then editing this array will modify the underlying data, but the
1201
- inverse key on the matching record will also be edited and that
1202
- record will be marked as needing a change.
1203
-
1204
- @param {SC.Record|String} recordType The type of record to create
1205
- @param {Hash} opts the options for the attribute
1206
- @returns {SC.ManyAttribute|SC.ChildrenAttribute} created instance
1207
- */
1208
- toMany: function(recordType, opts) {
1209
- opts = opts || {};
1210
- var isNested = opts.nested || opts.isNested;
1211
- var attr;
1212
- if(isNested){
1213
- attr = SC.ChildrenAttribute.attr(recordType, opts);
1214
- }
1215
- else {
1216
- attr = SC.ManyAttribute.attr(recordType, opts);
1217
- }
1218
- return attr;
1219
- },
1220
-
1221
- /**
1222
- Returns:
1223
- 1. SC.SingleAttribute that converts the underlying ID to a single
1224
- record. If you modify this property, it will rewrite the underyling ID.
1225
- It will also modify the inverse of the relationship, if you set it.
1226
-
1227
- 2. SC.ChildAttribute that you can edit the contents
1228
- of this relationship.
1229
-
1230
- @param {SC.Record|String} recordType the type of the record to create
1231
- @param {Hash} opts additional options
1232
- @returns {SC.SingleAttribute|SC.ChildAttribute} created instance
1233
- */
1234
- toOne: function(recordType, opts) {
1235
- opts = opts || {};
1236
- var isNested = opts.nested || opts.isNested;
1237
- var attr;
1238
- if(isNested){
1239
- attr = SC.ChildAttribute.attr(recordType, opts);
1240
- }
1241
- else {
1242
- attr = SC.SingleAttribute.attr(recordType, opts);
1243
- }
1244
- return attr;
1245
- },
1246
-
1247
- /**
1248
- Returns all storeKeys mapped by Id for this record type. This method is
1249
- used mostly by the SC.Store and the Record to coordinate. You will rarely
1250
- need to call this method yourself.
1251
-
1252
- @returns {Hash}
1253
- */
1254
- storeKeysById: function() {
1255
- var key = SC.keyFor('storeKey', SC.guidFor(this)),
1256
- ret = this[key];
1257
- if (!ret) ret = this[key] = {};
1258
- return ret;
1259
- },
1260
-
1261
- /**
1262
- Given a primaryKey value for the record, returns the associated
1263
- storeKey. If the primaryKey has not been assigned a storeKey yet, it
1264
- will be added.
1265
-
1266
- For the inverse of this method see SC.Store.idFor() and
1267
- SC.Store.recordTypeFor().
1268
-
1269
- @param {String} id a record id
1270
- @returns {Number} a storeKey.
1271
- */
1272
- storeKeyFor: function(id) {
1273
- var storeKeys = this.storeKeysById(),
1274
- ret = storeKeys[id];
1275
-
1276
- if (!ret) {
1277
- ret = SC.Store.generateStoreKey();
1278
- SC.Store.idsByStoreKey[ret] = id ;
1279
- SC.Store.recordTypesByStoreKey[ret] = this ;
1280
- storeKeys[id] = ret ;
1281
- }
1282
-
1283
- return ret ;
1284
- },
1285
-
1286
- /**
1287
- Given a primaryKey value for the record, returns the associated
1288
- storeKey. As opposed to storeKeyFor() however, this method
1289
- will NOT generate a new storeKey but returned undefined.
1290
-
1291
- @param {String} id a record id
1292
- @returns {Number} a storeKey.
1293
- */
1294
- storeKeyExists: function(id) {
1295
- var storeKeys = this.storeKeysById(),
1296
- ret = storeKeys[id];
1297
-
1298
- return ret ;
1299
- },
1300
-
1301
- /**
1302
- Returns a record with the named ID in store.
1303
-
1304
- @param {SC.Store} store the store
1305
- @param {String} id the record id or a query
1306
- @returns {SC.Record} record instance
1307
- */
1308
- find: function(store, id) {
1309
- return store.find(this, id);
1310
- },
1311
-
1312
- /** @private - enhance extend to notify SC.Query as well. */
1313
- extend: function() {
1314
- var ret = SC.Object.extend.apply(this, arguments);
1315
- SC.Query._scq_didDefineRecordType(ret);
1316
- return ret ;
1317
- }
1318
- }) ;