From 9c9a2d731fea9679f65904a3a6b72dd78b4253a4 Mon Sep 17 00:00:00 2001 From: wei <> Date: Mon, 9 Jan 2006 03:40:59 +0000 Subject: Update library --- framework/Web/Javascripts/prototype/dom.js | 26 +++++++++++++++++++------- 1 file changed, 19 insertions(+), 7 deletions(-) (limited to 'framework/Web/Javascripts/prototype/dom.js') diff --git a/framework/Web/Javascripts/prototype/dom.js b/framework/Web/Javascripts/prototype/dom.js index 282fbfe0..3587a8da 100644 --- a/framework/Web/Javascripts/prototype/dom.js +++ b/framework/Web/Javascripts/prototype/dom.js @@ -1,7 +1,7 @@ document.getElementsByClassName = function(className, parentElement) { var children = ($(parentElement) || document.body).getElementsByTagName('*'); return $A(children).inject([], function(elements, child) { - if (Element.hasClassName(child, className)) + if (child.className.match(new RegExp("(^|\\s)" + className + "(\\s|$)"))) elements.push(child); return elements; }); @@ -43,6 +43,11 @@ Object.extend(Element, { element = $(element); element.parentNode.removeChild(element); }, + + update: function(element, html) { + $(element).innerHTML = html.stripScripts(); + setTimeout(function() {html.evalScripts()}, 10); + }, getHeight: function(element) { element = $(element); @@ -70,12 +75,11 @@ Object.extend(Element, { // removes whitespace-only text node children cleanWhitespace: function(element) { - if(undef(element) || isNull(element)) return; element = $(element); for (var i = 0; i < element.childNodes.length; i++) { var node = element.childNodes[i]; if (node.nodeType == 3 && !/\S/.test(node.nodeValue)) - node.parentNode.removeChild(node); + Element.remove(node); } }, @@ -108,6 +112,12 @@ Object.extend(Element, { return value == 'auto' ? null : value; }, + setStyle: function(element, style) { + element = $(element); + for (name in style) + element.style[name.camelize()] = style[name]; + }, + getDimensions: function(element) { element = $(element); if (Element.getStyle(element, 'display') != 'none') @@ -152,7 +162,7 @@ Object.extend(Element, { element.style.top = element.style.left = element.style.bottom = - element.style.right = ''; + element.style.right = ''; } }, @@ -184,7 +194,7 @@ Abstract.Insertion = function(adjacency) { Abstract.Insertion.prototype = { initialize: function(element, content) { this.element = $(element); - this.content = content; + this.content = content.stripScripts(); if (this.adjacency && this.element.insertAdjacentHTML) { try { @@ -201,6 +211,8 @@ Abstract.Insertion.prototype = { if (this.initializeRange) this.initializeRange(); this.insertContent([this.range.createContextualFragment(this.content)]); } + + setTimeout(function() {content.evalScripts()}, 10); }, contentFromAnonymousTable: function() { @@ -233,7 +245,7 @@ Insertion.Top.prototype = Object.extend(new Abstract.Insertion('afterBegin'), { }, insertContent: function(fragments) { - fragments.reverse().each((function(fragment) { + fragments.reverse(false).each((function(fragment) { this.element.insertBefore(fragment, this.element.firstChild); }).bind(this)); } @@ -294,7 +306,7 @@ Element.ClassNames.prototype = { if (!this.include(classNameToRemove)) return; this.set(this.select(function(className) { return className != classNameToRemove; - })); + }).join(' ')); }, toString: function() { -- cgit v1.2.3