diff --git a/kandy-echarts/src/main/kotlin/org/jetbrains/kotlinx/kandy/echarts/features/Stack.kt b/kandy-echarts/src/main/kotlin/org/jetbrains/kotlinx/kandy/echarts/features/Stack.kt index b3e8e4685..a7ce90de9 100644 --- a/kandy-echarts/src/main/kotlin/org/jetbrains/kotlinx/kandy/echarts/features/Stack.kt +++ b/kandy-echarts/src/main/kotlin/org/jetbrains/kotlinx/kandy/echarts/features/Stack.kt @@ -1,7 +1,7 @@ /* * Copyright 2020-2023 JetBrains s.r.o. Use of this source code is governed by the Apache 2.0 license. */ - +@file:Suppress("INVISIBLE_REFERENCE", "INVISIBLE_MEMBER") package org.jetbrains.kotlinx.kandy.echarts.features import org.jetbrains.kotlinx.kandy.echarts.layers.context.AreaHandler diff --git a/kandy-echarts/src/main/kotlin/org/jetbrains/kotlinx/kandy/echarts/features/animation/DataChangeAnimation.kt b/kandy-echarts/src/main/kotlin/org/jetbrains/kotlinx/kandy/echarts/features/animation/DataChangeAnimation.kt index 9862a93bd..07706dd70 100644 --- a/kandy-echarts/src/main/kotlin/org/jetbrains/kotlinx/kandy/echarts/features/animation/DataChangeAnimation.kt +++ b/kandy-echarts/src/main/kotlin/org/jetbrains/kotlinx/kandy/echarts/features/animation/DataChangeAnimation.kt @@ -4,8 +4,8 @@ package org.jetbrains.kotlinx.kandy.echarts.features.animation +import org.jetbrains.kotlinx.kandy.dsl.internal.dataframe.NamedData import org.jetbrains.kotlinx.kandy.ir.Plot -import org.jetbrains.kotlinx.kandy.ir.data.NamedData public data class DataChangeAnimation internal constructor( diff --git a/kandy-echarts/src/main/kotlin/org/jetbrains/kotlinx/kandy/echarts/features/label/labels.kt b/kandy-echarts/src/main/kotlin/org/jetbrains/kotlinx/kandy/echarts/features/label/labels.kt index 64777a663..4e4270fc6 100644 --- a/kandy-echarts/src/main/kotlin/org/jetbrains/kotlinx/kandy/echarts/features/label/labels.kt +++ b/kandy-echarts/src/main/kotlin/org/jetbrains/kotlinx/kandy/echarts/features/label/labels.kt @@ -1,7 +1,7 @@ /* * Copyright 2020-2023 JetBrains s.r.o. Use of this source code is governed by the Apache 2.0 license. */ - +@file:Suppress("INVISIBLE_REFERENCE", "INVISIBLE_MEMBER") package org.jetbrains.kotlinx.kandy.echarts.features.label import org.jetbrains.kotlinx.kandy.echarts.features.text.TextStyle diff --git a/kandy-echarts/src/main/kotlin/org/jetbrains/kotlinx/kandy/echarts/features/marks/marks.kt b/kandy-echarts/src/main/kotlin/org/jetbrains/kotlinx/kandy/echarts/features/marks/marks.kt index ca316a854..e560a8c74 100644 --- a/kandy-echarts/src/main/kotlin/org/jetbrains/kotlinx/kandy/echarts/features/marks/marks.kt +++ b/kandy-echarts/src/main/kotlin/org/jetbrains/kotlinx/kandy/echarts/features/marks/marks.kt @@ -1,10 +1,10 @@ /* * Copyright 2020-2023 JetBrains s.r.o. Use of this source code is governed by the Apache 2.0 license. */ - +@file:Suppress("INVISIBLE_REFERENCE", "INVISIBLE_MEMBER") package org.jetbrains.kotlinx.kandy.echarts.features.marks -import org.jetbrains.kotlinx.kandy.echarts.layers.context.EchartsLayerContext +import org.jetbrains.kotlinx.kandy.echarts.layers.context.EchartsLayerBuilder /** * Sets mark points on a layer. @@ -23,7 +23,7 @@ import org.jetbrains.kotlinx.kandy.echarts.layers.context.EchartsLayerContext * * @see MarkPoint */ -public fun EchartsLayerContext.markPoint(block: MarkPointContext.() -> Unit) { +public fun EchartsLayerBuilder.markPoint(block: MarkPointContext.() -> Unit) { layerFeatures[MarkPointFeature.FEATURE_NAME] = MarkPointContext().apply(block).toMarkPointFeature() } @@ -47,7 +47,7 @@ public fun EchartsLayerContext.markPoint(block: MarkPointContext.() -> Unit) { * * @see MarkLine */ -public fun EchartsLayerContext.markLine(block: MarkLineContext.() -> Unit) { +public fun EchartsLayerBuilder.markLine(block: MarkLineContext.() -> Unit) { layerFeatures[MarkLineFeature.FEATURE_NAME] = MarkLineContext().apply(block).toMarkLineFeature() } @@ -68,6 +68,6 @@ public fun EchartsLayerContext.markLine(block: MarkLineContext.() -> Unit) { * * @see MarkArea */ -public fun EchartsLayerContext.markArea(block: MarkAreaContext.() -> Unit) { +public fun EchartsLayerBuilder.markArea(block: MarkAreaContext.() -> Unit) { layerFeatures[MarkAreaFeature.FEATURE_NAME] = MarkAreaContext().apply(block).toMarkAreaFeature() } diff --git a/kandy-echarts/src/main/kotlin/org/jetbrains/kotlinx/kandy/echarts/layers/aes/WithAes.kt b/kandy-echarts/src/main/kotlin/org/jetbrains/kotlinx/kandy/echarts/layers/aes/WithAes.kt new file mode 100644 index 000000000..6b2905f23 --- /dev/null +++ b/kandy-echarts/src/main/kotlin/org/jetbrains/kotlinx/kandy/echarts/layers/aes/WithAes.kt @@ -0,0 +1,15 @@ +@file:Suppress("INVISIBLE_REFERENCE", "INVISIBLE_MEMBER") +package org.jetbrains.kotlinx.kandy.echarts.layers.aes + +import org.jetbrains.kotlinx.kandy.dsl.internal.BindingHandler +import org.jetbrains.kotlinx.kandy.dsl.internal.LayerBuilder +import org.jetbrains.kotlinx.kandy.dsl.internal.bindingHandler + +/** + * Interface for managing the aesthetic properties in [LayerBuilder]. + */ +public interface WithAes + +@PublishedApi +internal val WithAes.bindingHandler: BindingHandler + get() =(this as LayerBuilder).bindingHandler diff --git a/kandy-echarts/src/main/kotlin/org/jetbrains/kotlinx/kandy/echarts/layers/aes/WithAlpha.kt b/kandy-echarts/src/main/kotlin/org/jetbrains/kotlinx/kandy/echarts/layers/aes/WithAlpha.kt index 5d9e0736f..261a8b944 100644 --- a/kandy-echarts/src/main/kotlin/org/jetbrains/kotlinx/kandy/echarts/layers/aes/WithAlpha.kt +++ b/kandy-echarts/src/main/kotlin/org/jetbrains/kotlinx/kandy/echarts/layers/aes/WithAlpha.kt @@ -1,41 +1,40 @@ /* * Copyright 2020-2023 JetBrains s.r.o. Use of this source code is governed by the Apache 2.0 license. */ - +@file:Suppress("INVISIBLE_REFERENCE", "INVISIBLE_MEMBER") package org.jetbrains.kotlinx.kandy.echarts.layers.aes import org.jetbrains.kotlinx.dataframe.DataColumn import org.jetbrains.kotlinx.dataframe.columns.ColumnReference -import org.jetbrains.kotlinx.kandy.dsl.internal.BindingHandler import org.jetbrains.kotlinx.kandy.echarts.scale.EchartsNonPositionalMappingParametersContinuous import org.jetbrains.kotlinx.kandy.echarts.scale.nonPosMappingCont import org.jetbrains.kotlinx.kandy.ir.bindings.NonPositionalMapping import kotlin.reflect.KProperty -public interface WithAlpha : BindingHandler { +public interface WithAlpha : WithAes { public var alpha: Double? get() = null set(value) { - addNonPositionalSetting(ALPHA, value) + bindingHandler.addNonPositionalSetting(ALPHA, value) } public fun alpha( column: ColumnReference, params: EchartsNonPositionalMappingParametersContinuous.() -> Unit = {} - ): NonPositionalMapping = nonPosMappingCont(ALPHA, column, params) + ): NonPositionalMapping = bindingHandler.nonPosMappingCont(ALPHA, column, params) public fun alpha( column: KProperty, params: EchartsNonPositionalMappingParametersContinuous.() -> Unit = {} - ): NonPositionalMapping = nonPosMappingCont(ALPHA, column, params) + ): NonPositionalMapping = bindingHandler.nonPosMappingCont(ALPHA, column, params) public fun alpha( values: Iterable, name: String? = null, params: EchartsNonPositionalMappingParametersContinuous.() -> Unit = {} - ): NonPositionalMapping = nonPosMappingCont(ALPHA, values, name, params) + ): NonPositionalMapping = bindingHandler.nonPosMappingCont(ALPHA, values, name, params) public fun alpha( column: String, params: EchartsNonPositionalMappingParametersContinuous<*, Double>.() -> Unit = {} - ): NonPositionalMapping<*, Double> = nonPosMappingCont(ALPHA, column, params) + ): NonPositionalMapping<*, Double> = bindingHandler.nonPosMappingCont(ALPHA, column, params) public fun alpha( values: DataColumn, params: EchartsNonPositionalMappingParametersContinuous.() -> Unit = {} - ): NonPositionalMapping = nonPosMappingCont(ALPHA, values, params) + ): NonPositionalMapping = bindingHandler.nonPosMappingCont(ALPHA, values, params) } \ No newline at end of file diff --git a/kandy-echarts/src/main/kotlin/org/jetbrains/kotlinx/kandy/echarts/layers/aes/WithColor.kt b/kandy-echarts/src/main/kotlin/org/jetbrains/kotlinx/kandy/echarts/layers/aes/WithColor.kt index ef8e37d68..b00cf79d0 100644 --- a/kandy-echarts/src/main/kotlin/org/jetbrains/kotlinx/kandy/echarts/layers/aes/WithColor.kt +++ b/kandy-echarts/src/main/kotlin/org/jetbrains/kotlinx/kandy/echarts/layers/aes/WithColor.kt @@ -1,7 +1,7 @@ /* * Copyright 2020-2023 JetBrains s.r.o. Use of this source code is governed by the Apache 2.0 license. */ - +@file:Suppress("INVISIBLE_REFERENCE", "INVISIBLE_MEMBER") package org.jetbrains.kotlinx.kandy.echarts.layers.aes import org.jetbrains.kotlinx.dataframe.DataColumn @@ -13,30 +13,30 @@ import org.jetbrains.kotlinx.kandy.ir.bindings.NonPositionalMapping import org.jetbrains.kotlinx.kandy.util.color.Color import kotlin.reflect.KProperty -public interface WithColor : BindingHandler { +public interface WithColor : WithAes { public var color: Color? get() = null set(value) { - addNonPositionalSetting(COLOR, value) + bindingHandler.addNonPositionalSetting(COLOR, value) } public fun color( column: ColumnReference, params: EchartsNonPositionalMappingParametersContinuous.() -> Unit = {} - ): NonPositionalMapping = nonPosMappingCont(COLOR, column, params) + ): NonPositionalMapping = bindingHandler.nonPosMappingCont(COLOR, column, params) public fun color( column: KProperty, params: EchartsNonPositionalMappingParametersContinuous.() -> Unit = {} - ): NonPositionalMapping = nonPosMappingCont(COLOR, column, params) + ): NonPositionalMapping = bindingHandler.nonPosMappingCont(COLOR, column, params) public fun color( values: Iterable, name: String? = null, params: EchartsNonPositionalMappingParametersContinuous.() -> Unit = {} - ): NonPositionalMapping = nonPosMappingCont(COLOR, values, name, params) + ): NonPositionalMapping = bindingHandler.nonPosMappingCont(COLOR, values, name, params) public fun color( column: String, params: EchartsNonPositionalMappingParametersContinuous<*, Color>.() -> Unit = {} - ): NonPositionalMapping<*, Color> = nonPosMappingCont(COLOR, column, params) + ): NonPositionalMapping<*, Color> = bindingHandler.nonPosMappingCont(COLOR, column, params) public fun color( values: DataColumn, params: EchartsNonPositionalMappingParametersContinuous.() -> Unit = {} - ): NonPositionalMapping = nonPosMappingCont(COLOR, values, params) + ): NonPositionalMapping = bindingHandler.nonPosMappingCont(COLOR, values, params) } \ No newline at end of file diff --git a/kandy-echarts/src/main/kotlin/org/jetbrains/kotlinx/kandy/echarts/layers/aes/WithSize.kt b/kandy-echarts/src/main/kotlin/org/jetbrains/kotlinx/kandy/echarts/layers/aes/WithSize.kt index 6425a87d6..8963afd19 100644 --- a/kandy-echarts/src/main/kotlin/org/jetbrains/kotlinx/kandy/echarts/layers/aes/WithSize.kt +++ b/kandy-echarts/src/main/kotlin/org/jetbrains/kotlinx/kandy/echarts/layers/aes/WithSize.kt @@ -1,7 +1,7 @@ /* * Copyright 2020-2023 JetBrains s.r.o. Use of this source code is governed by the Apache 2.0 license. */ - +@file:Suppress("INVISIBLE_REFERENCE", "INVISIBLE_MEMBER") package org.jetbrains.kotlinx.kandy.echarts.layers.aes import org.jetbrains.kotlinx.dataframe.DataColumn @@ -12,30 +12,30 @@ import org.jetbrains.kotlinx.kandy.echarts.scale.nonPosMappingCont import org.jetbrains.kotlinx.kandy.ir.bindings.NonPositionalMapping import kotlin.reflect.KProperty -public interface WithSize : BindingHandler { +public interface WithSize : WithAes { public var size: Double? get() = null set(value) { - addNonPositionalSetting(SIZE, value) + bindingHandler.addNonPositionalSetting(SIZE, value) } public fun size( column: ColumnReference, parameters: EchartsNonPositionalMappingParametersContinuous.() -> Unit = {} - ): NonPositionalMapping = nonPosMappingCont(SIZE, column, parameters) + ): NonPositionalMapping = bindingHandler.nonPosMappingCont(SIZE, column, parameters) public fun size( column: KProperty, params: EchartsNonPositionalMappingParametersContinuous.() -> Unit = {} - ): NonPositionalMapping = nonPosMappingCont(SIZE, column, params) + ): NonPositionalMapping = bindingHandler.nonPosMappingCont(SIZE, column, params) public fun size( values: Iterable, name: String? = null, params: EchartsNonPositionalMappingParametersContinuous.() -> Unit = {} - ): NonPositionalMapping = nonPosMappingCont(SIZE, values, name, params) + ): NonPositionalMapping = bindingHandler.nonPosMappingCont(SIZE, values, name, params) public fun size( column: String, params: EchartsNonPositionalMappingParametersContinuous<*, Double>.() -> Unit = {} - ): NonPositionalMapping<*, Double> = nonPosMappingCont(SIZE, column, params) + ): NonPositionalMapping<*, Double> = bindingHandler.nonPosMappingCont(SIZE, column, params) public fun size( values: DataColumn, params: EchartsNonPositionalMappingParametersContinuous.() -> Unit = {} - ): NonPositionalMapping = nonPosMappingCont(SIZE, values, params) + ): NonPositionalMapping = bindingHandler.nonPosMappingCont(SIZE, values, params) } \ No newline at end of file diff --git a/kandy-echarts/src/main/kotlin/org/jetbrains/kotlinx/kandy/echarts/layers/aes/WithSymbol.kt b/kandy-echarts/src/main/kotlin/org/jetbrains/kotlinx/kandy/echarts/layers/aes/WithSymbol.kt index 8f289474e..7633d1bb6 100644 --- a/kandy-echarts/src/main/kotlin/org/jetbrains/kotlinx/kandy/echarts/layers/aes/WithSymbol.kt +++ b/kandy-echarts/src/main/kotlin/org/jetbrains/kotlinx/kandy/echarts/layers/aes/WithSymbol.kt @@ -1,7 +1,7 @@ /* * Copyright 2020-2023 JetBrains s.r.o. Use of this source code is governed by the Apache 2.0 license. */ - +@file:Suppress("INVISIBLE_REFERENCE", "INVISIBLE_MEMBER") package org.jetbrains.kotlinx.kandy.echarts.layers.aes import org.jetbrains.kotlinx.dataframe.DataColumn @@ -13,30 +13,30 @@ import org.jetbrains.kotlinx.kandy.echarts.settings.Symbol import org.jetbrains.kotlinx.kandy.ir.bindings.NonPositionalMapping import kotlin.reflect.KProperty -public interface WithSymbol : BindingHandler { +public interface WithSymbol : WithAes { public var symbol: Symbol? get() = null set(value) { - addNonPositionalSetting(SYMBOL, value) + bindingHandler.addNonPositionalSetting(SYMBOL, value) } public fun symbol( column: ColumnReference, parameters: EchartsNonPositionalMappingParametersCategorical.() -> Unit = {} - ): NonPositionalMapping = nonPosMappingCat(SYMBOL, column, parameters) + ): NonPositionalMapping = bindingHandler.nonPosMappingCat(SYMBOL, column, parameters) public fun symbol( column: KProperty, params: EchartsNonPositionalMappingParametersCategorical.() -> Unit = {} - ): NonPositionalMapping = nonPosMappingCat(SYMBOL, column, params) + ): NonPositionalMapping = bindingHandler.nonPosMappingCat(SYMBOL, column, params) public fun symbol( values: Iterable, name: String? = null, params: EchartsNonPositionalMappingParametersCategorical.() -> Unit = {} - ): NonPositionalMapping = nonPosMappingCat(SYMBOL, values, name, params) + ): NonPositionalMapping = bindingHandler.nonPosMappingCat(SYMBOL, values, name, params) public fun symbol( column: String, params: EchartsNonPositionalMappingParametersCategorical<*, Symbol>.() -> Unit = {} - ): NonPositionalMapping<*, Symbol> = nonPosMappingCat(SYMBOL, column, params) + ): NonPositionalMapping<*, Symbol> = bindingHandler.nonPosMappingCat(SYMBOL, column, params) public fun symbol( values: DataColumn, params: EchartsNonPositionalMappingParametersCategorical.() -> Unit = {} - ): NonPositionalMapping = nonPosMappingCat(SYMBOL, values, params) + ): NonPositionalMapping = bindingHandler.nonPosMappingCat(SYMBOL, values, params) } \ No newline at end of file diff --git a/kandy-echarts/src/main/kotlin/org/jetbrains/kotlinx/kandy/echarts/layers/aes/WithX.kt b/kandy-echarts/src/main/kotlin/org/jetbrains/kotlinx/kandy/echarts/layers/aes/WithX.kt index dc8daa66c..8b572be83 100644 --- a/kandy-echarts/src/main/kotlin/org/jetbrains/kotlinx/kandy/echarts/layers/aes/WithX.kt +++ b/kandy-echarts/src/main/kotlin/org/jetbrains/kotlinx/kandy/echarts/layers/aes/WithX.kt @@ -1,7 +1,7 @@ /* * Copyright 2020-2023 JetBrains s.r.o. Use of this source code is governed by the Apache 2.0 license. */ - +@file:Suppress("INVISIBLE_REFERENCE", "INVISIBLE_MEMBER") package org.jetbrains.kotlinx.kandy.echarts.layers.aes import org.jetbrains.kotlinx.dataframe.DataColumn @@ -13,27 +13,27 @@ import org.jetbrains.kotlinx.kandy.ir.bindings.PositionalMapping import org.jetbrains.kotlinx.kandy.ir.bindings.PositionalSetting import kotlin.reflect.KProperty -public interface WithX : BindingHandler { +public interface WithX : WithAes { public fun x(value: T): PositionalSetting { - return addPositionalSetting(X, value) + return bindingHandler.addPositionalSetting(X, value) } public fun x( column: ColumnReference, params: EchartsPositionalMappingParametersContinuous.() -> Unit = {} - ): PositionalMapping = posMapping(X, column, params) + ): PositionalMapping = bindingHandler.posMapping(X, column, params) public fun x( column: KProperty, params: EchartsPositionalMappingParametersContinuous.() -> Unit = {} - ): PositionalMapping = posMapping(X, column, params) + ): PositionalMapping = bindingHandler.posMapping(X, column, params) public fun x( values: Iterable, name: String? = null, params: EchartsPositionalMappingParametersContinuous.() -> Unit = {} - ): PositionalMapping = posMapping(X, values, name, params) + ): PositionalMapping = bindingHandler.posMapping(X, values, name, params) public fun x(column: String, params: EchartsPositionalMappingParametersContinuous<*>.() -> Unit = {}): PositionalMapping<*> = - posMapping(X, column, params) + bindingHandler.posMapping(X, column, params) public fun x( values: DataColumn, params: EchartsPositionalMappingParametersContinuous.() -> Unit = {} - ): PositionalMapping = posMapping(X, values, params) + ): PositionalMapping = bindingHandler.posMapping(X, values, params) } \ No newline at end of file diff --git a/kandy-echarts/src/main/kotlin/org/jetbrains/kotlinx/kandy/echarts/layers/aes/WithY.kt b/kandy-echarts/src/main/kotlin/org/jetbrains/kotlinx/kandy/echarts/layers/aes/WithY.kt index 55de64e13..c075156e9 100644 --- a/kandy-echarts/src/main/kotlin/org/jetbrains/kotlinx/kandy/echarts/layers/aes/WithY.kt +++ b/kandy-echarts/src/main/kotlin/org/jetbrains/kotlinx/kandy/echarts/layers/aes/WithY.kt @@ -1,7 +1,7 @@ /* * Copyright 2020-2023 JetBrains s.r.o. Use of this source code is governed by the Apache 2.0 license. */ - +@file:Suppress("INVISIBLE_REFERENCE", "INVISIBLE_MEMBER") package org.jetbrains.kotlinx.kandy.echarts.layers.aes import org.jetbrains.kotlinx.dataframe.DataColumn @@ -13,27 +13,27 @@ import org.jetbrains.kotlinx.kandy.ir.bindings.PositionalMapping import org.jetbrains.kotlinx.kandy.ir.bindings.PositionalSetting import kotlin.reflect.KProperty -public interface WithY : BindingHandler { +public interface WithY : WithAes { public fun y(value: T): PositionalSetting { - return addPositionalSetting(X, value) + return bindingHandler.addPositionalSetting(X, value) } public fun y( values: DataColumn, params: EchartsPositionalMappingParametersContinuous.() -> Unit = {} - ): PositionalMapping = posMapping(Y, values, params) + ): PositionalMapping = bindingHandler.posMapping(Y, values, params) public fun y( values: KProperty, params: EchartsPositionalMappingParametersContinuous.() -> Unit = {} - ): PositionalMapping = posMapping(Y, values, params) + ): PositionalMapping = bindingHandler.posMapping(Y, values, params) public fun y( values: Iterable, name: String? = null, params: EchartsPositionalMappingParametersContinuous.() -> Unit = {} - ): PositionalMapping = posMapping(Y, values, name, params) + ): PositionalMapping = bindingHandler.posMapping(Y, values, name, params) public fun y(column: String, params: EchartsPositionalMappingParametersContinuous<*>.() -> Unit = {}): PositionalMapping<*> = - posMapping(Y, column, params) + bindingHandler.posMapping(Y, column, params) public fun y( column: ColumnReference, params: EchartsPositionalMappingParametersContinuous.() -> Unit = {} - ): PositionalMapping = posMapping(Y, column, params) + ): PositionalMapping = bindingHandler.posMapping(Y, column, params) } \ No newline at end of file diff --git a/kandy-echarts/src/main/kotlin/org/jetbrains/kotlinx/kandy/echarts/layers/aes/axes.kt b/kandy-echarts/src/main/kotlin/org/jetbrains/kotlinx/kandy/echarts/layers/aes/axes.kt index 44742a2b7..ff193fb24 100644 --- a/kandy-echarts/src/main/kotlin/org/jetbrains/kotlinx/kandy/echarts/layers/aes/axes.kt +++ b/kandy-echarts/src/main/kotlin/org/jetbrains/kotlinx/kandy/echarts/layers/aes/axes.kt @@ -1,7 +1,7 @@ /* * Copyright 2020-2023 JetBrains s.r.o. Use of this source code is governed by the Apache 2.0 license. */ - +@file:Suppress("INVISIBLE_REFERENCE", "INVISIBLE_MEMBER") package org.jetbrains.kotlinx.kandy.echarts.layers.aes import org.jetbrains.kotlinx.dataframe.DataColumn @@ -15,47 +15,47 @@ import kotlin.reflect.KProperty public fun MultiLayerPlotBuilder.x( column: ColumnReference, params: EchartsPositionalMappingParametersContinuous.() -> Unit = {} -): PositionalMapping = posMapping(X, column, params) +): PositionalMapping = bindingHandler.posMapping(X, column, params) public fun MultiLayerPlotBuilder.x( column: KProperty, params: EchartsPositionalMappingParametersContinuous.() -> Unit = {} -): PositionalMapping = posMapping(X, column, params) +): PositionalMapping = bindingHandler.posMapping(X, column, params) public fun MultiLayerPlotBuilder.x( values: Iterable, name: String? = null, params: EchartsPositionalMappingParametersContinuous.() -> Unit = {} -): PositionalMapping = posMapping(X, values, name, params) +): PositionalMapping = bindingHandler.posMapping(X, values, name, params) public fun MultiLayerPlotBuilder.x( values: DataColumn, params: EchartsPositionalMappingParametersContinuous.() -> Unit = {} -): PositionalMapping = posMapping(X, values, params) +): PositionalMapping = bindingHandler.posMapping(X, values, params) public fun MultiLayerPlotBuilder.x( column: String, params: EchartsPositionalMappingParametersContinuous<*>.() -> Unit = {} -): PositionalMapping<*> = posMapping(X, column, params) +): PositionalMapping<*> = bindingHandler.posMapping(X, column, params) public fun MultiLayerPlotBuilder.x(params: EchartsPositionalMappingParametersContinuous.() -> Unit = {}): Unit = - posFreeScale(X, params) + bindingHandler.posFreeScale(X, params) public fun MultiLayerPlotBuilder.y( column: ColumnReference, params: EchartsPositionalMappingParametersContinuous.() -> Unit = {} -): PositionalMapping = posMapping(Y, column, params) +): PositionalMapping = bindingHandler.posMapping(Y, column, params) public fun MultiLayerPlotBuilder.y( column: KProperty, params: EchartsPositionalMappingParametersContinuous.() -> Unit = {} -): PositionalMapping = posMapping(Y, column, params) +): PositionalMapping = bindingHandler.posMapping(Y, column, params) public fun MultiLayerPlotBuilder.y( values: Iterable, name: String? = null, params: EchartsPositionalMappingParametersContinuous.() -> Unit = {} -): PositionalMapping = posMapping(Y, values, name, params) +): PositionalMapping = bindingHandler.posMapping(Y, values, name, params) public fun MultiLayerPlotBuilder.y( values: DataColumn, params: EchartsPositionalMappingParametersContinuous.() -> Unit = {} -): PositionalMapping = posMapping(Y, values, params) +): PositionalMapping = bindingHandler.posMapping(Y, values, params) public fun MultiLayerPlotBuilder.y( column: String, params: EchartsPositionalMappingParametersContinuous<*>.() -> Unit = {} -): PositionalMapping<*> = posMapping(Y, column, params) +): PositionalMapping<*> = bindingHandler.posMapping(Y, column, params) public fun MultiLayerPlotBuilder.y( params: EchartsPositionalMappingParametersContinuous.() -> Unit = {} -): Unit = posFreeScale(Y, params) +): Unit = bindingHandler.posFreeScale(Y, params) diff --git a/kandy-echarts/src/main/kotlin/org/jetbrains/kotlinx/kandy/echarts/layers/context/AreaHandler.kt b/kandy-echarts/src/main/kotlin/org/jetbrains/kotlinx/kandy/echarts/layers/context/AreaHandler.kt index c8d26f056..160457583 100644 --- a/kandy-echarts/src/main/kotlin/org/jetbrains/kotlinx/kandy/echarts/layers/context/AreaHandler.kt +++ b/kandy-echarts/src/main/kotlin/org/jetbrains/kotlinx/kandy/echarts/layers/context/AreaHandler.kt @@ -1,7 +1,7 @@ /* * Copyright 2020-2023 JetBrains s.r.o. Use of this source code is governed by the Apache 2.0 license. */ - +@file:Suppress("INVISIBLE_REFERENCE", "INVISIBLE_MEMBER") package org.jetbrains.kotlinx.kandy.echarts.layers.context import org.jetbrains.kotlinx.dataframe.DataColumn @@ -53,111 +53,111 @@ import kotlin.reflect.KProperty * @see org.jetbrains.kotlinx.kandy.echarts.settings.LineType * @see Animation */ -public class AreaHandler(parent: LayerCreatorScope) : EchartsLayerContext(parent), WithX, WithY, WithColor, +public class AreaHandler(parent: LayerCreatorScope) : EchartsLayerBuilder(parent), WithX, WithY, WithColor, WithAlpha, WithSymbol { override val geom: Geom = AREA public var position: AreaPosition? = null set(value) { - addNonPositionalSetting(AREA_POSITION, value) + bindingHandler.addNonPositionalSetting(AREA_POSITION, value) field = value } public var shadowBlur: Number? = null set(value) { - addNonPositionalSetting(AREA_SHADOW_BLUR, value) + bindingHandler.addNonPositionalSetting(AREA_SHADOW_BLUR, value) field = value } public var shadowColor: Color? = null set(value) { - addNonPositionalSetting(AREA_SHADOW_COLOR, value) + bindingHandler.addNonPositionalSetting(AREA_SHADOW_COLOR, value) field = value } public var lineColor: Color? = null set(value) { - addNonPositionalSetting(LINE_COLOR, value) + bindingHandler.addNonPositionalSetting(LINE_COLOR, value) field = value } public var smooth: Boolean? = null set(value) { - addNonPositionalSetting(SMOOTH, value) + bindingHandler.addNonPositionalSetting(SMOOTH, value) field = value } public var lineAlpha: Number? = null set(value) { - addNonPositionalSetting(LINE_ALPHA, value) + bindingHandler.addNonPositionalSetting(LINE_ALPHA, value) field = value } public var lineWidth: Number? = null set(value) { - addNonPositionalSetting(WIDTH, value) + bindingHandler.addNonPositionalSetting(WIDTH, value) field = value } public var lineType: LineType? = null set(value) { - addNonPositionalSetting(LINE_TYPE, value) + bindingHandler.addNonPositionalSetting(LINE_TYPE, value) field = value } public var step: Step? = null set(value) { - addNonPositionalSetting(STEP, value) + bindingHandler.addNonPositionalSetting(STEP, value) field = value } public var cap: Cap? = null set(value) { - addNonPositionalSetting(CAP, value) + bindingHandler.addNonPositionalSetting(CAP, value) field = value } public var lineShadowColor: Color? = null set(value) { - addNonPositionalSetting(LINE_SHADOW_COLOR, value) + bindingHandler.addNonPositionalSetting(LINE_SHADOW_COLOR, value) field = value } public var lineShadowBlur: Number? = null set(value) { - addNonPositionalSetting(LINE_SHADOW_BLUR, value) + bindingHandler.addNonPositionalSetting(LINE_SHADOW_BLUR, value) field = value } public fun lineAlpha( column: ColumnReference, params: EchartsNonPositionalMappingParameters.() -> Unit = {} - ): NonPositionalMapping = nonPosMappingCont(LINE_ALPHA, column, params) + ): NonPositionalMapping = bindingHandler.nonPosMappingCont(LINE_ALPHA, column, params) public fun lineAlpha( column: KProperty, params: EchartsNonPositionalMappingParameters.() -> Unit = {} - ): NonPositionalMapping = nonPosMappingCont(LINE_ALPHA, column, params) + ): NonPositionalMapping = bindingHandler.nonPosMappingCont(LINE_ALPHA, column, params) public fun lineAlpha( values: Iterable, name: String? = null, params: NonPositionalMappingParameters.() -> Unit = {} - ): NonPositionalMapping = nonPosMappingCont(LINE_ALPHA, values, name, params) + ): NonPositionalMapping = bindingHandler.nonPosMappingCont(LINE_ALPHA, values, name, params) public fun lineAlpha( column: String, params: EchartsNonPositionalMappingParameters<*, Double>.() -> Unit = {} - ): NonPositionalMapping<*, Double> = nonPosMappingCont(LINE_ALPHA, column, params) + ): NonPositionalMapping<*, Double> = bindingHandler.nonPosMappingCont(LINE_ALPHA, column, params) public fun lineAlpha( values: DataColumn, params: EchartsNonPositionalMappingParameters.() -> Unit = {} - ): NonPositionalMapping = nonPosMappingCont(LINE_ALPHA, values, params) + ): NonPositionalMapping = bindingHandler.nonPosMappingCont(LINE_ALPHA, values, params) public fun lineColor( column: ColumnReference, params: EchartsNonPositionalMappingParameters.() -> Unit = {} - ): NonPositionalMapping = nonPosMappingCont(LINE_COLOR, column, params) + ): NonPositionalMapping = bindingHandler.nonPosMappingCont(LINE_COLOR, column, params) public fun lineColor( column: KProperty, params: EchartsNonPositionalMappingParameters.() -> Unit = {} - ): NonPositionalMapping = nonPosMappingCont(LINE_COLOR, column, params) + ): NonPositionalMapping = bindingHandler.nonPosMappingCont(LINE_COLOR, column, params) public fun lineColor( column: String, params: EchartsNonPositionalMappingParameters<*, Color>.() -> Unit = {} - ): NonPositionalMapping<*, Color> = nonPosMappingCont(LINE_COLOR, column, params) + ): NonPositionalMapping<*, Color> = bindingHandler.nonPosMappingCont(LINE_COLOR, column, params) public fun lineColor( values: Iterable, name: String? = null, params: NonPositionalMappingParameters.() -> Unit = {} - ): NonPositionalMapping = nonPosMappingCont(LINE_COLOR, values, name, params) + ): NonPositionalMapping = bindingHandler.nonPosMappingCont(LINE_COLOR, values, name, params) public fun lineColor( values: DataColumn, params: EchartsNonPositionalMappingParameters.() -> Unit = {} - ): NonPositionalMapping = nonPosMappingCont(LINE_COLOR, values, params) + ): NonPositionalMapping = bindingHandler.nonPosMappingCont(LINE_COLOR, values, params) /** diff --git a/kandy-echarts/src/main/kotlin/org/jetbrains/kotlinx/kandy/echarts/layers/context/BackgroundStyleContext.kt b/kandy-echarts/src/main/kotlin/org/jetbrains/kotlinx/kandy/echarts/layers/context/BackgroundStyleContext.kt index 29a01b17d..4284868bc 100644 --- a/kandy-echarts/src/main/kotlin/org/jetbrains/kotlinx/kandy/echarts/layers/context/BackgroundStyleContext.kt +++ b/kandy-echarts/src/main/kotlin/org/jetbrains/kotlinx/kandy/echarts/layers/context/BackgroundStyleContext.kt @@ -1,7 +1,7 @@ /* * Copyright 2020-2023 JetBrains s.r.o. Use of this source code is governed by the Apache 2.0 license. */ - +@file:Suppress("INVISIBLE_REFERENCE", "INVISIBLE_MEMBER") package org.jetbrains.kotlinx.kandy.echarts.layers.context import org.jetbrains.kotlinx.dataframe.DataColumn @@ -21,19 +21,19 @@ import kotlin.reflect.KProperty /** * Sets background style for [bars][org.jetbrains.kotlinx.kandy.echarts.layers.bars]. * - * - [color][BackgroundStyle.color] - background [color][org.jetbrains.kotlinx.kandy.util.color.Color]. - * - [borderColor][BackgroundStyle.borderColor] - + * - [color][BackgroundStyleBuilder.color] - background [color][org.jetbrains.kotlinx.kandy.util.color.Color]. + * - [borderColor][BackgroundStyleBuilder.borderColor] - * background border [color][org.jetbrains.kotlinx.kandy.util.color.Color]. - * - [borderWidth][BackgroundStyle.borderWidth] - background border width. + * - [borderWidth][BackgroundStyleBuilder.borderWidth] - background border width. * By default `0`. - * - [borderType][BackgroundStyle.borderType] - border [type][LineType]. + * - [borderType][BackgroundStyleBuilder.borderType] - border [type][LineType]. * By default `solid`. - * - [borderRadius][BackgroundStyle.borderRadius] - background border radius. + * - [borderRadius][BackgroundStyleBuilder.borderRadius] - background border radius. * By default `0`. - * - [shadowBlur][BackgroundStyle.shadowBlur] - background shadow blur. - * - [shadowColor][BackgroundStyle.shadowColor] - + * - [shadowBlur][BackgroundStyleBuilder.shadowBlur] - background shadow blur. + * - [shadowColor][BackgroundStyleBuilder.shadowColor] - * background shadow [color][org.jetbrains.kotlinx.kandy.util.color.Color]. - * - [alpha][BackgroundStyle.alpha] - background opacity. + * - [alpha][BackgroundStyleBuilder.alpha] - background opacity. * * ```kotlin * plot { @@ -54,8 +54,8 @@ import kotlin.reflect.KProperty * * @see org.jetbrains.kotlinx.kandy.echarts.layers.bars */ -public inline fun BarHandler.background(crossinline block: BackgroundStyle.() -> Unit) { - BackgroundStyle(this).apply(block) +public inline fun BarHandler.background(crossinline block: BackgroundStyleBuilder.() -> Unit) { + BackgroundStyleBuilder(bindingHandler).apply(block) } /** @@ -73,7 +73,7 @@ public inline fun BarHandler.background(crossinline block: BackgroundStyle.() -> * @see org.jetbrains.kotlinx.kandy.echarts.layers.bars */ // TODO(add border setting) -public class BackgroundStyle(private val context: BindingHandler) : SelfInvocationContext { +public class BackgroundStyleBuilder @PublishedApi internal constructor(private val context: BindingHandler) : SelfInvocationContext { /* BACKGROUND COLOR*/ public var color: Color? = null diff --git a/kandy-echarts/src/main/kotlin/org/jetbrains/kotlinx/kandy/echarts/layers/context/BarHandler.kt b/kandy-echarts/src/main/kotlin/org/jetbrains/kotlinx/kandy/echarts/layers/context/BarHandler.kt index cd41dd2dc..8bb1d728d 100644 --- a/kandy-echarts/src/main/kotlin/org/jetbrains/kotlinx/kandy/echarts/layers/context/BarHandler.kt +++ b/kandy-echarts/src/main/kotlin/org/jetbrains/kotlinx/kandy/echarts/layers/context/BarHandler.kt @@ -1,11 +1,10 @@ /* * Copyright 2020-2023 JetBrains s.r.o. Use of this source code is governed by the Apache 2.0 license. */ - +@file:Suppress("INVISIBLE_REFERENCE", "INVISIBLE_MEMBER") package org.jetbrains.kotlinx.kandy.echarts.layers.context import org.jetbrains.kotlinx.kandy.dsl.internal.LayerCreatorScope -import org.jetbrains.kotlinx.kandy.dsl.internal.LayerBuilder import org.jetbrains.kotlinx.kandy.echarts.features.animation.Animation import org.jetbrains.kotlinx.kandy.echarts.features.animation.AnimationEasing import org.jetbrains.kotlinx.kandy.echarts.layers.BAR @@ -28,12 +27,11 @@ import org.jetbrains.kotlinx.kandy.ir.geom.Geom * @see org.jetbrains.kotlinx.kandy.util.color.Color * @see Animation */ -public interface BarInterface : LayerBuilder, WithX, WithY, WithColor, WithAlpha { +public interface BarBuilderInterface : WithX, WithY, WithColor, WithAlpha + +public class BarHandler(parent: LayerCreatorScope) : EchartsLayerBuilder(parent), BarBuilderInterface { override val geom: Geom get() = BAR -} - -public class BarHandler(parent: LayerCreatorScope) : EchartsLayerContext(parent), BarInterface { /** * Animation options settings for [bars][org.jetbrains.kotlinx.kandy.echarts.layers.bars]. * If a property isn't set or set to null, a default value will be used. diff --git a/kandy-echarts/src/main/kotlin/org/jetbrains/kotlinx/kandy/echarts/layers/context/BorderLayerContext.kt b/kandy-echarts/src/main/kotlin/org/jetbrains/kotlinx/kandy/echarts/layers/context/BorderLayerContext.kt index 4a0ee6136..f743d3ffa 100644 --- a/kandy-echarts/src/main/kotlin/org/jetbrains/kotlinx/kandy/echarts/layers/context/BorderLayerContext.kt +++ b/kandy-echarts/src/main/kotlin/org/jetbrains/kotlinx/kandy/echarts/layers/context/BorderLayerContext.kt @@ -1,7 +1,7 @@ /* * Copyright 2020-2023 JetBrains s.r.o. Use of this source code is governed by the Apache 2.0 license. */ - +@file:Suppress("INVISIBLE_REFERENCE", "INVISIBLE_MEMBER") package org.jetbrains.kotlinx.kandy.echarts.layers.context import org.jetbrains.kotlinx.dataframe.DataColumn @@ -10,6 +10,7 @@ import org.jetbrains.kotlinx.kandy.dsl.internal.BindingHandler import org.jetbrains.kotlinx.kandy.echarts.layers.aes.BORDER_COLOR import org.jetbrains.kotlinx.kandy.echarts.layers.aes.BORDER_TYPE import org.jetbrains.kotlinx.kandy.echarts.layers.aes.BORDER_WIDTH +import org.jetbrains.kotlinx.kandy.echarts.layers.aes.bindingHandler import org.jetbrains.kotlinx.kandy.echarts.scale.EchartsNonPositionalMappingParameters import org.jetbrains.kotlinx.kandy.echarts.scale.nonPosMappingCont import org.jetbrains.kotlinx.kandy.echarts.settings.LineType @@ -19,17 +20,17 @@ import org.jetbrains.kotlinx.kandy.util.color.Color import kotlin.reflect.KProperty /** - * Adds [border][BorderLayerContext] settings to [bars][org.jetbrains.kotlinx.kandy.echarts.layers.bars]. + * Adds [border][BorderLayerBuilder] settings to [bars][org.jetbrains.kotlinx.kandy.echarts.layers.bars]. */ -public fun BarHandler.border(block: BorderLayerContext.() -> Unit) { - BorderLayerContext(this).apply(block) +public fun BarHandler.border(block: BorderLayerBuilder.() -> Unit) { + BorderLayerBuilder(bindingHandler).apply(block) } /** - * Adds [border][BorderLayerContext] settings to [points][org.jetbrains.kotlinx.kandy.echarts.layers.points]. + * Adds [border][BorderLayerBuilder] settings to [points][org.jetbrains.kotlinx.kandy.echarts.layers.points]. */ -public fun PointHandler.border(block: BorderLayerContext.() -> Unit) { - BorderLayerContext(this).apply(block) +public fun PointHandler.border(block: BorderLayerBuilder.() -> Unit) { + BorderLayerBuilder(bindingHandler).apply(block) } /** @@ -43,7 +44,7 @@ public fun PointHandler.border(block: BorderLayerContext.() -> Unit) { * @see Color * @see LineType */ -public class BorderLayerContext(private val context: BindingHandler) { +public class BorderLayerBuilder @PublishedApi internal constructor(private val context: BindingHandler) { public var color: Color? = null set(value) { context.addNonPositionalSetting(BORDER_COLOR, value) diff --git a/kandy-echarts/src/main/kotlin/org/jetbrains/kotlinx/kandy/echarts/layers/context/BoxplotContext.kt b/kandy-echarts/src/main/kotlin/org/jetbrains/kotlinx/kandy/echarts/layers/context/BoxplotContext.kt index 6a19129da..48646244e 100644 --- a/kandy-echarts/src/main/kotlin/org/jetbrains/kotlinx/kandy/echarts/layers/context/BoxplotContext.kt +++ b/kandy-echarts/src/main/kotlin/org/jetbrains/kotlinx/kandy/echarts/layers/context/BoxplotContext.kt @@ -10,7 +10,7 @@ import org.jetbrains.kotlinx.kandy.echarts.features.animation.AnimationEasing import org.jetbrains.kotlinx.kandy.echarts.layers.BOXPLOT import org.jetbrains.kotlinx.kandy.ir.geom.Geom -public class BoxplotContext(parent: LayerCreatorScope) : EchartsLayerContext(parent) { +public class BoxplotContext(parent: LayerCreatorScope) : EchartsLayerBuilder(parent) { override val geom: Geom get() = BOXPLOT diff --git a/kandy-echarts/src/main/kotlin/org/jetbrains/kotlinx/kandy/echarts/layers/context/CandlestickContext.kt b/kandy-echarts/src/main/kotlin/org/jetbrains/kotlinx/kandy/echarts/layers/context/CandlestickContext.kt index da81f59f9..f497fb574 100644 --- a/kandy-echarts/src/main/kotlin/org/jetbrains/kotlinx/kandy/echarts/layers/context/CandlestickContext.kt +++ b/kandy-echarts/src/main/kotlin/org/jetbrains/kotlinx/kandy/echarts/layers/context/CandlestickContext.kt @@ -10,7 +10,7 @@ import org.jetbrains.kotlinx.kandy.echarts.features.animation.AnimationEasing import org.jetbrains.kotlinx.kandy.echarts.layers.CANDLESTICK import org.jetbrains.kotlinx.kandy.ir.geom.Geom -public class CandlestickContext(parent: LayerCreatorScope) : EchartsLayerContext(parent) { +public class CandlestickContext(parent: LayerCreatorScope) : EchartsLayerBuilder(parent) { override val geom: Geom get() = CANDLESTICK diff --git a/kandy-echarts/src/main/kotlin/org/jetbrains/kotlinx/kandy/echarts/layers/context/EchartsLayerContext.kt b/kandy-echarts/src/main/kotlin/org/jetbrains/kotlinx/kandy/echarts/layers/context/EchartsLayerContext.kt index b16c29778..ef63cffb8 100644 --- a/kandy-echarts/src/main/kotlin/org/jetbrains/kotlinx/kandy/echarts/layers/context/EchartsLayerContext.kt +++ b/kandy-echarts/src/main/kotlin/org/jetbrains/kotlinx/kandy/echarts/layers/context/EchartsLayerContext.kt @@ -5,7 +5,8 @@ package org.jetbrains.kotlinx.kandy.echarts.layers.context import org.jetbrains.kotlinx.kandy.dsl.internal.LayerCreatorScope -import org.jetbrains.kotlinx.kandy.dsl.internal.LayerContext +import org.jetbrains.kotlinx.kandy.dsl.internal.LayerBuilder +import org.jetbrains.kotlinx.kandy.dsl.internal.LayerBuilderImpl import org.jetbrains.kotlinx.kandy.echarts.features.animation.Animation import org.jetbrains.kotlinx.kandy.echarts.features.animation.AnimationBoxplotCandlestick import org.jetbrains.kotlinx.kandy.echarts.features.animation.AnimationLayerFeature @@ -13,30 +14,31 @@ import org.jetbrains.kotlinx.kandy.echarts.features.animation.AnimationPie import org.jetbrains.kotlinx.kandy.echarts.layers.aes.NAME import org.jetbrains.kotlinx.kandy.ir.aes.Aes -public sealed class EchartsLayerContext(parent: LayerCreatorScope) : LayerContext(parent) { +@Suppress("INVISIBLE_MEMBER") +public sealed class EchartsLayerBuilder(parent: LayerCreatorScope) : LayerBuilderImpl(parent) { override val requiredAes: Set = setOf() public var name: String? = null set(value) { - addNonPositionalSetting(NAME, value) + bindingHandler.addNonPositionalSetting(NAME, value) } public operator fun Animation.invoke(block: Animation.() -> Unit): Animation = apply(block).also { it.toAnimationLayerFeature()?.let { feature -> - this@EchartsLayerContext.layerFeatures[AnimationLayerFeature.FEATURE_NAME] = feature + this@EchartsLayerBuilder.layerFeatures[AnimationLayerFeature.FEATURE_NAME] = feature } } public operator fun AnimationPie.invoke(block: AnimationPie.() -> Unit): AnimationPie = apply(block).also { it.toAnimationFeature()?.let { feature -> - this@EchartsLayerContext.layerFeatures[AnimationLayerFeature.FEATURE_NAME] = feature + this@EchartsLayerBuilder.layerFeatures[AnimationLayerFeature.FEATURE_NAME] = feature } } public operator fun AnimationBoxplotCandlestick.invoke(block: AnimationBoxplotCandlestick.() -> Unit): AnimationBoxplotCandlestick = apply(block).also { it.toAnimationFeature()?.let { feature -> - this@EchartsLayerContext.layerFeatures[AnimationLayerFeature.FEATURE_NAME] = feature + this@EchartsLayerBuilder.layerFeatures[AnimationLayerFeature.FEATURE_NAME] = feature } } } \ No newline at end of file diff --git a/kandy-echarts/src/main/kotlin/org/jetbrains/kotlinx/kandy/echarts/layers/context/LineHandler.kt b/kandy-echarts/src/main/kotlin/org/jetbrains/kotlinx/kandy/echarts/layers/context/LineHandler.kt index b56818401..a13e2d280 100644 --- a/kandy-echarts/src/main/kotlin/org/jetbrains/kotlinx/kandy/echarts/layers/context/LineHandler.kt +++ b/kandy-echarts/src/main/kotlin/org/jetbrains/kotlinx/kandy/echarts/layers/context/LineHandler.kt @@ -1,9 +1,10 @@ /* * Copyright 2020-2023 JetBrains s.r.o. Use of this source code is governed by the Apache 2.0 license. */ - +@file:Suppress("INVISIBLE_REFERENCE", "INVISIBLE_MEMBER") package org.jetbrains.kotlinx.kandy.echarts.layers.context +import org.jetbrains.kotlinx.kandy.dsl.internal.LayerBuilder import org.jetbrains.kotlinx.kandy.dsl.internal.LayerCreatorScope import org.jetbrains.kotlinx.kandy.echarts.features.animation.Animation import org.jetbrains.kotlinx.kandy.echarts.features.animation.AnimationEasing @@ -40,7 +41,7 @@ import org.jetbrains.kotlinx.kandy.util.color.Color * @see org.jetbrains.kotlinx.kandy.echarts.settings.Cap * @see Animation */ -public class LineHandler(parent: LayerCreatorScope) : EchartsLayerContext(parent), WithX, WithY, WithColor, +public class LineHandler(parent: LayerCreatorScope) : EchartsLayerBuilder(parent), WithX, WithY, WithColor, WithAlpha, WithSymbol { override val geom: Geom @@ -48,40 +49,40 @@ public class LineHandler(parent: LayerCreatorScope) : EchartsLayerContext(parent public var smooth: Boolean? = null set(value) { - addNonPositionalSetting(SMOOTH, value) + bindingHandler.addNonPositionalSetting(SMOOTH, value) field = smooth } public var width: Number? = null set(value) { - addNonPositionalSetting(WIDTH, value) + bindingHandler.addNonPositionalSetting(WIDTH, value) field = value } public var lineType: LineType? = null set(value) { - addNonPositionalSetting(LINE_TYPE, value) + bindingHandler.addNonPositionalSetting(LINE_TYPE, value) field = value } public var step: Step? = null set(value) { - addNonPositionalSetting(STEP, value) + bindingHandler.addNonPositionalSetting(STEP, value) field = value } public var cap: Cap? = null set(value) { - addNonPositionalSetting(CAP, value) + bindingHandler.addNonPositionalSetting(CAP, value) field = value } public var shadowColor: Color? = null set(value) { - addNonPositionalSetting(LINE_SHADOW_COLOR, value) + bindingHandler.addNonPositionalSetting(LINE_SHADOW_COLOR, value) field = value } public var shadowBlur: Number? = null set(value) { - addNonPositionalSetting(LINE_SHADOW_BLUR, value) + bindingHandler.addNonPositionalSetting(LINE_SHADOW_BLUR, value) field = value } diff --git a/kandy-echarts/src/main/kotlin/org/jetbrains/kotlinx/kandy/echarts/layers/context/PieContext.kt b/kandy-echarts/src/main/kotlin/org/jetbrains/kotlinx/kandy/echarts/layers/context/PieContext.kt index 9f4e724d8..4a1b54874 100644 --- a/kandy-echarts/src/main/kotlin/org/jetbrains/kotlinx/kandy/echarts/layers/context/PieContext.kt +++ b/kandy-echarts/src/main/kotlin/org/jetbrains/kotlinx/kandy/echarts/layers/context/PieContext.kt @@ -11,7 +11,7 @@ import org.jetbrains.kotlinx.kandy.echarts.features.animation.AnimationType import org.jetbrains.kotlinx.kandy.echarts.layers.PIE import org.jetbrains.kotlinx.kandy.ir.geom.Geom -public class PieContext(parent: LayerCreatorScope) : EchartsLayerContext(parent) { +public class PieContext(parent: LayerCreatorScope) : EchartsLayerBuilder(parent) { override val geom: Geom get() = PIE diff --git a/kandy-echarts/src/main/kotlin/org/jetbrains/kotlinx/kandy/echarts/layers/context/PointHandler.kt b/kandy-echarts/src/main/kotlin/org/jetbrains/kotlinx/kandy/echarts/layers/context/PointHandler.kt index ddb317080..87b5d8085 100644 --- a/kandy-echarts/src/main/kotlin/org/jetbrains/kotlinx/kandy/echarts/layers/context/PointHandler.kt +++ b/kandy-echarts/src/main/kotlin/org/jetbrains/kotlinx/kandy/echarts/layers/context/PointHandler.kt @@ -27,7 +27,7 @@ import org.jetbrains.kotlinx.kandy.ir.geom.Geom * @see org.jetbrains.kotlinx.kandy.echarts.settings.Symbol * @see Animation */ -public class PointHandler(parent: LayerCreatorScope) : EchartsLayerContext(parent), WithX, WithY, +public class PointHandler(parent: LayerCreatorScope) : EchartsLayerBuilder(parent), WithX, WithY, WithAlpha, WithColor, WithSize, WithSymbol { override val geom: Geom get() = POINT diff --git a/kandy-echarts/src/main/kotlin/org/jetbrains/kotlinx/kandy/echarts/layers/layers.kt b/kandy-echarts/src/main/kotlin/org/jetbrains/kotlinx/kandy/echarts/layers/layers.kt index 97a309b5d..7b6606ca1 100644 --- a/kandy-echarts/src/main/kotlin/org/jetbrains/kotlinx/kandy/echarts/layers/layers.kt +++ b/kandy-echarts/src/main/kotlin/org/jetbrains/kotlinx/kandy/echarts/layers/layers.kt @@ -1,7 +1,7 @@ /* * Copyright 2020-2023 JetBrains s.r.o. Use of this source code is governed by the Apache 2.0 license. */ - +@file:Suppress("INVISIBLE_REFERENCE", "INVISIBLE_MEMBER") package org.jetbrains.kotlinx.kandy.echarts.layers import org.jetbrains.kotlinx.kandy.dsl.internal.LayerCreatorScope @@ -85,7 +85,7 @@ public inline fun MultiLayerPlotBuilder.layout(block: EChartsLayout.() -> Unit) * @see LineHandler */ public inline fun LayerCreatorScope.line(block: LineHandler.() -> Unit) { - addLayer(LineHandler(this).apply(block)) + createLayer(LineHandler(this), block) } /** @@ -136,7 +136,7 @@ public inline fun LayerCreatorScope.line(block: LineHandler.() -> Unit) { * @see AreaHandler */ public inline fun LayerCreatorScope.area(block: AreaHandler.() -> Unit) { - addLayer(AreaHandler(this).apply(block)) + createLayer(AreaHandler(this), block) } /** @@ -162,11 +162,11 @@ public inline fun LayerCreatorScope.area(block: AreaHandler.() -> Unit) { * @see BarHandler */ public inline fun LayerCreatorScope.bars(block: BarHandler.() -> Unit) { - addLayer(BarHandler(this).apply(block)) + createLayer(BarHandler(this), block) } public inline fun LayerCreatorScope.pie(block: PieContext.() -> Unit) { - addLayer(PieContext(this).apply(block)) + createLayer(PieContext(this), block) } /** @@ -198,13 +198,13 @@ public inline fun LayerCreatorScope.pie(block: PieContext.() -> Unit) { * @see PointHandler */ public inline fun LayerCreatorScope.points(block: PointHandler.() -> Unit) { - addLayer(PointHandler(this).apply(block)) + createLayer(PointHandler(this), block) } public inline fun LayerCreatorScope.candlestick(block: CandlestickContext.() -> Unit) { - addLayer(CandlestickContext(this).apply(block)) + createLayer(CandlestickContext(this), block) } public inline fun LayerCreatorScope.boxplot(block: BoxplotContext.() -> Unit) { - addLayer(BoxplotContext(this).apply(block)) + createLayer(BoxplotContext(this), block) } diff --git a/kandy-echarts/src/main/kotlin/org/jetbrains/kotlinx/kandy/echarts/scale/mapping.kt b/kandy-echarts/src/main/kotlin/org/jetbrains/kotlinx/kandy/echarts/scale/mapping.kt index d74991a13..253bc9633 100644 --- a/kandy-echarts/src/main/kotlin/org/jetbrains/kotlinx/kandy/echarts/scale/mapping.kt +++ b/kandy-echarts/src/main/kotlin/org/jetbrains/kotlinx/kandy/echarts/scale/mapping.kt @@ -1,13 +1,14 @@ /* * Copyright 2020-2023 JetBrains s.r.o. Use of this source code is governed by the Apache 2.0 license. */ - +@file:Suppress("INVISIBLE_REFERENCE", "INVISIBLE_MEMBER") package org.jetbrains.kotlinx.kandy.echarts.scale import org.jetbrains.kotlinx.dataframe.DataColumn import org.jetbrains.kotlinx.dataframe.columns.ColumnReference import org.jetbrains.kotlinx.dataframe.impl.asList import org.jetbrains.kotlinx.kandy.dsl.internal.BindingHandler +import org.jetbrains.kotlinx.kandy.dsl.internal.dataframe.* import org.jetbrains.kotlinx.kandy.ir.aes.Aes import org.jetbrains.kotlinx.kandy.ir.bindings.NonPositionalMapping import org.jetbrains.kotlinx.kandy.ir.bindings.PositionalMapping diff --git a/kandy-echarts/src/main/kotlin/org/jetbrains/kotlinx/kandy/echarts/translator/Parser.kt b/kandy-echarts/src/main/kotlin/org/jetbrains/kotlinx/kandy/echarts/translator/Parser.kt index 52af116dd..ce7f34990 100644 --- a/kandy-echarts/src/main/kotlin/org/jetbrains/kotlinx/kandy/echarts/translator/Parser.kt +++ b/kandy-echarts/src/main/kotlin/org/jetbrains/kotlinx/kandy/echarts/translator/Parser.kt @@ -8,6 +8,7 @@ import kotlinx.datetime.Month import org.jetbrains.kotlinx.dataframe.api.fillNA import org.jetbrains.kotlinx.dataframe.api.map import org.jetbrains.kotlinx.dataframe.api.with +import org.jetbrains.kotlinx.kandy.dsl.internal.dataframe.NamedData import org.jetbrains.kotlinx.kandy.echarts.layers.AREA import org.jetbrains.kotlinx.kandy.echarts.layers.BAR import org.jetbrains.kotlinx.kandy.echarts.layers.BOXPLOT @@ -46,7 +47,6 @@ import org.jetbrains.kotlinx.kandy.ir.bindings.NonPositionalMapping import org.jetbrains.kotlinx.kandy.ir.bindings.NonPositionalSetting import org.jetbrains.kotlinx.kandy.ir.bindings.PositionalMapping import org.jetbrains.kotlinx.kandy.ir.bindings.Setting -import org.jetbrains.kotlinx.kandy.ir.data.NamedData import org.jetbrains.kotlinx.kandy.ir.data.TableData import org.jetbrains.kotlinx.kandy.ir.scale.NonPositionalContinuousScale import org.jetbrains.kotlinx.kandy.ir.scale.PositionalCategoricalScale diff --git a/kandy-lets-plot/src/main/kotlin/org/jetbrains/kotlinx/kandy/letsplot/layers/builders/aes/WithAes.kt b/kandy-lets-plot/src/main/kotlin/org/jetbrains/kotlinx/kandy/letsplot/layers/builders/aes/WithAes.kt index 049930d1e..3edc680c2 100644 --- a/kandy-lets-plot/src/main/kotlin/org/jetbrains/kotlinx/kandy/letsplot/layers/builders/aes/WithAes.kt +++ b/kandy-lets-plot/src/main/kotlin/org/jetbrains/kotlinx/kandy/letsplot/layers/builders/aes/WithAes.kt @@ -11,6 +11,7 @@ import org.jetbrains.kotlinx.kandy.letsplot.layers.builders.subcontext.SubContex */ public interface WithAes +@PublishedApi internal val WithAes.bindingHandler: BindingHandler get() = if (this is SubContext) { bindingHandler diff --git a/settings.gradle.kts b/settings.gradle.kts index 2dc2f03a2..af014810f 100644 --- a/settings.gradle.kts +++ b/settings.gradle.kts @@ -14,8 +14,8 @@ dependencyResolutionManagement { rootProject.name = "kandy" include("kandy-api") include("kandy-lets-plot") -//include("kandy-echarts") +include("kandy-echarts") include("kandy-util") include("examples:idea-examples:lets-plot-simple") -//include("examples:idea-examples:echarts-simple") +include("examples:idea-examples:echarts-simple")