From e3bfd08cbcbffddf53de4f0f6030a794402cf532 Mon Sep 17 00:00:00 2001 From: David Heinemeier Hansson Date: Sat, 4 Mar 2006 17:12:03 +0000 Subject: Fixed Effect.Appear in effects.js to work with floats in Safari (closes #3524, #3813, #3044) [Thomas Fuchs] git-svn-id: http://svn-commit.rubyonrails.org/rails/trunk@3757 5ecf4fe2-1ee6-0310-87b1-e25e094e27de --- actionpack/CHANGELOG | 2 ++ actionpack/Rakefile | 6 ++++-- actionpack/lib/action_view/helpers/javascripts/effects.js | 10 ++++++++++ 3 files changed, 16 insertions(+), 2 deletions(-) (limited to 'actionpack') diff --git a/actionpack/CHANGELOG b/actionpack/CHANGELOG index 07f97bca6e..49fd59c72e 100644 --- a/actionpack/CHANGELOG +++ b/actionpack/CHANGELOG @@ -1,5 +1,7 @@ *SVN* +* Fixed Effect.Appear in effects.js to work with floats in Safari #3524, #3813, #3044 [Thomas Fuchs] + * Fixed that default image extension was not appended when using a full URL with AssetTagHelper#image_tag #4032, #3728 [rubyonrails@beautifulpixel.com] * Added that page caching will only happen if the response code is less than 400 #4033 [g.bucher@teti.ch] diff --git a/actionpack/Rakefile b/actionpack/Rakefile index 79c6a0da0b..211c52f46d 100755 --- a/actionpack/Rakefile +++ b/actionpack/Rakefile @@ -115,11 +115,13 @@ end # Publishing ------------------------------------------------------ task :update_scriptaculous do - system("svn export --force http://dev.rubyonrails.org/svn/rails/spinoffs/scriptaculous/src/ #{File.dirname(__FILE__)}/lib/action_view/helpers/javascripts/") + for js in %w( controls dragdrop effects ) + system("svn export --force http://dev.rubyonrails.org/svn/rails/spinoffs/scriptaculous/src/#{js} #{File.dirname(__FILE__)}/lib/action_view/helpers/javascripts/") + end end desc "Updates actionpack to the latest version of the javascript spinoffs" -task :update_js => [:update_scriptaculous] +task :update_js => [ :update_scriptaculous ] # Publishing ------------------------------------------------------ diff --git a/actionpack/lib/action_view/helpers/javascripts/effects.js b/actionpack/lib/action_view/helpers/javascripts/effects.js index 91d5348a03..c5183092fd 100644 --- a/actionpack/lib/action_view/helpers/javascripts/effects.js +++ b/actionpack/lib/action_view/helpers/javascripts/effects.js @@ -85,6 +85,12 @@ Element.childrenWithClassName = function(element, className) { function(c) { return Element.hasClassName(c, className) }); } +Element.forceRerendering = function(element) { + var n = document.createTextNode(' '); + $(element).appendChild(n); + Element.remove(n); +} + Array.prototype.call = function() { var args = arguments; this.each(function(f){ f.apply(this, args) }); @@ -545,6 +551,10 @@ Effect.Appear = function(element) { var options = Object.extend({ from: (Element.getStyle(element, 'display') == 'none' ? 0.0 : Element.getOpacity(element) || 0.0), to: 1.0, + // force Safari to render floated elements properly + afterFinishInternal: function(effect) { + Element.forceRerendering(effect.element); + }, beforeSetup: function(effect) { with(Element) { setOpacity(effect.element, effect.options.from); show(effect.element); }} -- cgit v1.2.3