aboutsummaryrefslogtreecommitdiffstats
path: root/railties/html/javascripts/prototype.js
diff options
context:
space:
mode:
authorThomas Fuchs <thomas@fesch.at>2006-10-09 22:09:08 +0000
committerThomas Fuchs <thomas@fesch.at>2006-10-09 22:09:08 +0000
commitb0e78c62783b27a98a324557bf9f3f6385bce315 (patch)
tree2222dc6efab3db6fd3b20144db61ddd71ec4d721 /railties/html/javascripts/prototype.js
parentf65ab3b233e112679fc7a183b488c5356a01c96c (diff)
downloadrails-b0e78c62783b27a98a324557bf9f3f6385bce315.tar.gz
rails-b0e78c62783b27a98a324557bf9f3f6385bce315.tar.bz2
rails-b0e78c62783b27a98a324557bf9f3f6385bce315.zip
Update to latest Prototype and script.aculo.us trunk versions
git-svn-id: http://svn-commit.rubyonrails.org/rails/trunk@5276 5ecf4fe2-1ee6-0310-87b1-e25e094e27de
Diffstat (limited to 'railties/html/javascripts/prototype.js')
-rw-r--r--railties/html/javascripts/prototype.js23
1 files changed, 20 insertions, 3 deletions
diff --git a/railties/html/javascripts/prototype.js b/railties/html/javascripts/prototype.js
index bc5f04377d..831eb184d0 100644
--- a/railties/html/javascripts/prototype.js
+++ b/railties/html/javascripts/prototype.js
@@ -302,6 +302,14 @@ var Enumerable = {
} catch (e) {
if (e != $break) throw e;
}
+ return this;
+ },
+
+ eachSlice: function(number, iterator) {
+ var index = -number, slices = [], array = this.toArray();
+ while ((index += number) < array.length)
+ slices.push(array.slice(index, index+number));
+ return slices.collect(iterator || Prototype.K);
},
all: function(iterator) {
@@ -371,6 +379,15 @@ var Enumerable = {
return found;
},
+ inGroupsOf: function(number, fillWith) {
+ fillWith = fillWith || null;
+ var results = this.eachSlice(number);
+ if (results.length > 0) (number - results.last().length).times(function() {
+ results.last().push(fillWith)
+ });
+ return results;
+ },
+
inject: function(memo, iterator) {
this.each(function(value, index) {
memo = iterator(memo, value, index);
@@ -1262,7 +1279,7 @@ Element.Methods = {
makeClipping: function(element) {
element = $(element);
- if (element._overflow) return;
+ if (element._overflow) return element;
element._overflow = element.style.overflow || 'auto';
if ((Element.getStyle(element, 'overflow') || 'visible') != 'hidden')
element.style.overflow = 'hidden';
@@ -1271,7 +1288,7 @@ Element.Methods = {
undoClipping: function(element) {
element = $(element);
- if (!element._overflow) return;
+ if (!element._overflow) return element;
element.style.overflow = element._overflow == 'auto' ? '' : element._overflow;
element._overflow = null;
return element;
@@ -1587,7 +1604,7 @@ Selector.prototype = {
Object.extend(Selector, {
matchElements: function(elements, expression) {
var selector = new Selector(expression);
- return elements.select(selector.match.bind(selector));
+ return elements.select(selector.match.bind(selector)).collect(Element.extend);
},
findElement: function(elements, expression, index) {