From eea44b35add0d036119888f41e4ed38e75190934 Mon Sep 17 00:00:00 2001 From: Robert Jaros Date: Mon, 12 Feb 2018 12:00:15 +0100 Subject: DSL builders returning built components. --- src/main/kotlin/pl/treksoft/kvision/form/spinner/Spinner.kt | 10 ++++++---- .../kotlin/pl/treksoft/kvision/form/spinner/SpinnerInput.kt | 10 ++++++---- 2 files changed, 12 insertions(+), 8 deletions(-) (limited to 'src/main/kotlin/pl/treksoft/kvision/form/spinner') diff --git a/src/main/kotlin/pl/treksoft/kvision/form/spinner/Spinner.kt b/src/main/kotlin/pl/treksoft/kvision/form/spinner/Spinner.kt index 2a5d2cbe..3cd50473 100644 --- a/src/main/kotlin/pl/treksoft/kvision/form/spinner/Spinner.kt +++ b/src/main/kotlin/pl/treksoft/kvision/form/spinner/Spinner.kt @@ -240,7 +240,7 @@ open class Spinner( internal var counter = 0 /** - * DSL builder extension function + * DSL builder extension function. * * It takes the same parameters as the constructor of the built component. */ @@ -249,12 +249,14 @@ open class Spinner( decimals: Int = 0, buttonsType: BUTTONSTYPE = BUTTONSTYPE.VERTICAL, forceType: FORCETYPE = FORCETYPE.NONE, label: String? = null, rich: Boolean = false, init: (Spinner.() -> Unit)? = null - ) { - this.add(Spinner(value, min, max, step, decimals, buttonsType, forceType, label, rich).apply { + ): Spinner { + val spinner = Spinner(value, min, max, step, decimals, buttonsType, forceType, label, rich).apply { init?.invoke( this ) - }) + } + this.add(spinner) + return spinner } } } diff --git a/src/main/kotlin/pl/treksoft/kvision/form/spinner/SpinnerInput.kt b/src/main/kotlin/pl/treksoft/kvision/form/spinner/SpinnerInput.kt index 6dcb2b4a..a3f72b75 100644 --- a/src/main/kotlin/pl/treksoft/kvision/form/spinner/SpinnerInput.kt +++ b/src/main/kotlin/pl/treksoft/kvision/form/spinner/SpinnerInput.kt @@ -342,7 +342,7 @@ open class SpinnerInput( internal var counter = 0 /** - * DSL builder extension function + * DSL builder extension function. * * It takes the same parameters as the constructor of the built component. */ @@ -351,12 +351,14 @@ open class SpinnerInput( decimals: Int = 0, buttonsType: BUTTONSTYPE = BUTTONSTYPE.VERTICAL, forceType: FORCETYPE = FORCETYPE.NONE, classes: Set = setOf(), init: (SpinnerInput.() -> Unit)? = null - ) { - this.add(SpinnerInput(value, min, max, step, decimals, buttonsType, forceType, classes).apply { + ): SpinnerInput { + val spinnerInput = SpinnerInput(value, min, max, step, decimals, buttonsType, forceType, classes).apply { init?.invoke( this ) - }) + } + this.add(spinnerInput) + return spinnerInput } } } -- cgit