) => {
@@ -659,13 +650,6 @@ const PipelineGUI: React.FC = () => {
const handleSettingsSave = () => {
setPipelineName(tempPipelineName);
- setSampleSize(
- tempSampleSize === ""
- ? null
- : tempSampleSize === null
- ? null
- : parseInt(tempSampleSize, 10)
- );
setCurrentFile(tempCurrentFile);
setDefaultModel(tempDefaultModel);
setIsSettingsOpen(false);
@@ -906,6 +890,91 @@ const PipelineGUI: React.FC = () => {
+
+
+
+
+
+
+
+ Set sample size for operations
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Load from YAML
+
+
+
+
+
+
+
+
+
+
+ Save to YAML
+
+
+
+
+
diff --git a/website/src/components/ResizableDataTable.tsx b/website/src/components/ResizableDataTable.tsx
index 2393abef..ff053d84 100644
--- a/website/src/components/ResizableDataTable.tsx
+++ b/website/src/components/ResizableDataTable.tsx
@@ -68,7 +68,7 @@ export type ColumnType = {
id?: string;
};
-interface ColumnStats {
+export interface ColumnStats {
min: number;
max: number;
avg: number;
@@ -102,7 +102,7 @@ function calculateDistinctValueCounts(
return valueCounts;
}
-function calculateColumnStats(
+export function calculateColumnStats(
data: Record[],
accessor: string
): ColumnStats | null {
@@ -256,7 +256,7 @@ const truncateString = (str: string, maxLength: number = 20) => {
return str.slice(0, maxLength) + "...";
};
-const WordCountHistogram = memo(
+export const WordCountHistogram = memo(
({
histogramData,
}: {
@@ -328,7 +328,7 @@ const WordCountHistogram = memo(
);
WordCountHistogram.displayName = "WordCountHistogram";
-const CategoricalBarChart = memo(
+export const CategoricalBarChart = memo(
({ data }: { data: { value: string; count: number }[] }) => {
// Memoize total count calculation
const totalCount = useMemo(
@@ -1339,6 +1339,7 @@ export default function ResizableDataTable>({
}}
onJumpToRow={(index) => setCurrentValueIndex(index)}
currentOperation={currentOperation}
+ columnStats={columnStats[activeColumn]}
/>
)}
diff --git a/website/src/contexts/ThemeContext.tsx b/website/src/contexts/ThemeContext.tsx
index 125a0440..fb95baf4 100644
--- a/website/src/contexts/ThemeContext.tsx
+++ b/website/src/contexts/ThemeContext.tsx
@@ -5,7 +5,7 @@ import React, { createContext, useContext, useEffect, useState } from "react";
export type Theme =
| "default"
| "forest"
- | "magestic"
+ | "majestic"
| "sunset"
| "ruby"
| "monochrome";
@@ -65,12 +65,12 @@ const themes = {
input: "150 30% 18%",
ring: "150 100% 50%",
chart1: "150 70% 40%",
- chart2: "120 65% 45%",
- chart3: "180 60% 35%",
- chart4: "90 55% 45%",
- chart5: "165 70% 40%",
+ chart2: "35 85% 50%",
+ chart3: "195 65% 40%",
+ chart4: "105 60% 45%",
+ chart5: "270 45% 45%",
},
- magestic: {
+ majestic: {
background: "270 30% 99%",
foreground: "270 10% 5%",
card: "270 20% 97%",
@@ -91,10 +91,10 @@ const themes = {
input: "270 30% 18%",
ring: "270 100% 50%",
chart1: "270 70% 60%",
- chart2: "290 65% 55%",
- chart3: "250 60% 50%",
- chart4: "310 70% 45%",
- chart5: "230 65% 55%",
+ chart2: "330 65% 55%",
+ chart3: "210 60% 50%",
+ chart4: "30 70% 55%",
+ chart5: "150 55% 45%",
},
sunset: {
background: "30 30% 99%",
@@ -143,10 +143,10 @@ const themes = {
input: "345 30% 18%",
ring: "345 100% 50%",
chart1: "345 85% 55%",
- chart2: "375 80% 50%",
- chart3: "315 75% 45%",
- chart4: "0 70% 50%",
- chart5: "330 80% 55%",
+ chart2: "195 70% 50%",
+ chart3: "45 75% 55%",
+ chart4: "315 65% 45%",
+ chart5: "165 60% 50%",
},
monochrome: {
background: "0 0% 98%",