sproutcore 1.0.1049.pre.2 → 1.4.0.rc

Sign up to get free protection for your applications and to get access to all the features.
Files changed (552) hide show
  1. data/Rakefile +1 -1
  2. data/VERSION.yml +4 -4
  3. data/lib/Buildfile +1 -1
  4. data/lib/frameworks/sproutcore/Buildfile +13 -27
  5. data/lib/frameworks/sproutcore/apps/greenhouse/controllers/library.js +0 -42
  6. data/lib/frameworks/sproutcore/apps/greenhouse/controllers/view_configs.js +100 -0
  7. data/lib/frameworks/sproutcore/apps/greenhouse/english.lproj/app_page.js +1 -1
  8. data/lib/frameworks/sproutcore/apps/greenhouse/english.lproj/dialogs.js +33 -9
  9. data/lib/frameworks/sproutcore/apps/greenhouse/english.lproj/strings.js +5 -2
  10. data/lib/frameworks/sproutcore/apps/greenhouse/states/main.js +1 -0
  11. data/lib/frameworks/sproutcore/apps/greenhouse/states/modals.js +21 -11
  12. data/lib/frameworks/sproutcore/apps/welcome/controllers/targets.js +0 -7
  13. data/lib/frameworks/sproutcore/apps/welcome/english.lproj/main_page.css +6 -24
  14. data/lib/frameworks/sproutcore/apps/welcome/english.lproj/main_page.js +46 -36
  15. data/lib/frameworks/sproutcore/frameworks/animation/core.js +32 -50
  16. data/lib/frameworks/sproutcore/frameworks/animation/tests/core.js +2 -7
  17. data/lib/frameworks/sproutcore/frameworks/bootstrap/system/browser.js +1 -1
  18. data/lib/frameworks/sproutcore/frameworks/datastore/models/record.js +66 -42
  19. data/lib/frameworks/sproutcore/frameworks/datastore/models/record_attribute.js +4 -12
  20. data/lib/frameworks/sproutcore/frameworks/datastore/models/single_attribute.js +1 -1
  21. data/lib/frameworks/sproutcore/frameworks/{desktop/tests → datastore/tests/models}/datetime_recordattribute.js +0 -0
  22. data/lib/frameworks/sproutcore/frameworks/desktop/english.lproj/list_item.css +3 -27
  23. data/lib/frameworks/sproutcore/frameworks/desktop/english.lproj/touch-scroller.css +196 -0
  24. data/lib/frameworks/sproutcore/frameworks/desktop/mixins/collection_fast_path.js +21 -8
  25. data/lib/frameworks/sproutcore/frameworks/desktop/panes/alert.js +3 -3
  26. data/lib/frameworks/sproutcore/frameworks/desktop/panes/menu.js +15 -19
  27. data/lib/frameworks/sproutcore/frameworks/desktop/panes/panel.js +22 -5
  28. data/lib/frameworks/sproutcore/frameworks/desktop/panes/picker.js +54 -12
  29. data/lib/frameworks/sproutcore/frameworks/desktop/panes/select_button.js +45 -18
  30. data/lib/frameworks/sproutcore/frameworks/desktop/system/drag.js +52 -32
  31. data/lib/frameworks/sproutcore/frameworks/desktop/tests/views/button/methods.js +3 -28
  32. data/lib/frameworks/sproutcore/frameworks/desktop/tests/views/button/ui.js +10 -30
  33. data/lib/frameworks/sproutcore/frameworks/desktop/tests/views/checkbox/methods.js +17 -11
  34. data/lib/frameworks/sproutcore/frameworks/desktop/tests/views/date_field/ui.js +2 -1
  35. data/lib/frameworks/sproutcore/frameworks/desktop/tests/views/list/ui_simple.js +1 -1
  36. data/lib/frameworks/sproutcore/frameworks/desktop/tests/views/list_item.js +20 -128
  37. data/lib/frameworks/sproutcore/frameworks/desktop/tests/views/progress/ui.js +39 -8
  38. data/lib/frameworks/sproutcore/frameworks/desktop/tests/views/segmented/methods.js +47 -23
  39. data/lib/frameworks/sproutcore/frameworks/desktop/views/button.js +90 -59
  40. data/lib/frameworks/sproutcore/frameworks/desktop/views/checkbox.js +39 -29
  41. data/lib/frameworks/sproutcore/frameworks/desktop/views/collection.js +15 -11
  42. data/lib/frameworks/sproutcore/frameworks/desktop/views/disclosure.js +16 -17
  43. data/lib/frameworks/sproutcore/frameworks/desktop/views/list_item.js +278 -457
  44. data/lib/frameworks/sproutcore/frameworks/desktop/views/menu_item.js +5 -5
  45. data/lib/frameworks/sproutcore/frameworks/desktop/views/popup_button.js +101 -5
  46. data/lib/frameworks/sproutcore/frameworks/desktop/views/scroll.js +87 -85
  47. data/lib/frameworks/sproutcore/frameworks/desktop/views/scroller.js +278 -33
  48. data/lib/frameworks/sproutcore/frameworks/desktop/views/segmented.js +146 -60
  49. data/lib/frameworks/sproutcore/frameworks/desktop/views/select.js +80 -211
  50. data/lib/frameworks/sproutcore/frameworks/desktop/views/select_field.js +10 -1
  51. data/lib/frameworks/sproutcore/frameworks/desktop/views/slider.js +34 -33
  52. data/lib/frameworks/sproutcore/frameworks/desktop/views/split.js +248 -331
  53. data/lib/frameworks/sproutcore/frameworks/desktop/views/static_content.js +12 -1
  54. data/lib/frameworks/sproutcore/frameworks/desktop/views/web.js +1 -1
  55. data/lib/frameworks/sproutcore/frameworks/foundation/controllers/object.js +1 -1
  56. data/lib/frameworks/sproutcore/frameworks/foundation/core.js +2 -33
  57. data/lib/frameworks/sproutcore/frameworks/foundation/ext/run_loop.js +1 -1
  58. data/lib/frameworks/sproutcore/frameworks/foundation/license.js +11 -0
  59. data/lib/frameworks/sproutcore/frameworks/foundation/mixins/button.js +6 -12
  60. data/lib/frameworks/sproutcore/frameworks/foundation/mixins/content_display.js +9 -4
  61. data/lib/frameworks/sproutcore/frameworks/foundation/mixins/control.js +1 -83
  62. data/lib/frameworks/sproutcore/frameworks/foundation/mixins/inline_text_field.js +7 -6
  63. data/lib/frameworks/sproutcore/frameworks/foundation/mixins/selection_support.js +4 -2
  64. data/lib/frameworks/sproutcore/frameworks/foundation/panes/main.js +2 -1
  65. data/lib/frameworks/sproutcore/frameworks/foundation/panes/pane.js +107 -143
  66. data/lib/frameworks/sproutcore/frameworks/foundation/system/bundle.js +8 -4
  67. data/lib/frameworks/sproutcore/frameworks/foundation/system/core_query.js +4 -3
  68. data/lib/frameworks/sproutcore/frameworks/foundation/system/event.js +44 -33
  69. data/lib/frameworks/sproutcore/frameworks/foundation/system/exception_handler.js +85 -0
  70. data/lib/frameworks/sproutcore/frameworks/foundation/system/image_cache.js +9 -9
  71. data/lib/frameworks/sproutcore/frameworks/foundation/system/platform.js +114 -6
  72. data/lib/frameworks/sproutcore/frameworks/foundation/system/ready.js +37 -38
  73. data/lib/frameworks/sproutcore/frameworks/foundation/system/render_context.js +5 -33
  74. data/lib/frameworks/sproutcore/frameworks/foundation/system/response.js +17 -19
  75. data/lib/frameworks/sproutcore/frameworks/foundation/system/root_responder.js +311 -255
  76. data/lib/frameworks/sproutcore/frameworks/foundation/system/routes.js +3 -3
  77. data/lib/frameworks/sproutcore/frameworks/foundation/system/task_queue.js +10 -10
  78. data/lib/frameworks/sproutcore/frameworks/foundation/system/utils.js +53 -44
  79. data/lib/frameworks/sproutcore/frameworks/foundation/tests/mixins/button/keyEquivalents.js +17 -16
  80. data/lib/frameworks/sproutcore/frameworks/foundation/tests/mixins/staticLayout.js +0 -1
  81. data/lib/frameworks/sproutcore/frameworks/foundation/tests/system/render_context/end.js +1 -1
  82. data/lib/frameworks/sproutcore/frameworks/foundation/tests/system/render_context/helpers_style.js +3 -11
  83. data/lib/frameworks/sproutcore/frameworks/foundation/tests/system/render_context/update.js +4 -2
  84. data/lib/frameworks/sproutcore/frameworks/foundation/tests/system/timer/invokeLater.js +5 -7
  85. data/lib/frameworks/sproutcore/frameworks/foundation/tests/views/pane/sendEvent.js +41 -0
  86. data/lib/frameworks/sproutcore/frameworks/foundation/tests/views/text_field/ui.js +2 -2
  87. data/lib/frameworks/sproutcore/frameworks/foundation/tests/views/view/clippingFrame.js +2 -2
  88. data/lib/frameworks/sproutcore/frameworks/foundation/tests/views/view/createLayer.js +2 -2
  89. data/lib/frameworks/sproutcore/frameworks/foundation/tests/views/view/layoutStyle.js +56 -118
  90. data/lib/frameworks/sproutcore/frameworks/foundation/tests/views/view/prepareContext.js +4 -12
  91. data/lib/frameworks/sproutcore/frameworks/foundation/tests/views/view/render.js +5 -48
  92. data/lib/frameworks/sproutcore/frameworks/foundation/tests/views/view/updateLayer.js +3 -3
  93. data/lib/frameworks/sproutcore/frameworks/foundation/tests/views/view/updateLayerLocation.js +2 -2
  94. data/lib/frameworks/sproutcore/frameworks/foundation/tests/views/view/viewDidResize.js +2 -24
  95. data/lib/frameworks/sproutcore/frameworks/foundation/validators/date_time.js +2 -0
  96. data/lib/frameworks/sproutcore/frameworks/foundation/views/field.js +3 -3
  97. data/lib/frameworks/sproutcore/frameworks/foundation/views/label.js +49 -21
  98. data/lib/frameworks/sproutcore/frameworks/foundation/views/text_field.js +85 -54
  99. data/lib/frameworks/sproutcore/frameworks/foundation/views/view.js +256 -1174
  100. data/lib/frameworks/sproutcore/frameworks/media/views/audio.js +81 -74
  101. data/lib/frameworks/sproutcore/frameworks/media/views/controls.js +2 -2
  102. data/lib/frameworks/sproutcore/frameworks/media/views/miniControls.js +1 -1
  103. data/lib/frameworks/sproutcore/frameworks/mobile/tests/views/button/ui.js +1 -8
  104. data/lib/frameworks/sproutcore/frameworks/mobile/views/button.js +1 -1
  105. data/lib/frameworks/sproutcore/frameworks/runtime/core.js +54 -25
  106. data/lib/frameworks/sproutcore/frameworks/runtime/mixins/array.js +1 -11
  107. data/lib/frameworks/sproutcore/frameworks/runtime/mixins/observable.js +8 -5
  108. data/lib/frameworks/sproutcore/frameworks/runtime/private/observer_queue.js +1 -1
  109. data/lib/frameworks/sproutcore/frameworks/runtime/private/observer_set.js +24 -25
  110. data/lib/frameworks/sproutcore/frameworks/runtime/system/binding.js +9 -6
  111. data/lib/frameworks/sproutcore/frameworks/runtime/system/object.js +13 -6
  112. data/lib/frameworks/sproutcore/frameworks/runtime/system/run_loop.js +26 -11
  113. data/lib/frameworks/sproutcore/frameworks/runtime/system/set.js +140 -33
  114. data/lib/frameworks/sproutcore/frameworks/runtime/tests/core/guidFor.js +33 -0
  115. data/lib/frameworks/sproutcore/frameworks/runtime/tests/system/object/base.js +48 -1
  116. data/lib/frameworks/sproutcore/frameworks/statechart/mixins/statechart.js +2 -3
  117. data/lib/frameworks/sproutcore/frameworks/testing/system/runner.js +1 -1
  118. data/lib/frameworks/sproutcore/themes/standard_theme/english.lproj/scroller.css +8 -4
  119. data/lib/sproutcore/helpers/entry_sorter.rb +14 -1
  120. data/sproutcore.gemspec +0 -2
  121. metadata +12 -443
  122. data/lib/frameworks/sproutcore/Gemfile +0 -8
  123. data/lib/frameworks/sproutcore/Gemfile.lock +0 -33
  124. data/lib/frameworks/sproutcore/apps/test_controls/Buildfile +0 -0
  125. data/lib/frameworks/sproutcore/apps/test_controls/controllers/categories.js +0 -108
  126. data/lib/frameworks/sproutcore/apps/test_controls/controllers/category.js +0 -31
  127. data/lib/frameworks/sproutcore/apps/test_controls/core.js +0 -29
  128. data/lib/frameworks/sproutcore/apps/test_controls/main.js +0 -14
  129. data/lib/frameworks/sproutcore/apps/test_controls/resources/buttons_page.js +0 -124
  130. data/lib/frameworks/sproutcore/apps/test_controls/resources/checkboxes_page.js +0 -45
  131. data/lib/frameworks/sproutcore/apps/test_controls/resources/flow_layout_page.js +0 -77
  132. data/lib/frameworks/sproutcore/apps/test_controls/resources/list_page.js +0 -40
  133. data/lib/frameworks/sproutcore/apps/test_controls/resources/loading.rhtml +0 -9
  134. data/lib/frameworks/sproutcore/apps/test_controls/resources/main_page.css +0 -54
  135. data/lib/frameworks/sproutcore/apps/test_controls/resources/main_page.js +0 -136
  136. data/lib/frameworks/sproutcore/apps/test_controls/resources/progress_page.js +0 -42
  137. data/lib/frameworks/sproutcore/apps/test_controls/resources/radio_page.js +0 -41
  138. data/lib/frameworks/sproutcore/apps/test_controls/resources/scroll_page.js +0 -76
  139. data/lib/frameworks/sproutcore/apps/test_controls/resources/segmented_page.js +0 -75
  140. data/lib/frameworks/sproutcore/apps/test_controls/resources/select_page.js +0 -60
  141. data/lib/frameworks/sproutcore/apps/test_controls/resources/sliders_page.js +0 -53
  142. data/lib/frameworks/sproutcore/apps/test_controls/resources/strings.js +0 -50
  143. data/lib/frameworks/sproutcore/apps/test_controls/resources/tab_page.js +0 -15
  144. data/lib/frameworks/sproutcore/apps/test_controls/resources/text_field_page.js +0 -40
  145. data/lib/frameworks/sproutcore/apps/welcome/english.lproj/images/main-bg.png +0 -0
  146. data/lib/frameworks/sproutcore/bin/edit_json.rb +0 -14
  147. data/lib/frameworks/sproutcore/bin/erubis +0 -14
  148. data/lib/frameworks/sproutcore/bin/prettify_json.rb +0 -14
  149. data/lib/frameworks/sproutcore/bin/rackup +0 -14
  150. data/lib/frameworks/sproutcore/bin/rake2thor +0 -14
  151. data/lib/frameworks/sproutcore/bin/sc-build +0 -14
  152. data/lib/frameworks/sproutcore/bin/sc-build-number +0 -14
  153. data/lib/frameworks/sproutcore/bin/sc-docs +0 -14
  154. data/lib/frameworks/sproutcore/bin/sc-gen +0 -14
  155. data/lib/frameworks/sproutcore/bin/sc-init +0 -14
  156. data/lib/frameworks/sproutcore/bin/sc-manifest +0 -14
  157. data/lib/frameworks/sproutcore/bin/sc-server +0 -14
  158. data/lib/frameworks/sproutcore/bin/sproutcore +0 -14
  159. data/lib/frameworks/sproutcore/bin/thin +0 -14
  160. data/lib/frameworks/sproutcore/bin/thor +0 -14
  161. data/lib/frameworks/sproutcore/frameworks/desktop/mixins/navigation_builder.js +0 -130
  162. data/lib/frameworks/sproutcore/frameworks/desktop/renderers/button.js +0 -147
  163. data/lib/frameworks/sproutcore/frameworks/desktop/renderers/checkbox.js +0 -87
  164. data/lib/frameworks/sproutcore/frameworks/desktop/renderers/checkbox_control.js +0 -103
  165. data/lib/frameworks/sproutcore/frameworks/desktop/renderers/disclosure.js +0 -82
  166. data/lib/frameworks/sproutcore/frameworks/desktop/renderers/disclosure_control.js +0 -103
  167. data/lib/frameworks/sproutcore/frameworks/desktop/renderers/image_button.js +0 -33
  168. data/lib/frameworks/sproutcore/frameworks/desktop/renderers/list_item.js +0 -334
  169. data/lib/frameworks/sproutcore/frameworks/desktop/renderers/masterDetail.js +0 -23
  170. data/lib/frameworks/sproutcore/frameworks/desktop/renderers/panel.js +0 -34
  171. data/lib/frameworks/sproutcore/frameworks/desktop/renderers/picker.js +0 -50
  172. data/lib/frameworks/sproutcore/frameworks/desktop/renderers/segment.js +0 -79
  173. data/lib/frameworks/sproutcore/frameworks/desktop/renderers/segmented.js +0 -172
  174. data/lib/frameworks/sproutcore/frameworks/desktop/renderers/slider.js +0 -86
  175. data/lib/frameworks/sproutcore/frameworks/desktop/renderers/workspace.js +0 -22
  176. data/lib/frameworks/sproutcore/frameworks/desktop/views/file.js +0 -112
  177. data/lib/frameworks/sproutcore/frameworks/desktop/views/master_detail.js +0 -249
  178. data/lib/frameworks/sproutcore/frameworks/desktop/views/navigation.js +0 -237
  179. data/lib/frameworks/sproutcore/frameworks/desktop/views/navigation_bar.js +0 -181
  180. data/lib/frameworks/sproutcore/frameworks/desktop/views/workspace.js +0 -270
  181. data/lib/frameworks/sproutcore/frameworks/documentation/core.js +0 -0
  182. data/lib/frameworks/sproutcore/frameworks/forms/english.lproj/default_styles.css +0 -5
  183. data/lib/frameworks/sproutcore/frameworks/forms/english.lproj/strings.js +0 -15
  184. data/lib/frameworks/sproutcore/frameworks/forms/mixins/auto_hide.js +0 -85
  185. data/lib/frameworks/sproutcore/frameworks/forms/mixins/edit_mode.js +0 -43
  186. data/lib/frameworks/sproutcore/frameworks/forms/renderers/form.js +0 -24
  187. data/lib/frameworks/sproutcore/frameworks/forms/renderers/form_row.js +0 -24
  188. data/lib/frameworks/sproutcore/frameworks/forms/tests/views/form.js +0 -15
  189. data/lib/frameworks/sproutcore/frameworks/forms/tests/views/form_checkbox_field.js +0 -15
  190. data/lib/frameworks/sproutcore/frameworks/forms/tests/views/form_field.js +0 -15
  191. data/lib/frameworks/sproutcore/frameworks/forms/tests/views/form_label.js +0 -15
  192. data/lib/frameworks/sproutcore/frameworks/forms/tests/views/form_radio_field.js +0 -15
  193. data/lib/frameworks/sproutcore/frameworks/forms/tests/views/form_row.js +0 -15
  194. data/lib/frameworks/sproutcore/frameworks/forms/tests/views/form_text_field.js +0 -15
  195. data/lib/frameworks/sproutcore/frameworks/forms/views/form.js +0 -266
  196. data/lib/frameworks/sproutcore/frameworks/forms/views/form_row.js +0 -188
  197. data/lib/frameworks/sproutcore/frameworks/foundation/english.lproj/images/sproutcore.png +0 -0
  198. data/lib/frameworks/sproutcore/frameworks/foundation/gestures/pinch.js +0 -81
  199. data/lib/frameworks/sproutcore/frameworks/foundation/gestures/swipe.js +0 -142
  200. data/lib/frameworks/sproutcore/frameworks/foundation/mixins/auto_mixin.js +0 -33
  201. data/lib/frameworks/sproutcore/frameworks/foundation/mixins/auto_resize.js +0 -74
  202. data/lib/frameworks/sproutcore/frameworks/foundation/mixins/flowed_layout.js +0 -415
  203. data/lib/frameworks/sproutcore/frameworks/foundation/mixins/gestureable.js +0 -106
  204. data/lib/frameworks/sproutcore/frameworks/foundation/renderers/control.js +0 -122
  205. data/lib/frameworks/sproutcore/frameworks/foundation/renderers/image.js +0 -51
  206. data/lib/frameworks/sproutcore/frameworks/foundation/renderers/label.js +0 -96
  207. data/lib/frameworks/sproutcore/frameworks/foundation/renderers/renderer.js +0 -316
  208. data/lib/frameworks/sproutcore/frameworks/foundation/renderers/title.js +0 -108
  209. data/lib/frameworks/sproutcore/frameworks/foundation/renderers/view.js +0 -62
  210. data/lib/frameworks/sproutcore/frameworks/foundation/system/gesture.js +0 -245
  211. data/lib/frameworks/sproutcore/frameworks/foundation/system/theme.js +0 -108
  212. data/lib/frameworks/sproutcore/frameworks/foundation/tests/renderers/renderer/base.js +0 -170
  213. data/lib/frameworks/sproutcore/frameworks/foundation/tests/renderers/renderer/inheritance.js +0 -39
  214. data/lib/frameworks/sproutcore/frameworks/foundation/tests/system/theme.js +0 -86
  215. data/lib/frameworks/sproutcore/frameworks/foundation/tests/views/pane/sendTouchEvent.js +0 -267
  216. data/lib/frameworks/sproutcore/frameworks/foundation/tests/views/view/animation.js +0 -321
  217. data/lib/frameworks/sproutcore/frameworks/foundation/tests/views/view/build.js +0 -85
  218. data/lib/frameworks/sproutcore/frameworks/foundation/tests/views/view/build_children.js +0 -89
  219. data/lib/frameworks/sproutcore/frameworks/foundation/tests/views/view/renderer.js +0 -443
  220. data/lib/frameworks/sproutcore/frameworks/foundation/tests/views/view/theme.js +0 -41
  221. data/lib/frameworks/sproutcore/frameworks/jquery/jquery.js +0 -6240
  222. data/lib/frameworks/sproutcore/frameworks/test +0 -77
  223. data/lib/frameworks/sproutcore/themes/ace/Buildfile +0 -0
  224. data/lib/frameworks/sproutcore/themes/ace/README.md +0 -161
  225. data/lib/frameworks/sproutcore/themes/ace/build +0 -2
  226. data/lib/frameworks/sproutcore/themes/ace/build-d +0 -2
  227. data/lib/frameworks/sproutcore/themes/ace/chance/README.md +0 -113
  228. data/lib/frameworks/sproutcore/themes/ace/chance/chance.rb +0 -203
  229. data/lib/frameworks/sproutcore/themes/ace/chance/lib/css.rb +0 -202
  230. data/lib/frameworks/sproutcore/themes/ace/chance/lib/slicedice.rb +0 -391
  231. data/lib/frameworks/sproutcore/themes/ace/chance/sc-theme.rb +0 -0
  232. data/lib/frameworks/sproutcore/themes/ace/chance/scripts/setup.rb +0 -126
  233. data/lib/frameworks/sproutcore/themes/ace/mockups/dark.png +0 -0
  234. data/lib/frameworks/sproutcore/themes/ace/mockups/dark.psd +0 -0
  235. data/lib/frameworks/sproutcore/themes/ace/mockups/light.png +0 -0
  236. data/lib/frameworks/sproutcore/themes/ace/mockups/light.psd +0 -0
  237. data/lib/frameworks/sproutcore/themes/ace/resources/images/1.png +0 -0
  238. data/lib/frameworks/sproutcore/themes/ace/resources/images/2.png +0 -0
  239. data/lib/frameworks/sproutcore/themes/ace/resources/images/3.png +0 -0
  240. data/lib/frameworks/sproutcore/themes/ace/resources/theme.css +0 -1832
  241. data/lib/frameworks/sproutcore/themes/ace/scroll_test/resources/images/1.png +0 -0
  242. data/lib/frameworks/sproutcore/themes/ace/scroll_test/resources/images/2.png +0 -0
  243. data/lib/frameworks/sproutcore/themes/ace/scroll_test/resources/images/3.png +0 -0
  244. data/lib/frameworks/sproutcore/themes/ace/scroll_test/resources/theme.css +0 -147
  245. data/lib/frameworks/sproutcore/themes/ace/scroll_test/scrollbars.html +0 -326
  246. data/lib/frameworks/sproutcore/themes/ace/src/body.css +0 -13
  247. data/lib/frameworks/sproutcore/themes/ace/src/collections/list.css +0 -4
  248. data/lib/frameworks/sproutcore/themes/ace/src/collections/list_item.css +0 -7
  249. data/lib/frameworks/sproutcore/themes/ace/src/collections/source_list/selection.png +0 -0
  250. data/lib/frameworks/sproutcore/themes/ace/src/collections/source_list/selection.psd +0 -0
  251. data/lib/frameworks/sproutcore/themes/ace/src/collections/source_list/source_list_view.css +0 -37
  252. data/lib/frameworks/sproutcore/themes/ace/src/containers/container.css +0 -3
  253. data/lib/frameworks/sproutcore/themes/ace/src/containers/masterdetail/master-detail.css +0 -26
  254. data/lib/frameworks/sproutcore/themes/ace/src/containers/split/split.css +0 -4
  255. data/lib/frameworks/sproutcore/themes/ace/src/containers/tab/tab.css +0 -9
  256. data/lib/frameworks/sproutcore/themes/ace/src/controls/buttons/button.js +0 -23
  257. data/lib/frameworks/sproutcore/themes/ace/src/controls/buttons/button_view/18px/active_button.png +0 -0
  258. data/lib/frameworks/sproutcore/themes/ace/src/controls/buttons/button_view/18px/active_button.psd +0 -0
  259. data/lib/frameworks/sproutcore/themes/ace/src/controls/buttons/button_view/18px/button_view.css +0 -53
  260. data/lib/frameworks/sproutcore/themes/ace/src/controls/buttons/button_view/18px/normal_button.png +0 -0
  261. data/lib/frameworks/sproutcore/themes/ace/src/controls/buttons/button_view/18px/normal_button.psd +0 -0
  262. data/lib/frameworks/sproutcore/themes/ace/src/controls/buttons/button_view/18px/selected_active_button.png +0 -0
  263. data/lib/frameworks/sproutcore/themes/ace/src/controls/buttons/button_view/18px/selected_active_button.psd +0 -0
  264. data/lib/frameworks/sproutcore/themes/ace/src/controls/buttons/button_view/18px/selected_button.png +0 -0
  265. data/lib/frameworks/sproutcore/themes/ace/src/controls/buttons/button_view/18px/selected_button.psd +0 -0
  266. data/lib/frameworks/sproutcore/themes/ace/src/controls/buttons/button_view/24px/active_button.png +0 -0
  267. data/lib/frameworks/sproutcore/themes/ace/src/controls/buttons/button_view/24px/active_button.psd +0 -0
  268. data/lib/frameworks/sproutcore/themes/ace/src/controls/buttons/button_view/24px/active_button_capsule.png +0 -0
  269. data/lib/frameworks/sproutcore/themes/ace/src/controls/buttons/button_view/24px/active_button_capsule.psd +0 -0
  270. data/lib/frameworks/sproutcore/themes/ace/src/controls/buttons/button_view/24px/active_button_pointer.png +0 -0
  271. data/lib/frameworks/sproutcore/themes/ace/src/controls/buttons/button_view/24px/active_button_pointer.psd +0 -0
  272. data/lib/frameworks/sproutcore/themes/ace/src/controls/buttons/button_view/24px/button_view.css +0 -144
  273. data/lib/frameworks/sproutcore/themes/ace/src/controls/buttons/button_view/24px/normal_button.png +0 -0
  274. data/lib/frameworks/sproutcore/themes/ace/src/controls/buttons/button_view/24px/normal_button.psd +0 -0
  275. data/lib/frameworks/sproutcore/themes/ace/src/controls/buttons/button_view/24px/normal_button_capsule.png +0 -0
  276. data/lib/frameworks/sproutcore/themes/ace/src/controls/buttons/button_view/24px/normal_button_capsule.psd +0 -0
  277. data/lib/frameworks/sproutcore/themes/ace/src/controls/buttons/button_view/24px/normal_button_pointer.png +0 -0
  278. data/lib/frameworks/sproutcore/themes/ace/src/controls/buttons/button_view/24px/normal_button_pointer.psd +0 -0
  279. data/lib/frameworks/sproutcore/themes/ace/src/controls/buttons/button_view/24px/selected_active_button.png +0 -0
  280. data/lib/frameworks/sproutcore/themes/ace/src/controls/buttons/button_view/24px/selected_active_button.psd +0 -0
  281. data/lib/frameworks/sproutcore/themes/ace/src/controls/buttons/button_view/24px/selected_active_button_capsule.png +0 -0
  282. data/lib/frameworks/sproutcore/themes/ace/src/controls/buttons/button_view/24px/selected_active_button_capsule.psd +0 -0
  283. data/lib/frameworks/sproutcore/themes/ace/src/controls/buttons/button_view/24px/selected_active_button_pointer.png +0 -0
  284. data/lib/frameworks/sproutcore/themes/ace/src/controls/buttons/button_view/24px/selected_active_button_pointer.psd +0 -0
  285. data/lib/frameworks/sproutcore/themes/ace/src/controls/buttons/button_view/24px/selected_button.png +0 -0
  286. data/lib/frameworks/sproutcore/themes/ace/src/controls/buttons/button_view/24px/selected_button.psd +0 -0
  287. data/lib/frameworks/sproutcore/themes/ace/src/controls/buttons/button_view/24px/selected_button_capsule.png +0 -0
  288. data/lib/frameworks/sproutcore/themes/ace/src/controls/buttons/button_view/24px/selected_button_capsule.psd +0 -0
  289. data/lib/frameworks/sproutcore/themes/ace/src/controls/buttons/button_view/24px/selected_button_pointer.png +0 -0
  290. data/lib/frameworks/sproutcore/themes/ace/src/controls/buttons/button_view/24px/selected_button_pointer.psd +0 -0
  291. data/lib/frameworks/sproutcore/themes/ace/src/controls/buttons/button_view/30px/active_button.png +0 -0
  292. data/lib/frameworks/sproutcore/themes/ace/src/controls/buttons/button_view/30px/active_button.psd +0 -0
  293. data/lib/frameworks/sproutcore/themes/ace/src/controls/buttons/button_view/30px/active_button_pointer.png +0 -0
  294. data/lib/frameworks/sproutcore/themes/ace/src/controls/buttons/button_view/30px/active_button_pointer.psd +0 -0
  295. data/lib/frameworks/sproutcore/themes/ace/src/controls/buttons/button_view/30px/button_view_30.css +0 -111
  296. data/lib/frameworks/sproutcore/themes/ace/src/controls/buttons/button_view/30px/normal_button.png +0 -0
  297. data/lib/frameworks/sproutcore/themes/ace/src/controls/buttons/button_view/30px/normal_button.psd +0 -0
  298. data/lib/frameworks/sproutcore/themes/ace/src/controls/buttons/button_view/30px/normal_button_pointer.png +0 -0
  299. data/lib/frameworks/sproutcore/themes/ace/src/controls/buttons/button_view/30px/normal_button_pointer.psd +0 -0
  300. data/lib/frameworks/sproutcore/themes/ace/src/controls/buttons/button_view/30px/selected_active_button.png +0 -0
  301. data/lib/frameworks/sproutcore/themes/ace/src/controls/buttons/button_view/30px/selected_active_button.psd +0 -0
  302. data/lib/frameworks/sproutcore/themes/ace/src/controls/buttons/button_view/30px/selected_active_button_pointer.png +0 -0
  303. data/lib/frameworks/sproutcore/themes/ace/src/controls/buttons/button_view/30px/selected_active_button_pointer.psd +0 -0
  304. data/lib/frameworks/sproutcore/themes/ace/src/controls/buttons/button_view/30px/selected_button.png +0 -0
  305. data/lib/frameworks/sproutcore/themes/ace/src/controls/buttons/button_view/30px/selected_button.psd +0 -0
  306. data/lib/frameworks/sproutcore/themes/ace/src/controls/buttons/button_view/30px/selected_button_pointer.png +0 -0
  307. data/lib/frameworks/sproutcore/themes/ace/src/controls/buttons/button_view/30px/selected_button_pointer.psd +0 -0
  308. data/lib/frameworks/sproutcore/themes/ace/src/controls/buttons/button_view/44px/active_button.png +0 -0
  309. data/lib/frameworks/sproutcore/themes/ace/src/controls/buttons/button_view/44px/active_button.psd +0 -0
  310. data/lib/frameworks/sproutcore/themes/ace/src/controls/buttons/button_view/44px/button_view.css +0 -57
  311. data/lib/frameworks/sproutcore/themes/ace/src/controls/buttons/button_view/44px/normal_button.png +0 -0
  312. data/lib/frameworks/sproutcore/themes/ace/src/controls/buttons/button_view/44px/normal_button.psd +0 -0
  313. data/lib/frameworks/sproutcore/themes/ace/src/controls/buttons/button_view/44px/selected_active_button.png +0 -0
  314. data/lib/frameworks/sproutcore/themes/ace/src/controls/buttons/button_view/44px/selected_active_button.psd +0 -0
  315. data/lib/frameworks/sproutcore/themes/ace/src/controls/buttons/button_view/44px/selected_button.png +0 -0
  316. data/lib/frameworks/sproutcore/themes/ace/src/controls/buttons/button_view/44px/selected_button.psd +0 -0
  317. data/lib/frameworks/sproutcore/themes/ace/src/controls/buttons/button_view/button_view.css +0 -56
  318. data/lib/frameworks/sproutcore/themes/ace/src/controls/buttons/disclosure_view/disclosure_closed.png +0 -0
  319. data/lib/frameworks/sproutcore/themes/ace/src/controls/buttons/disclosure_view/disclosure_closed.psd +0 -0
  320. data/lib/frameworks/sproutcore/themes/ace/src/controls/buttons/disclosure_view/disclosure_closed_active.png +0 -0
  321. data/lib/frameworks/sproutcore/themes/ace/src/controls/buttons/disclosure_view/disclosure_closed_active.psd +0 -0
  322. data/lib/frameworks/sproutcore/themes/ace/src/controls/buttons/disclosure_view/disclosure_open.png +0 -0
  323. data/lib/frameworks/sproutcore/themes/ace/src/controls/buttons/disclosure_view/disclosure_open.psd +0 -0
  324. data/lib/frameworks/sproutcore/themes/ace/src/controls/buttons/disclosure_view/disclosure_open_active.png +0 -0
  325. data/lib/frameworks/sproutcore/themes/ace/src/controls/buttons/disclosure_view/disclosure_open_active.psd +0 -0
  326. data/lib/frameworks/sproutcore/themes/ace/src/controls/buttons/disclosure_view/disclosure_view.css +0 -64
  327. data/lib/frameworks/sproutcore/themes/ace/src/controls/checkboxes/14px/checkbox.css +0 -25
  328. data/lib/frameworks/sproutcore/themes/ace/src/controls/checkboxes/14px/checkbox_checked.png +0 -0
  329. data/lib/frameworks/sproutcore/themes/ace/src/controls/checkboxes/14px/checkbox_checked.psd +0 -0
  330. data/lib/frameworks/sproutcore/themes/ace/src/controls/checkboxes/14px/checkbox_checked_active.png +0 -0
  331. data/lib/frameworks/sproutcore/themes/ace/src/controls/checkboxes/14px/checkbox_checked_active.psd +0 -0
  332. data/lib/frameworks/sproutcore/themes/ace/src/controls/checkboxes/14px/checkbox_mixed.png +0 -0
  333. data/lib/frameworks/sproutcore/themes/ace/src/controls/checkboxes/14px/checkbox_mixed.psd +0 -0
  334. data/lib/frameworks/sproutcore/themes/ace/src/controls/checkboxes/14px/checkbox_mixed_active.png +0 -0
  335. data/lib/frameworks/sproutcore/themes/ace/src/controls/checkboxes/14px/checkbox_mixed_active.psd +0 -0
  336. data/lib/frameworks/sproutcore/themes/ace/src/controls/checkboxes/14px/checkbox_unchecked.png +0 -0
  337. data/lib/frameworks/sproutcore/themes/ace/src/controls/checkboxes/14px/checkbox_unchecked.psd +0 -0
  338. data/lib/frameworks/sproutcore/themes/ace/src/controls/checkboxes/14px/checkbox_unchecked_active.png +0 -0
  339. data/lib/frameworks/sproutcore/themes/ace/src/controls/checkboxes/14px/checkbox_unchecked_active.psd +0 -0
  340. data/lib/frameworks/sproutcore/themes/ace/src/controls/checkboxes/16px/checkbox.css +0 -25
  341. data/lib/frameworks/sproutcore/themes/ace/src/controls/checkboxes/16px/checkbox_checked.png +0 -0
  342. data/lib/frameworks/sproutcore/themes/ace/src/controls/checkboxes/16px/checkbox_checked.psd +0 -0
  343. data/lib/frameworks/sproutcore/themes/ace/src/controls/checkboxes/16px/checkbox_checked_active.png +0 -0
  344. data/lib/frameworks/sproutcore/themes/ace/src/controls/checkboxes/16px/checkbox_checked_active.psd +0 -0
  345. data/lib/frameworks/sproutcore/themes/ace/src/controls/checkboxes/16px/checkbox_mixed.png +0 -0
  346. data/lib/frameworks/sproutcore/themes/ace/src/controls/checkboxes/16px/checkbox_mixed.psd +0 -0
  347. data/lib/frameworks/sproutcore/themes/ace/src/controls/checkboxes/16px/checkbox_mixed_active.png +0 -0
  348. data/lib/frameworks/sproutcore/themes/ace/src/controls/checkboxes/16px/checkbox_mixed_active.psd +0 -0
  349. data/lib/frameworks/sproutcore/themes/ace/src/controls/checkboxes/16px/checkbox_unchecked.png +0 -0
  350. data/lib/frameworks/sproutcore/themes/ace/src/controls/checkboxes/16px/checkbox_unchecked.psd +0 -0
  351. data/lib/frameworks/sproutcore/themes/ace/src/controls/checkboxes/16px/checkbox_unchecked_active.png +0 -0
  352. data/lib/frameworks/sproutcore/themes/ace/src/controls/checkboxes/16px/checkbox_unchecked_active.psd +0 -0
  353. data/lib/frameworks/sproutcore/themes/ace/src/controls/checkboxes/checkbox.css +0 -4
  354. data/lib/frameworks/sproutcore/themes/ace/src/controls/checkboxes/checkbox_control.css +0 -31
  355. data/lib/frameworks/sproutcore/themes/ace/src/controls/progress/progress_view/progress_view.css +0 -70
  356. data/lib/frameworks/sproutcore/themes/ace/src/controls/progress/progress_view/progress_view_content.png +0 -0
  357. data/lib/frameworks/sproutcore/themes/ace/src/controls/progress/progress_view/progress_view_content.psd +0 -0
  358. data/lib/frameworks/sproutcore/themes/ace/src/controls/progress/progress_view/progress_view_indeterminate_content.psd +0 -0
  359. data/lib/frameworks/sproutcore/themes/ace/src/controls/progress/progress_view/progress_view_track.png +0 -0
  360. data/lib/frameworks/sproutcore/themes/ace/src/controls/progress/progress_view/progress_view_track.psd +0 -0
  361. data/lib/frameworks/sproutcore/themes/ace/src/controls/radio/radio.css +0 -61
  362. data/lib/frameworks/sproutcore/themes/ace/src/controls/radio/radio_active.png +0 -0
  363. data/lib/frameworks/sproutcore/themes/ace/src/controls/radio/radio_active.psd +0 -0
  364. data/lib/frameworks/sproutcore/themes/ace/src/controls/radio/radio_mixed.png +0 -0
  365. data/lib/frameworks/sproutcore/themes/ace/src/controls/radio/radio_mixed.psd +0 -0
  366. data/lib/frameworks/sproutcore/themes/ace/src/controls/radio/radio_mixed_active.png +0 -0
  367. data/lib/frameworks/sproutcore/themes/ace/src/controls/radio/radio_mixed_active.psd +0 -0
  368. data/lib/frameworks/sproutcore/themes/ace/src/controls/radio/radio_selected.png +0 -0
  369. data/lib/frameworks/sproutcore/themes/ace/src/controls/radio/radio_selected.psd +0 -0
  370. data/lib/frameworks/sproutcore/themes/ace/src/controls/radio/radio_selected_active.png +0 -0
  371. data/lib/frameworks/sproutcore/themes/ace/src/controls/radio/radio_selected_active.psd +0 -0
  372. data/lib/frameworks/sproutcore/themes/ace/src/controls/radio/radio_unselected.png +0 -0
  373. data/lib/frameworks/sproutcore/themes/ace/src/controls/radio/radio_unselected.psd +0 -0
  374. data/lib/frameworks/sproutcore/themes/ace/src/controls/scroll/horizontal/horizontal.css +0 -77
  375. data/lib/frameworks/sproutcore/themes/ace/src/controls/scroll/horizontal/thumb.png +0 -0
  376. data/lib/frameworks/sproutcore/themes/ace/src/controls/scroll/horizontal/thumb.psd +0 -0
  377. data/lib/frameworks/sproutcore/themes/ace/src/controls/scroll/horizontal/track_and_arrows.png +0 -0
  378. data/lib/frameworks/sproutcore/themes/ace/src/controls/scroll/horizontal/track_and_arrows.psd +0 -0
  379. data/lib/frameworks/sproutcore/themes/ace/src/controls/scroll/horizontal/track_and_arrows_active.png +0 -0
  380. data/lib/frameworks/sproutcore/themes/ace/src/controls/scroll/horizontal/track_and_arrows_active.psd +0 -0
  381. data/lib/frameworks/sproutcore/themes/ace/src/controls/scroll/vertical.psd +0 -0
  382. data/lib/frameworks/sproutcore/themes/ace/src/controls/scroll/vertical/thumb.png +0 -0
  383. data/lib/frameworks/sproutcore/themes/ace/src/controls/scroll/vertical/thumb.psd +0 -0
  384. data/lib/frameworks/sproutcore/themes/ace/src/controls/scroll/vertical/track_and_arrows.png +0 -0
  385. data/lib/frameworks/sproutcore/themes/ace/src/controls/scroll/vertical/track_and_arrows.psd +0 -0
  386. data/lib/frameworks/sproutcore/themes/ace/src/controls/scroll/vertical/track_and_arrows_active.png +0 -0
  387. data/lib/frameworks/sproutcore/themes/ace/src/controls/scroll/vertical/track_and_arrows_active.psd +0 -0
  388. data/lib/frameworks/sproutcore/themes/ace/src/controls/scroll/vertical/vertical.css +0 -74
  389. data/lib/frameworks/sproutcore/themes/ace/src/controls/segmented/18px/segmented.css +0 -92
  390. data/lib/frameworks/sproutcore/themes/ace/src/controls/segmented/18px/segmented_active.png +0 -0
  391. data/lib/frameworks/sproutcore/themes/ace/src/controls/segmented/18px/segmented_active.psd +0 -0
  392. data/lib/frameworks/sproutcore/themes/ace/src/controls/segmented/18px/segmented_normal.png +0 -0
  393. data/lib/frameworks/sproutcore/themes/ace/src/controls/segmented/18px/segmented_normal.psd +0 -0
  394. data/lib/frameworks/sproutcore/themes/ace/src/controls/segmented/18px/segmented_selected.png +0 -0
  395. data/lib/frameworks/sproutcore/themes/ace/src/controls/segmented/18px/segmented_selected.psd +0 -0
  396. data/lib/frameworks/sproutcore/themes/ace/src/controls/segmented/18px/segmented_selected_active.png +0 -0
  397. data/lib/frameworks/sproutcore/themes/ace/src/controls/segmented/18px/segmented_selected_active.psd +0 -0
  398. data/lib/frameworks/sproutcore/themes/ace/src/controls/segmented/24px/segmented.css +0 -87
  399. data/lib/frameworks/sproutcore/themes/ace/src/controls/segmented/24px/segmented_active.png +0 -0
  400. data/lib/frameworks/sproutcore/themes/ace/src/controls/segmented/24px/segmented_active.psd +0 -0
  401. data/lib/frameworks/sproutcore/themes/ace/src/controls/segmented/24px/segmented_normal.png +0 -0
  402. data/lib/frameworks/sproutcore/themes/ace/src/controls/segmented/24px/segmented_normal.psd +0 -0
  403. data/lib/frameworks/sproutcore/themes/ace/src/controls/segmented/24px/segmented_selected.png +0 -0
  404. data/lib/frameworks/sproutcore/themes/ace/src/controls/segmented/24px/segmented_selected.psd +0 -0
  405. data/lib/frameworks/sproutcore/themes/ace/src/controls/segmented/24px/segmented_selected_active.png +0 -0
  406. data/lib/frameworks/sproutcore/themes/ace/src/controls/segmented/24px/segmented_selected_active.psd +0 -0
  407. data/lib/frameworks/sproutcore/themes/ace/src/controls/segmented/30px/segmented.css +0 -93
  408. data/lib/frameworks/sproutcore/themes/ace/src/controls/segmented/30px/segmented_active.png +0 -0
  409. data/lib/frameworks/sproutcore/themes/ace/src/controls/segmented/30px/segmented_active.psd +0 -0
  410. data/lib/frameworks/sproutcore/themes/ace/src/controls/segmented/30px/segmented_normal.png +0 -0
  411. data/lib/frameworks/sproutcore/themes/ace/src/controls/segmented/30px/segmented_normal.psd +0 -0
  412. data/lib/frameworks/sproutcore/themes/ace/src/controls/segmented/30px/segmented_selected.png +0 -0
  413. data/lib/frameworks/sproutcore/themes/ace/src/controls/segmented/30px/segmented_selected.psd +0 -0
  414. data/lib/frameworks/sproutcore/themes/ace/src/controls/segmented/30px/segmented_selected_active.png +0 -0
  415. data/lib/frameworks/sproutcore/themes/ace/src/controls/segmented/30px/segmented_selected_active.psd +0 -0
  416. data/lib/frameworks/sproutcore/themes/ace/src/controls/segmented/44px/segmented.css +0 -101
  417. data/lib/frameworks/sproutcore/themes/ace/src/controls/segmented/44px/segmented_active.png +0 -0
  418. data/lib/frameworks/sproutcore/themes/ace/src/controls/segmented/44px/segmented_active.psd +0 -0
  419. data/lib/frameworks/sproutcore/themes/ace/src/controls/segmented/44px/segmented_normal.png +0 -0
  420. data/lib/frameworks/sproutcore/themes/ace/src/controls/segmented/44px/segmented_normal.psd +0 -0
  421. data/lib/frameworks/sproutcore/themes/ace/src/controls/segmented/44px/segmented_selected.png +0 -0
  422. data/lib/frameworks/sproutcore/themes/ace/src/controls/segmented/44px/segmented_selected.psd +0 -0
  423. data/lib/frameworks/sproutcore/themes/ace/src/controls/segmented/44px/segmented_selected_active.png +0 -0
  424. data/lib/frameworks/sproutcore/themes/ace/src/controls/segmented/44px/segmented_selected_active.psd +0 -0
  425. data/lib/frameworks/sproutcore/themes/ace/src/controls/segmented/segmented.css +0 -73
  426. data/lib/frameworks/sproutcore/themes/ace/src/controls/segmented/segmented.js +0 -0
  427. data/lib/frameworks/sproutcore/themes/ace/src/controls/select/active_select.png +0 -0
  428. data/lib/frameworks/sproutcore/themes/ace/src/controls/select/active_select.psd +0 -0
  429. data/lib/frameworks/sproutcore/themes/ace/src/controls/select/menu.png +0 -0
  430. data/lib/frameworks/sproutcore/themes/ace/src/controls/select/normal_select.png +0 -0
  431. data/lib/frameworks/sproutcore/themes/ace/src/controls/select/normal_select.psd +0 -0
  432. data/lib/frameworks/sproutcore/themes/ace/src/controls/select/select.css +0 -45
  433. data/lib/frameworks/sproutcore/themes/ace/src/controls/slider/14px/knob.png +0 -0
  434. data/lib/frameworks/sproutcore/themes/ace/src/controls/slider/14px/knob.psd +0 -0
  435. data/lib/frameworks/sproutcore/themes/ace/src/controls/slider/14px/knob_active.png +0 -0
  436. data/lib/frameworks/sproutcore/themes/ace/src/controls/slider/14px/knob_active.psd +0 -0
  437. data/lib/frameworks/sproutcore/themes/ace/src/controls/slider/14px/slider.css +0 -43
  438. data/lib/frameworks/sproutcore/themes/ace/src/controls/slider/16px/knob.png +0 -0
  439. data/lib/frameworks/sproutcore/themes/ace/src/controls/slider/16px/knob.psd +0 -0
  440. data/lib/frameworks/sproutcore/themes/ace/src/controls/slider/16px/knob_active.png +0 -0
  441. data/lib/frameworks/sproutcore/themes/ace/src/controls/slider/16px/knob_active.psd +0 -0
  442. data/lib/frameworks/sproutcore/themes/ace/src/controls/slider/16px/slider.css +0 -44
  443. data/lib/frameworks/sproutcore/themes/ace/src/controls/slider/22px/knob.png +0 -0
  444. data/lib/frameworks/sproutcore/themes/ace/src/controls/slider/22px/knob.psd +0 -0
  445. data/lib/frameworks/sproutcore/themes/ace/src/controls/slider/22px/knob_active.png +0 -0
  446. data/lib/frameworks/sproutcore/themes/ace/src/controls/slider/22px/knob_active.psd +0 -0
  447. data/lib/frameworks/sproutcore/themes/ace/src/controls/slider/22px/slider.css +0 -44
  448. data/lib/frameworks/sproutcore/themes/ace/src/controls/slider/22px/track.png +0 -0
  449. data/lib/frameworks/sproutcore/themes/ace/src/controls/slider/22px/track.psd +0 -0
  450. data/lib/frameworks/sproutcore/themes/ace/src/controls/slider/slider.css +0 -3
  451. data/lib/frameworks/sproutcore/themes/ace/src/controls/slider/slider.js +0 -27
  452. data/lib/frameworks/sproutcore/themes/ace/src/controls/slider/track.png +0 -0
  453. data/lib/frameworks/sproutcore/themes/ace/src/controls/slider/track.psd +0 -0
  454. data/lib/frameworks/sproutcore/themes/ace/src/controls/switch/24px/switch.psd +0 -0
  455. data/lib/frameworks/sproutcore/themes/ace/src/controls/switch/24px/switch_handle.png +0 -0
  456. data/lib/frameworks/sproutcore/themes/ace/src/controls/switch/24px/switch_handle.psd +0 -0
  457. data/lib/frameworks/sproutcore/themes/ace/src/controls/switch/24px/switch_off.png +0 -0
  458. data/lib/frameworks/sproutcore/themes/ace/src/controls/switch/24px/switch_off.psd +0 -0
  459. data/lib/frameworks/sproutcore/themes/ace/src/controls/switch/24px/switch_on.png +0 -0
  460. data/lib/frameworks/sproutcore/themes/ace/src/controls/switch/24px/switch_on.psd +0 -0
  461. data/lib/frameworks/sproutcore/themes/ace/src/core/loading.css +0 -50
  462. data/lib/frameworks/sproutcore/themes/ace/src/dark/buttons/24px/active_button.png +0 -0
  463. data/lib/frameworks/sproutcore/themes/ace/src/dark/buttons/24px/active_button.psd +0 -0
  464. data/lib/frameworks/sproutcore/themes/ace/src/dark/buttons/24px/active_button_capsule.png +0 -0
  465. data/lib/frameworks/sproutcore/themes/ace/src/dark/buttons/24px/active_button_capsule.psd +0 -0
  466. data/lib/frameworks/sproutcore/themes/ace/src/dark/buttons/24px/active_button_pointer.png +0 -0
  467. data/lib/frameworks/sproutcore/themes/ace/src/dark/buttons/24px/active_button_pointer.psd +0 -0
  468. data/lib/frameworks/sproutcore/themes/ace/src/dark/buttons/24px/button_view.css +0 -142
  469. data/lib/frameworks/sproutcore/themes/ace/src/dark/buttons/24px/normal_button.png +0 -0
  470. data/lib/frameworks/sproutcore/themes/ace/src/dark/buttons/24px/normal_button.psd +0 -0
  471. data/lib/frameworks/sproutcore/themes/ace/src/dark/buttons/24px/normal_button_capsule.png +0 -0
  472. data/lib/frameworks/sproutcore/themes/ace/src/dark/buttons/24px/normal_button_capsule.psd +0 -0
  473. data/lib/frameworks/sproutcore/themes/ace/src/dark/buttons/24px/normal_button_pointer.png +0 -0
  474. data/lib/frameworks/sproutcore/themes/ace/src/dark/buttons/24px/normal_button_pointer.psd +0 -0
  475. data/lib/frameworks/sproutcore/themes/ace/src/dark/buttons/24px/selected_active_button.png +0 -0
  476. data/lib/frameworks/sproutcore/themes/ace/src/dark/buttons/24px/selected_active_button.psd +0 -0
  477. data/lib/frameworks/sproutcore/themes/ace/src/dark/buttons/24px/selected_active_button_capsule.png +0 -0
  478. data/lib/frameworks/sproutcore/themes/ace/src/dark/buttons/24px/selected_active_button_capsule.psd +0 -0
  479. data/lib/frameworks/sproutcore/themes/ace/src/dark/buttons/24px/selected_active_button_pointer.png +0 -0
  480. data/lib/frameworks/sproutcore/themes/ace/src/dark/buttons/24px/selected_active_button_pointer.psd +0 -0
  481. data/lib/frameworks/sproutcore/themes/ace/src/dark/buttons/24px/selected_button.png +0 -0
  482. data/lib/frameworks/sproutcore/themes/ace/src/dark/buttons/24px/selected_button.psd +0 -0
  483. data/lib/frameworks/sproutcore/themes/ace/src/dark/buttons/24px/selected_button_capsule.png +0 -0
  484. data/lib/frameworks/sproutcore/themes/ace/src/dark/buttons/24px/selected_button_capsule.psd +0 -0
  485. data/lib/frameworks/sproutcore/themes/ace/src/dark/buttons/24px/selected_button_pointer.png +0 -0
  486. data/lib/frameworks/sproutcore/themes/ace/src/dark/buttons/24px/selected_button_pointer.psd +0 -0
  487. data/lib/frameworks/sproutcore/themes/ace/src/dark/buttons/30px/active_button.png +0 -0
  488. data/lib/frameworks/sproutcore/themes/ace/src/dark/buttons/30px/active_button.psd +0 -0
  489. data/lib/frameworks/sproutcore/themes/ace/src/dark/buttons/30px/active_button_pointer.png +0 -0
  490. data/lib/frameworks/sproutcore/themes/ace/src/dark/buttons/30px/active_button_pointer.psd +0 -0
  491. data/lib/frameworks/sproutcore/themes/ace/src/dark/buttons/30px/button_view_30.css +0 -111
  492. data/lib/frameworks/sproutcore/themes/ace/src/dark/buttons/30px/normal_button.png +0 -0
  493. data/lib/frameworks/sproutcore/themes/ace/src/dark/buttons/30px/normal_button.psd +0 -0
  494. data/lib/frameworks/sproutcore/themes/ace/src/dark/buttons/30px/normal_button_pointer.png +0 -0
  495. data/lib/frameworks/sproutcore/themes/ace/src/dark/buttons/30px/normal_button_pointer.psd +0 -0
  496. data/lib/frameworks/sproutcore/themes/ace/src/dark/buttons/30px/selected_active_button.png +0 -0
  497. data/lib/frameworks/sproutcore/themes/ace/src/dark/buttons/30px/selected_active_button.psd +0 -0
  498. data/lib/frameworks/sproutcore/themes/ace/src/dark/buttons/30px/selected_active_button_pointer.png +0 -0
  499. data/lib/frameworks/sproutcore/themes/ace/src/dark/buttons/30px/selected_active_button_pointer.psd +0 -0
  500. data/lib/frameworks/sproutcore/themes/ace/src/dark/buttons/30px/selected_button.png +0 -0
  501. data/lib/frameworks/sproutcore/themes/ace/src/dark/buttons/30px/selected_button.psd +0 -0
  502. data/lib/frameworks/sproutcore/themes/ace/src/dark/buttons/30px/selected_button_pointer.png +0 -0
  503. data/lib/frameworks/sproutcore/themes/ace/src/dark/buttons/30px/selected_button_pointer.psd +0 -0
  504. data/lib/frameworks/sproutcore/themes/ace/src/dark/buttons/button.css +0 -20
  505. data/lib/frameworks/sproutcore/themes/ace/src/dark/buttons/button.js +0 -3
  506. data/lib/frameworks/sproutcore/themes/ace/src/form/iphone/form.js +0 -21
  507. data/lib/frameworks/sproutcore/themes/ace/src/form/iphone/form_row.js +0 -24
  508. data/lib/frameworks/sproutcore/themes/ace/src/form/iphone/iphone.css +0 -51
  509. data/lib/frameworks/sproutcore/themes/ace/src/form/iphone/iphone.js +0 -14
  510. data/lib/frameworks/sproutcore/themes/ace/src/form/iphone/label.js +0 -32
  511. data/lib/frameworks/sproutcore/themes/ace/src/panels/pane.css +0 -3
  512. data/lib/frameworks/sproutcore/themes/ace/src/panels/panel.css +0 -70
  513. data/lib/frameworks/sproutcore/themes/ace/src/panels/panel.png +0 -0
  514. data/lib/frameworks/sproutcore/themes/ace/src/panels/panel.psd +0 -0
  515. data/lib/frameworks/sproutcore/themes/ace/src/panels/picker/menu/checkmark.png +0 -0
  516. data/lib/frameworks/sproutcore/themes/ace/src/panels/picker/menu/checkmark.psd +0 -0
  517. data/lib/frameworks/sproutcore/themes/ace/src/panels/picker/menu/checkmark_active.png +0 -0
  518. data/lib/frameworks/sproutcore/themes/ace/src/panels/picker/menu/checkmark_active.psd +0 -0
  519. data/lib/frameworks/sproutcore/themes/ace/src/panels/picker/menu/down.png +0 -0
  520. data/lib/frameworks/sproutcore/themes/ace/src/panels/picker/menu/down.psd +0 -0
  521. data/lib/frameworks/sproutcore/themes/ace/src/panels/picker/menu/menu.css +0 -154
  522. data/lib/frameworks/sproutcore/themes/ace/src/panels/picker/menu/menu.png +0 -0
  523. data/lib/frameworks/sproutcore/themes/ace/src/panels/picker/menu/menu.psd +0 -0
  524. data/lib/frameworks/sproutcore/themes/ace/src/panels/picker/menu/menu_item.png +0 -0
  525. data/lib/frameworks/sproutcore/themes/ace/src/panels/picker/menu/menu_item.psd +0 -0
  526. data/lib/frameworks/sproutcore/themes/ace/src/panels/picker/menu/up.png +0 -0
  527. data/lib/frameworks/sproutcore/themes/ace/src/panels/picker/menu/up.psd +0 -0
  528. data/lib/frameworks/sproutcore/themes/ace/src/panels/picker/picker.css +0 -0
  529. data/lib/frameworks/sproutcore/themes/ace/src/panels/picker/picker.js +0 -1
  530. data/lib/frameworks/sproutcore/themes/ace/src/panels/picker/popover/picker.js +0 -14
  531. data/lib/frameworks/sproutcore/themes/ace/src/panels/picker/popover/popover.css +0 -271
  532. data/lib/frameworks/sproutcore/themes/ace/src/panels/picker/popover/popover.js +0 -5
  533. data/lib/frameworks/sproutcore/themes/ace/src/panels/picker/popover/popover.png +0 -0
  534. data/lib/frameworks/sproutcore/themes/ace/src/panels/picker/popover/popover.psd +0 -0
  535. data/lib/frameworks/sproutcore/themes/ace/src/panels/picker/popover/popover_empty.png +0 -0
  536. data/lib/frameworks/sproutcore/themes/ace/src/panels/picker/popover/popover_empty.psd +0 -0
  537. data/lib/frameworks/sproutcore/themes/ace/src/panels/picker/popover/popover_notoolbar.png +0 -0
  538. data/lib/frameworks/sproutcore/themes/ace/src/panels/picker/popover/popover_notoolbar.psd +0 -0
  539. data/lib/frameworks/sproutcore/themes/ace/src/panels/picker/popover/popover_pointers.png +0 -0
  540. data/lib/frameworks/sproutcore/themes/ace/src/panels/picker/popover/popover_pointers.psd +0 -0
  541. data/lib/frameworks/sproutcore/themes/ace/src/panels/picker/popover/popover_pointers_notoolbar.png +0 -0
  542. data/lib/frameworks/sproutcore/themes/ace/src/panels/picker/popover/popover_pointers_notoolbar.psd +0 -0
  543. data/lib/frameworks/sproutcore/themes/ace/src/panels/picker/popover/popover_sourcelist.css +0 -5
  544. data/lib/frameworks/sproutcore/themes/ace/src/panels/picker/popover/workspace.js +0 -51
  545. data/lib/frameworks/sproutcore/themes/ace/src/theme.js +0 -12
  546. data/lib/frameworks/sproutcore/themes/ace/src/toolbars/normal/selection.png +0 -0
  547. data/lib/frameworks/sproutcore/themes/ace/src/toolbars/normal/toolbar.css +0 -8
  548. data/lib/frameworks/sproutcore/themes/ace/src/toolbars/normal/toolbar.png +0 -0
  549. data/lib/frameworks/sproutcore/themes/ace/src/toolbars/normal/toolbar.psd +0 -0
  550. data/lib/frameworks/sproutcore/themes/ace/src/toolbars/panel_header/panel_header.png +0 -0
  551. data/lib/frameworks/sproutcore/themes/ace/src/toolbars/panel_header/panel_header.psd +0 -0
  552. data/lib/frameworks/sproutcore/themes/empty_theme/theme.js +0 -16
@@ -1677,12 +1677,14 @@ SC.CollectionView = SC.View.extend(
1677
1677
 
1678
1678
  // Ensure we are not out of bounds
1679
1679
  if (SC.none(selTop) || (selTop < 0)) selTop = 0 ;
1680
+ if (!content.objectAt(selTop)) selTop = sel ? sel.get('min') : -1;
1680
1681
  if (selBottom < selTop) selBottom = selTop ;
1681
1682
 
1682
1683
  // if not extending, just select the item previous to the selTop
1683
1684
  } else {
1684
1685
  selTop = this._findPreviousSelectableItemFromIndex(selTop - numberOfItems);
1685
1686
  if (SC.none(selTop) || (selTop < 0)) selTop = 0 ;
1687
+ if (!content.objectAt(selTop)) selTop = sel ? sel.get('min') : -1;
1686
1688
  selBottom = selTop ;
1687
1689
  anchor = null ;
1688
1690
  }
@@ -1740,6 +1742,11 @@ SC.CollectionView = SC.View.extend(
1740
1742
 
1741
1743
  // Ensure we are not out of bounds
1742
1744
  if (selBottom >= lim) selBottom = lim-1;
1745
+
1746
+ // we also need to check that the item exists
1747
+ if (!content.objectAt(selBottom)) selBottom = sel ? sel.get('max') - 1 : -1;
1748
+
1749
+ // and if top has eclipsed bottom, handle that too.
1743
1750
  if (selTop > selBottom) selTop = selBottom ;
1744
1751
 
1745
1752
  // if not extending, just select the item next to the selBottom
@@ -1747,6 +1754,7 @@ SC.CollectionView = SC.View.extend(
1747
1754
  selBottom = this._findNextSelectableItemFromIndex(selBottom + numberOfItems, selBottom);
1748
1755
 
1749
1756
  if (selBottom >= lim) selBottom = lim-1;
1757
+ if (!content.objectAt(selBottom)) selBottom = sel ? sel.get('max') - 1 : -1;
1750
1758
  selTop = selBottom ;
1751
1759
  anchor = null ;
1752
1760
  }
@@ -2294,7 +2302,9 @@ SC.CollectionView = SC.View.extend(
2294
2302
  // ..........................................................
2295
2303
  // TOUCH EVENTS
2296
2304
  //
2297
- touchStart: function(touch, evt) {
2305
+
2306
+ touchStart: function(ev) {
2307
+
2298
2308
  // When the user presses the mouse down, we don't do much just yet.
2299
2309
  // Instead, we just need to save a bunch of state about the mouse down
2300
2310
  // so we can choose the right thing to do later.
@@ -2305,15 +2315,16 @@ SC.CollectionView = SC.View.extend(
2305
2315
  // find the actual view the mouse was pressed down on. This will call
2306
2316
  // hitTest() on item views so they can implement non-square detection
2307
2317
  // modes. -- once we have an item view, get its content object as well.
2308
- var itemView = this.itemViewForEvent(touch),
2318
+ var itemView = this.itemViewForEvent(ev),
2309
2319
  content = this.get('content'),
2310
2320
  contentIndex = itemView ? itemView.get('contentIndex') : -1,
2311
2321
  info, anchor ;
2312
-
2322
+
2313
2323
  // become first responder if possible.
2314
2324
  this.becomeFirstResponder() ;
2325
+ this.select(contentIndex, NO);
2315
2326
 
2316
- this.invokeLater("select", 1, contentIndex);
2327
+ this._cv_performSelectAction(this, ev);
2317
2328
 
2318
2329
  return YES;
2319
2330
  },
@@ -2330,13 +2341,6 @@ SC.CollectionView = SC.View.extend(
2330
2341
  }, this);
2331
2342
 
2332
2343
  },
2333
-
2334
- touchEnd: function(touch) {
2335
- var itemView = this.itemViewForEvent(touch);
2336
-
2337
- // If actOnSelect is implemented, the action will be fired.
2338
- this._cv_performSelectAction(itemView, touch, 0);
2339
- },
2340
2344
 
2341
2345
  touchCancelled: function(evt) {
2342
2346
  this.select(null, NO);
@@ -22,7 +22,7 @@ SC.DisclosureView = SC.ButtonView.extend(
22
22
 
23
23
  classNames: ['sc-disclosure-view'],
24
24
 
25
- controlStyle: 'disclosure',
25
+ theme: 'disclosure',
26
26
  buttonBehavior: SC.TOGGLE_BEHAVIOR,
27
27
 
28
28
  /**
@@ -39,24 +39,23 @@ SC.DisclosureView = SC.ButtonView.extend(
39
39
  /** @private */
40
40
  valueBindingDefault: SC.Binding.bool() ,
41
41
 
42
- createRenderer: function(theme) {
43
- var ret = theme.disclosureControl();
44
- this.updateRenderer(ret);
45
- return ret;
42
+ /** @private */
43
+ render: function(context, firstTime) {
44
+ var title = this.get('displayTitle');
45
+ if(firstTime) {
46
+ context.push('<img src="', SC.BLANK_IMAGE_URL, '" class="button" alt="" />');
47
+ if(this.get('needsEllipsis')) {
48
+ context.push('<span class="ellipsis sc-button-label">',title,'</span>');
49
+ }
50
+ else {
51
+ context.push('<span class="sc-button-label">', title,'</span>');
52
+ }
53
+ }
54
+ else {
55
+ this.$('label').text(title);
56
+ }
46
57
  },
47
58
 
48
- updateRenderer: function(renderer) {
49
- renderer.attr({
50
- icon: this.get('icon'),
51
- isActive: this.get('isActive'),
52
- isEnabled: this.get('isEnabled'),
53
- isSelected: this.get('isSelected'),
54
- needsEllipsis: this.get('needsEllipsis'),
55
- state: this.value === this.get('toggleOnValue') ? YES : NO,
56
- title: this.get('displayTitle')
57
- });
58
- },
59
-
60
59
  /**
61
60
  Allows toggling of the value with the right and left arrow keys.
62
61
  Extends the behavior inherted from SC.ButtonView.
@@ -27,25 +27,11 @@ SC.LIST_ITEM_ACTION_EJECT = 'sc-list-item-cancel-eject';
27
27
  @since SproutCore 1.0
28
28
  */
29
29
  SC.ListItemView = SC.View.extend(
30
- SC.StaticLayout,
31
30
  SC.Control,
32
31
  /** @scope SC.ListItemView.prototype */ {
33
32
 
34
33
  classNames: ['sc-list-item-view'],
35
34
 
36
- displayProperties: ['disclosureState', 'escapeHTML'],
37
-
38
-
39
- init: function() {
40
- sc_super();
41
-
42
- // add support for deprecated render method
43
- if (this.render !== SC.View.prototype.render) {
44
- // we have a custom render method, freak out!
45
- this.render.base = this.__DEPRECATED__render;
46
- }
47
- },
48
-
49
35
  // ..........................................................
50
36
  // KEY PROPERTIES
51
37
  //
@@ -90,12 +76,6 @@ SC.ListItemView = SC.View.extend(
90
76
  */
91
77
  contentCheckboxKey: null,
92
78
 
93
- /**
94
- The URL or CSS class name to use for the icon. This is only used if
95
- contentIconKey is null, or returns null from the delegate.
96
- */
97
- icon: null,
98
-
99
79
  /**
100
80
  (displayDelegate) Property key to use for the icon url
101
81
 
@@ -104,12 +84,6 @@ SC.ListItemView = SC.View.extend(
104
84
  */
105
85
  contentIconKey: null,
106
86
 
107
- /**
108
- The URL or CSS class name to use for the right icon. This is only used if
109
- contentRightIconKey is null, or returns null from the delegate.
110
- */
111
- rightIcon: null,
112
-
113
87
  /**
114
88
  (displayDelegate) Property key to use for the right icon url
115
89
 
@@ -200,91 +174,208 @@ SC.ListItemView = SC.View.extend(
200
174
  return content && (content.get ? content.get('isEditable')!==NO : NO);
201
175
  }.property('content').cacheable(),
202
176
 
203
-
204
- createRenderer: function(theme) {
205
- var ret = theme.listItem();
206
- this.updateRenderer(ret);
207
- return ret;
208
- },
209
-
210
- updateRenderer: function(renderer) {
177
+ /**
178
+ Fills the passed html-array with strings that can be joined to form the
179
+ innerHTML of the receiver element. Also populates an array of classNames
180
+ to set on the outer element.
181
+
182
+ @param {SC.RenderContext} context
183
+ @param {Boolean} firstTime
184
+ @returns {void}
185
+ */
186
+ render: function(context, firstTime) {
211
187
  var content = this.get('content'),
212
- del = this.displayDelegate,
213
- key, value;
214
-
215
- var attrs = {
216
- contentIndex: this.get('contentIndex'),
217
- contentIsEditable: this.get('contentIsEditable'),
218
- escapeHTML: this.get('escapeHTML'),
219
- isEnabled: this.get('isEnabled'),
220
- outlineIndent: this.get('outlineIndent'),
221
- outlineLevel: this.get('outlineLevel')
222
- };
223
-
224
- // disclosure
188
+ del = this.displayDelegate,
189
+ level = this.get('outlineLevel'),
190
+ indent = this.get('outlineIndent'),
191
+ key, value, working, classArray = [];
192
+
193
+ // add alternating row classes
194
+ classArray.push((this.get('contentIndex')%2 === 0) ? 'even' : 'odd');
195
+ context.setClass('disabled', !this.get('isEnabled'));
196
+
197
+ // outline level wrapper
198
+ working = context.begin("div").addClass("sc-outline");
199
+ if (level>=0 && indent>0) working.addStyle("left", indent*(level+1));
200
+
201
+ // handle disclosure triangle
225
202
  value = this.get('disclosureState');
226
203
  if (value !== SC.LEAF_NODE) {
227
- attrs.disclosureState = value === SC.BRANCH_OPEN ? YES : NO;
228
- } else {
229
- // nullify as renderer may have been true/false before
230
- attrs.disclosureState = null;
204
+ this.renderDisclosure(working, value);
205
+ classArray.push('has-disclosure');
231
206
  }
232
207
 
233
- // checkbox
234
- if (key = this.getDelegateProperty('contentCheckboxKey', del)) {
235
- value = content ? (content.get ? content.get(key) : content[key]) : NO;
236
- attrs.checkbox = value;
208
+
209
+ // handle checkbox
210
+ key = this.getDelegateProperty('contentCheckboxKey', del) ;
211
+ if (key) {
212
+ value = content ? (content.get ? content.get(key) : content[key]) : NO ;
213
+ this.renderCheckbox(working, value);
214
+ classArray.push('has-checkbox');
237
215
  }
238
216
 
239
- // icon
217
+ // handle icon
240
218
  if (this.getDelegateProperty('hasContentIcon', del)) {
241
- key = this.getDelegateProperty('contentIconKey', del);
242
- value = (key && content) ? (content.get ? content.get(key) : content[key]) : null;
243
- attrs.icon = value;
244
- } else if (!SC.none(this.icon)) {
245
- attrs.icon = this.get('icon');
219
+ key = this.getDelegateProperty('contentIconKey', del) ;
220
+ value = (key && content) ? (content.get ? content.get(key) : content[key]) : null ;
221
+
222
+ this.renderIcon(working, value);
223
+ classArray.push('has-icon');
246
224
  }
247
225
 
248
- // label, always on
226
+ // handle label -- always invoke
249
227
  key = this.getDelegateProperty('contentValueKey', del) ;
250
- value = (key && content) ? (content.get ? content.get(key) : content[key]) : content;
251
- if (value && SC.typeOf(value) !== SC.T_STRING) {
252
- value = value.toString();
253
- }
254
- attrs.label = value;
255
-
256
- // right icon
228
+ value = (key && content) ? (content.get ? content.get(key) : content[key]) : content ;
229
+ if (value && SC.typeOf(value) !== SC.T_STRING) value = value.toString();
230
+ if (this.get('escapeHTML')) value = SC.RenderContext.escapeHTML(value);
231
+ this.renderLabel(working, value);
232
+
233
+ // handle right icon
257
234
  if (this.getDelegateProperty('hasContentRightIcon', del)) {
258
- key = this.getDelegateProperty('contentRightIconKey', del);
259
- value = (key && content) ? (content.get ? content.get(key) : content[key]) : null;
260
- attrs.rightIcon = value;
261
- } else if (!SC.none(this.rightIcon)) {
262
- attrs.rightIcon = this.get('rightIcon');
235
+ key = this.getDelegateProperty('contentRightIconKey', del) ;
236
+ value = (key && content) ? (content.get ? content.get(key) : content[key]) : null ;
237
+
238
+ this.renderRightIcon(working, value);
239
+ classArray.push('has-right-icon');
263
240
  }
264
241
 
265
- // unread count
242
+ // handle unread count
266
243
  key = this.getDelegateProperty('contentUnreadCountKey', del) ;
267
- value = (key && content) ? (content.get ? content.get(key) : content[key]) : null;
268
- attrs.count = value;
269
-
270
- // WTF does the listItemActionProperty do?
271
- // its render function does essentially nothing?
272
- // key = this.getDelegateProperty('listItemActionProperty', del) ;
273
- // value = (key && content) ? (content.get ? content.get(key) : content[key]) : null ;
274
- // if (value) {
275
- // this.renderAction(working, value);
276
- // classArray.push('has-action');
277
- // }
244
+ value = (key && content) ? (content.get ? content.get(key) : content[key]) : null ;
245
+ if (!SC.none(value) && (value !== 0)) {
246
+ this.renderCount(working, value) ;
247
+ var digits = ['zero', 'one', 'two', 'three', 'four', 'five'];
248
+ var valueLength = value.toString().length;
249
+ var digitsLength = digits.length;
250
+ var digit = (valueLength < digitsLength) ? digits[valueLength] : digits[digitsLength-1];
251
+ classArray.push('has-count '+digit+'-digit');
252
+ }
253
+
254
+ // handle action
255
+ key = this.getDelegateProperty('listItemActionProperty', del) ;
256
+ value = (key && content) ? (content.get ? content.get(key) : content[key]) : null ;
257
+ if (value) {
258
+ this.renderAction(working, value);
259
+ classArray.push('has-action');
260
+ }
278
261
 
262
+ // handle branch
279
263
  if (this.getDelegateProperty('hasContentBranch', del)) {
280
264
  key = this.getDelegateProperty('contentIsBranchKey', del);
281
- value = (key && content) ? (content.get ? content.get(key) : content[key]) : NO;
282
- attrs.branch = value;
265
+ value = (key && content) ? (content.get ? content.get(key) : content[key]) : NO ;
266
+ this.renderBranch(working, value);
267
+ classArray.push('has-branch');
268
+ }
269
+ context.addClass(classArray);
270
+ context = working.end();
271
+ },
272
+
273
+ /**
274
+ Adds a disclosure triangle with the appropriate display to the content.
275
+ This method will only be called if the disclosure state of the view is
276
+ something other than SC.LEAF_NODE.
277
+
278
+ @param {SC.RenderContext} context the render context
279
+ @param {Boolean} state YES, NO or SC.MIXED_STATE
280
+ @returns {void}
281
+ */
282
+ renderDisclosure: function(context, state) {
283
+ var key = (state === SC.BRANCH_OPEN) ? "open" : "closed",
284
+ cache = this._scli_disclosureHtml,
285
+ html, tmp;
286
+
287
+ if (!cache) cache = this.constructor.prototype._scli_disclosureHtml = {};
288
+ html = cache[key];
289
+
290
+ if (!html) {
291
+ html = cache[key] = '<img src="'+SC.BLANK_IMAGE_URL+'" class="disclosure button '+key+'" />';
283
292
  }
293
+
294
+ context.push(html);
295
+ },
296
+
297
+ /**
298
+ Adds a checkbox with the appropriate state to the content. This method
299
+ will only be called if the list item view is supposed to have a
300
+ checkbox.
301
+
302
+ @param {SC.RenderContext} context the render context
303
+ @param {Boolean} state YES, NO or SC.MIXED_STATE
304
+ @returns {void}
305
+ */
306
+ renderCheckbox: function(context, state) {
307
+
308
+ var key = (state === SC.MIXED_STATE) ? "mixed" : state ? "sel" : "nosel",
309
+ cache = this._scli_checkboxHtml,
310
+ isEnabled = this.get('contentIsEditable') && this.get('isEnabled'),
311
+ html, tmp, classArray=[];
284
312
 
285
- renderer.attr(attrs);
313
+ if (!isEnabled) key = SC.keyFor('disabled', key);
314
+ if (!cache) cache = this.constructor.prototype._scli_checkboxHtml = {};
315
+ html = cache[key];
316
+
317
+ if (!html) {
318
+ tmp = SC.RenderContext('div').attr('role', 'button')
319
+ .classNames(SC.clone(SC.CheckboxView.prototype.classNames));
320
+
321
+ // set state on html
322
+ if (state === SC.MIXED_STATE) classArray.push('mixed');
323
+ else if(state) classArray.push('sel');
324
+
325
+ // disabled
326
+ if(!isEnabled) classArray.push('disabled');
327
+
328
+ tmp.addClass(classArray);
329
+
330
+ // now add inner content. note we do not add a real checkbox because
331
+ // we don't want to have to setup a change observer on it.
332
+ tmp.push('<span class="button"></span>');
333
+
334
+ // apply edit
335
+ html = cache[key] = tmp.join();
336
+ }
337
+
338
+ context.push(html);
286
339
  },
340
+
341
+ /**
342
+ Generates an icon for the label based on the content. This method will
343
+ only be called if the list item view has icons enabled. You can override
344
+ this method to display your own type of icon if desired.
345
+
346
+ @param {SC.RenderContext} context the render context
347
+ @param {String} icon a URL or class name.
348
+ @returns {void}
349
+ */
350
+ renderIcon: function(context, icon){
351
+ // get a class name and url to include if relevant
352
+ var url = null, className = null , classArray=[];
353
+ if (icon && SC.ImageView.valueIsUrl(icon)) {
354
+ url = icon; className = '' ;
355
+ } else {
356
+ className = icon; url = SC.BLANK_IMAGE_URL ;
357
+ }
287
358
 
359
+ // generate the img element...
360
+ classArray.push(className,'icon');
361
+ context.begin('img')
362
+ .addClass(classArray)
363
+ .attr('src', url)
364
+ .end();
365
+ },
366
+
367
+ /**
368
+ Generates a label based on the content. You can override this method to
369
+ render your own label if desired.
370
+
371
+ @param {SC.RenderContext} context the render context
372
+ @param {String} label the label to display, already HTML escaped.
373
+ @returns {void}
374
+ */
375
+ renderLabel: function(context, label) {
376
+ context.push('<label>', label || '', '</label>') ;
377
+ },
378
+
288
379
  /**
289
380
  Finds and retrieves the element containing the label. This is used
290
381
  for inline editing. The default implementation returns a CoreQuery
@@ -296,6 +387,46 @@ SC.ListItemView = SC.View.extend(
296
387
  $label: function() {
297
388
  return this.$('label') ;
298
389
  },
390
+
391
+ /**
392
+ Generates a right icon for the label based on the content. This method
393
+ will only be called if the list item view has icons enabled. You can
394
+ override this method to display your own type of icon if desired.
395
+
396
+ @param {SC.RenderContext} context the render context
397
+ @param {String} icon a URL or class name.
398
+ @returns {void}
399
+ */
400
+ renderRightIcon: function(context, icon){
401
+ // get a class name and url to include if relevant
402
+ var url = null, className = null, classArray=[];
403
+ if (icon && SC.ImageView.valueIsUrl(icon)) {
404
+ url = icon; className = '' ;
405
+ } else {
406
+ className = icon; url = SC.BLANK_IMAGE_URL ;
407
+ }
408
+
409
+ // generate the img element...
410
+ classArray.push('right-icon',className);
411
+ context.begin('img')
412
+ .addClass(classArray)
413
+ .attr('src', url)
414
+ .end();
415
+ },
416
+
417
+ /**
418
+ Generates an unread or other count for the list item. This method will
419
+ only be called if the list item view has counts enabled. You can
420
+ override this method to display your own type of counts if desired.
421
+
422
+ @param {SC.RenderContext} context the render context
423
+ @param {Number} count the count
424
+ @returns {void}
425
+ */
426
+ renderCount: function(context, count) {
427
+ context.push('<span class="count"><span class="inner">',
428
+ count.toString(),'</span></span>') ;
429
+ },
299
430
 
300
431
  /**
301
432
  Generates the html string used to represent the action item for your
@@ -309,6 +440,23 @@ SC.ListItemView = SC.View.extend(
309
440
  context.push('<img src="',SC.BLANK_IMAGE_URL,'" class="action" />');
310
441
  },
311
442
 
443
+ /**
444
+ Generates the string used to represent the branch arrow. override this to
445
+ return your own custom HTML
446
+
447
+ @param {SC.RenderContext} context the render context
448
+ @param {Boolean} hasBranch YES if the item has a branch
449
+ @returns {void}
450
+ */
451
+ renderBranch: function(context, hasBranch) {
452
+ var classArray=[];
453
+ classArray.push('branch',hasBranch ? 'branch-visible' : 'branch-hidden');
454
+ context.begin('span')
455
+ .addClass(classArray)
456
+ .push('&nbsp;')
457
+ .end();
458
+ },
459
+
312
460
  /**
313
461
  Determines if the event occured inside an element with the specified
314
462
  classname or not.
@@ -453,22 +601,22 @@ SC.ListItemView = SC.View.extend(
453
601
  this._addCheckboxActiveState() ;
454
602
  this._isMouseInsideCheckbox = YES ;
455
603
  } else if (this._isMouseDownOnCheckbox) {
456
- this._removeCheckboxActiveState() ;
457
- this._isMouseInsideCheckbox = NO ;
604
+ this._removeCheckboxActiveState() ;
605
+ this._isMouseInsideCheckbox = NO ;
458
606
  } else if (this._isMouseDownOnDisclosure && this._isInsideDisclosure(evt)) {
459
607
  this._addDisclosureActiveState();
460
608
  this._isMouseInsideDisclosure = YES;
461
- } else if (this._isMouseDownOnDisclosure) {
462
- this._removeDisclosureActiveState();
463
- this._isMouseInsideDisclosure = NO ;
609
+ } else if (this._isMouseDownOnDisclosure) {
610
+ this._removeDisclosureActiveState();
611
+ this._isMouseInsideDisclosure = NO ;
464
612
  } else if (this._isMouseDownOnRightIcon && this._isInsideRightIcon(evt)) {
465
613
  this._addRightIconActiveState();
466
614
  this._isMouseInsideRightIcon = YES;
467
- } else if (this._isMouseDownOnRightIcon) {
468
- this._removeRightIconActiveState();
469
- this._isMouseInsideRightIcon = NO ;
470
- }
471
- return NO ;
615
+ } else if (this._isMouseDownOnRightIcon) {
616
+ this._removeRightIconActiveState();
617
+ this._isMouseInsideRightIcon = NO ;
618
+ }
619
+ return NO ;
472
620
  },
473
621
 
474
622
  touchStart: function(evt){
@@ -489,43 +637,29 @@ SC.ListItemView = SC.View.extend(
489
637
 
490
638
 
491
639
  _addCheckboxActiveState: function() {
492
- if (this.get('isEnabled')) {
493
- this.renderer.attr({
494
- checkboxActive: YES
495
- });
496
- this.displayDidChange();
497
- }
640
+ var enabled = this.get('isEnabled');
641
+ this.$('.sc-checkbox-view').setClass('active', enabled);
498
642
  },
499
643
 
500
644
  _removeCheckboxActiveState: function() {
501
- this.renderer.attr({
502
- checkboxActive: NO
503
- });
504
- this.displayDidChange();
645
+ this.$('.sc-checkbox-view').removeClass('active');
505
646
  },
506
647
 
507
648
  _addDisclosureActiveState: function() {
508
- if (this.get('isEnabled')) {
509
- this.renderer.attr({
510
- disclosureActive: YES
511
- });
512
- this.displayDidChange();
513
- }
649
+ var enabled = this.get('isEnabled');
650
+ this.$('img.disclosure').setClass('active', enabled);
514
651
  },
515
652
 
516
653
  _removeDisclosureActiveState: function() {
517
- this.renderer.attr({
518
- disclosureActive: NO
519
- });
520
- this.displayDidChange();
654
+ this.$('img.disclosure').removeClass('active');
521
655
  },
522
656
 
523
657
  _addRightIconActiveState: function() {
524
- this.$('img.right-icon').setClass('active', YES);
658
+ this.$('img.right-icon').setClass('active', YES);
525
659
  },
526
660
 
527
661
  _removeRightIconActiveState: function() {
528
- this.$('img.right-icon').removeClass('active');
662
+ this.$('img.right-icon').removeClass('active');
529
663
  },
530
664
 
531
665
  /**
@@ -539,27 +673,27 @@ SC.ListItemView = SC.View.extend(
539
673
  @returns {Boolean} YES if the mouse was on the content element itself.
540
674
  */
541
675
  contentHitTest: function(evt) {
542
- // if not content value is returned, not much to do.
543
- var del = this.displayDelegate ;
544
- var labelKey = this.getDelegateProperty('contentValueKey', del) ;
545
- if (!labelKey) return NO ;
546
-
547
- // get the element to check for.
548
- var el = this.$label()[0] ;
549
- if (!el) return NO ; // no label to check for.
550
-
551
- var cur = evt.target, layer = this.get('layer') ;
552
- while(cur && (cur !== layer) && (cur !== window)) {
553
- if (cur === el) return YES ;
554
- cur = cur.parentNode ;
555
- }
556
-
557
- return NO;
558
- },
559
-
560
- beginEditing: function() {
561
- if (this.get('isEditing')) return YES ;
562
- //if (!this.get('contentIsEditable')) return NO ;
676
+ // if not content value is returned, not much to do.
677
+ var del = this.displayDelegate ;
678
+ var labelKey = this.getDelegateProperty('contentValueKey', del) ;
679
+ if (!labelKey) return NO ;
680
+
681
+ // get the element to check for.
682
+ var el = this.$label()[0] ;
683
+ if (!el) return NO ; // no label to check for.
684
+
685
+ var cur = evt.target, layer = this.get('layer') ;
686
+ while(cur && (cur !== layer) && (cur !== window)) {
687
+ if (cur === el) return YES ;
688
+ cur = cur.parentNode ;
689
+ }
690
+
691
+ return NO;
692
+ },
693
+
694
+ beginEditing: function() {
695
+ if (this.get('isEditing')) return YES ;
696
+ //if (!this.get('contentIsEditable')) return NO ;
563
697
  return this._beginEditing(YES);
564
698
  },
565
699
 
@@ -590,10 +724,10 @@ SC.ListItemView = SC.View.extend(
590
724
  // nothing to do...
591
725
  if (!parent || !el || el.get('length')===0) return NO ;
592
726
  v = (labelKey && content && content.get) ? content.get(labelKey) : null ;
593
-
727
+
594
728
  f = this.computeFrameWithParentFrame(null);
595
729
  offset = SC.viewportOffset(el[0]);
596
-
730
+
597
731
  // if the label has a large line height, try to adjust it to something
598
732
  // more reasonable so that it looks right when we show the popup editor.
599
733
  oldLineHeight = el.css('lineHeight');
@@ -650,14 +784,6 @@ SC.ListItemView = SC.View.extend(
650
784
  return SC.InlineTextFieldView.discardEditing();
651
785
  },
652
786
 
653
-
654
- /** @private
655
- Allow editing.
656
- */
657
- inlineEditorShouldBeginEditing: function(inlineEditor) {
658
- return YES ;
659
- },
660
-
661
787
  /** @private
662
788
  Set editing to true so edits will no longer be allowed.
663
789
  */
@@ -704,312 +830,7 @@ SC.ListItemView = SC.View.extend(
704
830
  if (labelKey && content && content.set) {
705
831
  content.set(labelKey, finalValue) ;
706
832
  }
707
-
708
- this.$label().css("opacity", this._oldOpacity);
709
-
710
833
  this.displayDidChange();
711
- },
712
-
713
- // ..........................................................
714
- // DEPRECATED RENDER SUPPORT
715
- //
716
-
717
- deprecatedRenderWarning: function() {
718
- if (!SC.ListItemView._deprecatedRenderWarningHasBeenIssued) {
719
- SC.ListItemView._deprecatedRenderWarningHasBeenIssued = true;
720
- SC.Logger.warn("!!!DEPRECATED LIST ITEM RENDER METHODS BEING USED!!!\n" +
721
- "Quilmes comes with a new Renderer system, please consider using it in your custom views to future-proof your application!");
722
- }
723
- },
724
-
725
- /** @private
726
- Fills the passed html-array with strings that can be joined to form the
727
- innerHTML of the receiver element. Also populates an array of classNames
728
- to set on the outer element.
729
-
730
- @param {SC.RenderContext} context
731
- @param {Boolean} firstTime
732
- @returns {void}
733
- */
734
- __DEPRECATED__render: function(context, firstTime) {
735
- this.deprecatedRenderWarning();
736
-
737
- var content = this.get('content'),
738
- del = this.displayDelegate,
739
- level = this.get('outlineLevel'),
740
- indent = this.get('outlineIndent'),
741
- key, value, working, classArray = [];
742
-
743
- // add alternating row classes
744
- classArray.push((this.get('contentIndex')%2 === 0) ? 'even' : 'odd');
745
- context.setClass('disabled', !this.get('isEnabled'));
746
-
747
- // outline level wrapper
748
- working = context.begin("div").addClass("sc-outline");
749
- if (level>=0 && indent>0) working.addStyle("left", indent*(level+1));
750
-
751
- // handle disclosure triangle
752
- value = this.get('disclosureState');
753
- if (value !== SC.LEAF_NODE) {
754
- this.renderDisclosure(working, value);
755
- classArray.push('has-disclosure');
756
- }
757
-
758
-
759
- // handle checkbox
760
- key = this.getDelegateProperty('contentCheckboxKey', del) ;
761
- if (key) {
762
- value = content ? (content.get ? content.get(key) : content[key]) : NO ;
763
- this.renderCheckbox(working, value);
764
- classArray.push('has-checkbox');
765
- }
766
-
767
- // handle icon
768
- if (this.getDelegateProperty('hasContentIcon', del)) {
769
- key = this.getDelegateProperty('contentIconKey', del) ;
770
- value = (key && content) ? (content.get ? content.get(key) : content[key]) : null ;
771
-
772
- this.renderIcon(working, value);
773
- classArray.push('has-icon');
774
- }
775
-
776
- // handle label -- always invoke
777
- key = this.getDelegateProperty('contentValueKey', del) ;
778
- value = (key && content) ? (content.get ? content.get(key) : content[key]) : content ;
779
- if (value && SC.typeOf(value) !== SC.T_STRING) value = value.toString();
780
- if (this.get('escapeHTML')) value = SC.RenderContext.escapeHTML(value);
781
- this.renderLabel(working, value);
782
-
783
- // handle right icon
784
- if (this.getDelegateProperty('hasContentRightIcon', del)) {
785
- key = this.getDelegateProperty('contentRightIconKey', del) ;
786
- value = (key && content) ? (content.get ? content.get(key) : content[key]) : null ;
787
-
788
- this.renderRightIcon(working, value);
789
- classArray.push('has-right-icon');
790
- }
791
-
792
- // handle unread count
793
- key = this.getDelegateProperty('contentUnreadCountKey', del) ;
794
- value = (key && content) ? (content.get ? content.get(key) : content[key]) : null ;
795
- if (!SC.none(value) && (value !== 0)) {
796
- this.renderCount(working, value) ;
797
- var digits = ['zero', 'one', 'two', 'three', 'four', 'five'];
798
- var valueLength = value.toString().length;
799
- var digitsLength = digits.length;
800
- var digit = (valueLength < digitsLength) ? digits[valueLength] : digits[digitsLength-1];
801
- classArray.push('has-count '+digit+'-digit');
802
- }
803
-
804
- // handle action
805
- key = this.getDelegateProperty('listItemActionProperty', del) ;
806
- value = (key && content) ? (content.get ? content.get(key) : content[key]) : null ;
807
- if (value) {
808
- this.renderAction(working, value);
809
- classArray.push('has-action');
810
- }
811
-
812
- // handle branch
813
- if (this.getDelegateProperty('hasContentBranch', del)) {
814
- key = this.getDelegateProperty('contentIsBranchKey', del);
815
- value = (key && content) ? (content.get ? content.get(key) : content[key]) : NO ;
816
- this.renderBranch(working, value);
817
- classArray.push('has-branch');
818
- }
819
- context.addClass(classArray);
820
- context = working.end();
821
- },
822
-
823
- /** @private
824
- Adds a disclosure triangle with the appropriate display to the content.
825
- This method will only be called if the disclosure state of the view is
826
- something other than SC.LEAF_NODE.
827
-
828
- @param {SC.RenderContext} context the render context
829
- @param {Boolean} state YES, NO or SC.MIXED_STATE
830
- @returns {void}
831
- */
832
- renderDisclosure: function(context, state) {
833
- this.deprecatedRenderWarning();
834
-
835
- var key = (state === SC.BRANCH_OPEN) ? "open" : "closed",
836
- cache = this._scli_disclosureHtml,
837
- html, tmp;
838
-
839
- if (!cache) cache = this.constructor.prototype._scli_disclosureHtml = {};
840
- html = cache[key];
841
-
842
- if (!html) {
843
- html = cache[key] = '<img src="'+SC.BLANK_IMAGE_URL+'" class="disclosure button '+key+'" />';
844
- }
845
-
846
- context.push(html);
847
- },
848
-
849
- /** @private
850
- Adds a checkbox with the appropriate state to the content. This method
851
- will only be called if the list item view is supposed to have a
852
- checkbox.
853
-
854
- @param {SC.RenderContext} context the render context
855
- @param {Boolean} state YES, NO or SC.MIXED_STATE
856
- @returns {void}
857
- */
858
- renderCheckbox: function(context, state) {
859
- this.deprecatedRenderWarning();
860
-
861
- var key = (state === SC.MIXED_STATE) ? "mixed" : state ? "sel" : "nosel",
862
- cache = this._scli_checkboxHtml,
863
- isEnabled = this.get('contentIsEditable') && this.get('isEnabled'),
864
- html, tmp, classArray=[];
865
-
866
- if (!isEnabled) key = SC.keyFor('disabled', key);
867
- if (!cache) cache = this.constructor.prototype._scli_checkboxHtml = {};
868
- html = cache[key];
869
-
870
- if (!html) {
871
- tmp = SC.RenderContext('div').attr('role', 'button')
872
- .classNames(SC.clone(SC.CheckboxView.prototype.classNames));
873
-
874
- // set state on html
875
- if (state === SC.MIXED_STATE) classArray.push('mixed');
876
- else if(state) classArray.push('sel');
877
-
878
- // disabled
879
- if(!isEnabled) classArray.push('disabled');
880
-
881
- tmp.addClass(classArray);
882
-
883
- // now add inner content. note we do not add a real checkbox because
884
- // we don't want to have to setup a change observer on it.
885
- tmp.push('<span class="button"></span>');
886
-
887
- // apply edit
888
- html = cache[key] = tmp.join();
889
- }
890
-
891
- context.push(html);
892
- },
893
-
894
- /** @private
895
- Generates an icon for the label based on the content. This method will
896
- only be called if the list item view has icons enabled. You can override
897
- this method to display your own type of icon if desired.
898
-
899
- @param {SC.RenderContext} context the render context
900
- @param {String} icon a URL or class name.
901
- @returns {void}
902
- */
903
- renderIcon: function(context, icon) {
904
- this.deprecatedRenderWarning();
905
-
906
- // get a class name and url to include if relevant
907
- var url = null, className = null , classArray=[];
908
- if (icon && SC.ImageView.valueIsUrl(icon)) {
909
- url = icon; className = '' ;
910
- } else {
911
- className = icon; url = SC.BLANK_IMAGE_URL ;
912
- }
913
-
914
- // generate the img element...
915
- classArray.push(className,'icon');
916
- context.begin('img')
917
- .addClass(classArray)
918
- .attr('src', url)
919
- .end();
920
- },
921
-
922
- /** @private
923
- Generates a label based on the content. You can override this method to
924
- display your own type of icon if desired.
925
-
926
- @param {SC.RenderContext} context the render context
927
- @param {String} label the label to display, already HTML escaped.
928
- @returns {void}
929
- */
930
- renderLabel: function(context, label) {
931
- this.deprecatedRenderWarning();
932
-
933
- context.push('<label>', label || '', '</label>') ;
934
- },
935
-
936
- /** @private
937
- Generates a right icon for the label based on the content. This method will
938
- only be called if the list item view has icons enabled. You can override
939
- this method to display your own type of icon if desired.
940
-
941
- @param {SC.RenderContext} context the render context
942
- @param {String} icon a URL or class name.
943
- @returns {void}
944
- */
945
- renderRightIcon: function(context, icon) {
946
- this.deprecatedRenderWarning();
947
-
948
- // get a class name and url to include if relevant
949
- var url = null, className = null, classArray=[];
950
- if (icon && SC.ImageView.valueIsUrl(icon)) {
951
- url = icon; className = '' ;
952
- } else {
953
- className = icon; url = SC.BLANK_IMAGE_URL ;
954
- }
955
-
956
- // generate the img element...
957
- classArray.push('right-icon',className);
958
- context.begin('img')
959
- .addClass(classArray)
960
- .attr('src', url)
961
- .end();
962
- },
963
-
964
- /** @private
965
- Generates an unread or other count for the list item. This method will
966
- only be called if the list item view has counts enabled. You can
967
- override this method to display your own type of counts if desired.
968
-
969
- @param {SC.RenderContext} context the render context
970
- @param {Number} count the count
971
- @returns {void}
972
- */
973
- renderCount: function(context, count) {
974
- this.deprecatedRenderWarning();
975
-
976
- context.push('<span class="count"><span class="inner">',
977
- count.toString(),'</span></span>') ;
978
- },
979
-
980
- /** @private
981
- Generates the html string used to represent the action item for your
982
- list item. override this to return your own custom HTML
983
-
984
- @param {SC.RenderContext} context the render context
985
- @param {String} actionClassName the name of the action item
986
- @returns {void}
987
- */
988
- renderAction: function(context, actionClassName) {
989
- this.deprecatedRenderWarning();
990
-
991
- context.push('<img src="',SC.BLANK_IMAGE_URL,'" class="action" />');
992
- },
993
-
994
- /** @private
995
- Generates the string used to represent the branch arrow. override this to
996
- return your own custom HTML
997
-
998
- @param {SC.RenderContext} context the render context
999
- @param {Boolean} hasBranch YES if the item has a branch
1000
- @returns {void}
1001
- */
1002
- renderBranch: function(context, hasBranch) {
1003
- this.deprecatedRenderWarning();
1004
-
1005
- var classArray=[];
1006
- classArray.push('branch',hasBranch ? 'branch-visible' : 'branch-hidden');
1007
- context.begin('span')
1008
- .addClass(classArray)
1009
- .push('&nbsp;')
1010
- .end();
1011
834
  }
1012
835
 
1013
836
  });
1014
-
1015
- SC.ListItemView._deprecatedRenderWarningHasBeenIssued = false;