spade 0.0.1 → 0.0.2

Sign up to get free protection for your applications and to get access to all the features.
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,1599 +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('core') ;
9
- sc_require('models/record');
10
-
11
- /**
12
- @class
13
-
14
- This permits you to perform queries on your data store,
15
- written in a SQL-like language. Here is a simple example:
16
-
17
- {{{
18
- q = SC.Query.create({
19
- conditions: "firstName = 'Jonny' AND lastName = 'Cash'"
20
- })
21
- }}}
22
-
23
- You can check if a certain record matches the query by calling:
24
-
25
- {{{
26
- q.contains(record)
27
- }}}
28
-
29
- To find all records of your store, that match query q, use findAll with
30
- query q as argument:
31
-
32
- {{{
33
- r = MyApp.store.findAll(q)
34
- }}}
35
-
36
- r will be a record array containing all matching records.
37
- To limit the query to a record type of MyApp.MyModel,
38
- you can specify the type as a property of the query like this:
39
-
40
- {{{
41
- q = SC.Query.create({
42
- conditions: "firstName = 'Jonny' AND lastName = 'Cash'",
43
- recordType: MyApp.MyModel
44
- })
45
- }}}
46
-
47
- Calling find() like above will now return only records of type t.
48
- It is recommended to limit your query to a record type, since the query will
49
- have to look for matching records in the whole store, if no record type
50
- is given.
51
-
52
- You can give an order, which the resulting records should follow, like this:
53
-
54
- {{{
55
- q = SC.Query.create({
56
- conditions: "firstName = 'Jonny' AND lastName = 'Cash'",
57
- recordType: MyApp.MyModel,
58
- orderBy: "lastName, year DESC"
59
- });
60
- }}}
61
-
62
- The default order direction is ascending. You can change it to descending
63
- by writing DESC behind the property name like in the example above.
64
- If no order is given, or records are equal in respect to a given order,
65
- records will be ordered by guid.
66
-
67
- h2. SproutCore Query Language
68
-
69
- Features of the query language:
70
-
71
- h4. Primitives:
72
-
73
- - record properties
74
- - null, undefined
75
- - true, false
76
- - numbers (integers and floats)
77
- - strings (double or single quoted)
78
-
79
- h4. Parameters:
80
-
81
- - %@ (wild card)
82
- - {parameterName} (named parameter)
83
-
84
- Wild cards are used to identify parameters by the order in which they appear
85
- in the query string. Named parameters can be used when tracking the order
86
- becomes difficult. Both types of parameters can be used by giving the
87
- parameters as a property to your query object:
88
-
89
- {{{
90
- yourQuery.parameters = yourParameters
91
- }}}
92
-
93
- where yourParameters should have one of the following formats:
94
-
95
- for wild cards: [firstParam, secondParam, thirdParam]
96
- for named params: {name1: param1, mane2: parma2}
97
-
98
- You cannot use both types of parameters in a single query!
99
-
100
- h4. Operators:
101
-
102
- - =
103
- - !=
104
- - <
105
- - <=
106
- - >
107
- - >=
108
- - BEGINS_WITH (checks if a string starts with another one)
109
- - ENDS_WITH (checks if a string ends with another one)
110
- - CONTAINS (checks if a string contains another one, or if an object is in an array)
111
- - MATCHES (checks if a string is matched by a regexp,
112
- you will have to use a parameter to insert the regexp)
113
- - ANY (checks if the thing on its left is contained in the array
114
- on its right, you will have to use a parameter
115
- to insert the array)
116
- - TYPE_IS (unary operator expecting a string containing the name
117
- of a Model class on its right side, only records of this type
118
- will match)
119
-
120
- h4. Boolean Operators:
121
-
122
- - AND
123
- - OR
124
- - NOT
125
-
126
- h4. Parenthesis for grouping:
127
-
128
- - ( and )
129
-
130
-
131
- h2. Adding Your Own Query Handlers
132
-
133
- You can extend the query language with your own operators by calling:
134
-
135
- {{{
136
- SC.Query.registerQueryExtension('your_operator', your_operator_definition);
137
- }}}
138
-
139
- See details below. As well you can provide your own comparison functions
140
- to control ordering of specific record properties like this:
141
-
142
- {{{
143
- SC.Query.registerComparison(property_name, comparison_for_this_property);
144
- }}}
145
-
146
- h2. Examples
147
-
148
- Some example queries:
149
-
150
- TODO add examples
151
-
152
- @extends SC.Object
153
- @extends SC.Copyable
154
- @extends SC.Freezable
155
- @since SproutCore 1.0
156
- */
157
-
158
- SC.Query = SC.Object.extend(SC.Copyable, SC.Freezable,
159
- /** @scope SC.Query.prototype */ {
160
-
161
- // ..........................................................
162
- // PROPERTIES
163
- //
164
-
165
- /**
166
- Walk like a duck.
167
-
168
- @property {Boolean}
169
- */
170
- isQuery: YES,
171
-
172
- /**
173
- Unparsed query conditions. If you are handling a query yourself, then
174
- you will find the base query string here.
175
-
176
- @property {String}
177
- */
178
- conditions: null,
179
-
180
- /**
181
- Optional orderBy parameters. This can be a string of keys, optionally
182
- beginning with the strings "DESC " or "ASC " to select descending or
183
- ascending order.
184
-
185
- Alternatively, you can specify a comparison function, in which case the
186
- two records will be sent to it. Your comparison function, as with any
187
- other, is expected to return -1, 0, or 1.
188
-
189
- @property {String | Function}
190
- */
191
- orderBy: null,
192
-
193
- /**
194
- The base record type or types for the query. This must be specified to
195
- filter the kinds of records this query will work on. You may either
196
- set this to a single record type or to an array or set of record types.
197
-
198
- @property {SC.Record}
199
- */
200
- recordType: null,
201
-
202
- /**
203
- Optional array of multiple record types. If the query accepts multiple
204
- record types, this is how you can check for it.
205
-
206
- @property {SC.Enumerable}
207
- */
208
- recordTypes: null,
209
-
210
- /**
211
- Returns the complete set of recordTypes matched by this query. Includes
212
- any named recordTypes plus their subclasses.
213
-
214
- @property {SC.Enumerable}
215
- */
216
- expandedRecordTypes: function() {
217
- var ret = SC.CoreSet.create(), rt, q ;
218
-
219
- if (rt = this.get('recordType')) this._scq_expandRecordType(rt, ret);
220
- else if (rt = this.get('recordTypes')) {
221
- rt.forEach(function(t) { this._scq_expandRecordType(t, ret); }, this);
222
- } else this._scq_expandRecordType(SC.Record, ret);
223
-
224
- // save in queue. if a new recordtype is defined, we will be notified.
225
- q = SC.Query._scq_queriesWithExpandedRecordTypes;
226
- if (!q) {
227
- q = SC.Query._scq_queriesWithExpandedRecordTypes = SC.CoreSet.create();
228
- }
229
- q.add(this);
230
-
231
- return ret.freeze() ;
232
- }.property('recordType', 'recordTypes').cacheable(),
233
-
234
- /** @private
235
- expands a single record type into the set. called recursively
236
- */
237
- _scq_expandRecordType: function(recordType, set) {
238
- if (set.contains(recordType)) return; // nothing to do
239
- set.add(recordType);
240
-
241
- if (SC.typeOf(recordType)===SC.T_STRING) {
242
- recordType = SC.objectForPropertyPath(recordType);
243
- }
244
-
245
- recordType.subclasses.forEach(function(t) {
246
- this._scq_expandRecordType(t, set);
247
- }, this);
248
- },
249
-
250
- /**
251
- Optional hash of parameters. These parameters may be interpolated into
252
- the query conditions. If you are handling the query manually, these
253
- parameters will not be used.
254
-
255
- @property {Hash}
256
- */
257
- parameters: null,
258
-
259
- /**
260
- Indicates the location where the result set for this query is stored.
261
- Currently the available options are:
262
-
263
- - SC.Query.LOCAL: indicates that the query results will be automatically computed from the in-memory store.
264
- - SC.Query.REMOTE: indicates that the query results are kept on a remote server and hence must be loaded from the DataSource.
265
-
266
- The default setting for this property is SC.Query.LOCAL.
267
-
268
- Note that even if a query location is LOCAL, your DataSource will still
269
- have its fetch() method called for the query. For LOCAL queries, you
270
- won't need to explicitly provide the query result set; you can just load
271
- records into the in-memory store as needed and let the query recompute
272
- automatically.
273
-
274
- If your query location is REMOTE, then your DataSource will need to
275
- provide the actual set of query results manually. Usually you will only
276
- need to use a REMOTE query if you are retrieving a large data set and you
277
- don't want to pay the cost of computing the result set client side.
278
-
279
- @property {String}
280
- */
281
- location: 'local', // SC.Query.LOCAL
282
-
283
- /**
284
- Another query that will optionally limit the search of records. This is
285
- usually configured for you when you do find() from another record array.
286
-
287
- @property {SC.Query}
288
- */
289
- scope: null,
290
-
291
-
292
- /**
293
- Returns YES if query location is Remote. This is sometimes more
294
- convenient than checking the location.
295
-
296
- @property {Boolean}
297
- */
298
- isRemote: function() {
299
- return this.get('location') === SC.Query.REMOTE;
300
- }.property('location').cacheable(),
301
-
302
- /**
303
- Returns YES if query location is Local. This is sometimes more
304
- convenient than checking the location.
305
-
306
- @property {Boolean}
307
- */
308
- isLocal: function() {
309
- return this.get('location') === SC.Query.LOCAL;
310
- }.property('location').cacheable(),
311
-
312
- /**
313
- Indicates whether a record is editable or not. Defaults to NO. Local
314
- queries should never be made editable. Remote queries may be editable or
315
- not depending on the data source.
316
- */
317
- isEditable: NO,
318
-
319
- // ..........................................................
320
- // PRIMITIVE METHODS
321
- //
322
-
323
- /**
324
- Returns YES if record is matched by the query, NO otherwise. This is
325
- used when computing a query locally.
326
-
327
- @param {SC.Record} record the record to check
328
- @param {Hash} parameters optional override parameters
329
- @returns {Boolean} YES if record belongs, NO otherwise
330
- */
331
- contains: function(record, parameters) {
332
-
333
- // check the recordType if specified
334
- var rtype, ret = YES ;
335
- if (rtype = this.get('recordTypes')) { // plural form
336
- ret = rtype.find(function(t) { return SC.kindOf(record, t); });
337
- } else if (rtype = this.get('recordType')) { // singular
338
- ret = SC.kindOf(record, rtype);
339
- }
340
-
341
- if (!ret) return NO ; // if either did not pass, does not contain
342
-
343
- // if we have a scope - check for that as well
344
- var scope = this.get('scope');
345
- if (scope && !scope.contains(record)) return NO ;
346
-
347
- // now try parsing
348
- if (!this._isReady) this.parse(); // prepare the query if needed
349
- if (!this._isReady) return NO ;
350
- if (parameters === undefined) parameters = this.parameters || this;
351
-
352
- // if parsing worked we check if record is contained
353
- // if parsing failed no record will be contained
354
- return this._tokenTree.evaluate(record, parameters);
355
- },
356
-
357
- /**
358
- Returns YES if the query matches one or more of the record types in the
359
- passed set.
360
-
361
- @param {SC.Set} types set of record types
362
- @returns {Boolean} YES if record types match
363
- */
364
- containsRecordTypes: function(types) {
365
- var rtype = this.get('recordType');
366
- if (rtype) {
367
- return !!types.find(function(t) { return SC.kindOf(t, rtype); });
368
-
369
- } else if (rtype = this.get('recordTypes')) {
370
- return !!rtype.find(function(t) {
371
- return !!types.find(function(t2) { return SC.kindOf(t2,t); });
372
- });
373
-
374
- } else return YES; // allow anything through
375
- },
376
-
377
- /**
378
- Returns the sort order of the two passed records, taking into account the
379
- orderBy property set on this query. This method does not verify that the
380
- two records actually belong in the query set or not; this is checked using
381
- contains().
382
-
383
- @param {SC.Record} record1 the first record
384
- @param {SC.Record} record2 the second record
385
- @returns {Number} -1 if record1 < record2,
386
- +1 if record1 > record2,
387
- 0 if equal
388
- */
389
- compare: function(record1, record2) {
390
- // IMPORTANT: THIS CODE IS ALSO INLINED INSIDE OF THE 'compareStoreKeys'
391
- // CLASS METHOD. IF YOU CHANGE THIS IMPLEMENTATION, BE SURE
392
- // TO UPDATE IT THERE, TOO.
393
- //
394
- // (Any clients overriding this method will have their version called,
395
- // however. That's why we'll keep this here; clients might want to
396
- // override it and call sc_super()).
397
-
398
- var result = 0,
399
- propertyName, order, len, i;
400
-
401
- // fast cases go here
402
- if (record1 === record2) return 0;
403
-
404
- // if called for the first time we have to build the order array
405
- if (!this._isReady) this.parse();
406
- if (!this._isReady) { // can't parse. guid is wrong but consistent
407
- return SC.compare(record1.get('id'),record2.get('id'));
408
- }
409
-
410
- // For every property specified in orderBy until non-eql result is found.
411
- // Or, if orderBy is a comparison function, simply invoke it with the
412
- // records.
413
- order = this._order;
414
- if (SC.typeOf(order) === SC.T_FUNCTION) {
415
- result = order.call(null, record1, record2);
416
- }
417
- else {
418
- len = order ? order.length : 0;
419
- for (i=0; result===0 && (i < len); i++) {
420
- propertyName = order[i].propertyName;
421
- // if this property has a registered comparison use that
422
- if (SC.Query.comparisons[propertyName]) {
423
- result = SC.Query.comparisons[propertyName](
424
- record1.get(propertyName),record2.get(propertyName));
425
-
426
- // if not use default SC.compare()
427
- } else {
428
- result = SC.compare(
429
- record1.get(propertyName), record2.get(propertyName) );
430
- }
431
-
432
- if ((result!==0) && order[i].descending) result = (-1) * result;
433
- }
434
- }
435
-
436
- // return result or compare by guid
437
- if (result !== 0) return result ;
438
- else return SC.compare(record1.get('id'),record2.get('id'));
439
- },
440
-
441
- /** @private
442
- Becomes YES once the query has been successfully parsed
443
- */
444
- _isReady: NO,
445
-
446
- /**
447
- This method has to be called before the query object can be used.
448
- You will normaly not have to do this, it will be called automatically
449
- if you try to evaluate a query.
450
- You can however use this function for testing your queries.
451
-
452
- @returns {Boolean} true if parsing succeeded, false otherwise
453
- */
454
- parse: function() {
455
- var conditions = this.get('conditions'),
456
- lang = this.get('queryLanguage'),
457
- tokens, tree;
458
-
459
- tokens = this._tokenList = this.tokenizeString(conditions, lang);
460
- tree = this._tokenTree = this.buildTokenTree(tokens, lang);
461
- this._order = this.buildOrder(this.get('orderBy'));
462
-
463
- this._isReady = !!tree && !tree.error;
464
- if (tree && tree.error) throw tree.error;
465
- return this._isReady;
466
- },
467
-
468
- /**
469
- Returns the same query but with the scope set to the passed record array.
470
- This will copy the receiver. It also stores these queries in a cache to
471
- reuse them if possible.
472
-
473
- @param {SC.RecordArray} recordArray the scope
474
- @returns {SC.Query} new query
475
- */
476
- queryWithScope: function(recordArray) {
477
- // look for a cached query on record array.
478
- var key = SC.keyFor('__query__', SC.guidFor(this)),
479
- ret = recordArray[key];
480
-
481
- if (!ret) {
482
- recordArray[key] = ret = this.copy();
483
- ret.set('scope', recordArray);
484
- ret.freeze();
485
- }
486
-
487
- return ret ;
488
- },
489
-
490
- // ..........................................................
491
- // PRIVATE SUPPORT
492
- //
493
-
494
- /** @private
495
- Properties that need to be copied when cloning the query.
496
- */
497
- copyKeys: 'conditions orderBy recordType recordTypes parameters location scope'.w(),
498
-
499
- /** @private */
500
- concatenatedProperties: 'copyKeys'.w(),
501
-
502
- /** @private
503
- Implement the Copyable API to clone a query object once it has been
504
- created.
505
- */
506
- copy: function() {
507
- var opts = {},
508
- keys = this.get('copyKeys'),
509
- loc = keys ? keys.length : 0,
510
- key, value, ret;
511
-
512
- while(--loc >= 0) {
513
- key = keys[loc];
514
- value = this.get(key);
515
- if (value !== undefined) opts[key] = value ;
516
- }
517
-
518
- ret = this.constructor.create(opts);
519
- opts = null;
520
- return ret ;
521
- },
522
-
523
- // ..........................................................
524
- // QUERY LANGUAGE DEFINITION
525
- //
526
-
527
-
528
- /**
529
- This is the definition of the query language. You can extend it
530
- by using SC.Query.registerQueryExtension().
531
- */
532
- queryLanguage: {
533
-
534
- 'UNKNOWN': {
535
- firstCharacter: /[^\s'"\w\d\(\)\{\}]/,
536
- notAllowed: /[\s'"\w\d\(\)\{\}]/
537
- },
538
-
539
- 'PROPERTY': {
540
- firstCharacter: /[a-zA-Z_]/,
541
- notAllowed: /[^a-zA-Z_0-9]/,
542
- evalType: 'PRIMITIVE',
543
-
544
- /** @ignore */
545
- evaluate: function (r,w) { return r.get(this.tokenValue); }
546
- },
547
-
548
- 'NUMBER': {
549
- firstCharacter: /[\d\-]/,
550
- notAllowed: /[^\d\-\.]/,
551
- format: /^-?\d+$|^-?\d+\.\d+$/,
552
- evalType: 'PRIMITIVE',
553
-
554
- /** @ignore */
555
- evaluate: function (r,w) { return parseFloat(this.tokenValue); }
556
- },
557
-
558
- 'STRING': {
559
- firstCharacter: /['"]/,
560
- delimeted: true,
561
- evalType: 'PRIMITIVE',
562
-
563
- /** @ignore */
564
- evaluate: function (r,w) { return this.tokenValue; }
565
- },
566
-
567
- 'PARAMETER': {
568
- firstCharacter: /\{/,
569
- lastCharacter: '}',
570
- delimeted: true,
571
- evalType: 'PRIMITIVE',
572
-
573
- /** @ignore */
574
- evaluate: function (r,w) { return w[this.tokenValue]; }
575
- },
576
-
577
- '%@': {
578
- rememberCount: true,
579
- reservedWord: true,
580
- evalType: 'PRIMITIVE',
581
-
582
- /** @ignore */
583
- evaluate: function (r,w) { return w[this.tokenValue]; }
584
- },
585
-
586
- 'OPEN_PAREN': {
587
- firstCharacter: /\(/,
588
- singleCharacter: true
589
- },
590
-
591
- 'CLOSE_PAREN': {
592
- firstCharacter: /\)/,
593
- singleCharacter: true
594
- },
595
-
596
- 'AND': {
597
- reservedWord: true,
598
- leftType: 'BOOLEAN',
599
- rightType: 'BOOLEAN',
600
- evalType: 'BOOLEAN',
601
-
602
- /** @ignore */
603
- evaluate: function (r,w) {
604
- var left = this.leftSide.evaluate(r,w);
605
- var right = this.rightSide.evaluate(r,w);
606
- return left && right;
607
- }
608
- },
609
-
610
- 'OR': {
611
- reservedWord: true,
612
- leftType: 'BOOLEAN',
613
- rightType: 'BOOLEAN',
614
- evalType: 'BOOLEAN',
615
-
616
- /** @ignore */
617
- evaluate: function (r,w) {
618
- var left = this.leftSide.evaluate(r,w);
619
- var right = this.rightSide.evaluate(r,w);
620
- return left || right;
621
- }
622
- },
623
-
624
- 'NOT': {
625
- reservedWord: true,
626
- rightType: 'BOOLEAN',
627
- evalType: 'BOOLEAN',
628
-
629
- /** @ignore */
630
- evaluate: function (r,w) {
631
- var right = this.rightSide.evaluate(r,w);
632
- return !right;
633
- }
634
- },
635
-
636
- '=': {
637
- reservedWord: true,
638
- leftType: 'PRIMITIVE',
639
- rightType: 'PRIMITIVE',
640
- evalType: 'BOOLEAN',
641
-
642
- /** @ignore */
643
- evaluate: function (r,w) {
644
- var left = this.leftSide.evaluate(r,w);
645
- var right = this.rightSide.evaluate(r,w);
646
- return SC.isEqual(left, right);
647
- }
648
- },
649
-
650
- '!=': {
651
- reservedWord: true,
652
- leftType: 'PRIMITIVE',
653
- rightType: 'PRIMITIVE',
654
- evalType: 'BOOLEAN',
655
-
656
- /** @ignore */
657
- evaluate: function (r,w) {
658
- var left = this.leftSide.evaluate(r,w);
659
- var right = this.rightSide.evaluate(r,w);
660
- return !SC.isEqual(left, right);
661
- }
662
- },
663
-
664
- '<': {
665
- reservedWord: true,
666
- leftType: 'PRIMITIVE',
667
- rightType: 'PRIMITIVE',
668
- evalType: 'BOOLEAN',
669
-
670
- /** @ignore */
671
- evaluate: function (r,w) {
672
- var left = this.leftSide.evaluate(r,w);
673
- var right = this.rightSide.evaluate(r,w);
674
- return SC.compare(left, right) == -1; //left < right;
675
- }
676
- },
677
-
678
- '<=': {
679
- reservedWord: true,
680
- leftType: 'PRIMITIVE',
681
- rightType: 'PRIMITIVE',
682
- evalType: 'BOOLEAN',
683
-
684
- /** @ignore */
685
- evaluate: function (r,w) {
686
- var left = this.leftSide.evaluate(r,w);
687
- var right = this.rightSide.evaluate(r,w);
688
- return SC.compare(left, right) != 1; //left <= right;
689
- }
690
- },
691
-
692
- '>': {
693
- reservedWord: true,
694
- leftType: 'PRIMITIVE',
695
- rightType: 'PRIMITIVE',
696
- evalType: 'BOOLEAN',
697
-
698
- /** @ignore */
699
- evaluate: function (r,w) {
700
- var left = this.leftSide.evaluate(r,w);
701
- var right = this.rightSide.evaluate(r,w);
702
- return SC.compare(left, right) == 1; //left > right;
703
- }
704
- },
705
-
706
- '>=': {
707
- reservedWord: true,
708
- leftType: 'PRIMITIVE',
709
- rightType: 'PRIMITIVE',
710
- evalType: 'BOOLEAN',
711
-
712
- /** @ignore */
713
- evaluate: function (r,w) {
714
- var left = this.leftSide.evaluate(r,w);
715
- var right = this.rightSide.evaluate(r,w);
716
- return SC.compare(left, right) != -1; //left >= right;
717
- }
718
- },
719
-
720
- 'BEGINS_WITH': {
721
- reservedWord: true,
722
- leftType: 'PRIMITIVE',
723
- rightType: 'PRIMITIVE',
724
- evalType: 'BOOLEAN',
725
-
726
- /** @ignore */
727
- evaluate: function (r,w) {
728
- var all = this.leftSide.evaluate(r,w);
729
- var start = this.rightSide.evaluate(r,w);
730
- return ( all && all.indexOf(start) === 0 );
731
- }
732
- },
733
-
734
- 'ENDS_WITH': {
735
- reservedWord: true,
736
- leftType: 'PRIMITIVE',
737
- rightType: 'PRIMITIVE',
738
- evalType: 'BOOLEAN',
739
-
740
- /** @ignore */
741
- evaluate: function (r,w) {
742
- var all = this.leftSide.evaluate(r,w);
743
- var end = this.rightSide.evaluate(r,w);
744
- return ( all && all.indexOf(end) === (all.length - end.length) );
745
- }
746
- },
747
-
748
- 'CONTAINS': {
749
- reservedWord: true,
750
- leftType: 'PRIMITIVE',
751
- rightType: 'PRIMITIVE',
752
- evalType: 'BOOLEAN',
753
-
754
- /** @ignore */
755
- evaluate: function (r,w) {
756
- var all = this.leftSide.evaluate(r,w) || [];
757
- var value = this.rightSide.evaluate(r,w);
758
-
759
- var allType = SC.typeOf(all);
760
- if (allType === SC.T_STRING) {
761
- return (all.indexOf(value) !== -1);
762
- } else if (allType === SC.T_ARRAY || all.toArray) {
763
- if (allType !== SC.T_ARRAY) all = all.toArray();
764
- var found = false;
765
- var i = 0;
766
- while ( found===false && i<all.length ) {
767
- if ( value == all[i] ) found = true;
768
- i++;
769
- }
770
- return found;
771
- }
772
- }
773
- },
774
-
775
- 'ANY': {
776
- reservedWord: true,
777
- leftType: 'PRIMITIVE',
778
- rightType: 'PRIMITIVE',
779
- evalType: 'BOOLEAN',
780
-
781
- /** @ignore */
782
- evaluate: function (r,w) {
783
- var prop = this.leftSide.evaluate(r,w);
784
- var values = this.rightSide.evaluate(r,w);
785
- var found = false;
786
- var i = 0;
787
- while ( found===false && i<values.length ) {
788
- if ( prop == values[i] ) found = true;
789
- i++;
790
- }
791
- return found;
792
- }
793
- },
794
-
795
- 'MATCHES': {
796
- reservedWord: true,
797
- leftType: 'PRIMITIVE',
798
- rightType: 'PRIMITIVE',
799
- evalType: 'BOOLEAN',
800
-
801
- /** @ignore */
802
- evaluate: function (r,w) {
803
- var toMatch = this.leftSide.evaluate(r,w);
804
- var matchWith = this.rightSide.evaluate(r,w);
805
- return matchWith.test(toMatch);
806
- }
807
- },
808
-
809
- 'TYPE_IS': {
810
- reservedWord: true,
811
- rightType: 'PRIMITIVE',
812
- evalType: 'BOOLEAN',
813
-
814
- /** @ignore */
815
- evaluate: function (r,w) {
816
- var actualType = SC.Store.recordTypeFor(r.storeKey);
817
- var right = this.rightSide.evaluate(r,w);
818
- var expectType = SC.objectForPropertyPath(right);
819
- return actualType == expectType;
820
- }
821
- },
822
-
823
- 'null': {
824
- reservedWord: true,
825
- evalType: 'PRIMITIVE',
826
-
827
- /** @ignore */
828
- evaluate: function (r,w) { return null; }
829
- },
830
-
831
- 'undefined': {
832
- reservedWord: true,
833
- evalType: 'PRIMITIVE',
834
-
835
- /** @ignore */
836
- evaluate: function (r,w) { return undefined; }
837
- },
838
-
839
- 'false': {
840
- reservedWord: true,
841
- evalType: 'PRIMITIVE',
842
-
843
- /** @ignore */
844
- evaluate: function (r,w) { return false; }
845
- },
846
-
847
- 'true': {
848
- reservedWord: true,
849
- evalType: 'PRIMITIVE',
850
-
851
- /** @ignore */
852
- evaluate: function (r,w) { return true; }
853
- },
854
-
855
- 'YES': {
856
- reservedWord: true,
857
- evalType: 'PRIMITIVE',
858
-
859
- /** @ignore */
860
- evaluate: function (r,w) { return true; }
861
- },
862
-
863
- 'NO': {
864
- reservedWord: true,
865
- evalType: 'PRIMITIVE',
866
-
867
- /** @ignore */
868
- evaluate: function (r,w) { return false; }
869
- }
870
-
871
- },
872
-
873
-
874
- // ..........................................................
875
- // TOKENIZER
876
- //
877
-
878
-
879
- /**
880
- Takes a string and tokenizes it based on the grammar definition
881
- provided. Called by parse().
882
-
883
- @param {String} inputString the string to tokenize
884
- @param {Object} grammar the grammar definition (normally queryLanguage)
885
- @returns {Array} list of tokens
886
- */
887
- tokenizeString: function (inputString, grammar) {
888
-
889
-
890
- var tokenList = [],
891
- c = null,
892
- t = null,
893
- token = null,
894
- tokenType = null,
895
- currentToken = null,
896
- currentTokenType = null,
897
- currentTokenValue = null,
898
- currentDelimeter = null,
899
- endOfString = false,
900
- endOfToken = false,
901
- belongsToToken = false,
902
- skipThisCharacter = false,
903
- rememberCount = {};
904
-
905
-
906
- // helper function that adds tokens to the tokenList
907
-
908
- function addToken (tokenType, tokenValue) {
909
- t = grammar[tokenType];
910
- //tokenType = t.tokenType;
911
-
912
- // handling of special cases
913
- // check format
914
- if (t.format && !t.format.test(tokenValue)) tokenType = "UNKNOWN";
915
- // delimeted token (e.g. by ")
916
- if (t.delimeted) skipThisCharacter = true;
917
-
918
- // reserved words
919
- if ( !t.delimeted ) {
920
- for ( var anotherToken in grammar ) {
921
- if ( grammar[anotherToken].reservedWord
922
- && anotherToken == tokenValue ) {
923
- tokenType = anotherToken;
924
- }
925
- }
926
- }
927
-
928
- // reset t
929
- t = grammar[tokenType];
930
- // remembering count type
931
- if ( t && t.rememberCount ) {
932
- if (!rememberCount[tokenType]) rememberCount[tokenType] = 0;
933
- tokenValue = rememberCount[tokenType];
934
- rememberCount[tokenType] += 1;
935
- }
936
-
937
- // push token to list
938
- tokenList.push( {tokenType: tokenType, tokenValue: tokenValue} );
939
-
940
- // and clean up currentToken
941
- currentToken = null;
942
- currentTokenType = null;
943
- currentTokenValue = null;
944
- }
945
-
946
-
947
- // stepping through the string:
948
-
949
- if (!inputString) return [];
950
-
951
- var iStLength = inputString.length;
952
-
953
- for (var i=0; i < iStLength; i++) {
954
-
955
- // end reached?
956
- endOfString = (i===iStLength-1);
957
-
958
- // current character
959
- c = inputString.charAt(i);
960
-
961
- // set true after end of delimeted token so that
962
- // final delimeter is not catched again
963
- skipThisCharacter = false;
964
-
965
-
966
- // if currently inside a token
967
-
968
- if ( currentToken ) {
969
-
970
- // some helpers
971
- t = grammar[currentToken];
972
- endOfToken = t.delimeted ? c===currentDelimeter : t.notAllowed.test(c);
973
-
974
- // if still in token
975
- if ( !endOfToken ) currentTokenValue += c;
976
-
977
- // if end of token reached
978
- if (endOfToken || endOfString) {
979
- addToken(currentToken, currentTokenValue);
980
- }
981
-
982
- // if end of string don't check again
983
- if ( endOfString && !endOfToken ) skipThisCharacter = true;
984
- }
985
-
986
- // if not inside a token, look for next one
987
-
988
- if ( !currentToken && !skipThisCharacter ) {
989
- // look for matching tokenType
990
- for ( token in grammar ) {
991
- t = grammar[token];
992
- if (t.firstCharacter && t.firstCharacter.test(c)) {
993
- currentToken = token;
994
- }
995
- }
996
-
997
- // if tokenType found
998
- if ( currentToken ) {
999
- t = grammar[currentToken];
1000
- currentTokenValue = c;
1001
- // handling of special cases
1002
- if ( t.delimeted ) {
1003
- currentTokenValue = "";
1004
- if ( t.lastCharacter ) currentDelimeter = t.lastCharacter;
1005
- else currentDelimeter = c;
1006
- }
1007
-
1008
- if ( t.singleCharacter || endOfString ) {
1009
- addToken(currentToken, currentTokenValue);
1010
- }
1011
- }
1012
- }
1013
- }
1014
-
1015
- return tokenList;
1016
- },
1017
-
1018
-
1019
-
1020
- // ..........................................................
1021
- // BUILD TOKEN TREE
1022
- //
1023
-
1024
- /**
1025
- Takes an array of tokens and returns a tree, depending on the
1026
- specified tree logic. The returned object will have an error property
1027
- if building of the tree failed. Check it to get some information
1028
- about what happend.
1029
- If everything worked the tree can be evaluated by calling:
1030
-
1031
- tree.evaluate(record, parameters)
1032
-
1033
- If tokenList is empty, a single token will be returned which will
1034
- evaluate to true for all records.
1035
-
1036
- @param {Array} tokenList the list of tokens
1037
- @param {Object} treeLogic the logic definition (normally queryLanguage)
1038
- @returns {Object} token tree
1039
- */
1040
- buildTokenTree: function (tokenList, treeLogic) {
1041
-
1042
- var l = tokenList.slice();
1043
- var i = 0;
1044
- var openParenthesisStack = [];
1045
- var shouldCheckAgain = false;
1046
- var error = [];
1047
-
1048
-
1049
- // empty tokenList is a special case
1050
- if (!tokenList || tokenList.length === 0) {
1051
- return { evaluate: function(){ return true; } };
1052
- }
1053
-
1054
-
1055
- // some helper functions
1056
-
1057
- function tokenLogic (position) {
1058
- var p = position;
1059
- if ( p < 0 ) return false;
1060
-
1061
- var tl = treeLogic[l[p].tokenType];
1062
-
1063
- if ( ! tl ) {
1064
- error.push("logic for token '"+l[p].tokenType+"' is not defined");
1065
- return false;
1066
- }
1067
-
1068
- // save evaluate in token, so that we don't have
1069
- // to look it up again when evaluating the tree
1070
- l[p].evaluate = tl.evaluate;
1071
- return tl;
1072
- }
1073
-
1074
- function expectedType (side, position) {
1075
- var p = position;
1076
- var tl = tokenLogic(p);
1077
- if ( !tl ) return false;
1078
- if (side == 'left') return tl.leftType;
1079
- if (side == 'right') return tl.rightType;
1080
- }
1081
-
1082
- function evalType (position) {
1083
- var p = position;
1084
- var tl = tokenLogic(p);
1085
- if ( !tl ) return false;
1086
- else return tl.evalType;
1087
- }
1088
-
1089
- function removeToken (position) {
1090
- l.splice(position, 1);
1091
- if ( position <= i ) i--;
1092
- }
1093
-
1094
- function preceedingTokenExists (position) {
1095
- var p = position || i;
1096
- if ( p > 0 ) return true;
1097
- else return false;
1098
- }
1099
-
1100
- function tokenIsMissingChilds (position) {
1101
- var p = position;
1102
- if ( p < 0 ) return true;
1103
- return (expectedType('left',p) && !l[p].leftSide)
1104
- || (expectedType('right',p) && !l[p].rightSide);
1105
- }
1106
-
1107
- function typesAreMatching (parent, child) {
1108
- var side = (child < parent) ? 'left' : 'right';
1109
- if ( parent < 0 || child < 0 ) return false;
1110
- if ( !expectedType(side,parent) ) return false;
1111
- if ( !evalType(child) ) return false;
1112
- if ( expectedType(side,parent) == evalType(child) ) return true;
1113
- else return false;
1114
- }
1115
-
1116
- function preceedingTokenCanBeMadeChild (position) {
1117
- var p = position;
1118
- if ( !tokenIsMissingChilds(p) ) return false;
1119
- if ( !preceedingTokenExists(p) ) return false;
1120
- if ( typesAreMatching(p,p-1) ) return true;
1121
- else return false;
1122
- }
1123
-
1124
- function preceedingTokenCanBeMadeParent (position) {
1125
- var p = position;
1126
- if ( tokenIsMissingChilds(p) ) return false;
1127
- if ( !preceedingTokenExists(p) ) return false;
1128
- if ( !tokenIsMissingChilds(p-1) ) return false;
1129
- if ( typesAreMatching(p-1,p) ) return true;
1130
- else return false;
1131
- }
1132
-
1133
- function makeChild (position) {
1134
- var p = position;
1135
- if (p<1) return false;
1136
- l[p].leftSide = l[p-1];
1137
- removeToken(p-1);
1138
- }
1139
-
1140
- function makeParent (position) {
1141
- var p = position;
1142
- if (p<1) return false;
1143
- l[p-1].rightSide = l[p];
1144
- removeToken(p);
1145
- }
1146
-
1147
- function removeParenthesesPair (position) {
1148
- removeToken(position);
1149
- removeToken(openParenthesisStack.pop());
1150
- }
1151
-
1152
- // step through the tokenList
1153
-
1154
- for (i=0; i < l.length; i++) {
1155
- shouldCheckAgain = false;
1156
-
1157
- if ( l[i].tokenType == 'UNKNOWN' ) {
1158
- error.push('found unknown token: '+l[i].tokenValue);
1159
- }
1160
-
1161
- if ( l[i].tokenType == 'OPEN_PAREN' ) openParenthesisStack.push(i);
1162
- if ( l[i].tokenType == 'CLOSE_PAREN' ) removeParenthesesPair(i);
1163
-
1164
- if ( preceedingTokenCanBeMadeChild(i) ) makeChild(i);
1165
-
1166
- if ( preceedingTokenCanBeMadeParent(i) ){
1167
- makeParent(i);
1168
- shouldCheckAgain = true;
1169
- }
1170
-
1171
- if ( shouldCheckAgain ) i--;
1172
-
1173
- }
1174
-
1175
- // error if tokenList l is not a single token now
1176
- if (l.length == 1) l = l[0];
1177
- else error.push('string did not resolve to a single tree');
1178
-
1179
- // error?
1180
- if (error.length > 0) return {error: error.join(',\n'), tree: l};
1181
- // everything fine - token list is now a tree and can be returned
1182
- else return l;
1183
-
1184
- },
1185
-
1186
-
1187
- // ..........................................................
1188
- // ORDERING
1189
- //
1190
-
1191
- /**
1192
- Takes a string containing an order statement and returns an array
1193
- describing this order for easier processing.
1194
- Called by parse().
1195
-
1196
- @param {String | Function} orderOp the string containing the order statement, or a comparison function
1197
- @returns {Array | Function} array of order statement, or a function if a function was specified
1198
- */
1199
- buildOrder: function (orderOp) {
1200
- if (!orderOp) {
1201
- return [];
1202
- }
1203
- else if (SC.typeOf(orderOp) === SC.T_FUNCTION) {
1204
- return orderOp;
1205
- }
1206
- else {
1207
- var o = orderOp.split(',');
1208
- for (var i=0; i < o.length; i++) {
1209
- var p = o[i];
1210
- p = p.replace(/^\s+|\s+$/,'');
1211
- p = p.replace(/\s+/,',');
1212
- p = p.split(',');
1213
- o[i] = {propertyName: p[0]};
1214
- if (p[1] && p[1] == 'DESC') o[i].descending = true;
1215
- }
1216
-
1217
- return o;
1218
- }
1219
-
1220
- }
1221
-
1222
- });
1223
-
1224
-
1225
- // Class Methods
1226
- SC.Query.mixin( /** @scope SC.Query */ {
1227
-
1228
- /**
1229
- Constant used for SC.Query#location
1230
-
1231
- @property {String}
1232
- */
1233
- LOCAL: 'local',
1234
-
1235
- /**
1236
- Constant used for SC.Query#location
1237
-
1238
- @property {String}
1239
- */
1240
- REMOTE: 'remote',
1241
-
1242
- /**
1243
- Given a query, returns the associated storeKey. For the inverse of this
1244
- method see SC.Store.queryFor().
1245
-
1246
- @param {SC.Query} query the query
1247
- @returns {Number} a storeKey.
1248
- */
1249
- storeKeyFor: function(query) {
1250
- return query ? query.get('storeKey') : null;
1251
- },
1252
-
1253
- /**
1254
- Will find which records match a give SC.Query and return an array of
1255
- store keys. This will also apply the sorting for the query.
1256
-
1257
- @param {SC.Query} query to apply
1258
- @param {SC.RecordArray} records to search within
1259
- @param {SC.Store} store to materialize record from
1260
- @returns {Array} array instance of store keys matching the SC.Query (sorted)
1261
- */
1262
- containsRecords: function(query, records, store) {
1263
- var ret = [];
1264
- for(var idx=0,len=records.get('length');idx<len;idx++) {
1265
- var record = records.objectAt(idx);
1266
- if(record && query.contains(record)) {
1267
- ret.push(record.get('storeKey'));
1268
- }
1269
- }
1270
-
1271
- ret = SC.Query.orderStoreKeys(ret, query, store);
1272
-
1273
- return ret;
1274
- },
1275
-
1276
- /**
1277
- Sorts a set of store keys according to the orderBy property
1278
- of the SC.Query.
1279
-
1280
- @param {Array} storeKeys to sort
1281
- @param {SC.Query} query to use for sorting
1282
- @param {SC.Store} store to materialize records from
1283
- @returns {Array} sorted store keys. may be same instance as passed value
1284
- */
1285
- orderStoreKeys: function(storeKeys, query, store) {
1286
- // apply the sort if there is one
1287
- if (storeKeys) {
1288
-
1289
- // Set tmp variable because we can't pass variables to sort function.
1290
- // Do this instead of generating a temporary closure function for perf.
1291
- // We'll use a stack-based approach in case our sort routine ends up
1292
- // calling code that triggers a recursive invocation of orderStoreKeys.
1293
- var K = SC.Query,
1294
- tempStores = K._TMP_STORES,
1295
- tempQueries = K._TMP_QUERIES;
1296
- if (!tempStores) tempStores = K._TMP_STORES = [];
1297
- if (!tempQueries) tempQueries = K._TMP_QUERIES = [];
1298
-
1299
- tempStores.push(store);
1300
- tempQueries.push(query);
1301
-
1302
- var res = storeKeys.sort(SC.Query.compareStoreKeys);
1303
-
1304
- K._TMP_STORES.pop();
1305
- K._TMP_QUERIES.pop();
1306
- }
1307
-
1308
- return storeKeys;
1309
- },
1310
-
1311
- /**
1312
- Default sort method that is used when calling containsStoreKeys()
1313
- or containsRecords() on this query. Simply materializes two records based
1314
- on storekeys before passing on to compare() .
1315
-
1316
- @param {Number} storeKey1 a store key
1317
- @param {Number} storeKey2 a store key
1318
- @returns {Number} -1 if record1 < record2, +1 if record1 > record2, 0 if equal
1319
- */
1320
- compareStoreKeys: function(storeKey1, storeKey2) {
1321
- var K = SC.Query,
1322
- tempStores = K._TMP_STORES,
1323
- tempQueries = K._TMP_QUERIES,
1324
- store = tempStores[tempStores.length - 1],
1325
- query = tempQueries[tempQueries.length - 1],
1326
- compareFunc = query.compare,
1327
- record1 = store.materializeRecord(storeKey1),
1328
- record2 = store.materializeRecord(storeKey2);
1329
-
1330
- // If the query implements a custom 'compare' function, then use it.
1331
- // Otherwise, we have the logic from the standard version inlined here.
1332
- if (compareFunc !== K.prototype.compare) {
1333
- return compareFunc.call(query, record1, record2);
1334
- }
1335
- else {
1336
- // THIS CODE IS THE SAME AS THE 'compare' METHOD, EXCEPT THAT 'this' HAS
1337
- // BEEN CHANGED TO 'query'.
1338
- //
1339
- // It is inlined here to avoid the extra method invocation in the
1340
- // typical case where the client does not supply a custom 'compare'
1341
- // function.
1342
-
1343
- var result = 0,
1344
- propertyName, order, len, i;
1345
-
1346
- // fast cases go here
1347
- if (record1 === record2) return 0;
1348
-
1349
- // if called for the first time we have to build the order array
1350
- if (!query._isReady) query.parse();
1351
- if (!query._isReady) { // can't parse. guid is wrong but consistent
1352
- return SC.compare(record1.get('id'),record2.get('id'));
1353
- }
1354
-
1355
- // For every property specified in orderBy until non-eql result is found.
1356
- // Or, if orderBy is a comparison function, simply invoke it with the
1357
- // records.
1358
- order = query._order;
1359
- if (SC.typeOf(order) === SC.T_FUNCTION) {
1360
- result = order.call(null, record1, record2);
1361
- }
1362
- else {
1363
- len = order ? order.length : 0;
1364
- for (i=0; result===0 && (i < len); i++) {
1365
- propertyName = order[i].propertyName;
1366
- // if query property has a registered comparison use that
1367
- if (SC.Query.comparisons[propertyName]) {
1368
- result = SC.Query.comparisons[propertyName](
1369
- record1.get(propertyName),record2.get(propertyName));
1370
-
1371
- // if not use default SC.compare()
1372
- } else {
1373
- result = SC.compare(
1374
- record1.get(propertyName), record2.get(propertyName) );
1375
- }
1376
-
1377
- if ((result!==0) && order[i].descending) result = (-1) * result;
1378
- }
1379
- }
1380
-
1381
- // return result or compare by guid
1382
- if (result !== 0) return result ;
1383
- else return SC.compare(record1.get('id'),record2.get('id'));
1384
- }
1385
- },
1386
-
1387
- /**
1388
- Returns a SC.Query instance reflecting the passed properties. Where
1389
- possible this method will return cached query instances so that multiple
1390
- calls to this method will return the same instance. This is not possible
1391
- however, when you pass custom parameters or set ordering. All returned
1392
- queries are frozen.
1393
-
1394
- Usually you will not call this method directly. Instead use the more
1395
- convenient SC.Query.local() and SC.Query.remote().
1396
-
1397
- h2. Examples
1398
-
1399
- There are a number of different ways you can call this method.
1400
-
1401
- The following return local queries selecting all records of a particular
1402
- type or types, including any subclasses:
1403
-
1404
- {{{
1405
- var people = SC.Query.local(Ab.Person);
1406
- var peopleAndCompanies = SC.Query.local([Ab.Person, Ab.Company]);
1407
-
1408
- var people = SC.Query.local('Ab.Person');
1409
- var peopleAndCompanies = SC.Query.local('Ab.Person Ab.Company'.w());
1410
-
1411
- var allRecords = SC.Query.local(SC.Record);
1412
- }}}
1413
-
1414
- The following will match a particular type of condition:
1415
-
1416
- {{{
1417
- var married = SC.Query.local(Ab.Person, "isMarried=YES");
1418
- var married = SC.Query.local(Ab.Person, "isMarried=%@", [YES]);
1419
- var married = SC.Query.local(Ab.Person, "isMarried={married}", {
1420
- married: YES
1421
- });
1422
- }}}
1423
-
1424
- You can also pass a hash of options as the second parameter. This is
1425
- how you specify an order, for example:
1426
-
1427
- {{{
1428
- var orderedPeople = SC.Query.local(Ab.Person, { orderBy: "firstName" });
1429
- }}}
1430
-
1431
- @param {String} location the query location.
1432
- @param {SC.Record|Array} recordType the record type or types.
1433
- @param {String} conditions optional conditions
1434
- @param {Hash} params optional params. or pass multiple args.
1435
- @returns {SC.Query}
1436
- */
1437
- build: function(location, recordType, conditions, params) {
1438
-
1439
- var opts = null,
1440
- ret, cache, key, tmp;
1441
-
1442
- // fast case for query objects.
1443
- if (recordType && recordType.isQuery) {
1444
- if (recordType.get('location') === location) return recordType;
1445
- else return recordType.copy().set('location', location).freeze();
1446
- }
1447
-
1448
- // normalize recordType
1449
- if (typeof recordType === SC.T_STRING) {
1450
- ret = SC.objectForPropertyPath(recordType);
1451
- if (!ret) throw "%@ did not resolve to a class".fmt(recordType);
1452
- recordType = ret ;
1453
- } else if (recordType && recordType.isEnumerable) {
1454
- ret = [];
1455
- recordType.forEach(function(t) {
1456
- if (typeof t === SC.T_STRING) t = SC.objectForPropertyPath(t);
1457
- if (!t) throw "cannot resolve record types: %@".fmt(recordType);
1458
- ret.push(t);
1459
- }, this);
1460
- recordType = ret ;
1461
- } else if (!recordType) recordType = SC.Record; // find all records
1462
-
1463
- if (params === undefined) params = null;
1464
- if (conditions === undefined) conditions = null;
1465
-
1466
- // normalize other params. if conditions is just a hash, treat as opts
1467
- if (!params && (typeof conditions !== SC.T_STRING)) {
1468
- opts = conditions;
1469
- conditions = null ;
1470
- }
1471
-
1472
- // special case - easy to cache.
1473
- if (!params && !opts) {
1474
-
1475
- tmp = SC.Query._scq_recordTypeCache;
1476
- if (!tmp) tmp = SC.Query._scq_recordTypeCache = {};
1477
- cache = tmp[location];
1478
- if (!cache) cache = tmp[location] = {};
1479
-
1480
- if (recordType.isEnumerable) {
1481
- key = recordType.map(function(k) { return SC.guidFor(k); });
1482
- key = key.sort().join(':');
1483
- } else key = SC.guidFor(recordType);
1484
-
1485
- if (conditions) key = [key, conditions].join('::');
1486
-
1487
- ret = cache[key];
1488
- if (!ret) {
1489
- if (recordType.isEnumerable) {
1490
- opts = { recordTypes: recordType.copy() };
1491
- } else opts = { recordType: recordType };
1492
-
1493
- opts.location = location ;
1494
- opts.conditions = conditions ;
1495
- ret = cache[key] = SC.Query.create(opts).freeze();
1496
- }
1497
- // otherwise parse extra conditions and handle them
1498
- } else {
1499
-
1500
- if (!opts) opts = {};
1501
- if (!opts.location) opts.location = location ; // allow override
1502
-
1503
- // pass one or more recordTypes.
1504
- if (recordType && recordType.isEnumerable) {
1505
- opts.recordsTypes = recordType;
1506
- } else opts.recordType = recordType;
1507
-
1508
- // set conditions and params if needed
1509
- if (conditions) opts.conditions = conditions;
1510
- if (params) opts.parameters = params;
1511
-
1512
- ret = SC.Query.create(opts).freeze();
1513
- }
1514
-
1515
- return ret ;
1516
- },
1517
-
1518
- /**
1519
- Returns a LOCAL query with the passed options. For a full description of
1520
- the parameters you can pass to this method, see SC.Query.build().
1521
-
1522
- @param {SC.Record|Array} recordType the record type or types.
1523
- @param {String} conditions optional conditions
1524
- @param {Hash} params optional params. or pass multiple args.
1525
- @returns {SC.Query}
1526
- */
1527
- local: function(recordType, conditions, params) {
1528
- return this.build(SC.Query.LOCAL, recordType, conditions, params);
1529
- },
1530
-
1531
- /**
1532
- Returns a REMOTE query with the passed options. For a full description of
1533
- the parameters you can pass to this method, see SC.Query.build().
1534
-
1535
- @param {SC.Record|Array} recordType the record type or types.
1536
- @param {String} conditions optional conditions
1537
- @param {Hash} params optional params. or pass multiple args.
1538
- @returns {SC.Query}
1539
- */
1540
- remote: function(recordType, conditions, params) {
1541
- return this.build(SC.Query.REMOTE, recordType, conditions, params);
1542
- },
1543
-
1544
- /** @private
1545
- called by SC.Record.extend(). invalided expandedRecordTypes
1546
- */
1547
- _scq_didDefineRecordType: function() {
1548
- var q = SC.Query._scq_queriesWithExpandedRecordTypes;
1549
- if (q) {
1550
- q.forEach(function(query) {
1551
- query.notifyPropertyChange('expandedRecordTypes');
1552
- }, this);
1553
- q.clear();
1554
- }
1555
- }
1556
-
1557
- });
1558
-
1559
-
1560
- /** @private
1561
- Hash of registered comparisons by propery name.
1562
- */
1563
- SC.Query.comparisons = {};
1564
-
1565
- /**
1566
- Call to register a comparison for a specific property name.
1567
- The function you pass should accept two values of this property
1568
- and return -1 if the first is smaller than the second,
1569
- 0 if they are equal and 1 if the first is greater than the second.
1570
-
1571
- @param {String} name of the record property
1572
- @param {Function} custom comparison function
1573
- @returns {SC.Query} receiver
1574
- */
1575
- SC.Query.registerComparison = function(propertyName, comparison) {
1576
- SC.Query.comparisons[propertyName] = comparison;
1577
- };
1578
-
1579
-
1580
- /**
1581
- Call to register an extension for the query language.
1582
- You shoud provide a name for your extension and a definition
1583
- specifying how it should be parsed and evaluated.
1584
-
1585
- Have a look at queryLanguage for examples of definitions.
1586
-
1587
- TODO add better documentation here
1588
-
1589
- @param {String} tokenName name of the operator
1590
- @param {Object} token extension definition
1591
- @returns {SC.Query} receiver
1592
- */
1593
- SC.Query.registerQueryExtension = function(tokenName, token) {
1594
- SC.Query.prototype.queryLanguage[tokenName] = token;
1595
- };
1596
-
1597
- // shorthand
1598
- SC.Q = SC.Query.from ;
1599
-