From: Jeff Nichols Date: Wed, 28 Jan 2009 14:29:29 +0000 (+0800) Subject: Changed insertBefore() and insertAfter() to have different implementations for VML... X-Git-Tag: semver~98 X-Git-Url: http://git.roojs.org/?p=raphael;a=commitdiff_plain;h=399f9560a7d8e6c30ef38be71e66094e694376a4 Changed insertBefore() and insertAfter() to have different implementations for VML and SVG (was broken in VML). Also changed these functions to return 'this' for chaining. Signed-off-by: Dmitry Baranovskiy --- diff --git a/raphael.js b/raphael.js old mode 100644 new mode 100755 index 11cc899..741f2f8 --- a/raphael.js +++ b/raphael.js @@ -590,6 +590,18 @@ var Raphael = (function (type) { } return this; }; + Element.prototype.insertAfter = function (element) { + if (element.Group.nextSibling) { + element.Group.parentNode.insertBefore(this.Group, element.Group.nextSibling); + } else { + element.Group.parentNode.appendChild(this.Group); + } + return this; + }; + Element.prototype.insertBefore = function (element) { + element.Group.parentNode.insertBefore(this.Group, element.Group); + return this; + }; var theCircle = function (vml, x, y, r) { var g = document.createElement("rvml:group"); var o = document.createElement("rvml:oval"); @@ -1257,6 +1269,18 @@ var Raphael = (function (type) { } return this; }; + Element.prototype.insertAfter = function (element) { + if (element.node.nextSibling) { + element.node.parentNode.insertBefore(this.node, element.node.nextSibling); + } else { + element.node.parentNode.appendChild(this.node); + } + return this; + }; + Element.prototype.insertBefore = function (element) { + element.node.parentNode.insertBefore(this.node, element.node); + return this; + }; var theCircle = function (svg, x, y, r) { var el = document.createElementNS(svg.svgns, "circle"); el.setAttribute("cx", x); @@ -1700,16 +1724,6 @@ var Raphael = (function (type) { })(); return this; }; - Element.prototype.insertAfter = function (element) { - if (element.node.nextSibling) { - element.node.parentNode.insertBefore(this.node, element.node.nextSibling); - } else { - element.node.parentNode.appendChild(this.node); - } - }; - Element.prototype.insertBefore = function (element) { - element.node.parentNode.insertBefore(this.node, element.node); - }; C.pathfinder = function (p, path) { var commands = {