вот код: https://github.com/mipt-npm/plotly.kt/blob/4e0200d139099d5cce40fade39a8c45aa43fc340/examples/src/main/kotlin/complexDynamicServer.kt#L72-L132. Идея в том, что есть некоторый контейнер, в котором рендерится html, внутри которого рендерится график. График по-разному конвертится в html в разных окружениях (статика, динамика, jupyter). Соотвественно для того, чтобы его отрисовать, ему надо с верхнего уровня прокинуть контейнер/рендер. Мое первое решение было использовать мое любимое и сделать кастомный FlowContenr (он интерфейс) с мембер расширением:
class PlotlyFlowContent(val parent: FlowContent): FlowContent by parent{
fun FlowContent.plot(...)
}
И оно даже работало... пока вызов plot был на верхнем уровне. А потом нет, потому что на всех элементах HTML висит DSLMarker и он не дает прокинуть ресивер из родительского элемента. В результате то решение, которое сейчас есть. Контейнер передается явно, что не очень красиво. Есть ли мысли на этот счет?
блин, у меня в моей апишке такая же фигня была
@fogone
Обсуждают сегодня