From 28e74482b8cc7b7f2e4aca099ceea9f7d7a888d5 Mon Sep 17 00:00:00 2001 From: Ulrich-Matthias Schäfer Date: Sun, 29 Mar 2020 10:47:16 +1000 Subject: fixed put and adopter, added tests to cover it --- src/elements/Dom.js | 3 ++- src/utils/adopter.js | 8 +++++--- 2 files changed, 7 insertions(+), 4 deletions(-) (limited to 'src') diff --git a/src/elements/Dom.js b/src/elements/Dom.js index 6fd1b1b..2e081a8 100644 --- a/src/elements/Dom.js +++ b/src/elements/Dom.js @@ -162,6 +162,7 @@ export default class Dom extends EventTarget { // Basically does the same as `add()` but returns the added element instead put (element, i) { + element = makeInstance(element) this.add(element, i) return element } @@ -299,7 +300,7 @@ export default class Dom extends EventTarget { const parent = this.parent() if (!parent) { - return node.put(this) + return this.addTo(node) } const position = parent.index(this) diff --git a/src/utils/adopter.js b/src/utils/adopter.js index 30eab84..b016837 100644 --- a/src/utils/adopter.js +++ b/src/utils/adopter.js @@ -29,13 +29,15 @@ export function makeInstance (element, isHTML = false) { } // Make sure, that HTML elements are created with the correct namespace - var node = isHTML ? globals.document.createElement('div') : create('svg') - node.innerHTML = element + var wrapper = isHTML ? globals.document.createElement('div') : create('svg') + wrapper.innerHTML = element // We can use firstChild here because we know, // that the first char is < and thus an element - element = adopter(node.firstChild) + element = adopter(wrapper.firstChild) + // make sure, that element doesnt have its wrapper attached + wrapper.removeChild(wrapper.firstChild) return element } -- cgit v1.2.3