No one probably cares but me about this - but there were a few issues
with the previous code...here is some that works, and is suitable for
placing in an extension.js file:

var prev = {};
["insert","remove","replace","update","wrap"].each(function(s){prev[s]
= Element[s]});
var add = {
        insert: function(element, insertions){
                var fireEs = [];
                if (Object.isString(insertions) || Object.isNumber(insertions) 
||
                        Object.isElement(insertions) || (insertions &&
(insertions.toElement || insertions.toHTML)))
                        insertions = {bottom:insertions};
        for (position in insertions) {
                position = position.toLowerCase();
                if (position == "before" || position == "after")
                {
                        fireEs.push($(element.parentNode));
                }
                else
                {
                        fireEs.push(element);
                }
        }
        var retVal = prev.insert(element, insertions);
        fireEs.each(function(e){
                e.fire("nodeadded");
                e.fire("domchanged");
        });
        return retVal;
        },
        remove: function(element){
                var fireE = $(element.parentNode), retVal = 
prev.remove(element);
                fireE.fire("noderemoved");
                fireE.fire("domchanged");
                return retVal;
        },
        replace: function(element, content){
                var fireE = $(element.parentNode), retVal = 
prev.replace(element,
content);
                fireE.fire("noderemoved");
                fireE.fire("nodeadded");
                fireE.fire("domchanged");
                return retVal;
        },
        update: function(element, content){
                var retVal = prev.update(element, content);
                element.fire("domchanged");
                return retVal;
        },
        wrap: function(element, wrapper, attributes){
                var fireE = $(element.parentNode);
                var retVal = prev.wrap(element, wrapper, attributes);
                fireE.fire("nodeadded");
                fireE.fire("domchanged");
                return retVal;
        }
}
Element.addMethods(add);


--~--~---------~--~----~------------~-------~--~----~
You received this message because you are subscribed to the Google Groups 
"Prototype: Core" group.
To post to this group, send email to prototype-core@googlegroups.com
To unsubscribe from this group, send email to [EMAIL PROTECTED]
For more options, visit this group at 
http://groups.google.com/group/prototype-core?hl=en
-~----------~----~----~----~------~----~------~--~---

Reply via email to