From 8981e976edeb0a6f800797b111177de655b60faf Mon Sep 17 00:00:00 2001 From: rnentjes Date: Thu, 14 Apr 2022 13:32:54 +0200 Subject: [PATCH] Fix currentKomponent call --- src/jsMain/kotlin/nl/astraeus/komp/Komponent.kt | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/src/jsMain/kotlin/nl/astraeus/komp/Komponent.kt b/src/jsMain/kotlin/nl/astraeus/komp/Komponent.kt index f52bf4c..2d0f81e 100644 --- a/src/jsMain/kotlin/nl/astraeus/komp/Komponent.kt +++ b/src/jsMain/kotlin/nl/astraeus/komp/Komponent.kt @@ -6,9 +6,9 @@ import org.w3c.dom.Element import org.w3c.dom.HTMLElement import org.w3c.dom.get -private var currentKomponent: Komponent? = null +private val currentKomponents: MutableList = mutableListOf() fun FlowOrMetaDataOrPhrasingContent.currentKomponent(): Komponent = - currentKomponent ?: error("No current komponent defined! Only call from render code!") + currentKomponents.lastOrNull() ?: error("No current komponent defined! Only call from render code!") enum class UnsafeMode { UNSAFE_ALLOWED, @@ -52,12 +52,12 @@ abstract class Komponent { ) try { - currentKomponent = this + currentKomponents.add(this) builder.render() } catch(e: KomponentException) { errorHandler(e) } finally { - currentKomponent = null + currentKomponents.removeLast() } element = builder.root @@ -148,12 +148,12 @@ abstract class Komponent { val builder = HtmlBuilder(this, parent, childIndex) try { - currentKomponent = this + currentKomponents.add(this) builder.render() } catch(e: KomponentException) { errorHandler(e) } finally { - currentKomponent = null + currentKomponents.removeLast() } element = builder.root