forked from kscience/visionforge
fix for Plotly vision serialization
This commit is contained in:
parent
60cec91ab8
commit
a33d9d1946
@ -11,6 +11,7 @@ import space.kscience.dataforge.names.NameToken
|
|||||||
import space.kscience.dataforge.names.asName
|
import space.kscience.dataforge.names.asName
|
||||||
import space.kscience.visionforge.Vision
|
import space.kscience.visionforge.Vision
|
||||||
import space.kscience.visionforge.VisionManager
|
import space.kscience.visionforge.VisionManager
|
||||||
|
import space.kscience.visionforge.root
|
||||||
import kotlin.collections.set
|
import kotlin.collections.set
|
||||||
|
|
||||||
@DslMarker
|
@DslMarker
|
||||||
@ -84,6 +85,7 @@ public abstract class VisionTagConsumer<R>(
|
|||||||
): T {
|
): T {
|
||||||
val output = VisionOutput(manager)
|
val output = VisionOutput(manager)
|
||||||
val vision = output.visionProvider()
|
val vision = output.visionProvider()
|
||||||
|
vision.root(manager)
|
||||||
return vision(name, vision, output.meta)
|
return vision(name, vision, output.meta)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -5,6 +5,7 @@ import kotlinx.serialization.Serializable
|
|||||||
import kotlinx.serialization.modules.SerializersModule
|
import kotlinx.serialization.modules.SerializersModule
|
||||||
import kotlinx.serialization.modules.polymorphic
|
import kotlinx.serialization.modules.polymorphic
|
||||||
import kotlinx.serialization.modules.subclass
|
import kotlinx.serialization.modules.subclass
|
||||||
|
import space.kscience.dataforge.meta.MutableMeta
|
||||||
import space.kscience.dataforge.meta.string
|
import space.kscience.dataforge.meta.string
|
||||||
import space.kscience.dataforge.names.Name
|
import space.kscience.dataforge.names.Name
|
||||||
import space.kscience.dataforge.names.asName
|
import space.kscience.dataforge.names.asName
|
||||||
@ -18,6 +19,9 @@ public class VisionOfMarkup(
|
|||||||
public val format: String = COMMONMARK_FORMAT
|
public val format: String = COMMONMARK_FORMAT
|
||||||
) : VisionBase() {
|
) : VisionBase() {
|
||||||
|
|
||||||
|
//FIXME to be removed after https://github.com/Kotlin/kotlinx.serialization/issues/1602 fix
|
||||||
|
override var properties: MutableMeta? = null
|
||||||
|
|
||||||
//TODO add templates
|
//TODO add templates
|
||||||
|
|
||||||
public var content: String?
|
public var content: String?
|
||||||
|
@ -2,16 +2,19 @@ package space.kscience.visionforge.plotly
|
|||||||
|
|
||||||
import kotlinx.serialization.SerialName
|
import kotlinx.serialization.SerialName
|
||||||
import kotlinx.serialization.Serializable
|
import kotlinx.serialization.Serializable
|
||||||
|
import space.kscience.dataforge.meta.MutableMeta
|
||||||
import space.kscience.dataforge.misc.DFExperimental
|
import space.kscience.dataforge.misc.DFExperimental
|
||||||
import space.kscience.plotly.Plot
|
import space.kscience.plotly.Plot
|
||||||
import space.kscience.plotly.Plotly
|
import space.kscience.plotly.Plotly
|
||||||
import space.kscience.visionforge.VisionBase
|
import space.kscience.visionforge.VisionBase
|
||||||
import space.kscience.visionforge.html.VisionOutput
|
import space.kscience.visionforge.html.VisionOutput
|
||||||
import space.kscience.visionforge.root
|
|
||||||
|
|
||||||
@Serializable
|
@Serializable
|
||||||
@SerialName("vision.plotly")
|
@SerialName("vision.plotly")
|
||||||
public class VisionOfPlotly private constructor() : VisionBase() {
|
public class VisionOfPlotly private constructor() : VisionBase() {
|
||||||
|
//FIXME to be removed after https://github.com/Kotlin/kotlinx.serialization/issues/1602 fix
|
||||||
|
override var properties: MutableMeta? = null
|
||||||
|
|
||||||
public constructor(plot: Plot) : this() {
|
public constructor(plot: Plot) : this() {
|
||||||
properties = plot.meta
|
properties = plot.meta
|
||||||
}
|
}
|
||||||
@ -23,6 +26,4 @@ public fun Plot.asVision(): VisionOfPlotly = VisionOfPlotly(this)
|
|||||||
@DFExperimental
|
@DFExperimental
|
||||||
public inline fun VisionOutput.plotly(
|
public inline fun VisionOutput.plotly(
|
||||||
block: Plot.() -> Unit,
|
block: Plot.() -> Unit,
|
||||||
): VisionOfPlotly = VisionOfPlotly(Plotly.plot(block)).apply {
|
): VisionOfPlotly = VisionOfPlotly(Plotly.plot(block))
|
||||||
root(this@plotly.manager)
|
|
||||||
}
|
|
@ -69,4 +69,4 @@ public class Solids(meta: Meta) : VisionPlugin(meta) {
|
|||||||
@VisionBuilder
|
@VisionBuilder
|
||||||
@DFExperimental
|
@DFExperimental
|
||||||
public inline fun VisionOutput.solid(block: SolidGroup.() -> Unit): SolidGroup =
|
public inline fun VisionOutput.solid(block: SolidGroup.() -> Unit): SolidGroup =
|
||||||
SolidGroup().apply(block).apply { root(this@solid.manager) }
|
SolidGroup().apply(block)
|
||||||
|
Loading…
Reference in New Issue
Block a user