summaryrefslogtreecommitdiffstats
path: root/src/HtmlNode.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/HtmlNode.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/HtmlNode.js')
-rw-r--r--src/HtmlNode.js27
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
+ }
+ }
+})