From e763312f066c42961c33dd782428726eae2cacf6 Mon Sep 17 00:00:00 2001 From: DarkWiiPlayer Date: Wed, 31 Jul 2024 09:30:17 +0200 Subject: [PATCH] Fix handling of document fragments in renderer --- render.js | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/render.js b/render.js index 53292d0..999555e 100644 --- a/render.js +++ b/render.js @@ -173,6 +173,8 @@ export class DomRenderer extends Renderer { element.append(child) else if (typeof arg == "function") this.apply(element, arg(element) || empty) + else if (arg instanceof DocumentFragment) + element.append(arg) else if (arg && typeof(arg)=="object") for (const key in arg) if (element instanceof Element) @@ -225,6 +227,9 @@ export class DomRenderer extends Renderer { * @return {Element|Text} */ static toReactiveElement(observable) { + if (observable.value instanceof DocumentFragment) { + throw "Failed to create reactive element: Document fragments cannot be replaced dynamically" + } const element = this.toElement(observable.value) untilDeathDoThemPart(element, observable) let ref = new WeakRef(element)