sproutcore 0.9.14 → 0.9.15

Sign up to get free protection for your applications and to get access to all the features.
Files changed (61) hide show
  1. data/History.txt +43 -0
  2. data/Manifest.txt +12 -3
  3. data/bin/sc-build +19 -3
  4. data/bin/sc-install +5 -0
  5. data/bin/sc-remove +5 -0
  6. data/bin/sc-update +5 -0
  7. data/frameworks/prototype/prototype.js +267 -230
  8. data/frameworks/sproutcore/HISTORY +281 -135
  9. data/frameworks/sproutcore/controllers/array.js +133 -22
  10. data/frameworks/sproutcore/controllers/collection.js +4 -5
  11. data/frameworks/sproutcore/controllers/object.js +8 -2
  12. data/frameworks/sproutcore/core.js +361 -159
  13. data/frameworks/sproutcore/{foundation → debug}/unittest.js +3 -3
  14. data/frameworks/sproutcore/english.lproj/detect-browser +1 -1
  15. data/frameworks/sproutcore/english.lproj/theme.css +2 -2
  16. data/frameworks/sproutcore/foundation/application.js +6 -1
  17. data/frameworks/sproutcore/foundation/benchmark.js +37 -11
  18. data/frameworks/sproutcore/foundation/date.js +1 -1
  19. data/frameworks/sproutcore/foundation/enumerator.js +105 -0
  20. data/frameworks/sproutcore/foundation/object.js +19 -20
  21. data/frameworks/sproutcore/foundation/responder.js +1 -1
  22. data/frameworks/sproutcore/foundation/set.js +164 -57
  23. data/frameworks/sproutcore/foundation/string.js +151 -47
  24. data/frameworks/sproutcore/foundation/utils.js +84 -3
  25. data/frameworks/sproutcore/lib/collection_view.rb +1 -0
  26. data/frameworks/sproutcore/license.js +28 -0
  27. data/frameworks/sproutcore/mixins/array.js +73 -209
  28. data/frameworks/sproutcore/mixins/delegate_support.js +1 -1
  29. data/frameworks/sproutcore/mixins/enumerable.js +1006 -0
  30. data/frameworks/sproutcore/mixins/observable.js +153 -84
  31. data/frameworks/sproutcore/mixins/selection_support.js +13 -1
  32. data/frameworks/sproutcore/models/record.js +74 -27
  33. data/frameworks/sproutcore/models/store.js +7 -3
  34. data/frameworks/sproutcore/server/rails_server.js +82 -0
  35. data/frameworks/sproutcore/server/rest_server.js +178 -0
  36. data/frameworks/sproutcore/{foundation → server}/server.js +101 -48
  37. data/frameworks/sproutcore/tests/core/guidFor.rhtml +114 -0
  38. data/frameworks/sproutcore/tests/foundation/array.rhtml +6 -7
  39. data/frameworks/sproutcore/tests/foundation/set.rhtml +254 -0
  40. data/frameworks/sproutcore/tests/mixins/enumerable.rhtml +421 -0
  41. data/frameworks/sproutcore/tests/mixins/observable.rhtml +127 -0
  42. data/frameworks/sproutcore/tests/models/model.rhtml +23 -22
  43. data/frameworks/sproutcore/tests/views/collection/incremental_rendering.rhtml +2 -2
  44. data/frameworks/sproutcore/tests/views/view/clippingFrame.rhtml +112 -109
  45. data/frameworks/sproutcore/tests/views/view/frame.rhtml +91 -88
  46. data/frameworks/sproutcore/validators/date.js +1 -7
  47. data/frameworks/sproutcore/views/collection/collection.js +7 -2
  48. data/frameworks/sproutcore/views/list_item.js +141 -3
  49. data/frameworks/sproutcore/views/split.js +14 -11
  50. data/frameworks/sproutcore/views/view.js +9 -6
  51. data/lib/sproutcore/build_tools/html_builder.rb +19 -3
  52. data/lib/sproutcore/build_tools/resource_builder.rb +9 -3
  53. data/lib/sproutcore/bundle.rb +21 -0
  54. data/lib/sproutcore/bundle_manifest.rb +64 -20
  55. data/lib/sproutcore/helpers/capture_helper.rb +2 -2
  56. data/lib/sproutcore/library.rb +33 -9
  57. data/lib/sproutcore/merb/bundle_controller.rb +16 -5
  58. data/lib/sproutcore/version.rb +1 -1
  59. data/lib/sproutcore/view_helpers.rb +1 -1
  60. data/{sc-config.rb → sc-config} +5 -2
  61. metadata +24 -5
@@ -1,6 +1,84 @@
1
+ == sproutcore 0.9.15
2
+
3
+ - Added titleize() helper for Strings. Also imported various other helpers
4
+ from Prototype.
5
+
6
+ - Ajax requests sent by SproutCore's SC.Server object will now add a custom
7
+ header "SproutCore-Version: 1.0" to every request. You can use this to
8
+ detect requests coming from SproutCore on the server side. Fixes #85 [trek]
9
+
10
+ - SC.Record does a better job of matching null values. Fixed #96 [Fredrik
11
+ Blomqvist]
12
+
13
+ - SC.Server now handles created records with no attributes yet. Fixed #98
14
+ [CAJ]
15
+
16
+ - Added support for reduced properties. These properties begin with "@" and
17
+ will automatically calculate some kind of summary information about the
18
+ receiving array. They are also bindable so you can bind to myArray.@average
19
+ and it will update whenever the average changes. [CAJ]
20
+
21
+ - Cleaned up SC.Array support to incorporate new SC.Enumerable functions. The
22
+ Enumerable methods from Prototype are no longer supported. [CAJ]
23
+
24
+ - Removed Array.asArray(). This helper has been deprecated for 6mo now. Use
25
+ SC.$A() or Array.from() instead. [CAJ]
26
+
27
+ - Added SC.$A() helper. This works like Prototype's SC.$A() except that it
28
+ will work with any enumerable. It is also namespaced properly. [CAJ]
29
+
30
+ - Added "application/json" to the default Accept header for all servers.
31
+ Required for proper support of json format. [Lawrence Pit]
32
+
33
+ - Added experimental support for SC.RailsServer which works with resource
34
+ oriented Rails applications. [Lawrence Pit, Simon Harris]
35
+
36
+ - [FIX] SplitView now resizes in both directions properly. Closes #110
37
+ [Christoph Angerer]
38
+
39
+ - Added support for the SC.Enumerable mixin and SC.Enumerators. These items
40
+ provide the basis for our standard enumeration API. This will replace
41
+ relying on iterators provided by Prototype eventually. See docs on those
42
+ classes for full information. [CAJ]
43
+
44
+ - SC.guidFor() now works consistantly with strings, numbers and other
45
+ primitive objects. Before it would differentiate between different
46
+ instances of these objects. Now it treats them the same if they are the
47
+ same value. [CAJ]
48
+
49
+ - Added SC.hashFor() method which can be used to determine if two objects are
50
+ equal. Normally this returns the same value as guidFor() but if you
51
+ implement the hash() method on your object, it will return that value
52
+ instead. This gives you an easy way to indicate that two objects are
53
+ equal even if they are different instances. [CAJ]
54
+
55
+ - Updated SC.isEqual() to respect SC.hashFor().
56
+
57
+ - Added support for hasSelection, hasContent, and other useful properties on
58
+ controllers for activating UI.
59
+
60
+ - Added newObject() and insertNewObjectAt() methods to ArrayController. These
61
+ methods will create and register new records automatically.
62
+
63
+ - SC.Record's changeCount now increments whenever a member array's attributes
64
+ change.
65
+
66
+ - Optimized SC.Object.objectForPropertyPath() to use less memory.
67
+
68
+ - You can now pass a string path as a :target and it will be converted to an
69
+ object. (thanks Peter Blazejewicz!)
70
+
71
+ - SC.CollectionView will now call destroyObject on the content array instead
72
+ of removeObject if that method is defined. This allows you to implement
73
+ arrays with a more specific handling of the destroyObject method.
74
+
75
+ - Added support for checkbox views in ListItemViews. Since this is a fairly
76
+ common requirement, checkbox views are now built in.
77
+
1
78
  == sproutcore 0.9.14
2
79
 
3
- - Fixed bug in SC.SourceListView that could incorrectly hide groups. Closes #57. (Thanks mguymon)
80
+ - Fixed bug in SC.SourceListView that could incorrectly hide groups. Closes
81
+ #57. (Thanks mguymon)
4
82
 
5
83
  - Fixed bug in SC.ObjectController that would sometimes not commit all pending
6
84
  changes because the model object would clear the changes hash. Also a test
@@ -35,15 +113,23 @@
35
113
 
36
114
  == sproutcore 0.9.12
37
115
 
38
- - SC.ButtonView & SC.MenuItemView now removes and adds the 'active' class name on mouseExited and mouseEntered when the mouse is pressed to provide better indication of whether an action will occur on mouse up. (Thanks schwa23)
116
+ - SC.ButtonView & SC.MenuItemView now removes and adds the 'active' class name
117
+ on mouseExited and mouseEntered when the mouse is pressed to provide better
118
+ indication of whether an action will occur on mouse up. (Thanks schwa23)
39
119
 
40
120
  - SC.Record#toString now shows record type in description.
41
121
 
42
- - [FIX] SC.Timer now computes the next fire time before it executes your callback action. This should avoid the situation where a timer would call your action, which would then take it past the last time it should fire and hence the last fire would never happen. (Thanks August)
122
+ - [FIX] SC.Timer now computes the next fire time before it executes your
123
+ callback action. This should avoid the situation where a timer would call
124
+ your action, which would then take it past the last time it should fire and
125
+ hence the last fire would never happen. (Thanks August)
43
126
 
44
- - [FIX] SC.Record#matchCondition() did not behave correctly when comparing record instances. Fix by onitunes includes both a faster comparison method along with correct behavior + kickin' unit tests
127
+ - [FIX] SC.Record#matchCondition() did not behave correctly when comparing
128
+ record instances. Fix by onitunes includes both a faster comparison method
129
+ along with correct behavior + kickin' unit tests
45
130
 
46
- - [FIX] some settings on the inline editor for multi-line edits were wrong. Now fixed thanks to maloninc (#38)
131
+ - [FIX] some settings on the inline editor for multi-line edits were wrong.
132
+ Now fixed thanks to maloninc (#38)
47
133
 
48
134
  == sproutcore 0.9.11
49
135
 
@@ -94,34 +180,42 @@ value. This makes it possible to do method chaining.
94
180
 
95
181
  - Added chainability to observer methods; improved docs
96
182
 
97
- set(), beginPropertyChanges(), endPropertyChanges() and a whole slew of other
98
- methods now return this instead of void or the set value. This allows for
99
- method chainings jQuery style such as:
183
+ set(), beginPropertyChanges(), endPropertyChanges() and a whole slew of
184
+ other methods now return this instead of void or the set value. This
185
+ allows for method chainings jQuery style such as:
100
186
 
101
187
  contact.beginPropertyChanges()
102
188
  .set('firstName', 'Charles')
103
189
  .set('lastName', 'Jolley')
104
190
  .endPropertyChanges();
105
191
 
106
- - auto select content of textarea when it's focused: this._isFocused is true for textarea while false for text input in didBecomeFirstRespo
192
+ - auto select content of textarea when it's focused: this._isFocused is true
193
+ for textarea while false for text input in didBecomeFirstRespo
107
194
 
108
- - scrollable#scrollViewToVisible now scrolls up and left. This corrects a bug with keyboard control that would bust when you move up or left.
195
+ - scrollable#scrollViewToVisible now scrolls up and left. This corrects a bug
196
+ with keyboard control that would bust when you move up or left.
109
197
 
110
198
  - Updated documentation on form
111
199
 
112
- - Use Element instead of element for IE compatability in Element.setClassName()
200
+ - Use Element instead of element for IE compatability in
201
+ Element.setClassName()
113
202
 
114
- - Added SC.View#destroy() to remove views from internal caches. insertBefore, removeChild, etc. also now return the view instance so you can chain them.
203
+ - Added SC.View#destroy() to remove views from internal caches. insertBefore,
204
+ removeChild, etc. also now return the view instance so you can chain them.
115
205
 
116
- - Popup menu was setting the width on each of the child menu items in addition to itself. This had a huge performance impact with little ac
206
+ - Popup menu was setting the width on each of the child menu items in addition
207
+ to itself. This had a huge performance impact with little ac
117
208
 
118
- - Disabled the current behavior for the menu item view helper which parses the shortcut before inserting it; now it simply passes the passe
209
+ - Disabled the current behavior for the menu item view helper which parses the
210
+ shortcut before inserting it; now it simply passes the passe
119
211
 
120
- - [FIX] Replaced url() calls with static_url() in CSS so that they will work properly in build mode
212
+ - [FIX] Replaced url() calls with static_url() in CSS so that they will work
213
+ properly in build mode
121
214
 
122
215
  - Cleanup in drag.js
123
216
 
124
- - Adding href property to ButtonView for bindable functionality on href attributes.
217
+ - Adding href property to ButtonView for bindable functionality on href
218
+ attributes.
125
219
 
126
220
  - Properly order drop targets so that nested targets appear first.
127
221
 
@@ -131,67 +225,86 @@ value. This makes it possible to do method chaining.
131
225
 
132
226
  * [IE] offsetParent and viewportOffset() are now IE compliant.
133
227
 
134
- * [IE] innerFrame now returns the correct value for elements without hasLayout.
228
+ * [IE] innerFrame now returns the correct value for elements without
229
+ hasLayout.
135
230
 
136
231
  * [IE] get styleWidth & styleHeight on a view will now return the same value
137
232
  on all platforms. The IE version would previously include padding and borders
138
233
  even though it should include only the core width.
139
234
 
140
- * [FIX] Unit tests could fail to execute in IE if they ended in a comment, fixed unittest.js to avoid this problem.
235
+ * [FIX] Unit tests could fail to execute in IE if they ended in a comment,
236
+ fixed unittest.js to avoid this problem.
141
237
 
142
238
  * [FIX] TextFieldView could blank out content when you tabbed out of in.
143
239
 
144
240
  == SproutCore 0.9.5
145
241
 
146
- * Collection View now supports selectOnMouseDown which can be turned off to provide better drag and drop behavior on SourceList. SC.SourceListView now turns this off by default.
242
+ * Collection View now supports selectOnMouseDown which can be turned off to
243
+ provide better drag and drop behavior on SourceList. SC.SourceListView now
244
+ turns this off by default.
147
245
 
148
246
  * Requesting a resource that should be available in production mode while
149
- running your server in dev mode will now work. Bundles now build one manifest per language/build_mode combination.
247
+ running your server in dev mode will now work. Bundles now build one
248
+ manifest per language/build_mode combination.
150
249
 
151
- * Initial changes to SampleControls to add a form-view demo. None of the controls are wired up yet.
250
+ * Initial changes to SampleControls to add a form-view demo. None of the
251
+ controls are wired up yet.
152
252
 
153
253
  * Added mongrel as a required dependency of SproutCore. If you have something
154
254
  like thin installed this is technically not required, but several people were
155
255
  experiencing trouble installing the gem.
156
256
 
157
- * Lots of Safari-specific features for Photos just to demo some of its capabilities. Client-side storage support is also provided but currently does not save changes you make.
257
+ * Lots of Safari-specific features for Photos just to demo some of its
258
+ capabilities. Client-side storage support is also provided but currently
259
+ does not save changes you make.
158
260
 
159
261
  * SC.CollectionView now supports selectAll (Ctrl+A)
160
262
 
161
- * SC.CollectionView now supports the delete key to remove items. Also added delegate methods to the collection view delegate to give you control over how deletions happen.
263
+ * SC.CollectionView now supports the delete key to remove items. Also added
264
+ delegate methods to the collection view delegate to give you control over
265
+ how deletions happen.
162
266
 
163
267
  * SC.window can now properly capture the backspace key in Firefox. To
164
- activate this feature you must declare SC.CAPTURE_BACKSPACE_KEY = YES in your
165
- core.js file. Capturing the backspace key will prevent the browser from going to previous page when the user hits backspace, which can lead to data loss. To capture this key, SC.window will directly set the document.onkeypress handler.
268
+ activate this feature you must declare SC.CAPTURE_BACKSPACE_KEY = YES in
269
+ your core.js file. Capturing the backspace key will prevent the browser
270
+ from going to previous page when the user hits backspace, which can lead to
271
+ data loss. To capture this key, SC.window will directly set the
272
+ document.onkeypress handler.
166
273
 
167
274
  * SC.GridView now supports dropping ON items.
168
275
 
169
276
  * SC.ListView now supports dropping ON items.
170
277
 
171
- * Removed the try/catch() that was placed around property notifiers. This is not only faster but it will make it easier to debug these exceptions in Firebug and IE.
278
+ * Removed the try/catch() that was placed around property notifiers. This is
279
+ not only faster but it will make it easier to debug these exceptions in
280
+ Firebug and IE.
172
281
 
173
282
  * [FIX] SC.InlineTextFieldView was using the _frame property even though that
174
283
  is used by a parent class. Changed to _optframe
175
284
 
176
285
  * Improved some documentation here and there.
177
286
 
178
- * [FIX] SC.View will recache its frames when isVisibleInWindow changes. This will help to ensure we always have the correct dimensions when bringing views on and offscreen. -- All unit tests now pass again.
287
+ * [FIX] SC.View will recache its frames when isVisibleInWindow changes. This
288
+ will help to ensure we always have the correct dimensions when bringing
289
+ views on and offscreen. -- All unit tests now pass again.
179
290
 
180
- * Improves Photos sample to include support for adding/deleting albums and drag and drop into albums.
291
+ * Improves Photos sample to include support for adding/deleting albums and
292
+ drag and drop into albums.
181
293
 
182
- * Collection View now supports dropping items ON item views as well as between
183
- them.
294
+ * Collection View now supports dropping items ON item views as well as
295
+ between them.
184
296
 
185
297
  * Collection Views now support a delegate object that can be used to control
186
- drag and drop and selection behavior. See mixins/collection_view_delegate.js
187
- for a complete description of the new methods.
298
+ drag and drop and selection behavior. See
299
+ mixins/collection_view_delegate.js for a complete description of the new
300
+ methods.
188
301
 
189
302
  * SC.ArrayController now supports the useControllersForContent property. If
190
- set to YES, then getting an objectAt() will return a controller for the value
191
- instead of the value itself. This is useful for those times you are using an
192
- array controller to manage a set of objects you want to control. Previously
193
- this feature was always used by array controllers and could not be disabled.
194
- This is now off by default.
303
+ set to YES, then getting an objectAt() will return a controller for the
304
+ value instead of the value itself. This is useful for those times you are
305
+ using an array controller to manage a set of objects you want to control.
306
+ Previously this feature was always used by array controllers and could not
307
+ be disabled. This is now off by default.
195
308
 
196
309
  * [FIX] SC.ArrayController and SC.ObjectController now will properly observe
197
310
  their own content, even when the content is set on init.
@@ -212,83 +325,99 @@ notification system.
212
325
 
213
326
  * Improved documentation for a variety of classes
214
327
 
215
- * [FIX] Only fixtures ending in ".js" will now be loaded. This allows you to include fixtures named .json or whatever and actually load them via XHR.
328
+ * [FIX] Only fixtures ending in ".js" will now be loaded. This allows you to
329
+ include fixtures named .json or whatever and actually load them via XHR.
216
330
 
217
331
  == SproutCore 0.9.3
218
332
 
219
- * Basic changes to get IE working. All non-view tests now pass and the doc app and test runner both load and run in IE7. Lots of visual fixes are still required for the sc-theme as well as IE-specific perf optimization and bug fixes.
333
+ * Basic changes to get IE working. All non-view tests now pass and the doc
334
+ app and test runner both load and run in IE7. Lots of visual fixes are
335
+ still required for the sc-theme as well as IE-specific perf optimization
336
+ and bug fixes.
220
337
 
221
- * [BUG] Default template for both client and template included a stray comma in their core.js file that breaks IE and Safari 2. This is fixed in the templates and in the clients included with the framework, though you will need to make this change manually in your own apps.
338
+ * [BUG] Default template for both client and template included a stray comma
339
+ in their core.js file that breaks IE and Safari 2. This is fixed in the
340
+ templates and in the clients included with the framework, though you will
341
+ need to make this change manually in your own apps.
222
342
 
223
343
  * beginInlineEdit() and endInlineEdit() on SC.LabelView were renamed to comply
224
- with the SC.Editable protocol. Use beginEditing() and commitEditing() or
225
- discardEditing() instead.
344
+ with the SC.Editable protocol. Use beginEditing() and commitEditing() or
345
+ discardEditing() instead.
226
346
 
227
347
  * Added SC.Editable mixin. This provides a standard protocol for begining
228
- and ending keyboard editing sessions on views. SC.Editable is now used
229
- by SC.LabelView, SC.ListItemView, SC.TextFieldView, and SC.TextareaFieldView.
348
+ and ending keyboard editing sessions on views. SC.Editable is now used
349
+ by SC.LabelView, SC.ListItemView, SC.TextFieldView, and
350
+ SC.TextareaFieldView.
230
351
 
231
352
  * Collection view now supports the default behavior to begin editing when you
232
- click on a selected item for a second time. If you hit return it will also
233
- begin editing. To support this, you must set contentValueIsEditable to YES
234
- and implement beginEditing() on your item view.
353
+ click on a selected item for a second time. If you hit return it will also
354
+ begin editing. To support this, you must set contentValueIsEditable to YES
355
+ and implement beginEditing() on your item view.
235
356
 
236
357
  * Inline editor is now supported in both SC.ListItemView and SC.LabelView.
237
358
 
238
359
  * Improved inline editor (now renamed SC.InlineTextFieldView for consistancy).
239
- The new editor can be used with basically any view now in addition to just the
240
- label view. It also automatically inherits the font size and style of any
241
- underlying DOM element that you hand it. To work with an inline editor you
242
- will need to implement the InlineEditorDelegate (see documentation).
360
+ The new editor can be used with basically any view now in addition to just
361
+ the label view. It also automatically inherits the font size and style of
362
+ any underlying DOM element that you hand it. To work with an inline editor
363
+ you will need to implement the InlineEditorDelegate (see documentation).
243
364
 
244
- * Inline editor now displays with a fixed width and grows downward as you type instead of stretching out to the end.
365
+ * Inline editor now displays with a fixed width and grows downward as you type
366
+ instead of stretching out to the end.
245
367
 
246
368
  * Added hello world sample app.
247
369
 
248
370
  * Updated contacts sample app. It is much nicer now.
249
371
 
250
- * Add sproutcore freeze:gems command to freeze latest SproutCore in your local project.
372
+ * Add sproutcore freeze:gems command to freeze latest SproutCore in your local
373
+ project.
251
374
 
252
375
  * Updated copyright to 2008.
253
376
 
254
377
  * Converted all uses of setTimeout() in the framework to use run loop instead.
255
378
 
256
379
  * Added invokeLater() methods to both SC.Object and Function. These
257
- convenience methods will create a timer to execute a method or function at a
258
- later time. If you need to execute code later, instead of setTimeout,
259
- consider using myObject.invokeLater(0, 'methodName') ;
380
+ convenience methods will create a timer to execute a method or function at a
381
+ later time. If you need to execute code later, instead of setTimeout,
382
+ consider using myObject.invokeLater(0, 'methodName') ;
260
383
 
261
384
  * New SC.Timer class provides more efficient triggers for timeouts, etc. The
262
- timer class now also has unit tests and really awesome docs.
385
+ timer class now also has unit tests and really awesome docs.
263
386
 
264
387
  * [FIX] offsetParent, frame, clippingFrame, and innerFrame would all sometimes
265
- return the wrong values in Firefox because of a bug that returns the wrong
266
- offsetLeft and offsetTop when a parent element has a border.
388
+ return the wrong values in Firefox because of a bug that returns the wrong
389
+ offsetLeft and offsetTop when a parent element has a border.
267
390
 
268
391
  * Fixed all SC unit tests that were failing (now that I can run them again).
269
392
 
270
393
  * Test Runner now has a "Rerun Current Test" button that will rerun the
271
- current test.
394
+ current test.
272
395
 
273
396
  * Added convenience method $I() (or SC.inspect()) - converts an object to a
274
- hash and then displays its key/value pairs. Useful for debugging.
397
+ hash and then displays its key/value pairs. Useful for debugging.
275
398
 
276
399
  * Fixed up test templates in generators so that they check for the presence
277
- of main() before trying to fix it up. This was causing errors on new tests when added to frameworks.
400
+ of main() before trying to fix it up. This was causing errors on new tests
401
+ when added to frameworks.
278
402
 
279
403
  * [FIX] invokeWhile() was implemented on real Array objects but not on
280
- SC.Array mixin. This caused the controllers/controller test to fail. Now
281
- fixed.
404
+ SC.Array mixin. This caused the controllers/controller test to fail. Now
405
+ fixed.
282
406
 
283
407
  * Updated test runner to use new SproutCore.
284
408
 
285
- * [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.
409
+ * [FIX] The JSDoc template will now try to group items based on their full
410
+ path, rather than just the top-most directory. This means views stored
411
+ under views/buttons, for example, now appear in the group VIEWS/BUTTONS in
412
+ the UI.
286
413
 
287
- * 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.
414
+ * Moved the base class for collections, buttons, and fields into their
415
+ respective folders. This will appear them to appear under the correct
416
+ location in the Doc viewer.
288
417
 
289
418
  * [FIX] Grouped views in the source list without a visible header will
290
- overlapping the following group, absorbing their clicks. Now they render
291
- the proper size.
419
+ overlapping the following group, absorbing their clicks. Now they render
420
+ the proper size.
292
421
 
293
422
  * SC.SliderView provides a horizontal slider. No vertical slider is currently
294
423
  planned since those controls are so rare. If someone really needs one, please
@@ -304,100 +433,107 @@ enhance SC.SliderView to support it!
304
433
  group value is null. Items will still be shown; they will just appear to be
305
434
  "top level"
306
435
 
307
- * JSDocs template was cutting the first sentance from a class description. This is now fixed.
436
+ * JSDocs template was cutting the first sentance from a class description.
437
+ This is now fixed.
308
438
 
309
- * 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
310
- library (try it; it's cool - visit: http://localhost:4020/sproutcore/-docs)
439
+ * Updated sc_docs to work with updated SproutCore. Also adopts new look and
440
+ feel and includes support for live search on all symbols defined in the
441
+ library (try it; it's cool - visit: http://localhost:4020/sproutcore/-docs)
311
442
 
312
443
  * JSDoc template no longer generated highlighted JS source along with ref
313
- docs. This was slowing things down and the output wasn't really that great
314
- anyway.
444
+ docs. This was slowing things down and the output wasn't really that great
445
+ anyway.
315
446
 
316
447
  * Tweaked JSdoc's Textile support to accept '-' as a bullet characters. Since
317
- jsdoc strips all * at the beginning of lines you could not do bulletted lists
318
- before. Now you can using -.
448
+ jsdoc strips all * at the beginning of lines you could not do bulletted
449
+ lists before. Now you can using -.
319
450
 
320
451
  * Updated design of jsdoc documentation to make it easier to read.
321
452
 
322
453
  * Renamed buttons-sprite.png to sc-theme-sprite.png. Added
323
- sc-theme-ysprite.png. One is now used to hold all repeat-x and non-repeating
324
- sprites while the other is used for repeat-y sprites only.
454
+ sc-theme-ysprite.png. One is now used to hold all repeat-x and non-
455
+ repeating sprites while the other is used for repeat-y sprites only.
325
456
 
326
457
  * SC.SplitView & SC.SplitDividerView provide support for draggable and
327
- collapsable split views.
458
+ collapsable split views.
328
459
 
329
460
  * SC.ListView now uses SC.ListItemView as its default example view instead of
330
- SC.LabelView (or the old SC.TextCellView)
461
+ SC.LabelView (or the old SC.TextCellView)
331
462
 
332
463
 
333
- * The Source List now provides support for the disclosure triangle. A disclosure is automatically shown if you have grouping enabled and you set the
334
- groupVisibleKey property to anything other an null. The disclosure does not
335
- yet auto-reveal during a drag.
464
+ * The Source List now provides support for the disclosure triangle. A
465
+ disclosure is automatically shown if you have grouping enabled and you set
466
+ the groupVisibleKey property to anything other an null. The disclosure
467
+ does not yet auto-reveal during a drag.
336
468
 
337
469
  * SC.DisclosureView - Shows a disclosure triangle button.
338
470
 
339
471
  * [FIX] Left over calls to SC.TextCellView. Replaced with SC.LabelView.
340
472
 
341
473
  * SC.WorkspaceView is now removed from the framework. It was always intended
342
- for use in Sproutit applications and it is really too specific for such a generic framework.
474
+ for use in Sproutit applications and it is really too specific for such a
475
+ generic framework.
343
476
 
344
477
  * SC.LabelView gets a new API! Now in line with other SC.Control based
345
- classes. Set value for the value, content/contentValueKey to display part
346
- of some content.
478
+ classes. Set value for the value, content/contentValueKey to display part
479
+ of some content.
347
480
 
348
481
  * You can add view helpers to your own projects just by dropping them into
349
- a lib directory inside your framework or client. If you need to load your
350
- view helpers in a certain order, use the view_helper() method. See the view helpers in SproutCore for an example usage.
482
+ a lib directory inside your framework or client. If you need to load your
483
+ view helpers in a certain order, use the view_helper() method. See the
484
+ view helpers in SproutCore for an example usage.
351
485
 
352
486
  * SproutCore view helpers are now stored in the framework itself along with
353
- the JavaScript. This will make it easier to include the latest version of
354
- the SproutCore framework in you app without having to install a new set of
355
- build tools. This should basically eliminate the only frequently changing
356
- part of the build tools.
487
+ the JavaScript. This will make it easier to include the latest version of
488
+ the SproutCore framework in you app without having to install a new set of
489
+ build tools. This should basically eliminate the only frequently changing
490
+ part of the build tools.
357
491
 
358
492
  * SC.SourceList and SC.ListItemView properties now use "content..Key"
359
- convention for naming properties. If you have built code with the old
360
- "content..Property" conventions, you will need to update your code.
493
+ convention for naming properties. If you have built code with the old
494
+ "content..Property" conventions, you will need to update your code.
361
495
 
362
- * Added hint property to text_area_view helper that is required to display ghost text.
496
+ * Added hint property to text_area_view helper that is required to display
497
+ ghost text.
363
498
 
364
499
  * added new SC.CheckboxView and SC.RadioView for creating simulated checkbox
365
- and radio buttons. These buttons have more functions than their platform
366
- native counterparts including mixed style and full styling support.
500
+ and radio buttons. These buttons have more functions than their platform
501
+ native counterparts including mixed style and full styling support.
367
502
 
368
503
  * Moved field view subclasses to views/field directory.
369
504
 
370
505
  * Added SC.Validatable mixin that can be applied to any view to make it work
371
- with validators. SC.FieldView now incorporates this mixin.
506
+ with validators. SC.FieldView now incorporates this mixin.
372
507
 
373
508
  * Now if you add initMixin() to a mixin, it will be called automatically
374
- whenever an object that includes the mixin is instantiated. You can use this
375
- to perform any setup necessary for the mixin.
509
+ whenever an object that includes the mixin is instantiated. You can use
510
+ this to perform any setup necessary for the mixin.
376
511
 
377
512
  * Renamed SC.Control.contentValueProperty to SC.Control.contentValueKey to
378
- be consistent with the rest of the API.
513
+ be consistent with the rest of the API.
379
514
 
380
515
  * Added updateContentWithValueObserver to SC.Control that will relay changes
381
- to the value property back to the content object if you use the default
382
- implementation.
516
+ to the value property back to the content object if you use the default
517
+ implementation.
383
518
 
384
519
  * Changed SC.Control observers for various states that were once private to
385
- public methods. This way you can override them in your subclasses if you need
386
- to perform some extra processing and you want to make sure you do them in the
387
- right order. You can also just add more observers as well.
520
+ public methods. This way you can override them in your subclasses if you
521
+ need to perform some extra processing and you want to make sure you do them
522
+ in the right order. You can also just add more observers as well.
388
523
 
389
524
  * Added JSDoc info for Validators, SC.FieldView, SC.CheckboxFieldView
390
525
 
391
526
  * Switched some Sc Theme CSS to use sc-button-view classname instead of more
392
- generic a.button or a.regular.
527
+ generic a.button or a.regular.
393
528
 
394
529
  * Added new addClassName, removeClassName, setClassName and hasClassName
395
- methods on SC.View that are 7x faster than prototype's version.
530
+ methods on SC.View that are 7x faster than prototype's version.
396
531
 
397
532
  * Integrated SC.Control into SC.ButtonView
398
533
 
399
534
  * Changed SC.ButtonView.labelText and SC.ButtonView.labelSelector to
400
- SC.ButtonView.title and SC.ButtonView.titleSelector to be more consistant with current naming conventions.
535
+ SC.ButtonView.title and SC.ButtonView.titleSelector to be more consistant
536
+ with current naming conventions.
401
537
 
402
538
  * [FIX] Some doc tags were wrong in SC.ScrollView and others.
403
539
 
@@ -411,63 +547,73 @@ from using a sprite to use a custom-generated image and back again.
411
547
  own application, courtesy of IconDrawer (http://www.icondrawer.com).
412
548
 
413
549
  * Generalized SC.Control's observer so that you can now use it to observe
414
- changes to multiple properties on content. This should capture a very common pattern requires by collection item views. Most control-list SC.Views will
415
- eventually adopt this mixin.
550
+ changes to multiple properties on content. This should capture a very
551
+ common pattern requires by collection item views. Most control-list
552
+ SC.Views will eventually adopt this mixin.
416
553
 
417
554
  * Added ListItemView which will be used for rendering content in list views
418
- and source list views. ListViewItem can render a name, icon, and optional
419
- unread count.
555
+ and source list views. ListViewItem can render a name, icon, and optional
556
+ unread count.
420
557
 
421
- * Changed displayProperty in SC.CollectionView to contentValueKey to match the new SC.Control pattern.
558
+ * Changed displayProperty in SC.CollectionView to contentValueKey to match
559
+ the new SC.Control pattern.
422
560
 
423
- * 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.
561
+ * SC.Control now has built in support for a value and content property. The
562
+ value property is typically the value the control displays, while content
563
+ is an object that you might pull a content value from. You can determine
564
+ the proeprty of the content object to use as a value by setting the
565
+ 'contentValueKey'. The contentValueKey can also be provided by the
566
+ displayDelegate.
424
567
 
425
- * Added SC.DelegateSupport mixin that can be used to support the delegate pattern.
568
+ * Added SC.DelegateSupport mixin that can be used to support the delegate
569
+ pattern.
426
570
 
427
571
  * [FIX] Selection management would throw exception after a drag and drop.
428
572
 
429
573
  * [FIX] Optimization in fmt() would through an exception if you passed it a
430
- value that did not support toString().
574
+ value that did not support toString().
431
575
 
432
576
  * Moved selection management methods from CollectionController in independent
433
- SC.SelectionSupport mixin. This mixin is now used by both
434
- SC.CollectionController and SC.ArrayController so you can use either one to
435
- manage a selection state. You can also apply this mixin to your own
436
- controllers to manage selection state if you like (though this is not required
437
- to manage selections.)
577
+ SC.SelectionSupport mixin. This mixin is now used by both
578
+ SC.CollectionController and SC.ArrayController so you can use either one to
579
+ manage a selection state. You can also apply this mixin to your own
580
+ controllers to manage selection state if you like (though this is not
581
+ required to manage selections.)
438
582
 
439
583
  * Began to separate CSS rules into a core.css and a theme.css. The core.css
440
- styles are generally required by SproutCore and should apply even if you build
441
- your own theme. The theme.css rules apply to the SproutCore theme only and
442
- can be overriden by your own CSS.
584
+ styles are generally required by SproutCore and should apply even if you
585
+ build your own theme. The theme.css rules apply to the SproutCore theme
586
+ only and can be overriden by your own CSS.
443
587
 
444
588
  * Added SC.SourceListView and sc-theme styles for source lists. Source lists
445
- support grouping if you enable this feature. See the new Collections2 tab in
446
- the SampleControls app for an example source list.
589
+ support grouping if you enable this feature. See the new Collections2 tab
590
+ in the SampleControls app for an example source list.
447
591
 
448
592
  * Added SC.TableView. This feature is in progress. See the new
449
- Collections2 tab in the SampleControls app for an example table view.
593
+ Collections2 tab in the SampleControls app for an example table view.
450
594
 
451
595
  * Changed asHTML and asText properties to innerHTML and innerText to match
452
- their DOM equivalents.
596
+ their DOM equivalents.
453
597
 
454
598
  * Renamed SC.CollectionItem mixin to SC.Control mixin. SC.Control mixin now
455
- provides some standard functionality for all interactive controls such as
456
- handling selection states, enabled and focus states.
599
+ provides some standard functionality for all interactive controls such as
600
+ handling selection states, enabled and focus states.
457
601
 
458
602
  * Removed support for :resize_options property in view helper, since
459
- auto-resizing is no longer supported in SC.View (it never worked right anyway
460
- and was not functionally very usable.)
603
+ auto-resizing is no longer supported in SC.View (it never worked right
604
+ anyway and was not functionally very usable.)
461
605
 
462
606
  * innerText property now uses TextNodes, making it about 50% faster than
463
- innerHTML on FireFox.
607
+ innerHTML on FireFox.
464
608
 
465
609
  * Added view helpers for list_view, scroll_view, grid_view, source_list_view,
466
- and table_view. Also refactored collection view helpers into their own file.
610
+ and table_view. Also refactored collection view helpers into their own
611
+ file.
467
612
 
468
613
  * [FIX] CollectionView is now able to render items in groups.
469
614
 
470
- * [FIX] SC.ObjectController: Avoid unwanted commit when oldValue == null && newValue == ''.
615
+ * [FIX] SC.ObjectController: Avoid unwanted commit when oldValue == null &&
616
+ newValue == ''.
471
617
 
472
618
 
473
619