diff options
author | Thomas Fuchs <thomas@fesch.at> | 2006-03-27 08:14:02 +0000 |
---|---|---|
committer | Thomas Fuchs <thomas@fesch.at> | 2006-03-27 08:14:02 +0000 |
commit | 1cc2f5ce9f2e343532cfe2b9554f62d363f37afb (patch) | |
tree | b31eb89e830f066ef45be7768470d1109eb1d426 /railties | |
parent | ed6c3c17f79bd4b5ad91e2473193551e3441769e (diff) | |
download | rails-1cc2f5ce9f2e343532cfe2b9554f62d363f37afb.tar.gz rails-1cc2f5ce9f2e343532cfe2b9554f62d363f37afb.tar.bz2 rails-1cc2f5ce9f2e343532cfe2b9554f62d363f37afb.zip |
Speedup for sortable with handles initialization in rails trunk too
git-svn-id: http://svn-commit.rubyonrails.org/rails/trunk@4068 5ecf4fe2-1ee6-0310-87b1-e25e094e27de
Diffstat (limited to 'railties')
-rw-r--r-- | railties/html/javascripts/dragdrop.js | 2 | ||||
-rw-r--r-- | railties/html/javascripts/effects.js | 7 |
2 files changed, 5 insertions, 4 deletions
diff --git a/railties/html/javascripts/dragdrop.js b/railties/html/javascripts/dragdrop.js index f59c1f2997..f1dc7ea2ab 100644 --- a/railties/html/javascripts/dragdrop.js +++ b/railties/html/javascripts/dragdrop.js @@ -208,7 +208,7 @@ Draggable.prototype = { this.element = $(element); if(options.handle && (typeof options.handle == 'string')) - this.handle = Element.childrenWithClassName(this.element, options.handle)[0]; + this.handle = Element.childrenWithClassName(this.element, options.handle, true)[0]; if(!this.handle) this.handle = $(options.handle); if(!this.handle) this.handle = this.element; diff --git a/railties/html/javascripts/effects.js b/railties/html/javascripts/effects.js index e23554ecad..bcf836b83c 100644 --- a/railties/html/javascripts/effects.js +++ b/railties/html/javascripts/effects.js @@ -76,9 +76,10 @@ Element.getInlineOpacity = function(element){ return $(element).style.opacity || ''; } -Element.childrenWithClassName = function(element, className) { - return $A($(element).getElementsByTagName('*')).select( - function(c) { return Element.hasClassName(c, className) }); +Element.childrenWithClassName = function(element, className, findFirst) { + return [$A($(element).getElementsByTagName('*'))[findFirst ? 'detect' : 'select']( function(c) { + return c.className ? Element.hasClassName(c, className) : false; + })].flatten(); } Element.forceRerendering = function(element) { |