summaryrefslogtreecommitdiffstats
path: root/src/ungroup.js
blob: 7f26915096f19912abae0beacfc9568993fdca66 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
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)
  }

})