sproutcore 0.9.1 → 0.9.2

Sign up to get free protection for your applications and to get access to all the features.
Files changed (208) hide show
  1. data/History.txt +233 -0
  2. data/Manifest.txt +67 -34
  3. data/bin/sc-build +12 -1
  4. data/bin/sc-gen +1 -1
  5. data/bin/sproutcore +14 -0
  6. data/clients/sc_docs/controllers/docs.js +38 -8
  7. data/clients/sc_docs/english.lproj/body.css +80 -127
  8. data/clients/sc_docs/english.lproj/body.rhtml +43 -23
  9. data/clients/sc_docs/english.lproj/no_docs.rhtml +2 -1
  10. data/clients/sc_docs/english.lproj/tabs.rhtml +16 -0
  11. data/clients/sc_docs/main.js +14 -9
  12. data/clients/sc_docs/models/doc.js +1 -1
  13. data/clients/sc_docs/tests/controllers/docs.rhtml +1 -2
  14. data/clients/sc_docs/tests/models/doc.rhtml +1 -2
  15. data/clients/sc_docs/tests/views/doc_frame.rhtml +1 -2
  16. data/clients/sc_docs/tests/views/doc_label_view.rhtml +1 -2
  17. data/clients/sc_docs/views/doc_frame.js +1 -1
  18. data/clients/sc_test_runner/controllers/runner.js +31 -8
  19. data/clients/sc_test_runner/english.lproj/body.css +62 -122
  20. data/clients/sc_test_runner/english.lproj/body.rhtml +62 -26
  21. data/clients/sc_test_runner/main.js +1 -6
  22. data/clients/sc_test_runner/models/test.js +14 -1
  23. data/clients/sc_test_runner/views/runner_frame.js +4 -2
  24. data/clients/view_builder/builders/builder.js +339 -0
  25. data/clients/view_builder/builders/button.js +81 -0
  26. data/clients/view_builder/controllers/document.js +21 -0
  27. data/clients/view_builder/core.js +19 -0
  28. data/clients/view_builder/english.lproj/body.css +77 -0
  29. data/clients/view_builder/english.lproj/body.rhtml +41 -0
  30. data/clients/{sc_docs → view_builder}/english.lproj/controls.css +0 -0
  31. data/clients/view_builder/english.lproj/strings.js +14 -0
  32. data/clients/view_builder/main.js +38 -0
  33. data/clients/view_builder/tests/controllers/document.rhtml +20 -0
  34. data/clients/view_builder/tests/views/builder.rhtml +20 -0
  35. data/clients/view_builder/views/builder.js +23 -0
  36. data/frameworks/prototype/prototype.js +1 -1
  37. data/frameworks/sproutcore/Core.js +32 -7
  38. data/frameworks/sproutcore/README +1 -1
  39. data/frameworks/sproutcore/animation/animation.js +411 -0
  40. data/frameworks/sproutcore/controllers/array.js +17 -9
  41. data/frameworks/sproutcore/controllers/collection.js +9 -110
  42. data/frameworks/sproutcore/controllers/controller.js +1 -1
  43. data/frameworks/sproutcore/controllers/object.js +2 -1
  44. data/frameworks/sproutcore/drag/drag.js +267 -56
  45. data/frameworks/sproutcore/drag/drag_data_source.js +24 -16
  46. data/frameworks/sproutcore/drag/drag_source.js +53 -42
  47. data/frameworks/sproutcore/drag/drop_target.js +2 -2
  48. data/frameworks/sproutcore/english.lproj/buttons.css +337 -236
  49. data/frameworks/sproutcore/english.lproj/core.css +115 -0
  50. data/frameworks/sproutcore/english.lproj/icons.css +227 -0
  51. data/{clients/sc_docs → frameworks/sproutcore}/english.lproj/images/indicator.gif +0 -0
  52. data/frameworks/sproutcore/english.lproj/images/sc-theme-sprite.png +0 -0
  53. data/frameworks/sproutcore/english.lproj/images/sc-theme-ysprite.png +0 -0
  54. data/frameworks/sproutcore/english.lproj/images/shared-icons.png +0 -0
  55. data/frameworks/sproutcore/english.lproj/menu.css +1 -1
  56. data/frameworks/sproutcore/english.lproj/strings.js +1 -1
  57. data/frameworks/sproutcore/english.lproj/theme.css +405 -31
  58. data/frameworks/sproutcore/foundation/application.js +15 -11
  59. data/frameworks/sproutcore/foundation/benchmark.js +1 -1
  60. data/frameworks/sproutcore/foundation/binding.js +2 -2
  61. data/frameworks/sproutcore/foundation/date.js +1 -1
  62. data/frameworks/sproutcore/foundation/error.js +1 -1
  63. data/frameworks/sproutcore/foundation/input_manager.js +32 -21
  64. data/frameworks/sproutcore/foundation/mock.js +1 -1
  65. data/frameworks/sproutcore/foundation/node_descriptor.js +9 -6
  66. data/frameworks/sproutcore/foundation/object.js +249 -177
  67. data/frameworks/sproutcore/foundation/page.js +5 -2
  68. data/frameworks/sproutcore/foundation/path_module.js +11 -10
  69. data/frameworks/sproutcore/foundation/responder.js +5 -2
  70. data/frameworks/sproutcore/foundation/routes.js +17 -13
  71. data/frameworks/sproutcore/foundation/run_loop.js +249 -11
  72. data/frameworks/sproutcore/foundation/server.js +1 -1
  73. data/frameworks/sproutcore/foundation/set.js +3 -3
  74. data/frameworks/sproutcore/foundation/string.js +5 -3
  75. data/frameworks/sproutcore/foundation/timer.js +371 -0
  76. data/frameworks/sproutcore/foundation/undo_manager.js +1 -1
  77. data/frameworks/sproutcore/foundation/unittest.js +3 -3
  78. data/frameworks/sproutcore/foundation/utils.js +161 -2
  79. data/frameworks/sproutcore/globals/panels.js +1 -1
  80. data/frameworks/sproutcore/globals/popups.js +4 -3
  81. data/frameworks/sproutcore/globals/window.js +44 -4
  82. data/frameworks/sproutcore/lib/button_views.rb +328 -0
  83. data/frameworks/sproutcore/lib/collection_view.rb +80 -0
  84. data/frameworks/sproutcore/lib/core_views.rb +281 -0
  85. data/frameworks/sproutcore/lib/form_views.rb +253 -0
  86. data/frameworks/sproutcore/lib/index.rhtml +2 -0
  87. data/frameworks/sproutcore/lib/menu_views.rb +88 -0
  88. data/frameworks/sproutcore/{foundation → mixins}/array.js +60 -29
  89. data/frameworks/sproutcore/mixins/control.js +265 -0
  90. data/frameworks/sproutcore/mixins/delegate_support.js +66 -0
  91. data/frameworks/sproutcore/{foundation → mixins}/observable.js +176 -6
  92. data/frameworks/sproutcore/mixins/scrollable.js +245 -0
  93. data/frameworks/sproutcore/mixins/selection_support.js +148 -0
  94. data/frameworks/sproutcore/mixins/validatable.js +152 -0
  95. data/frameworks/sproutcore/models/collection.js +5 -5
  96. data/frameworks/sproutcore/models/record.js +1 -1
  97. data/frameworks/sproutcore/models/store.js +1 -1
  98. data/frameworks/sproutcore/panes/dialog.js +1 -1
  99. data/frameworks/sproutcore/panes/manager.js +1 -1
  100. data/frameworks/sproutcore/panes/menu.js +1 -1
  101. data/frameworks/sproutcore/panes/overlay.js +2 -2
  102. data/frameworks/sproutcore/panes/panel.js +1 -1
  103. data/frameworks/sproutcore/panes/picker.js +1 -1
  104. data/frameworks/sproutcore/tests/controllers/array.rhtml +44 -4
  105. data/frameworks/sproutcore/tests/foundation/timer/invalidate.rhtml +33 -0
  106. data/frameworks/sproutcore/tests/foundation/timer/invokeLater.rhtml +145 -0
  107. data/frameworks/sproutcore/tests/foundation/timer/isPaused.rhtml +70 -0
  108. data/frameworks/sproutcore/tests/foundation/timer/schedule.rhtml +145 -0
  109. data/frameworks/sproutcore/tests/views/{scroll.rhtml → checkbox.rhtml} +3 -3
  110. data/frameworks/sproutcore/tests/views/{collection.rhtml → collection/base.rhtml} +33 -32
  111. data/frameworks/sproutcore/tests/views/collection/incremental_rendering.rhtml +260 -0
  112. data/frameworks/sproutcore/tests/views/image_cell.rhtml +19 -0
  113. data/frameworks/sproutcore/tests/views/label_item.rhtml +2 -4
  114. data/frameworks/sproutcore/tests/views/list.rhtml +2 -3
  115. data/frameworks/sproutcore/tests/views/list_item.rhtml +20 -0
  116. data/frameworks/sproutcore/tests/views/slider.rhtml +20 -0
  117. data/frameworks/sproutcore/tests/views/text_cell.rhtml +19 -0
  118. data/frameworks/sproutcore/tests/views/view/clippingFrame.rhtml +395 -0
  119. data/frameworks/sproutcore/tests/views/view/frame.rhtml +353 -0
  120. data/frameworks/sproutcore/tests/views/view/innerFrame.rhtml +347 -0
  121. data/frameworks/sproutcore/tests/views/view/isVisibleInWindow.rhtml +148 -0
  122. data/frameworks/sproutcore/tests/views/view/scrollFrame.rhtml +468 -0
  123. data/frameworks/sproutcore/validators/credit_card.js +33 -13
  124. data/frameworks/sproutcore/validators/date.js +26 -6
  125. data/frameworks/sproutcore/validators/email.js +21 -3
  126. data/frameworks/sproutcore/validators/not_empty.js +11 -1
  127. data/frameworks/sproutcore/validators/number.js +18 -4
  128. data/frameworks/sproutcore/validators/password.js +12 -1
  129. data/frameworks/sproutcore/validators/validator.js +204 -194
  130. data/frameworks/sproutcore/views/{button.js → button/button.js} +96 -94
  131. data/frameworks/sproutcore/views/button/checkbox.js +29 -0
  132. data/frameworks/sproutcore/views/button/disclosure.js +42 -0
  133. data/frameworks/sproutcore/views/button/radio.js +29 -0
  134. data/frameworks/sproutcore/views/{collection.js → collection/collection.js} +1373 -1024
  135. data/frameworks/sproutcore/views/collection/grid.js +124 -46
  136. data/frameworks/sproutcore/views/collection/image_cell.js +17 -46
  137. data/frameworks/sproutcore/views/collection/list.js +45 -35
  138. data/frameworks/sproutcore/views/collection/source_list.js +386 -0
  139. data/frameworks/sproutcore/views/collection/table.js +118 -0
  140. data/frameworks/sproutcore/views/container.js +7 -2
  141. data/frameworks/sproutcore/views/error_explanation.js +23 -10
  142. data/frameworks/sproutcore/views/{checkbox_field.js → field/checkbox_field.js} +16 -6
  143. data/frameworks/sproutcore/views/field/field.js +219 -0
  144. data/frameworks/sproutcore/views/{radio_field.js → field/radio_field.js} +27 -12
  145. data/frameworks/sproutcore/views/{select_field.js → field/select_field.js} +116 -90
  146. data/frameworks/sproutcore/views/{text_field.js → field/text_field.js} +57 -8
  147. data/frameworks/sproutcore/views/{textarea_field.js → field/textarea_field.js} +13 -3
  148. data/frameworks/sproutcore/views/filter_button.js +2 -2
  149. data/frameworks/sproutcore/views/form.js +3 -3
  150. data/frameworks/sproutcore/views/image.js +128 -21
  151. data/frameworks/sproutcore/views/inline_text_editor.js +1 -1
  152. data/frameworks/sproutcore/views/label.js +149 -92
  153. data/frameworks/sproutcore/views/list_item.js +225 -0
  154. data/frameworks/sproutcore/views/menu_item.js +10 -4
  155. data/frameworks/sproutcore/views/pagination.js +11 -4
  156. data/frameworks/sproutcore/views/popup_button.js +25 -21
  157. data/frameworks/sproutcore/views/popup_menu.js +10 -4
  158. data/frameworks/sproutcore/views/progress.js +29 -16
  159. data/frameworks/sproutcore/views/radio_group.js +1 -1
  160. data/frameworks/sproutcore/views/scroll.js +60 -20
  161. data/frameworks/sproutcore/views/segmented.js +1 -1
  162. data/frameworks/sproutcore/views/slider.js +132 -0
  163. data/frameworks/sproutcore/views/source_list_group.js +130 -0
  164. data/frameworks/sproutcore/views/spinner.js +1 -1
  165. data/frameworks/sproutcore/views/split.js +292 -0
  166. data/frameworks/sproutcore/views/split_divider.js +109 -0
  167. data/frameworks/sproutcore/views/tab.js +1 -1
  168. data/frameworks/sproutcore/views/toolbar.js +1 -1
  169. data/frameworks/sproutcore/views/view.js +1272 -591
  170. data/generators/client/templates/english.lproj/body.css +1 -1
  171. data/generators/controller/controller_generator.rb +1 -1
  172. data/generators/controller/templates/test.rhtml +2 -1
  173. data/generators/model/templates/test.rhtml +1 -1
  174. data/generators/test/templates/test.rhtml +1 -1
  175. data/generators/view/templates/test.rhtml +1 -1
  176. data/jsdoc/templates/sproutcore/class.tmpl +241 -338
  177. data/jsdoc/templates/sproutcore/default.css +105 -155
  178. data/jsdoc/templates/sproutcore/index.tmpl +43 -8
  179. data/jsdoc/templates/sproutcore/publish.js +9 -4
  180. data/lib/sproutcore/build_tools/html_builder.rb +29 -13
  181. data/lib/sproutcore/build_tools/resource_builder.rb +1 -1
  182. data/lib/sproutcore/bundle.rb +86 -25
  183. data/lib/sproutcore/jsdoc.rb +2 -0
  184. data/lib/sproutcore/version.rb +1 -1
  185. data/lib/sproutcore/view_helpers.rb +36 -3
  186. data/tasks/deployment.rake +1 -1
  187. metadata +69 -36
  188. data/clients/sc_docs/english.lproj/icons/small/next.png +0 -0
  189. data/clients/sc_docs/english.lproj/icons/small/reset.png +0 -0
  190. data/clients/sc_docs/english.lproj/images/gradients.png +0 -0
  191. data/clients/sc_docs/english.lproj/images/toolbar.png +0 -0
  192. data/clients/sc_docs/english.lproj/warning.rhtml +0 -6
  193. data/clients/sc_test_runner/english.lproj/warning.rhtml +0 -6
  194. data/frameworks/sproutcore/english.lproj/buttons.png +0 -0
  195. data/frameworks/sproutcore/english.lproj/collections.css +0 -82
  196. data/frameworks/sproutcore/english.lproj/images/buttons-sprite.png +0 -0
  197. data/frameworks/sproutcore/views/collection/collection_item.js +0 -36
  198. data/frameworks/sproutcore/views/collection/text_cell.js +0 -128
  199. data/frameworks/sproutcore/views/field.js +0 -214
  200. data/frameworks/sproutcore/views/workspace.js +0 -170
  201. data/generators/client/templates/english.lproj/controls.css +0 -0
  202. data/generators/framework/templates/english.lproj/body.css +0 -0
  203. data/generators/framework/templates/english.lproj/body.rhtml +0 -3
  204. data/generators/framework/templates/english.lproj/controls.css +0 -0
  205. data/lib/sproutcore/view_helpers/button_views.rb +0 -302
  206. data/lib/sproutcore/view_helpers/core_views.rb +0 -292
  207. data/lib/sproutcore/view_helpers/form_views.rb +0 -258
  208. data/lib/sproutcore/view_helpers/menu_views.rb +0 -94
data/History.txt CHANGED
@@ -1,3 +1,236 @@
1
+ == SVN HEAD
2
+
3
+ * Add sproutcore freeze:gems command to freeze latest SproutCore in your local project.
4
+
5
+ * Updated copyright to 2008.
6
+
7
+ * Converted all uses of setTimeout() in the framework to use run loop instead.
8
+
9
+ * Added invokeLater() methods to both SC.Object and Function. These
10
+ convenience methods will create a timer to execute a method or function at a
11
+ later time. If you need to execute code later, instead of setTimeout,
12
+ consider using myObject.invokeLater(0, 'methodName') ;
13
+
14
+ * New SC.Timer class provides more efficient triggers for timeouts, etc. The
15
+ timer class now also has unit tests and really awesome docs.
16
+
17
+ * [FIX] offsetParent, frame, clippingFrame, and innerFrame would all sometimes
18
+ return the wrong values in Firefox because of a bug that returns the wrong
19
+ offsetLeft and offsetTop when a parent element has a border.
20
+
21
+ * Fixed all SC unit tests that were failing (now that I can run them again).
22
+
23
+ * Test Runner now has a "Rerun Current Test" button that will rerun the
24
+ current test.
25
+
26
+ * Added convenience method $I() (or SC.inspect()) - converts an object to a
27
+ hash and then displays its key/value pairs. Useful for debugging.
28
+
29
+ * Fixed up test templates in generators so that they check for the presence
30
+ of main() before trying to fix it up. This was causing errors on new tests when added to frameworks.
31
+
32
+ * [FIX] invokeWhile() was implemented on real Array objects but not on
33
+ SC.Array mixin. This caused the controllers/controller test to fail. Now
34
+ fixed.
35
+
36
+ * Updated test runner to use new SproutCore.
37
+
38
+ * [FIX] The JSDoc template will now try to group items based on their full path, rather than just the top-most directory. This means views stored under views/buttons, for example, now appear in the group VIEWS/BUTTONS in the UI.
39
+
40
+ * Moved the base class for collections, buttons, and fields into their respective folders. This will appear them to appear under the correct location in the Doc viewer.
41
+
42
+ * [FIX] Grouped views in the source list without a visible header will
43
+ overlapping the following group, absorbing their clicks. Now they render
44
+ the proper size.
45
+
46
+ * SC.SliderView provides a horizontal slider. No vertical slider is currently
47
+ planned since those controls are so rare. If someone really needs one, please
48
+ enhance SC.SliderView to support it!
49
+
50
+ * slider_view helper creates a slider view + html
51
+
52
+ * Add example to sample_controls
53
+
54
+ * Converted docs for drag modules to JSDoc format.
55
+
56
+ * SourceListGroupViews now automatically collapse their group title if the
57
+ group value is null. Items will still be shown; they will just appear to be
58
+ "top level"
59
+
60
+ * JSDocs template was cutting the first sentance from a class description. This is now fixed.
61
+
62
+ * Added sc-build -d option to generate docs along with the build of your code.
63
+
64
+ * Updated sc_docs to work with updated SproutCore. Also adopts new look and feel and includes support for live search on all symbols defined in the
65
+ library (try it; it's cool - visit: http://localhost:4020/sproutcore/-docs)
66
+
67
+ * JSDoc template no longer generated highlighted JS source along with ref
68
+ docs. This was slowing things down and the output wasn't really that great
69
+ anyway.
70
+
71
+ * Tweaked JSdoc's Textile support to accept '-' as a bullet characters. Since
72
+ jsdoc strips all * at the beginning of lines you could not do bulletted lists
73
+ before. Now you can using -.
74
+
75
+ * Updated design of jsdoc documentation to make it easier to read.
76
+
77
+ * Renamed buttons-sprite.png to sc-theme-sprite.png. Added
78
+ sc-theme-ysprite.png. One is now used to hold all repeat-x and non-repeating
79
+ sprites while the other is used for repeat-y sprites only.
80
+
81
+ * SC.SplitView & SC.SplitDividerView provide support for draggable and
82
+ collapsable split views.
83
+
84
+ * SC.ListView now uses SC.ListItemView as its default example view instead of
85
+ SC.LabelView (or the old SC.TextCellView)
86
+
87
+ * Optimized performance of new build system when reloading ruby helpers on
88
+ every page load
89
+
90
+ * The Source List now provides support for the disclosure triangle. A disclosure is automatically shown if you have grouping enabled and you set the
91
+ groupVisibleKey property to anything other an null. The disclosure does not
92
+ yet auto-reveal during a drag.
93
+
94
+ * SC.DisclosureView - Shows a disclosure triangle button.
95
+
96
+ * [FIX] Left over calls to SC.TextCellView. Replaced with SC.LabelView.
97
+
98
+ * SC.WorkspaceView is now removed from the framework. It was always intended
99
+ for use in Sproutit applications and it is really too specific for such a generic framework.
100
+
101
+ * SC.LabelView gets a new API! Now in line with other SC.Control based
102
+ classes. Set value for the value, content/contentValueKey to display part
103
+ of some content.
104
+
105
+ * You can add view helpers to your own projects just by dropping them into
106
+ a lib directory inside your framework or client. If you need to load your
107
+ view helpers in a certain order, use the view_helper() method. See the view helpers in SproutCore for an example usage.
108
+
109
+ * The build system now reloads view helpers each time you load a page. This
110
+ means you no longer need to restart the sc-server when you make a change to
111
+ the view helper code.
112
+
113
+ * SproutCore view helpers are now stored in the framework itself along with
114
+ the JavaScript. This will make it easier to include the latest version of
115
+ the SproutCore framework in you app without having to install a new set of
116
+ build tools. This should basically eliminate the only frequently changing
117
+ part of the build tools.
118
+
119
+ * SC.SourceList and SC.ListItemView properties now use "content..Key"
120
+ convention for naming properties. If you have built code with the old
121
+ "content..Property" conventions, you will need to update your code.
122
+
123
+ * Added hint property to text_area_view helper that is required to display ghost text.
124
+
125
+ * added new SC.CheckboxView and SC.RadioView for creating simulated checkbox
126
+ and radio buttons. These buttons have more functions than their platform
127
+ native counterparts including mixed style and full styling support.
128
+
129
+ * Moved field view subclasses to views/field directory.
130
+
131
+ * Added SC.Validatable mixin that can be applied to any view to make it work
132
+ with validators. SC.FieldView now incorporates this mixin.
133
+
134
+ * Now if you add initMixin() to a mixin, it will be called automatically
135
+ whenever an object that includes the mixin is instantiated. You can use this
136
+ to perform any setup necessary for the mixin.
137
+
138
+ * Renamed SC.Control.contentValueProperty to SC.Control.contentValueKey to
139
+ be consistent with the rest of the API.
140
+
141
+ * Added updateContentWithValueObserver to SC.Control that will relay changes
142
+ to the value property back to the content object if you use the default
143
+ implementation.
144
+
145
+ * Changed SC.Control observers for various states that were once private to
146
+ public methods. This way you can override them in your subclasses if you need
147
+ to perform some extra processing and you want to make sure you do them in the
148
+ right order. You can also just add more observers as well.
149
+
150
+ * Added JSDoc info for Validators, SC.FieldView, SC.CheckboxFieldView
151
+
152
+ * Switched some Sc Theme CSS to use sc-button-view classname instead of more
153
+ generic a.button or a.regular.
154
+
155
+ * Added new addClassName, removeClassName, setClassName and hasClassName
156
+ methods on SC.View that are 7x faster than prototype's version.
157
+
158
+ * Integrated SC.Control into SC.ButtonView
159
+
160
+ * Changed SC.ButtonView.labelText and SC.ButtonView.labelSelector to
161
+ SC.ButtonView.title and SC.ButtonView.titleSelector to be more consistant with current naming conventions.
162
+
163
+ * [FIX] Some doc tags were wrong in SC.ScrollView and others.
164
+
165
+ * Improved documentations on SC.ImageView.
166
+
167
+ * SC.ImageView now includes the SC.Control mixin and can accept either a
168
+ CSS class name or a URL as its value. This makes it easy to switch an image
169
+ from using a sprite to use a custom-generated image and back again.
170
+
171
+ * SproutCore now includes some shared standard icons that you can use in your
172
+ own application, courtesy of IconDrawer (http://www.icondrawer.com).
173
+
174
+ * Generalized SC.Control's observer so that you can now use it to observe
175
+ changes to multiple properties on content. This should capture a very common pattern requires by collection item views. Most control-list SC.Views will
176
+ eventually adopt this mixin.
177
+
178
+ * Added ListItemView which will be used for rendering content in list views
179
+ and source list views. ListViewItem can render a name, icon, and optional
180
+ unread count.
181
+
182
+ * Changed displayProperty in SC.CollectionView to contentValueKey to match the new SC.Control pattern.
183
+
184
+ * SC.Control now has built in support for a value and content property. The value property is typically the value the control displays, while content is an object that you might pull a content value from. You can determine the proeprty of the content object to use as a value by setting the 'contentValueKey'. The contentValueKey can also be provided by the displayDelegate.
185
+
186
+ * Added SC.DelegateSupport mixin that can be used to support the delegate pattern.
187
+
188
+ * [FIX] Selection management would throw exception after a drag and drop.
189
+
190
+ * [FIX] Optimization in fmt() would through an exception if you passed it a
191
+ value that did not support toString().
192
+
193
+ * Moved selection management methods from CollectionController in independent
194
+ SC.SelectionSupport mixin. This mixin is now used by both
195
+ SC.CollectionController and SC.ArrayController so you can use either one to
196
+ manage a selection state. You can also apply this mixin to your own
197
+ controllers to manage selection state if you like (though this is not required
198
+ to manage selections.)
199
+
200
+ * Began to separate CSS rules into a core.css and a theme.css. The core.css
201
+ styles are generally required by SproutCore and should apply even if you build
202
+ your own theme. The theme.css rules apply to the SproutCore theme only and
203
+ can be overriden by your own CSS.
204
+
205
+ * Added SC.SourceListView and sc-theme styles for source lists. Source lists
206
+ support grouping if you enable this feature. See the new Collections2 tab in
207
+ the SampleControls app for an example source list.
208
+
209
+ * Added SC.TableView. This feature is in progress. See the new
210
+ Collections2 tab in the SampleControls app for an example table view.
211
+
212
+ * Changed asHTML and asText properties to innerHTML and innerText to match
213
+ their DOM equivalents.
214
+
215
+ * Renamed SC.CollectionItem mixin to SC.Control mixin. SC.Control mixin now
216
+ provides some standard functionality for all interactive controls such as
217
+ handling selection states, enabled and focus states.
218
+
219
+ * Removed support for :resize_options property in view helper, since
220
+ auto-resizing is no longer supported in SC.View (it never worked right anyway
221
+ and was not functionally very usable.)
222
+
223
+ * innerText property now uses TextNodes, making it about 50% faster than
224
+ innerHTML on FireFox.
225
+
226
+ * Added view helpers for list_view, scroll_view, grid_view, source_list_view,
227
+ and table_view. Also refactored collection view helpers into their own file.
228
+
229
+ * [FIX] CollectionView is now able to render items in groups.
230
+
231
+ * [FIX] SC.ObjectController: Avoid unwanted commit when oldValue == null && newValue == ''.
232
+
233
+
1
234
  == 0.9.0 2008-03-08
2
235
 
3
236
  * 1 major enhancement:
data/Manifest.txt CHANGED
@@ -10,15 +10,9 @@ clients/sc_docs/controllers/docs.js
10
10
  clients/sc_docs/core.js
11
11
  clients/sc_docs/english.lproj/body.css
12
12
  clients/sc_docs/english.lproj/body.rhtml
13
- clients/sc_docs/english.lproj/controls.css
14
- clients/sc_docs/english.lproj/icons/small/next.png
15
- clients/sc_docs/english.lproj/icons/small/reset.png
16
- clients/sc_docs/english.lproj/images/gradients.png
17
- clients/sc_docs/english.lproj/images/indicator.gif
18
- clients/sc_docs/english.lproj/images/toolbar.png
19
13
  clients/sc_docs/english.lproj/no_docs.rhtml
20
14
  clients/sc_docs/english.lproj/strings.js
21
- clients/sc_docs/english.lproj/warning.rhtml
15
+ clients/sc_docs/english.lproj/tabs.rhtml
22
16
  clients/sc_docs/fixtures/doc.js
23
17
  clients/sc_docs/main.js
24
18
  clients/sc_docs/models/doc.js
@@ -40,15 +34,27 @@ clients/sc_test_runner/english.lproj/images/indicator.gif
40
34
  clients/sc_test_runner/english.lproj/images/toolbar.png
41
35
  clients/sc_test_runner/english.lproj/no_tests.rhtml
42
36
  clients/sc_test_runner/english.lproj/strings.js
43
- clients/sc_test_runner/english.lproj/warning.rhtml
44
37
  clients/sc_test_runner/fixtures/test.js
45
38
  clients/sc_test_runner/main.js
46
39
  clients/sc_test_runner/models/test.js
47
40
  clients/sc_test_runner/views/runner_frame.js
48
41
  clients/sc_test_runner/views/test_label.js
42
+ clients/view_builder/builders/builder.js
43
+ clients/view_builder/builders/button.js
44
+ clients/view_builder/controllers/document.js
45
+ clients/view_builder/core.js
46
+ clients/view_builder/english.lproj/body.css
47
+ clients/view_builder/english.lproj/body.rhtml
48
+ clients/view_builder/english.lproj/controls.css
49
+ clients/view_builder/english.lproj/strings.js
50
+ clients/view_builder/main.js
51
+ clients/view_builder/tests/controllers/document.rhtml
52
+ clients/view_builder/tests/views/builder.rhtml
53
+ clients/view_builder/views/builder.js
49
54
  config/hoe.rb
50
55
  config/requirements.rb
51
56
  frameworks/prototype/prototype.js
57
+ frameworks/sproutcore/animation/animation.js
52
58
  frameworks/sproutcore/controllers/array.js
53
59
  frameworks/sproutcore/controllers/collection.js
54
60
  frameworks/sproutcore/controllers/controller.js
@@ -60,9 +66,12 @@ frameworks/sproutcore/drag/drag_source.js
60
66
  frameworks/sproutcore/drag/drop_target.js
61
67
  frameworks/sproutcore/english.lproj/blank.gif
62
68
  frameworks/sproutcore/english.lproj/buttons.css
63
- frameworks/sproutcore/english.lproj/buttons.png
64
- frameworks/sproutcore/english.lproj/collections.css
65
- frameworks/sproutcore/english.lproj/images/buttons-sprite.png
69
+ frameworks/sproutcore/english.lproj/core.css
70
+ frameworks/sproutcore/english.lproj/icons.css
71
+ frameworks/sproutcore/english.lproj/images/indicator.gif
72
+ frameworks/sproutcore/english.lproj/images/sc-theme-sprite.png
73
+ frameworks/sproutcore/english.lproj/images/sc-theme-ysprite.png
74
+ frameworks/sproutcore/english.lproj/images/shared-icons.png
66
75
  frameworks/sproutcore/english.lproj/images/sproutcore-logo.png
67
76
  frameworks/sproutcore/english.lproj/images/sticky-note.png
68
77
  frameworks/sproutcore/english.lproj/inline_text_editor.css
@@ -86,7 +95,6 @@ frameworks/sproutcore/english.lproj/tests.css
86
95
  frameworks/sproutcore/english.lproj/theme.css
87
96
  frameworks/sproutcore/foundation/animator.js
88
97
  frameworks/sproutcore/foundation/application.js
89
- frameworks/sproutcore/foundation/array.js
90
98
  frameworks/sproutcore/foundation/benchmark.js
91
99
  frameworks/sproutcore/foundation/binding.js
92
100
  frameworks/sproutcore/foundation/date.js
@@ -96,7 +104,6 @@ frameworks/sproutcore/foundation/json.js
96
104
  frameworks/sproutcore/foundation/mock.js
97
105
  frameworks/sproutcore/foundation/node_descriptor.js
98
106
  frameworks/sproutcore/foundation/object.js
99
- frameworks/sproutcore/foundation/observable.js
100
107
  frameworks/sproutcore/foundation/page.js
101
108
  frameworks/sproutcore/foundation/path_module.js
102
109
  frameworks/sproutcore/foundation/responder.js
@@ -105,13 +112,26 @@ frameworks/sproutcore/foundation/run_loop.js
105
112
  frameworks/sproutcore/foundation/server.js
106
113
  frameworks/sproutcore/foundation/set.js
107
114
  frameworks/sproutcore/foundation/string.js
115
+ frameworks/sproutcore/foundation/timer.js
108
116
  frameworks/sproutcore/foundation/undo_manager.js
109
117
  frameworks/sproutcore/foundation/unittest.js
110
118
  frameworks/sproutcore/foundation/utils.js
111
119
  frameworks/sproutcore/globals/panels.js
112
120
  frameworks/sproutcore/globals/popups.js
113
121
  frameworks/sproutcore/globals/window.js
122
+ frameworks/sproutcore/lib/button_views.rb
123
+ frameworks/sproutcore/lib/collection_view.rb
124
+ frameworks/sproutcore/lib/core_views.rb
125
+ frameworks/sproutcore/lib/form_views.rb
114
126
  frameworks/sproutcore/lib/index.rhtml
127
+ frameworks/sproutcore/lib/menu_views.rb
128
+ frameworks/sproutcore/mixins/array.js
129
+ frameworks/sproutcore/mixins/control.js
130
+ frameworks/sproutcore/mixins/delegate_support.js
131
+ frameworks/sproutcore/mixins/observable.js
132
+ frameworks/sproutcore/mixins/scrollable.js
133
+ frameworks/sproutcore/mixins/selection_support.js
134
+ frameworks/sproutcore/mixins/validatable.js
115
135
  frameworks/sproutcore/models/collection.js
116
136
  frameworks/sproutcore/models/record.js
117
137
  frameworks/sproutcore/models/store.js
@@ -129,14 +149,28 @@ frameworks/sproutcore/tests/controllers/object.rhtml
129
149
  frameworks/sproutcore/tests/foundation/application.rhtml
130
150
  frameworks/sproutcore/tests/foundation/array.rhtml
131
151
  frameworks/sproutcore/tests/foundation/object.rhtml
152
+ frameworks/sproutcore/tests/foundation/timer/invalidate.rhtml
153
+ frameworks/sproutcore/tests/foundation/timer/invokeLater.rhtml
154
+ frameworks/sproutcore/tests/foundation/timer/isPaused.rhtml
155
+ frameworks/sproutcore/tests/foundation/timer/schedule.rhtml
132
156
  frameworks/sproutcore/tests/globals/window.rhtml
133
157
  frameworks/sproutcore/tests/panes/pane.rhtml
134
- frameworks/sproutcore/tests/views/collection.rhtml
158
+ frameworks/sproutcore/tests/views/checkbox.rhtml
159
+ frameworks/sproutcore/tests/views/collection/base.rhtml
160
+ frameworks/sproutcore/tests/views/collection/incremental_rendering.rhtml
161
+ frameworks/sproutcore/tests/views/image_cell.rhtml
135
162
  frameworks/sproutcore/tests/views/label_item.rhtml
136
163
  frameworks/sproutcore/tests/views/list.rhtml
164
+ frameworks/sproutcore/tests/views/list_item.rhtml
137
165
  frameworks/sproutcore/tests/views/popup_button.rhtml
138
- frameworks/sproutcore/tests/views/scroll.rhtml
166
+ frameworks/sproutcore/tests/views/slider.rhtml
167
+ frameworks/sproutcore/tests/views/text_cell.rhtml
139
168
  frameworks/sproutcore/tests/views/text_field.rhtml
169
+ frameworks/sproutcore/tests/views/view/clippingFrame.rhtml
170
+ frameworks/sproutcore/tests/views/view/frame.rhtml
171
+ frameworks/sproutcore/tests/views/view/innerFrame.rhtml
172
+ frameworks/sproutcore/tests/views/view/isVisibleInWindow.rhtml
173
+ frameworks/sproutcore/tests/views/view/scrollFrame.rhtml
140
174
  frameworks/sproutcore/validators/credit_card.js
141
175
  frameworks/sproutcore/validators/date.js
142
176
  frameworks/sproutcore/validators/email.js
@@ -144,45 +178,51 @@ frameworks/sproutcore/validators/not_empty.js
144
178
  frameworks/sproutcore/validators/number.js
145
179
  frameworks/sproutcore/validators/password.js
146
180
  frameworks/sproutcore/validators/validator.js
147
- frameworks/sproutcore/views/button.js
148
- frameworks/sproutcore/views/checkbox_field.js
149
- frameworks/sproutcore/views/collection/collection_item.js
181
+ frameworks/sproutcore/views/button/button.js
182
+ frameworks/sproutcore/views/button/checkbox.js
183
+ frameworks/sproutcore/views/button/disclosure.js
184
+ frameworks/sproutcore/views/button/radio.js
185
+ frameworks/sproutcore/views/collection/collection.js
150
186
  frameworks/sproutcore/views/collection/grid.js
151
187
  frameworks/sproutcore/views/collection/image_cell.js
152
188
  frameworks/sproutcore/views/collection/list.js
153
- frameworks/sproutcore/views/collection/text_cell.js
154
- frameworks/sproutcore/views/collection.js
189
+ frameworks/sproutcore/views/collection/source_list.js
190
+ frameworks/sproutcore/views/collection/table.js
155
191
  frameworks/sproutcore/views/container.js
156
192
  frameworks/sproutcore/views/error_explanation.js
157
- frameworks/sproutcore/views/field.js
193
+ frameworks/sproutcore/views/field/checkbox_field.js
194
+ frameworks/sproutcore/views/field/field.js
195
+ frameworks/sproutcore/views/field/radio_field.js
196
+ frameworks/sproutcore/views/field/select_field.js
197
+ frameworks/sproutcore/views/field/text_field.js
198
+ frameworks/sproutcore/views/field/textarea_field.js
158
199
  frameworks/sproutcore/views/filter_button.js
159
200
  frameworks/sproutcore/views/form.js
160
201
  frameworks/sproutcore/views/image.js
161
202
  frameworks/sproutcore/views/inline_text_editor.js
162
203
  frameworks/sproutcore/views/label.js
204
+ frameworks/sproutcore/views/list_item.js
163
205
  frameworks/sproutcore/views/menu_item.js
164
206
  frameworks/sproutcore/views/pagination.js
165
207
  frameworks/sproutcore/views/popup_button.js
166
208
  frameworks/sproutcore/views/popup_menu.js
167
209
  frameworks/sproutcore/views/progress.js
168
- frameworks/sproutcore/views/radio_field.js
169
210
  frameworks/sproutcore/views/radio_group.js
170
211
  frameworks/sproutcore/views/scroll.js
171
212
  frameworks/sproutcore/views/segmented.js
172
- frameworks/sproutcore/views/select_field.js
213
+ frameworks/sproutcore/views/slider.js
214
+ frameworks/sproutcore/views/source_list_group.js
173
215
  frameworks/sproutcore/views/spinner.js
216
+ frameworks/sproutcore/views/split.js
217
+ frameworks/sproutcore/views/split_divider.js
174
218
  frameworks/sproutcore/views/tab.js
175
- frameworks/sproutcore/views/text_field.js
176
- frameworks/sproutcore/views/textarea_field.js
177
219
  frameworks/sproutcore/views/toolbar.js
178
220
  frameworks/sproutcore/views/view.js
179
- frameworks/sproutcore/views/workspace.js
180
221
  generators/client/client_generator.rb
181
222
  generators/client/README
182
223
  generators/client/templates/core.js
183
224
  generators/client/templates/english.lproj/body.css
184
225
  generators/client/templates/english.lproj/body.rhtml
185
- generators/client/templates/english.lproj/controls.css
186
226
  generators/client/templates/english.lproj/strings.js
187
227
  generators/client/templates/main.js
188
228
  generators/client/USAGE
@@ -193,9 +233,6 @@ generators/controller/USAGE
193
233
  generators/framework/framework_generator.rb
194
234
  generators/framework/README
195
235
  generators/framework/templates/core.js
196
- generators/framework/templates/english.lproj/body.css
197
- generators/framework/templates/english.lproj/body.rhtml
198
- generators/framework/templates/english.lproj/controls.css
199
236
  generators/framework/templates/english.lproj/strings.js
200
237
  generators/framework/USAGE
201
238
  generators/language/language_generator.rb
@@ -258,10 +295,6 @@ lib/sproutcore/merb/bundle_controller.rb
258
295
  lib/sproutcore/merb/router.rb
259
296
  lib/sproutcore/merb.rb
260
297
  lib/sproutcore/version.rb
261
- lib/sproutcore/view_helpers/button_views.rb
262
- lib/sproutcore/view_helpers/core_views.rb
263
- lib/sproutcore/view_helpers/form_views.rb
264
- lib/sproutcore/view_helpers/menu_views.rb
265
298
  lib/sproutcore/view_helpers.rb
266
299
  lib/sproutcore.rb
267
300
  License.txt