Skip to content

Commit

Permalink
Merge pull request #395 from Kotlin/echarts_update
Browse files Browse the repository at this point in the history
Refactor an internal API system , part 4: Echarts update
  • Loading branch information
AndreiKingsley authored Jul 22, 2024
2 parents f62a627 + 48415c1 commit 9e1d71d
Show file tree
Hide file tree
Showing 27 changed files with 169 additions and 151 deletions.
Original file line number Diff line number Diff line change
@@ -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
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -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(
Expand Down
Original file line number Diff line number Diff line change
@@ -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
Expand Down
Original file line number Diff line number Diff line change
@@ -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.
Expand All @@ -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()
}

Expand All @@ -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()
}

Expand All @@ -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()
}
Original file line number Diff line number Diff line change
@@ -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
Original file line number Diff line number Diff line change
@@ -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 <T> alpha(
column: ColumnReference<T>, params: EchartsNonPositionalMappingParametersContinuous<T, Double>.() -> Unit = {}
): NonPositionalMapping<T, Double> = nonPosMappingCont(ALPHA, column, params)
): NonPositionalMapping<T, Double> = bindingHandler.nonPosMappingCont(ALPHA, column, params)

public fun <T> alpha(
column: KProperty<T>, params: EchartsNonPositionalMappingParametersContinuous<T, Double>.() -> Unit = {}
): NonPositionalMapping<T, Double> = nonPosMappingCont(ALPHA, column, params)
): NonPositionalMapping<T, Double> = bindingHandler.nonPosMappingCont(ALPHA, column, params)

public fun <T> alpha(
values: Iterable<T>, name: String? = null, params: EchartsNonPositionalMappingParametersContinuous<T, Double>.() -> Unit = {}
): NonPositionalMapping<T, Double> = nonPosMappingCont(ALPHA, values, name, params)
): NonPositionalMapping<T, Double> = 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 <T> alpha(
values: DataColumn<T>, params: EchartsNonPositionalMappingParametersContinuous<T, Double>.() -> Unit = {}
): NonPositionalMapping<T, Double> = nonPosMappingCont(ALPHA, values, params)
): NonPositionalMapping<T, Double> = bindingHandler.nonPosMappingCont(ALPHA, values, params)
}
Original file line number Diff line number Diff line change
@@ -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
Expand All @@ -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 <T> color(
column: ColumnReference<T>, params: EchartsNonPositionalMappingParametersContinuous<T, Color>.() -> Unit = {}
): NonPositionalMapping<T, Color> = nonPosMappingCont(COLOR, column, params)
): NonPositionalMapping<T, Color> = bindingHandler.nonPosMappingCont(COLOR, column, params)

public fun <T> color(
column: KProperty<T>, params: EchartsNonPositionalMappingParametersContinuous<T, Color>.() -> Unit = {}
): NonPositionalMapping<T, Color> = nonPosMappingCont(COLOR, column, params)
): NonPositionalMapping<T, Color> = bindingHandler.nonPosMappingCont(COLOR, column, params)

public fun <T> color(
values: Iterable<T>, name: String? = null, params: EchartsNonPositionalMappingParametersContinuous<T, Color>.() -> Unit = {}
): NonPositionalMapping<T, Color> = nonPosMappingCont(COLOR, values, name, params)
): NonPositionalMapping<T, Color> = 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 <T> color(
values: DataColumn<T>, params: EchartsNonPositionalMappingParametersContinuous<T, Color>.() -> Unit = {}
): NonPositionalMapping<T, Color> = nonPosMappingCont(COLOR, values, params)
): NonPositionalMapping<T, Color> = bindingHandler.nonPosMappingCont(COLOR, values, params)
}
Original file line number Diff line number Diff line change
@@ -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
Expand All @@ -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 <T> size(
column: ColumnReference<T>, parameters: EchartsNonPositionalMappingParametersContinuous<T, Double>.() -> Unit = {}
): NonPositionalMapping<T, Double> = nonPosMappingCont(SIZE, column, parameters)
): NonPositionalMapping<T, Double> = bindingHandler.nonPosMappingCont(SIZE, column, parameters)

public fun <T> size(
column: KProperty<T>, params: EchartsNonPositionalMappingParametersContinuous<T, Double>.() -> Unit = {}
): NonPositionalMapping<T, Double> = nonPosMappingCont(SIZE, column, params)
): NonPositionalMapping<T, Double> = bindingHandler.nonPosMappingCont(SIZE, column, params)

public fun <T> size(
values: Iterable<T>, name: String? = null, params: EchartsNonPositionalMappingParametersContinuous<T, Double>.() -> Unit = {}
): NonPositionalMapping<T, Double> = nonPosMappingCont(SIZE, values, name, params)
): NonPositionalMapping<T, Double> = 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 <T> size(
values: DataColumn<T>, params: EchartsNonPositionalMappingParametersContinuous<T, Double>.() -> Unit = {}
): NonPositionalMapping<T, Double> = nonPosMappingCont(SIZE, values, params)
): NonPositionalMapping<T, Double> = bindingHandler.nonPosMappingCont(SIZE, values, params)
}
Original file line number Diff line number Diff line change
@@ -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
Expand All @@ -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 <T> symbol(
column: ColumnReference<T>, parameters: EchartsNonPositionalMappingParametersCategorical<T, Symbol>.() -> Unit = {}
): NonPositionalMapping<T, Symbol> = nonPosMappingCat(SYMBOL, column, parameters)
): NonPositionalMapping<T, Symbol> = bindingHandler.nonPosMappingCat(SYMBOL, column, parameters)

public fun <T> symbol(
column: KProperty<T>, params: EchartsNonPositionalMappingParametersCategorical<T, Symbol>.() -> Unit = {}
): NonPositionalMapping<T, Symbol> = nonPosMappingCat(SYMBOL, column, params)
): NonPositionalMapping<T, Symbol> = bindingHandler.nonPosMappingCat(SYMBOL, column, params)

public fun <T> symbol(
values: Iterable<T>, name: String? = null, params: EchartsNonPositionalMappingParametersCategorical<T, Symbol>.() -> Unit = {}
): NonPositionalMapping<T, Symbol> = nonPosMappingCat(SYMBOL, values, name, params)
): NonPositionalMapping<T, Symbol> = 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 <T> symbol(
values: DataColumn<T>, params: EchartsNonPositionalMappingParametersCategorical<T, Symbol>.() -> Unit = {}
): NonPositionalMapping<T, Symbol> = nonPosMappingCat(SYMBOL, values, params)
): NonPositionalMapping<T, Symbol> = bindingHandler.nonPosMappingCat(SYMBOL, values, params)
}
Original file line number Diff line number Diff line change
@@ -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
Expand All @@ -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 <T> x(value: T): PositionalSetting<T> {
return addPositionalSetting(X, value)
return bindingHandler.addPositionalSetting(X, value)
}

public fun <T> x(
column: ColumnReference<T>, params: EchartsPositionalMappingParametersContinuous<T>.() -> Unit = {}
): PositionalMapping<T> = posMapping(X, column, params)
): PositionalMapping<T> = bindingHandler.posMapping(X, column, params)

public fun <T> x(
column: KProperty<T>, params: EchartsPositionalMappingParametersContinuous<T>.() -> Unit = {}
): PositionalMapping<T> = posMapping(X, column, params)
): PositionalMapping<T> = bindingHandler.posMapping(X, column, params)

public fun <T> x(
values: Iterable<T>, name: String? = null, params: EchartsPositionalMappingParametersContinuous<T>.() -> Unit = {}
): PositionalMapping<T> = posMapping(X, values, name, params)
): PositionalMapping<T> = 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 <T> x(
values: DataColumn<T>, params: EchartsPositionalMappingParametersContinuous<T>.() -> Unit = {}
): PositionalMapping<T> = posMapping(X, values, params)
): PositionalMapping<T> = bindingHandler.posMapping(X, values, params)
}
Original file line number Diff line number Diff line change
@@ -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
Expand All @@ -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 <T> y(value: T): PositionalSetting<T> {
return addPositionalSetting(X, value)
return bindingHandler.addPositionalSetting(X, value)
}

public fun <T> y(
values: DataColumn<T>, params: EchartsPositionalMappingParametersContinuous<T>.() -> Unit = {}
): PositionalMapping<T> = posMapping(Y, values, params)
): PositionalMapping<T> = bindingHandler.posMapping(Y, values, params)

public fun <T> y(
values: KProperty<T>, params: EchartsPositionalMappingParametersContinuous<T>.() -> Unit = {}
): PositionalMapping<T> = posMapping(Y, values, params)
): PositionalMapping<T> = bindingHandler.posMapping(Y, values, params)

public fun <T> y(
values: Iterable<T>, name: String? = null, params: EchartsPositionalMappingParametersContinuous<T>.() -> Unit = {}
): PositionalMapping<T> = posMapping(Y, values, name, params)
): PositionalMapping<T> = 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 <T> y(
column: ColumnReference<T>, params: EchartsPositionalMappingParametersContinuous<T>.() -> Unit = {}
): PositionalMapping<T> = posMapping(Y, column, params)
): PositionalMapping<T> = bindingHandler.posMapping(Y, column, params)
}
Loading

0 comments on commit 9e1d71d

Please sign in to comment.