Skip to content

Commit f28bd30

Browse files
committed
fix "split" step visualization
1 parent 66ee93a commit f28bd30

File tree

8 files changed

+930
-54
lines changed

8 files changed

+930
-54
lines changed

core/generated-sources/src/test/kotlin/org/jetbrains/kotlinx/dataframe/explainer/PluginCallback.kt

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -31,7 +31,6 @@ import org.jetbrains.kotlinx.dataframe.api.with
3131
import org.jetbrains.kotlinx.dataframe.columns.ColumnSet
3232
import org.jetbrains.kotlinx.dataframe.io.DataFrameHtmlData
3333
import org.jetbrains.kotlinx.dataframe.io.DisplayConfiguration
34-
import org.jetbrains.kotlinx.dataframe.io.escapeHTML
3534
import org.jetbrains.kotlinx.dataframe.io.sessionId
3635
import org.jetbrains.kotlinx.dataframe.io.tableInSessionId
3736
import org.jetbrains.kotlinx.dataframe.io.toHTML

core/src/main/kotlin/org/jetbrains/kotlinx/dataframe/jupyter/Integration.kt

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -266,6 +266,7 @@ internal fun convertToDataFrame(dataframeLike: Any): AnyFrame =
266266
is PivotGroupBy<*> -> dataframeLike.frames()
267267
is ReducedPivotGroupBy<*> -> dataframeLike.values()
268268
is SplitWithTransform<*, *, *> -> dataframeLike.into()
269+
is Split<*, *> -> dataframeLike.toDataFrame()
269270
is Merge<*, *, *> -> dataframeLike.into("merged")
270271
is Gather<*, *, *, *> -> dataframeLike.into("key", "value")
271272
is Update<*, *> -> dataframeLike.df

core/src/test/kotlin/org/jetbrains/kotlinx/dataframe/explainer/PluginCallback.kt

Lines changed: 19 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,11 +1,10 @@
11
package org.jetbrains.kotlinx.dataframe.explainer
22

33
import com.beust.klaxon.JsonObject
4-
import org.jetbrains.kotlinx.dataframe.AnyFrame
5-
import org.jetbrains.kotlinx.dataframe.api.print
64
import java.io.File
75
import java.util.concurrent.atomic.AtomicInteger
86
import org.jetbrains.kotlinx.dataframe.AnyCol
7+
import org.jetbrains.kotlinx.dataframe.AnyFrame
98
import org.jetbrains.kotlinx.dataframe.DataFrame
109
import org.jetbrains.kotlinx.dataframe.DataRow
1110
import org.jetbrains.kotlinx.dataframe.RowValueFilter
@@ -19,11 +18,13 @@ import org.jetbrains.kotlinx.dataframe.api.Pivot
1918
import org.jetbrains.kotlinx.dataframe.api.PivotGroupBy
2019
import org.jetbrains.kotlinx.dataframe.api.ReducedPivot
2120
import org.jetbrains.kotlinx.dataframe.api.ReducedPivotGroupBy
21+
import org.jetbrains.kotlinx.dataframe.api.Split
2222
import org.jetbrains.kotlinx.dataframe.api.SplitWithTransform
2323
import org.jetbrains.kotlinx.dataframe.api.Update
2424
import org.jetbrains.kotlinx.dataframe.api.format
2525
import org.jetbrains.kotlinx.dataframe.api.frames
2626
import org.jetbrains.kotlinx.dataframe.api.into
27+
import org.jetbrains.kotlinx.dataframe.api.print
2728
import org.jetbrains.kotlinx.dataframe.api.toDataFrame
2829
import org.jetbrains.kotlinx.dataframe.api.values
2930
import org.jetbrains.kotlinx.dataframe.api.where
@@ -44,7 +45,7 @@ private fun convertToHTML(dataframeLike: Any): DataFrameHtmlData {
4445
is ReducedPivot<*> -> dataframeLike.values().toDataFrame().toHTML()
4546
is PivotGroupBy<*> -> dataframeLike.frames().toHTML()
4647
is ReducedPivotGroupBy<*> -> dataframeLike.values().toHTML()
47-
is SplitWithTransform<*, *, *> -> DataFrameHtmlData(body = "<p>${dataframeLike::class}</p>")
48+
is SplitWithTransform<*, *, *> -> dataframeLike.into().toHTML()
4849
is Merge<*, *, *> -> dataframeLike.into("merged").toHTML()
4950
is Gather<*, *, *, *> -> dataframeLike.into("key", "value").toHTML()
5051
// is Update<*, *> -> DataFrameHtmlData(body = "<p>${dataframeLike::class}</p>")
@@ -64,6 +65,13 @@ private fun convertToHTML(dataframeLike: Any): DataFrameHtmlData {
6465
is AnyFrame -> dataframeLike.toHTML()
6566
is AnyCol -> dataframeLike.toDataFrame().toHTML()
6667
is DataRow<*> -> dataframeLike.toDataFrame().toHTML()
68+
is Split<*, *> -> dataframeLike.toDataFrame().toHTML()
69+
// is MoveClause<*, *>-> null
70+
// is RenameClause<*, *> -> null
71+
// is ReplaceClause<*, *> -> null
72+
// is GroupClause<*, *> -> null
73+
// is InsertClause<*> -> null
74+
// is FormatClause<*, *> -> null
6775
else -> throw IllegalArgumentException("Unsupported type: ${dataframeLike::class}")
6876
}
6977
}
@@ -76,6 +84,13 @@ private fun convertToDescription(dataframeLike: Any): String {
7684
is PivotGroupBy<*> -> "PivotGroupBy"
7785
is ReducedPivotGroupBy<*> -> "ReducedPivotGroupBy"
7886
is SplitWithTransform<*, *, *> -> "SplitWithTransform"
87+
is Split<*, *> -> "Split"
88+
// is MoveClause<*, *> -> "Move"
89+
// is RenameClause<*, *> -> "Rename"
90+
// is ReplaceClause<*, *> -> "Replace"
91+
// is GroupClause<*, *> -> "Group"
92+
// is InsertClause<*> -> "Insert"
93+
// is FormatClause<*, *> -> "Format"
7994
is Merge<*, *, *> -> "Merge"
8095
is Gather<*, *, *, *> -> "Gather"
8196
is Update<*, *> -> "Update"
@@ -176,7 +191,7 @@ object PluginCallback {
176191
<details>
177192
<summary>${expressions.joinToString(".") { it.source }
178193
.also {
179-
if (it.length > 88) TODO("expression is too long. better to split sample in multiple snippets")
194+
if (it.length > 95) TODO("expression is too long ${it.length}. better to split sample in multiple snippets")
180195
}
181196
.escapeHTML()}</summary>
182197
${details.body}

docs/StardustDocs/snippets/org.jetbrains.kotlinx.dataframe.samples.api.Modify.split.html

Lines changed: 114 additions & 23 deletions
Large diffs are not rendered by default.

docs/StardustDocs/snippets/org.jetbrains.kotlinx.dataframe.samples.api.Modify.splitInplace.html

Lines changed: 51 additions & 7 deletions
Large diffs are not rendered by default.

docs/StardustDocs/snippets/org.jetbrains.kotlinx.dataframe.samples.api.Modify.splitIntoRows.html

Lines changed: 100 additions & 19 deletions
Large diffs are not rendered by default.

0 commit comments

Comments
 (0)