summaryrefslogtreecommitdiffstats
path: root/src/ungroup.js
diff options
context:
space:
mode:
authorUlrich-Matthias Schäfer <ulima.ums@googlemail.com>2015-10-11 15:45:18 +0200
committerUlrich-Matthias Schäfer <ulima.ums@googlemail.com>2015-10-11 15:45:18 +0200
commit0ea34722395d94ce020075caa78b7aec7eb75621 (patch)
tree181e8440b1bd38faded0005a0ff5937341e06f20 /src/ungroup.js
parent79e050f93709ffa98c071ac9620d79d3d077c32d (diff)
downloadsvg.js-0ea34722395d94ce020075caa78b7aec7eb75621.tar.gz
svg.js-0ea34722395d94ce020075caa78b7aec7eb75621.zip
added ungroup src file. ungrouping defs forbidden
Diffstat (limited to 'src/ungroup.js')
-rw-r--r--src/ungroup.js24
1 files changed, 24 insertions, 0 deletions
diff --git a/src/ungroup.js b/src/ungroup.js
new file mode 100644
index 0000000..7f26915
--- /dev/null
+++ b/src/ungroup.js
@@ -0,0 +1,24 @@
+SVG.extend(SVG.Parent, {
+
+ ungroup: function(parent, depth) {
+ if(depth === 0 || this instanceof SVG.Defs) return this
+
+ parent = parent || (this instanceof SVG.Doc ? this : this.parent(SVG.Parent))
+ depth = depth || Infinity
+
+ this.each(function(){
+ if(this instanceof SVG.Defs) return this
+ if(this instanceof SVG.Parent) return this.ungroup(parent, depth-1)
+ return this.toParent(parent)
+ })
+
+ this.node.firstChild || this.remove()
+
+ return this
+ },
+
+ flatten: function(parent, depth) {
+ return this.ungroup(parent, depth)
+ }
+
+}) \ No newline at end of file