diff --git a/src/main/kotlin/kweb/state/render.kt b/src/main/kotlin/kweb/state/render.kt index e8de523bd1..cd5a4b586d 100755 --- a/src/main/kotlin/kweb/state/render.kt +++ b/src/main/kotlin/kweb/state/render.kt @@ -17,7 +17,8 @@ private val logger = KotlinLogging.logger {} fun ElementCreator<*>.render(kval: KVal, containerElementTag : String = "span", block: ElementCreator.(T) -> Unit) { - val containerSpan : Element = element(containerElementTag) + // NOTE: Per https://github.com/kwebio/kweb-core/issues/151 eventually render() won't rely on a container element. + val containerElement : Element = element(containerElementTag) val previousElementCreator: AtomicReference?> = AtomicReference(null) @@ -25,8 +26,8 @@ fun ElementCreator<*>.render(kval: KVal, containerElementTag : Str fun eraseAndRender() { do { - containerSpan.removeChildren() - containerSpan.new { + containerElement.removeChildren() + containerElement.new { previousElementCreator.getAndSet(this)?.cleanup() renderState.set(RENDERING_NO_PENDING_CHANGE) block(kval.value) @@ -51,7 +52,7 @@ fun ElementCreator<*>.render(kval: KVal, containerElementTag : Str } } - containerSpan.new { + containerElement.new { previousElementCreator.getAndSet(this)?.cleanup() renderState.set(RENDERING_NO_PENDING_CHANGE) block(kval.value) @@ -64,7 +65,7 @@ fun ElementCreator<*>.render(kval: KVal, containerElementTag : Str } this.onCleanup(false) { - containerSpan.deleteIfExists() + containerElement.deleteIfExists() } this.onCleanup(true) {