ember-legacy-class-transform
Version:
The default blueprint for ember-cli addons.
24 lines • 1.08 kB
JavaScript
import { DOMTreeConstruction, ConcreteBounds } from '@glimmer/runtime';
export default class NodeDOMTreeConstruction extends DOMTreeConstruction {
constructor(doc) {
super(doc);
}
// override to prevent usage of `this.document` until after the constructor
setupUselessElement() {}
insertHTMLBefore(parent, reference, html) {
let prev = reference ? reference.previousSibling : parent.lastChild;
let raw = this.document.createRawHTMLSection(html);
parent.insertBefore(raw, reference);
let first = prev ? prev.nextSibling : parent.firstChild;
let last = reference ? reference.previousSibling : parent.lastChild;
return new ConcreteBounds(parent, first, last);
}
// override to avoid SVG detection/work when in node (this is not needed in SSR)
createElement(tag) {
return this.document.createElement(tag);
}
// override to avoid namespace shenanigans when in node (this is not needed in SSR)
setAttribute(element, name, value) {
element.setAttribute(name, value);
}
}