From 2feea5e7cf8d492663e826ebcfb0a58e61820352 Mon Sep 17 00:00:00 2001 From: Robert Jaros Date: Mon, 12 Feb 2018 08:04:05 +0100 Subject: DSL syntax for containers --- src/main/kotlin/pl/treksoft/kvision/modal/Modal.kt | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) (limited to 'src/main/kotlin/pl/treksoft/kvision/modal') diff --git a/src/main/kotlin/pl/treksoft/kvision/modal/Modal.kt b/src/main/kotlin/pl/treksoft/kvision/modal/Modal.kt index 874b4370..f913fac1 100644 --- a/src/main/kotlin/pl/treksoft/kvision/modal/Modal.kt +++ b/src/main/kotlin/pl/treksoft/kvision/modal/Modal.kt @@ -51,12 +51,13 @@ enum class MODALSIZE(val className: String) { * @param animation determines if animations are used * @param escape determines if dialog can be closed with Esc key * @param classes a set of CSS class names + * @param init an initializer extension function */ @Suppress("TooManyFunctions") open class Modal( caption: String? = null, closeButton: Boolean = true, size: MODALSIZE? = null, animation: Boolean = true, private val escape: Boolean = true, - classes: Set = setOf() + classes: Set = setOf(), init: (Modal.() -> Unit)? = null ) : SimplePanel(classes) { /** @@ -135,6 +136,8 @@ open class Modal( } else { println("At least one Root object is required to create a modal!") } + @Suppress("LeakingThis") + init?.invoke(this) } private fun checkHeaderVisibility() { -- cgit