forked from madrobby/scriptaculous
-
Notifications
You must be signed in to change notification settings - Fork 0
/
CHANGELOG
1179 lines (645 loc) · 51.5 KB
/
CHANGELOG
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
580
581
582
583
584
585
586
587
588
589
590
591
592
593
594
595
596
597
598
599
600
601
602
603
604
605
606
607
608
609
610
611
612
613
614
615
616
617
618
619
620
621
622
623
624
625
626
627
628
629
630
631
632
633
634
635
636
637
638
639
640
641
642
643
644
645
646
647
648
649
650
651
652
653
654
655
656
657
658
659
660
661
662
663
664
665
666
667
668
669
670
671
672
673
674
675
676
677
678
679
680
681
682
683
684
685
686
687
688
689
690
691
692
693
694
695
696
697
698
699
700
701
702
703
704
705
706
707
708
709
710
711
712
713
714
715
716
717
718
719
720
721
722
723
724
725
726
727
728
729
730
731
732
733
734
735
736
737
738
739
740
741
742
743
744
745
746
747
748
749
750
751
752
753
754
755
756
757
758
759
760
761
762
763
764
765
766
767
768
769
770
771
772
773
774
775
776
777
778
779
780
781
782
783
784
785
786
787
788
789
790
791
792
793
794
795
796
797
798
799
800
801
802
803
804
805
806
807
808
809
810
811
812
813
814
815
816
817
818
819
820
821
822
823
824
825
826
827
828
829
830
831
832
833
834
835
836
837
838
839
840
841
842
843
844
845
846
847
848
849
850
851
852
853
854
855
856
857
858
859
860
861
862
863
864
865
866
867
868
869
870
871
872
873
874
875
876
877
878
879
880
881
882
883
884
885
886
887
888
889
890
891
892
893
894
895
896
897
898
899
900
901
902
903
904
905
906
907
908
909
910
911
912
913
914
915
916
917
918
919
920
921
922
923
924
925
926
927
928
929
930
931
932
933
934
935
936
937
938
939
940
941
942
943
944
945
946
947
948
949
950
951
952
953
954
955
956
957
958
959
960
961
962
963
964
965
966
967
968
969
970
971
972
973
974
975
976
977
978
979
980
981
982
983
984
985
986
987
988
989
990
991
992
993
994
995
996
997
998
999
1000
* Make sure InPlaceEditor converts HTML entities to text. [Sean Kirby]
* Fix that Builder.node did not return extended elements on IE. Closes #71 and #77.
* Fix a bug in Sortable.destroy to make sure it's called on the referenced Sortable only, which allows for the correct intialization of nested Sortables. Closes Trac #8615. [Leon Chevalier]
* Change Effect.Base#render not to use eval(), so certain JavaScript runtime environments (like Adobe AIR) that do not support eval() work. [King Maxemilian, John-David Dalton]
* Fixed a calculation error in Effect.Transitions.pulse that could lead to flickering, add easing and change it to be a normal 0 to 1 transition that can be used with any effects; Effect.Pulsate now uses its own implementation. [Thomas Fuchs]
* Fixed Effect.ScrollTo. Changeset 8686 had a typo, document.viewport.getScrollOffsets[0] is always undefined. Removed the max check as it is not a cross-browser way to get scroll height and breaks the effect. Depending on scrollTo to do the right thing. Closes #11306. [Nick Stakenburg]
* Update version check so all Prototype versions can be required, not just x.x.x. Closes #10966. [Nick Stakenburg]
* Using $$ in the loader instead of getElementsByTagName to prevent limitations. Closes #9032. [Nick Stakenburg]
* Fix some missing semicolons. [jdalton]
* Update to Prototype 1.6.0.2 final
* Fix an issue with Effect.ScrollTo that caused Firefox to scroll to the wrong offset in some situations. Closes #10245. [nik.wakelin]
* Fixes an issue with IE ghosting on non-absolute elements. Closes #10423. [Tanrikut, tdd]
*V1.8.1* (January 3, 2008)
* Fix Element#getStyles in IE. Closes #10563. [Tobie Langel]
* Update to Prototype 1.6.0.1 as of 8551.
* Fix a regression with autocompleters not responding correctly to cursor keys on both Safari and IE. Closes #10107. [thx Zman771]
*V1.8.0* (November 6, 2007)
* Update to Prototype 1.6.0 final
* Ajax.InPlaceEditor now can deal with callbacks that return an object. Closes #10064. [tdd]
* Fix a potential problem with the loader and Firefox 2.0 on the Mac. Closes #9951. [awaters]
* Add duration and distance options to Effect.Shake. Closes #8637. [amiel, rmm5t]
* Update code to use new Hash implemention in Prototype 1.6. Update InPlaceEditor to use new Class.create syntax. [tdd]
*V1.8.0 preview 0* (October 12, 2007)
* Update to new Class.create syntax in Prototype 1.6; update to latest Prototype 1.6 trunk.
* Fix bottom CSS property reassignment and initialization in queues for Effect#SlideUp. Closes #7412, #7761.
* Fix an issue with String#parseStyle that could sometimes cause errors on Safari 2.
* Refactoring to use Prototype 1.6. Remove dependency of Effect.tagifyText from builder. Use Prototype code style rules more consistently.
* Remove the deprecated Effect2 namespace.
* Update to Prototype 1.6.0_rc0.
* Some effect code refactoring to take advantage of new Prototype 1.6 features.
* Effect.ScrollTo is now no longer a core effect (returns a Effect.Tween instance now).
* Add Effect.Tween, a new core effect. This effect tweens between two values and sets a property or calls a method on an object (including DOM elements); or allows for a callback method, which will be automatically bound to the object.
Examples:
var whatever = { blech: 0 };
new Effect.Tween(whatever, 5, 0, 'blech'); // sets property on the object
new Effect.Tween('foo', 10, 20, 'innerHTML'); // sets property on the 'foo' DOM element
new Effect.Tween('foo', 10, 20, 'update'); // method call on 'foo' DOM element
new Effect.Tween('foo', 50, 0, { duration: 2.0 }, function(p){
this.setStyle({border:p.toFixed(3)+'px solid red'});
});
new Effect.Tween(null, 0, 100, function(p){ scrollTo(0,p) }); // scrolls the window
* Revert the workaround for the Firefox issue that makes autocompleter input field values be remembered correctly when the back button is hit to return to a page that contains autocompleted values, as this can cause "Are you sure you want to navigate away?" popups. Closes #8411. [okada]
* Improve the way deactivating the active droppable is handled. Closes #9072. [Karsten Sperling]
* Next version will be 1.8.0. Update to Prototype 1.6.0_pre1.
* Make draggable initialization faster. Closes #8697. [ssinghi]
* Make BDD-style testing compatible with IE6 and IE7. Closes #8972. [steveluscher]
* Add BDD methods to booleans. Closes #9147. [steveluscher]
* Add support for full CSS inheritance in Effect.Morph. Closes #9054. [Tobie]
IMPORTANT: Note that this could potentially change the outcome of classname-based morphs, so be sure to check your morph effects if you use this feature.
For this feature, the new method Element#getStyles is introduced, which returns an objects which properties correspond to the CSS properties found in Element.CSS_PROPERTIES. Note that this method doesn't work seemlessly across browsers for certain non-measurable CSS properties, such as float.
* Add the externalControlOnly option to the in-place editors to allow for external controls to exclusively trigger the in-place editing. Closes #9024. [tdd]
* Complete rewrite of Ajax.InPlaceEditor and Ajax.InPlaceCollectionEditor. [tdd]
THIS UPDATE MIGHT AFFECT BACKWARDS COMPATIBILITY.
Be sure to properly test, especially if you're using multi-line editing and/or monkeypatching.
Read more about all the added goodness in this article:
http://mir.aculo.us/2007/7/17/in-place-editing-the-summer-2007-rewrite
* Update to Prototype 1.5.2_rc0 r7076:
- Works around bugs in Safari 1 and Safari 2 Regexp engines that could cause crashes
- Fixes a rendering issue with opacity-based effects and floating elements on Safari
* Mild refactoring of sound.js to take advantage of new Prototype features.
* Add highlight element method as a shortcut to Effect.Highlight.
Example:
$('message').highlight({startcolor:'#ff0000'}).update('KTHXBYE');
* Improve performance of String.prototype.parseStyle by caching the dummy element used.
* Add combined effects as element methods.
Examples:
$('message').appear().update('Oh noes!');
$('login').shake({ duration: 2 });
* Add Effect.Transitions.spring, which simulates a spring which oscillates while coming to rest. This transition is specifically targeted towards use with Effect.Move, for example as a reverteffect when using Draggables, as it will have return values >1 and cause temporary "overshooting" of the effect. Closes #8474. [edg2s]
* Fix effects initialization if no options are given. Fixes #7809. [thx Kroc Camen]
* Fix incorrect placement on drop for absolute ghosting elements. Update to Prototype 1.5.2_rc0 r6955 (required for #8581). Closes #8581. [tdd]
* Make sure the autocompletion happens on the token where the cursor is, not the last token when using tokenized autocompleting text fields. Closes #8588. [tdd]
* Fix that non-Mozilla browsers would display messages with the autocompleter back-button fix introduced in 1.7.1 beta 2. Fixes #7752, #8411. [josh, stetz]
*V1.7.1 beta 3* (May 19, 2007)
* Update to Prototype 1.5.1 final
* New elements and handles options for Sortable.create which take arrays of elements or element ids. These overrule the normal handle and elements finding options on initialization of the sortable, and can yield huge performance increases in situations where these elements or ids are known at call time. [Thomas Fuchs]
* Major performance improvement of Sortable.create when using the handle option. [Tobie Langel]
* Fix Builder.node double quote escaping in attributes, fixes #8125. [Aa!]
*V1.7.1 beta 2* (April 28, 2007)
* Update to Prototype 1.5.1_rc4
- Various optimizations and fixes
- http://dev.rubyonrails.org/browser/spinoffs/prototype/trunk/CHANGELOG?rev=6604
* Fix autocompleter indicator not appearing when calling activate() directly. Don't show indicator for local autocompleting. Fixes #7770. [pyro8019]
* Don't clear out autocompleting fields in Mozilla-based browsers when navigating back to a page with the Back button, fixes #7752. [seanc]
*V1.7.1 beta 1* (March 12, 2007)
* Update to Prototype 1.5.1 r6386
- Fixes SlideUp/SlideDown on IE
- Fixes an opacity problem with IE
- Performance optimizations
- See http://dev.rubyonrails.org/browser/spinoffs/prototype/trunk/CHANGELOG?rev=6381 for more information
* Make builder unit tests work on IE
* Fix id assignment for sounds on Firefox/Windows, fixes #7709 [Robert Wallis]
* Add Sound.enable() and Sound.disable() to globally turn off Sound.play()
* Added Sound.play(url,options) in new sound.js file. scriptaculous.js automatically includes this file.
Based on code by Jules Gravinese, used with permission.
The sound player uses native sound support on IE, and falls back to using <embed> on other browsers,
which means it uses QuickTime for most cases. The recommended format to use is MP3.
Examples:
Sound.play('blah.mp3');
// --> plays sound immediately in 'global' track
Sound.play('blah.mp3',{replace:true});
// --> stop playing all sounds in 'global' track, and play new sound
Sound.play('blah.mp3',{track:'mytrack'});
// --> places the sound in the 'mytrack' track
Sound.play('blah.mp3',{track:'mytrack',replace:true});
// --> stop playing all sounds in 'mytrack' track, and play new sound
The sound effect used in the functional test is "Sword being drawn" by James Greever, released as freeware.
* Various effects engine optimizations [Tobie Langel, Thomas Fuchs]
* Make Ajax.InPlaceEditor more customizable: [thx godlie]
- Add an okLink option to Ajax.InPlaceEditor so you can have a link instead of a button. Uses the 'editor_ok_link' CSS class for styling, fixes #6455
- Add an cancelButton option to Ajax.InPlaceEditor, uses the 'editor_cancel_button' CSS class
- Add textBefore-, textBetween- and textAfterControls (which default to empty strings)
- For consistency, cancel link now also gets 'editor_cancel_link' CSS class
* Add an onDropped callback to Draggables, that fires at the end of a drag when the Draggable was dropped on a Droppable
* Add revert: 'failure' option to Draggables to only revert if not dropped on a valid drop target, fixes #6909 [davidw]
* Update to new Prototype Browser detection
* Fix a memory leak with Effect.Morph in Firefox, fixes #7558 [Malard]
* Add ability to nest single nodes in Builder.node in addition to arrays of nodes.
Examples:
var element = Builder.node('div', Builder.node('span','blah'));
Builder.dump();
var element = DIV(SPAN('blah'));
*V1.7.0* (January 19, 2007)
* Cleanups for Effect.Morph
* Monkeypatch Prototype 1.5.0 to incorporate [6002], fixes setStyle({opacity:0}) for IE
* Fix Effect.inspect() for Prototype 1.5.0 final hash changes
* Update to Prototype 1.5.0 final
* New option keepBackgroundImage: true for Effect.Highlight, fixes #5037 [docwhat, tomg]
* Minor tweaks for issues with application/xhtml+xml documents on Firefox, fixes #6836 [sjinks]
* Fix a possible exception with Sortables, fixes #6828 [craiggwilson]
* Update to Prototype 1.5.0_rc2 revision [5844] (as of Rails 1.2 RC 2)
*V1.7.0 beta 2* (December 18, 2006)
* Change the default setting for effects to support up to 60fps, if renderable by the browser. Add performance info to effects unit test.
* Change get/setOpacity to use Prototype's new support for cross-browser opacity.
* Update to Prototype 1.5.0_rc2 revision [5741], which fixes some of the reported issues with beta 1 (see Prototype's CHANGELOG for more):
* Opera 9, while not officially supported, should work now with Prototype and script.aculo.us
* Fixes issue with Safari when using Prototype's Ajax helpers with HTTP authorization
* Add hash and CSS className support to Effect.Morph, fixes #6674 [Tobie]
Examples:
$(element).morph('myClass')
// will morph to all the properties specified
// in .className (in your external stylesheet).
// All properties which cannot be morphed (such as font-style)
// will be applied AfterFinish
$(element).morph('font-size: 10px') // or
$(element).morph({fontSize: '10px'}) // will morph the font-size to 10px
*V1.7.0 beta 1* (November 21, 2006)
* Add Element.morph() and Element.Methods.morph() as a shortcut to Effect.Morph
Example:
// basic Effect.Morph
$('error_message').morph('color:#f00;font-size:17px');
// fade out after a while
$('error_message').show().morph('font-size:17px').morph('opacity:0',{delay:4});
* Update to Prototype 1.5.0_rc2 revision [5580]
* Add a paramName option to the inplace editor for overriding the default parameter name of "value"
* Add Effect.Transform that generates parallel executing Effect.Morph sets
Example:
// set up transformation
var transformation = new Effect.Transform([
{ 'div.morphing': 'font-size:20px;padding-left:40em' },
{ 'blah' : 'width:480px;border-width:10px;border-right-width:20px;margin:200px;margin-bottom:-20px;font-size:30px' }
],{ duration: 0.5 });
// play transformation (can be called more than once)
transformation.play();
* Add Effect.Morph core effect that morphs to a given CSS style rule. Effect.Morph does take orginal styles given by CSS style rules or the style attribute into consideration when calculating the transforms. It works with all length and color based CSS properties, including margins, paddings, borders, opacity and text/background colors.
Example:
new Effect.Morph('mydiv',{
style: 'font-size:3em;color:#f00;border-width:2em',
duration: 2.0
});
*V1.6.5* (November 8, 2006)
* Update to Prototype 1.5.0_rc1 revision [5462]
* Support the HTML 'for' attribute in Builder by using 'htmlFor', fixes #6472 [gjones, tdd]
var node = Builder.node('label', { htmlFor: 'myinput' });
* Add support to run a specific failing unit test by clicking on the corresponding test result, fixes #6290 [leeo]
* Add modifier key support to Event.simulateMouse, fixes #6391 [savetheclocktower]
* Add rails-trunk update task, clean up references to MIT license
* Add new 'with-last' queue position option to queue effects to occur in parallel with the last effect to start in the queue
* Add new special core effect Effect.Event for one-shot events that follow timelines defined by effect queues
new Effect.Event({ afterFinish:function(){
// do some code here
}, position: 'end' });
* Do some refactoring to make use of Prototype 1.5 functionalities and save LOC
* Fix an possible crash of IE on Effect.SlideUp, fixes #3192 [thx nel]
* Add Builder.build() to create nodes from strings containing HTML, [DHH]
var node = Builder.build("<p>this is <b>neat!</b></p>");
* Add a pulses parameter to Effect.Pulsate to control the amount of pulses, fixes #6245 [leeo]
For example, Effect.Pulsate('d8', {pulses: 2}) would pulsate twice. If the option is not given, it defaults to five pulses.
* Fix an issue with clicking on a slider span resulting in an exception, fixes #4707 [thx sergeykojin]
* Fix an issue with Draggables when no options are supplied, fixes #6045 [thx tdd]
*V1.6.4* (September 6, 2006)
* Hotfix IE issues with patched Prototype V1.5.0_rc1
*V1.6.3* (September 5, 2006)
* Update Prototype to V1.5.0_rc1
* Merge assertElementsMatch and assertElementMatches from Prototype's [4986] unittest.js [Sam Stephenson]
* Update Prototype to revision [4930]
* Fix various issues with IE detection and Opera, and setOpacity, fixes #3886, #5973
* Make Sortable.serialize handle DOM IDs like "some_element_1" correctly, fixes #5324
* Add assertRespondsTo and shouldRespondTo assertions
* Add experimental alternate syntax for unit tests (Behaviour Driven Development-style)
* Add support for onStart, onDrag and onEnd events directly on Draggables (invoked from the Draggables.notify), fixes #4747 [thx scriptkitchen]
* Add element shortcuts to Builder that can be activated by calling Builder.dump() (see the unit test), fixes #4260 [thx napalm]
* Fix selection of correct option in SELECT element generated by InPlaceCollectionEditor for indexed option arrays, fixes #4789 [thx steve]
* Add autoSelect option to Autocompleters to auto select an entry if only one is returned, fixes #5183 [thx cassiano dandrea]
* Added delay option to Draggables and Sortables, see test/functional/dragdrop_delay_test.html for usage, implements #3325 [thx lsimon, tomg]
* Remove revert cache code obsoleted by #4706, fixes #3436 (again) [thx tomg]
* Fix autoscrolling inside scrollable containers when window is scrolled too, fixes #5200 [thx wseitz]
* Make Effect.Puff work correctly for floating elements, fixes #3777 [thx michael hartl]
* Add version and timestamp to indvidual library files for easier identification (the files are preprocessed by the Rake fresh_scriptaculous task), fixes #3015 [thx Tobie]
* Add assertIndentical and assertNotIdentical unit test assertions, which test for equality and common type, fixes #5822 [thx glazedginger]
* Add integration test for Ajax autocompleter for results with no linebreaks, #4149
* Fix an issue with redrawing ghosted draggables that are inside a scrolled container, fixes #3860 [thx gkupps, tsukue]
* Added a custom exception to all base effects when used on non-existing DOM elements, added a assertRaise method to unit tests
* Fix autoscrolling when dragging an element unto a scrollable container, fixes #5017 [thx tomg]
* Fix a condition where overriding the endeffect on Draggables without overriding the starteffect too leads to a Javascript error [thx Javier Martinez]
* Fix a possible error with the drag/drop logic (affects the solution to #4706)
*V1.6.2*
* Fix a problem in the drag and drop logic if an reverting/drag ending draggable was initialized for a new drag (for example by clicking repeatedly) for all cases where the default start/revert/end-effects are used, fixes #4706 [thx tecM0]
* Fix possible memory leaks with Draggables, fixes #3436 [thx aal]
* Throw nicer errors when requires script.aculo.us libraries are not loaded, fixes #5339
* Make slider handles work when not displayed initially by using CSS width/height, fixes #4011 [thx foysavas]
* Update sortable functional test with onUpdate counter
* Make more Element extensions unit tests work on Safari
* Add the assertMatch unit test assertion for asserts with RegExps [thx Ian Tyndall]
* Fix a problem with Effect.Move causing "jumping" elements because of very low float numbers in some situations
* Fix a missing semicolon in dragdrop.js, fixes #5569 [thx mackalicious]
* Fix a slight inaccuracy with Effect.Scale that could lead the scaling to be one pixel off
* Be more prototypish with Effect.Transitions.linear
* Make Effect.Scale recognize font sizes that use the pt unit, fixes #4136 [thx aljoscha]
* Fix IE hack in Effect.Opacity, fixes #5444 [thx nicholas]
* Fix IFRAME layout fix for IE and Autocompleter, fixes #5192 [thx tommy skaue]
* Fix only option in onEmptyHover, fiex #5348 [thx glenn nilsson]
* Fix Effect.BlindDown and SwitchOff handling of supplied callbacks, fixes #5089 [thx martinstrom]
* Fix a problem with field focus on Ajax.InPlaceEditor and loading external text, fixes #4988, #5244 [thx rob]
* Do not attempt to scroll if scrollspeed is 0/0, fixes #5035 [thx tomg]
* Fix a problem with Sortable Tree serialization, fixes #4939, #4688, #4767 [thx Sammi Williams]
* Fix an endless loop with sliders, fixes #3226, #4051, #4765 [thx jeff]
* Make autocompleter work with update DIVs that have scrollbars, fixes #4782 [thx Tommy Skaue]
* Corrected options parsing on switchoff effect, fixes #4710 [thx haldini]
*V1.6.1*
* Update to Prototype 1.5.0_rc0
* Add Draggable object as third parameter to snap, fixes #4074 [thx mdaines]
* Fix an IE flicker with SlideUp/SlideDown, fixes #3774, [thx sbbowers]
* Add parsing/setting of any currently set opacity CSS rule to default opacity effect on draggables, fixes #3682 [thx Mike A. Owens]
* Added prototype $() performance patch from #4477 and updated effects.js to new Element.addMethods() syntax
* Sortable trees [thx Sammi Williams, sammi@oriontransfer.co.nz]
- Added functional test (test/functional/sortable_tree_test.html)
- removed greedy option
- modified the way Droppables.show works - added affected list
- added Droppables.findDeepestChild
- modified Sortable.options to work for trees
- modified Sortable.onEmptyHover with additional logic to insert
the element at a certain place according to the overlap
- modified Sortable.onHover to avoid DOM Exceptions
- modified Sortable.create to support the creation of Sortable trees
- added two convenience functions - Sortable.findElements and
Sortable.findTreeElements
- Added Sortable.tree (and a number of private functions to facilitate it)
Returns a tree structure:
var root = {
id: null,
parent: null,
children: <children>,
container: <sortable element>,
}
var child = {
parent: <node>,
children: <array>,
id: <string> (as per options.format),
element: <element>,
container: <element>,
position: <integer>
}
This is intended to become part of the public API, and can be used to manipulate
the tree programatically.
- Modified Sortable.serialize to use Sortable.tree when set in the options.
* Fix a problem with window scrolling on draggables [thx Gregory Hill]
* Let the benchmark method return the time taken in ms, so it can be used for time-based assertions
* Fix problem with id-based handle names and draggables
* More Element.childrenWithClassName optimization
* Added benchmark method to unittest.js; some cleaning up of unit tests
* Add fix for IE memory leaks in included prototype.js from [4094]
*V1.6.0*
* Major speedup for sortable with handles initialization [thx Jamis Buck]
* Update to latest Prototype 1.5.0_pre1 trunk
* Add functional "random effects" test, also for browser compatibility testing
* Fix two typos introduced with the 1.5 Methods syntax update
* Add functional test for $$-triggered effects with .visualEffect
* Fix shift-tab for autocompleter in Safari, fixes #4423 [thx matt]
* Prepare for script.aculo.us 1.6, add Prototype 1.5 requirement and check that Element.Methods is available in the scriptaculous loader
* Refactor effects.js to use the new Prototype 1.5 Element Methods syntax
* Update to latest Prototype 1.5.0_pre0 trunk
* Fix a problem with the draggable window scrolling code and scrolling inside overflow containers
* Add passing through of scroll options from Sortable to Draggable [thx Gregory Hill]
* Make it possible to scroll window on dragging, #3921 [thx rdmiller]
* Make Element.forceRerendering give up on any exception (this fixes various problems with IE)
* added visualEffect method for the Element Mixin, fixed so you can chain multiple calls. [Rick Olson]
* Fix only option on Sortable.create to accept multiple class names, fixes #3427 [thx glenn nilsson]
* Added workaround for a rendering bug in Safari when using floating elements with Effect.Appear
* Update lib/prototype.js to Prototype 1.5.0_pre0
*V1.5.3*
* Change version number to V1.5.3, prepare Rakefile
* Remove unneeded height restoring in Effect.BlindDown as that is handled internally by the restoreAfterFinish option to Effect.Scale, fixes #3667 [thx Ross Lawley]
* Added Ajax.InPlaceCollectionEditor which uses a SELECT element instead of a text field (see test/functional/ajax_inplacecollectioneditor_test.html for usage), #3491 [thx anna]
* Enable in place editor to use RJS (implements a new evalScripts option for the in place editor), #3490 [thx Richard Livsey]
* Added Sortable.setSequence to programmatically reorder a Sortable, #3711 [thx Mike A. Owens]
* Added unit test for #3732 (currently fails due to Prototype #3877) [thx michal]
* Fix span positioning for sliders with ranges not starting at 0, fixes #3731 [thx michal]
* Make name option on Sortable.serialize work again, fixes #3873
* Make dragging cancel only on ESC key, not on any key, fixes #3817
* Fix Rakefile for V1.5.2
*V1.5.2*
* Change version number to V1.5.2
* Fix a wrong parameter in dragdrop.js, fixes #3555
* Fix two typos in effects.js, fixes #3481 [thx jtolds]
* Add assertEnumEqual for unit testing (from Prototype SVN trunk) [Sam Stephenson]
* Add Sortable.sequence method to extract the current sequence of a Sortable as an array, fixes #3675 [thx sphivo]
* Add limit option to effect queues to limit the maximum number of effects in a queue, new unit tests for scoped effect queues, fixes #3498 [thx Abdur-Rahman Advany]
* Fix Element.collectTextNodesIgnoreClass to correctly filter child nodes, fixes #3380 [thx lam]
* Fix a condition where OPTION elements could cause unwanted dragging on Draggables, fixes #3441 [thx tom]
* Fix a crash because of an IE bug in Effect.SlideDown, fixes #3192 [thx Rob Mayhew]
* Added experimental auto-scroll option to Draggables and Sortables, activate with scroll: 'id_of_scroll_container_element'.
Note: needs testing, call syntax might change
See test/functional/dragdrop3_test.html for usage/demo
* Added activate method to Autocompleter that allows you to trigger the suggestions through other means than user input [DHH]
*V1.5.1*
* Add select option to Autocompleter to optionally use textnodes from elements with a specific CSS class (see test/functional/ajax_autocompleter_test.html for usage)
* In-place editor: add ok/cancel visibility options and onblur() submission, fixes #3233 [thx pulsation]
Note: currently, blur form submission breaks the cancel link functionality, if enabled
* Added Effect.toggle for slide, blind and appear/fade effects, fixes #2704 [thx Azad]
* Added selective component loading to scriptaculous.js, see test/unit/loading_test.html for usage [thx David Zülke]
* Added local/scoped effect queues [thx David Zülke]
* New core effect Effect.Move that can do absolute/relative movement [thx David Zülke]
* Make default effects options modifyable globally by setting Effect.DefaultOptions
* Make Draggables recognize top/left CSS properties defined in an external stylesheet, fixes #3205 [thx ansonparker]
* Fixed draggables starting to drag even if mouse button was released with no movement, [thx topfunky]
* Updated the README to reflect final status
*V1.5.0*
* Prepared for V1.5.0 final
* Update lib/prototype.js to Prototype 1.4.0 final
*V1.5.0_rc6*
* Update lib/prototype.js to Prototype 1.4.0_rc4
* Fix Effect.SlideDown/SlideUp on Internet Explorer, includes a change to Effect.Scale, (should) fix #2962 and others, [thx wyldeone]
* Make Draggables that are reverting cancel the default revert effect when they are dragged again while reverting, fixes #3188, [thx maverick]
* Fix a problem with a wrong reference in Effect.Pulsate, fixes #3184, [thx cyx_]
* Fix Sortable.findElements for XHTML in Gecko, fixes #3081, [thx fgnass]
* Fix a problem with the slider getting NaN results when clicking directly on the track, fixes #3020, [thx rectalogic]
* Fix a problem with Safari not doing sub-pixel rendering when setting opacity to 1 with Element.setOpacity
* Fix slider to make handle width/height count for track length, fixes #3040, fixes #3017, [thx buggedcom]
* Added Basic unit test for Effect.inspect
* Fix Effect.multiple to deal correctly with delays
* Safeguard Effect.Base.render to only do updates when Effect is in running state, fixes #2912
* Added inspect method to Effect.Base
* Added functional test for DOM-based UL sortables #3016
* Added offset option to Effect.ScrollTo
* More effects.js/dragdrop.js refactoring
* Refactoring and optimizations for effects (not complete yet)
* Refactoring and optimizations for Draggables/Droppables/Sortables (not complete yet)
*V1.5.0_rc5*
* Make Droppables.remove accept DOM IDs in addition to elements
* Added some unit tests for drag and drop
* Update lib/prototype.js to Prototype 1.4.0_rc3
* Make 'contents' a synonym for 'content' on Effect.Scale scaleMode option
* Fix some possible exceptions in slider.js
* Support for various snapping options on Draggables, adresses #2826, [thx saimonmoore]
* Support horizontal ghostable Sortables, fixes #2794, [thx johnm]
* Prevent an exception on IE with a functional test, see #2706
* Add functional testing of hoverclasses for sortables
* Add an assert for correct UTF-8 return chars in Autocompleter
* Correct IE detection in Autocompleter for Opera, fixes #2558 [thx gary]
* Add onDrag callback to Draggable observers, #2827 [thx saimonmoore]
* Added Form.Element.DelayedObserver to controls.js for live-search fields
* Remove Element.Class in favour of Prototype Element.ClassNames, new function Element.childrenWithClassName()
* Update Copyright notice in slider.js
* Fix slider firing onChange events to eagerly on dragging a handle [thx wombert]
* Fix a problem with Start/End spans and single handles
* Add event property to Slider object so that callbacks can determine if setValue originated from a UI event or from script
* Fix Builder.node() throwing unresolved errors in IE6, #2707 [thx flwombat]
* Give currently active handle on slider the "selected" CSS class
* Add start and end spans to slider
* Make track clickable for sliders (moves last active handle [or first handle] to nearest possible position)
* Make initial values on slider work for single and multiple handle sliders
*V1.5.0_rc4*
* Abort Effect.Highlight on elements which have display:none set (prevents problem with Safari)
* Make Effect.Queue an Enumerable, fix a problem with Effect.Grow, more unit tests
* Added restricted option to prevent moved of handles prior/after adjacent handles on Sliders with multiple handles
* Update lib/prototype.js to Prototype 1.4.0_rc2
* Fix a bug with wrongly scrolling to the page top in Ajax.InPlaceEditor (circumvents various browser bugs) [Jon Tirsen], #2616
* major slider refactoring, changed slider range to default to [0,1]. Slider Range can be set with range:$R(from,to) option. The increment option is not active for now.
* Added spans support for Control.Slider to mark spans bordered by slider handles, see unit test [thx to www.bartenbach.de for sponsoring this functionality]
* Added preliminary support for optional multiple handles to Control.Slider [thx to www.bartenbach.de for sponsoring this functionality]
* Fixed wrong inclusion of libs in inplace editor functional test
* Fixed Effect.SlideDown/SlideUp to honor refactoring of Effect.Scale, fixes #2523 [thx obiwanki]
* Reset the zIndex on Draggables correctly, #2483 [thx Jon Whitcraft]
* Fix onChange callback on Sortables when dragging between sortables, #2488 [thx Dylan Greene]
* Removed Builder code from effects.js, removed Object.debug (implemented as Test.Unit.inspect)
* Added slider unit tests, fixed handling of values to autocalculate min/max, fixed upper/lower boundaries on setting the value programmatically
* Synced to Rails 1.0 release candidate, update to Prototype 1.4.0_rc1, removed util.js, merged rests of util.js into effects.js to prepare for refactoring
* Give Builder it's own file
* Fix a logic issue with Autocompleter [thx tshinnic], #2457
*V1.5.0_rc3*
* Make Effect position available to callbacks
* Droppables.fire: send event to onDrop callback [François Beausoleil], #2389
* InPlaceEditor: Add disabling the field while loadTextURL loads and add a class while loading, plus fix various bugs with Internet Explorer and InPlaceEditor, [Jon Tirsen] #2302, #2303
* Made Droppables.remove work again [thx Mindaugas Pelionis], #2409
* Fixed that IE6 would incorrectly render the "fix-windowed-elements-overlapping" IFRAME on autocompletion [thx tshinnic], #2403
* Fixed Element.getOpacity throwing an error on Safari in some situations (this caused the autocompleter not to work)
* Added format option to Sortable.create and Sortable.serialize to allow custom id formats. The format option takes a regular expression where the first grouping that matches is used for building the parameters. The default format is /^[^_]*_(.*)$/ which matches the string_identifier format. If you want to use the full id of the elements, use "format: /(.*)/". More examples are available in the sortable unit test file.
* Started refactorings to use the new Prototype features and general code-cleanup
* Update lib/prototype.js to Prototype 1.4.0_pre11
* Fixed a typo breaking the up arrow key for autocompletion [thx tshinnic], #2406
* Changed the handle option on Draggbles to accept classnames, or ids or elements [thx to Andrew West], #2274
* Force indicator to be hidden on hiding autocompletion update element, #2342
* Make Draggables honor external CSS positioning [thx to Mark Shawkey], #2359
* Make zindex handling for Draggables honor external CSS styles
* Fix two Sortable.serialize issues, [thx Avi, Gorou], #2339, #2357
* Make Element.getOpacity work with IE, added unit tests [thx to Greg Hill]
* Make Element.setOpacity honor non-alpha filters on IE (it now works with filters for alpha PNGs)
* Fixed that Element.class.remove wrongly deleted spaces between class names, fixes #2311, #2313
* Fixed Builder for OPTION and OPTGROUP tags on Firefox < 1.5 and Internet Explorer 6, completely fixes #2325
* Improved Builder implementation to deal with Firefox-specific requirements and innerHTML parsing, partly fixes #2325
*V1.5.0_rc2*
* Update lib/prototype.js to corrected Prototype 1.4.0_pre7 (fixed a problem with IE)
* Update lib/prototype.js to Prototype 1.4.0_pre7
* Reverted to patched version of Prototype 1.4.0_pre4 for the time being (getResponseHeader problem on Mozilla)
* Attempt to fix crashes in Safari 2.0.1, probably related to the event registering und unregistering in Draggables, possibly fixes #2310
* Update lib/prototype.js to Prototype 1.4.0_pre6
* Changed effects_test.html functional test to incoporate Firefox anti-flicker overflow:hidden CSS property
*V1.5.0_rc1*
* Prepared Rakefile and README for V1.5.0_rc1 release
* Droppables w/greedy and hoverclass are now reverted when dragged item is no longer over them, fixes #2184
* Let Effect.Highlight correctly parse IE colors, add String.prototype.parseColor() for this, fixes #2037
* Fix Effect.Highlight to restore background image only if there was one
* Made Effect.tagifyText work again on IE
* Added String.prototype.toArray because Strings aren't iterable on IE
* Fixed Element.getOpacity falsely returning 0 on IE
* Some cleaning up in util.js
* Cleaned up Effect.Opacity
* Removed useless line in Position.page
* Make scriptaculous.js work if a query strings are used when calling it
* Fixed typos in slider.js and the functional test
* Fixed a bug with Safari and the InPlaceEditor with form submission. Add support for interpreting simple <br>s into linebreaks. [Jon Tirsen]
* New Control.Slider() for horizontal and vertical sliders [Marty Haught]
* Fixed autoapplying a 'layout' on IE with Effect.Opacity not working for elements given as id string
* Make Effect.Parallel render final frames and call beforeFinish/afterFinish on included effects
* Make Element.setOpacity work correctly again (browser-specific extensions, except for IE, are disabled at this time)
* Added focusing the text field or text area created when using Ajax.InPlaceEditor #2126 [thx to Lee Mallabone]
* Fixed Element.Class.childrenWith not returning the correct elements #2120 [cmees AT rogers DOT com]
* Added MIT-LICENSE header to scriptaculous.js, cut back on license info in other libs to keep files smaller
* Fix issues with form elements inside draggables not clickable with Firefox #2129
* Fixed an error in dragdrop.js with Draggables when no Droppables are defined
* Fixed an issue with Element.makePositioned causing Effect.SlideDown to fail on Safari
* Make effects "stateless" by cleaning up element.style after finish of effect #2133 [agr30 AT uni-koeln DOT de]
* Add "internal" events to effects, to make them more easily extendable [Martin Bialasinski]
* Set container element height to auto on finishing Effect.BlindDown und Effect.SlideDown #2123 [Tony Arnold]
* Fixed a weird char in dragdrop.js
* Controls.js Autocompleter.Base.updateElement() hook #2116 [Rob Wills]
* Refactoring to use the Prototype enumerable extensions
* Update to Prototype 1.4.0_pre4
*V1.5.0_pre4*
* Added a queue option to effects for easy stacking and simple timeline building. Valid values are "front", "end" and "parallel" (default), see for test/functional/effects_queue_test.html for usage
* Added a setup function to the core effects that gets called by Effect.Base when first entering into running state, which allows them to query the current state of an element or other page properties when queuing and/or delays are used
* Added a state instance variable to Effect.Base that indicates whether a effect that uses the queue is idle, running or finished
* Fixed a flicker with Effect.Puff
* General code cleaning to get rid of (legitimate) Mozilla strict javascript warnings
* Changes to assertVisible in unittest.js
* Slight refactoring of Effect.Text, now known as Effect.multiple(), change first parameter to also accept an array of strings or elements, or a NodeList of elements (if a single element or a string is given, defaults to $('element').childNodes)
* Made tagifyText work with IE. defaults to a style of "position: relative; zoom:1;" for the created SPAN wrappers. It also replaces spaces with non-breakable spaces. These sit-ups are required to work around problems with rendering elements with the proprietary IE "layout" and non-quirksmode documents.
* Add a break to scriptaculous.js when the includes are done [thx to Danilo Celic]
* Fixed a problem with the Autocompleter when hitting ESC would select the entry in IE and redisplay the entries box in Safari
* Fixed that the onDrop callback on Droppables didn't receive the dopped element as second parameter
* Make check for correct Prototype version on loading script.aculo.us
* Changed implementation of Builder to an innerHTML-based approach to make it work with IE6 (note: removed special "style" handling for now)
* Changed non-sync Effects to use a common setInterval call for better timing and page update speeds. See the new Effect.Queue object.
* Fixed a problem with setting opacity in Effect.Opacity to very small values
* Changed the implemention of Effect.Base to use setInterval
* Set version number to 1.5_pre4_trunk
* Added experimental Effect.Text function that allows to start delayed text effects, see test/functional/texteffects_test.html.
* Added experimental Effect.tagifyText(element) which wraps an elements text nodes characters in relatively positioned span elements
* Added "delay" option to Effect.Base to start an effect only after a specified delay
* Finetuning unittest.js + even more unit tests
* Added support for Firefox and Konqueror automatic unit testing on Linux [Michael Schuerig]
* Added basic unit test files for Effects, updated unit testing tests
* Fix typo in lib/prototype.js fix in R2069 (whoops)
* Added unit test for Position.clone
* Made the Postition.cumulative override recognize KHTML and AppleWebKit
* Fix the "hide form controls" iframe fix on the Autocompleter on Internet Explorer
*V1.5.0_pre3*
* More positioning fixes, expanded Element.clone [thx to Michael Schuerig]
* Fixed some JavaScript warnings about redeclared vars [Courtenay]
* Fixed a problem with autocompleting update divs not correctly positioned inside positioned elements [thx to Jonathan Feinberg]
* Workaround for a Safari bug on absolutely positioned children of the BODY element
* Added test/run_functional_test.html to more easily find your way around in the functional tests
* Fixed some missing var declarations in effects.js
* Support for automatic unit testing on IE/Win [Jon Tirsen]
* Added loading the text for the Ajax.InPlaceEditor from the server, more CSS support [Richard Livsey, Jon Tirsen]
* Made builder_test.html unit test work with Safari, fixed (one of two) caching issues with javascripttest.rb, added ajax_autocompleter_test.html to Rakefile unittests
* Fixed Element.Class getting false matches on class names like classA-foobar, added unit tests [Martin Bialasinski]
* Added a test to evluate the Fade/Appear effects across browsers and elements (test/functional/effects6_test.html)
* Framework for completely self-running in-browser unit tests on Mac OS X (try "rake unittest") [Jon Tirsen]
* Updates to Ajax.InPlaceEditor (Highlighting, Ajax options, more) [Jon Tirsen]
* Made event registering on Draggables happen per drag for improved performance [thx to Cathy]
* Moved Element.collectTextNodesIgnoreClass to util.js (preparation for refactoring)
* Made sortable onChange option work again
* Fixed a bug with Sortables resulting in wrong result when using Sortable.serialize with onUpdate on ghostly Sortables [thx Richard Livsey, Caleb Buxton]
* Changed version number in scriptaculous.js to 1.5_pre3
* Moved setting focus in Autocompleter to updateElement function to make it overridable [Brian Palmer]
* Added special handling for style attributes to Builder [Michael Schuerig]
* Changed opacity=1.0 check back to be inline with its original (pre 1.5) implementation to prevent flickering in Firefox < 1.1 on opacity-based effects (this also fixes flickering with drag-and-drop, sortable lists and autocompleting text fields). Note that this potentially breaks correct colors in some situations. [thx to David Zülke]
* Automatically deactivate browser built-in autocompletion on autocompleting textfields, fixes part of Rails #1824.
* Fixed a problem with Ajax.InPlaceEditor causing a JavaScript exception on Safari [thx to Patrick Lenz]
*V1.5.0_pre2*
* Fixed a weird character in dragdrop.js, added check to allow empty containers on Sortables (useful with dropOnEmpty option) [thx to Dave Strus]
* Added unit test runner file test/run_unit_tests.html, new unit test files must be listed in test/unit/index.html
* Added unit tests for Prototype string functions
*V1.5.0_pre1*
* Prepared README for V1.5.0_pre1
* Added a main scriptaculous.js file to load in the other libraries transparently:
<script src="path/to/prototype.js" type="text/javascript"></script>
<script src="path/to/scriptaculous.js" type="text/javascript"></script>
in the HEAD section of an HTML file is now all that's needed to include all of the script.aculo.us libraries,
given that they all can be accessed by the same path as scriptaculous.js is.
* Fixed possible problem with greedy Droppables when using the dropOnEmpty option on Sortable.create
* Added new CSS/background color features to Ajax.InPlaceEditor [Jon Tirsen]
* Added unit test for Autocompleter, first Version
* Added Event.simulateKey/s to unittest.js. Note that due to a bug in Firefox this will only work with Firefox up to v1.0.4 (see https://bugzilla.mozilla.org/show_bug.cgi?id=289940)
* Fixed a condition where standard a href=xxx links wouldn't work in autocomplete results. These do now, the onclick event is not cancelled. [thx to Jasper Slits]
* Fix showing ghosting marker only on ghosting Sortables
* Some more Builder stuff, expanded builder unit tests
* Moved stuff that didn't belong into specific libs into util.js; util.js is now required for all script.aculo.us libs
* Corrected weirdness in unittest.js
* Added dropOnEmpty option to Sortables to allow dropping on empty lists (see test/functional/sortable3_test.html)
* Changed algoritm for drag/drop position setting
* Changed workaround for class attributes (fixes a Firefox 1.0 error) from klass to className to be more Javascriptesque [thx to Martin Bialasinski]
* Fixed a typo in ajax_inplaceeditor_test.html
* Updated Rakefile to add unittest.js and util.js to the package
* Added util.js which contains various utlity functions and extensions to Prototype
* Major restructuring
* Added TEXTAREA support to Ajax.InPlaceEditor [Sanford Barr]
* Added Ghost Train alpha 0.1.0. See ghosttrain/test.html.
* More features for Ajax.InPlaceEditor [Jon Tirsen]
* Tweaks to unittest.css [Thomas Fuchs]
* Refactoring and new features in unittest.js [Thomas Fuchs] [Jon Tirsen]
* Fixed a wrong variable reference in Effect.Scale
* Fix Element.makePositioned to recognize the 'static' position
* Allow to choose the parameter name for Ajax.Autocompleter [Cameron Braid]
* Changed resolving indicator DOM element more flexibility [Cameron Braid]
* Fixed a reference in Ajax.InPlaceEditor
* Added contributors to unittest.js
* Souped-up Ajax.InPlaceEditor, added support for a form id and specifying all the texts through options [Jon Tirsen]
* Make unit testing look good [Michael Schuerig]
* Changed default revert duration for Draggables to distance-dependent algorithm [suggested by San]
* Fix double unescaping in Autocompleter
* Refactoring auf Autocompleter classes to use camelCase (note: changes the syntax of some of the options)
* Add updateElement option to Autocompleter [Rob Sharp]