diff options
author | Ulrich-Matthias Schäfer <ulima.ums@googlemail.com> | 2017-07-25 09:14:48 +0200 |
---|---|---|
committer | Ulrich-Matthias Schäfer <ulima.ums@googlemail.com> | 2017-07-25 09:14:48 +0200 |
commit | d6d389133409b315bc1b74752f58ef2647033bb9 (patch) | |
tree | c64c68abeef515ed1dc20a402d304b4609d8767e /src/HtmlNode.js | |
parent | bc9bfb6025e826b0ee6c827f1a356995d7f05d4c (diff) | |
download | svg.js-d6d389133409b315bc1b74752f58ef2647033bb9.tar.gz svg.js-d6d389133409b315bc1b74752f58ef2647033bb9.zip |
Lots of breaking changes. Read below! (#646, #716)
- added `SVG.HTMLNode` which is the object wrapped around html nodes to put something in them
- moved `defs()` method from `SVG.Parent` to `SVG.Element`
- `SVG()` can be called with css selector, node or svg string, now. Without an argument it creates a new `SVG.Doc()` (#646)
- `add()`, `put()`, `addTo()`, `putIn()` now excepts all arguments accepted by `SVG()`
- `SVG.Nested` is not `overflow:visible` by default
- all `SVG.*` objects now can have a node as parameter when constructing
- `SVG()` does not set a default size anymore
Diffstat (limited to 'src/HtmlNode.js')
-rw-r--r-- | src/HtmlNode.js | 27 |
1 files changed, 27 insertions, 0 deletions
diff --git a/src/HtmlNode.js b/src/HtmlNode.js new file mode 100644 index 0000000..38309e3 --- /dev/null +++ b/src/HtmlNode.js @@ -0,0 +1,27 @@ +SVG.HtmlNode = SVG.invent({ + create: function(element) { + this.node = element + } + +, extend: { + add: function(element, i) { + element = createElement(element) + if(element instanceof SVG.Nested) { + element = new SVG.Doc(element.node) + element.setData(JSON.parse(element.node.getAttribute('svgjs:data')) || {}) + } + + if (i == null) + this.node.appendChild(element.node) + else if (element.node != this.node.children[i]) + this.node.insertBefore(element.node, this.node.children[i]) + + return this + } + + , put: function(element, i) { + this.add(element, i) + return element + } + } +}) |