summaryrefslogtreecommitdiffstats
path: root/src/helpers.js
diff options
context:
space:
mode:
authorUlrich-Matthias Schäfer <ulima.ums@googlemail.com>2017-07-25 09:14:48 +0200
committerUlrich-Matthias Schäfer <ulima.ums@googlemail.com>2017-07-25 09:14:48 +0200
commitd6d389133409b315bc1b74752f58ef2647033bb9 (patch)
treec64c68abeef515ed1dc20a402d304b4609d8767e /src/helpers.js
parentbc9bfb6025e826b0ee6c827f1a356995d7f05d4c (diff)
downloadsvg.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.js29
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
}