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/helpers.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/helpers.js')
-rw-r--r-- | src/helpers.js | 29 |
1 files changed, 29 insertions, 0 deletions
diff --git a/src/helpers.js b/src/helpers.js index 7b58727..88a37bb 100644 --- a/src/helpers.js +++ b/src/helpers.js @@ -1,3 +1,32 @@ +function createElement(element, makeNested) { + if(element instanceof SVG.Element) return element + + if(typeof element == 'object') { + return SVG.adopt(element) + } + + if(element == null) { + return new SVG.Doc() + } + + if(typeof element == 'string' && element.charAt(0) != '<') { + return SVG.adopt(document.querySelector(element)) + } + + var node = SVG.create('svg') + node.innerHTML = element + + element = SVG.adopt(node.firstElementChild) + + //if(element instanceof SVG.Nested) { + // // We cant use the adopter for this because it will create an SVG.Nested + // element = new SVG.Doc(element.node) + // element.setData(JSON.parse(element.node.getAttribute('svgjs:data')) || {}) + //} + + return element +} + function isNulledBox(box) { return !box.w && !box.h && !box.x && !box.y } |