From b0e78c62783b27a98a324557bf9f3f6385bce315 Mon Sep 17 00:00:00 2001 From: Thomas Fuchs Date: Mon, 9 Oct 2006 22:09:08 +0000 Subject: 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 --- railties/html/javascripts/prototype.js | 23 ++++++++++++++++++++--- 1 file changed, 20 insertions(+), 3 deletions(-) (limited to 'railties/html/javascripts/prototype.js') 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) { -- cgit v1.2.3