From bdfc85517f11f175c8b0e45217f42a5a0f9e6d78 Mon Sep 17 00:00:00 2001 From: Lucas Vieira Date: Wed, 15 Jan 2025 14:33:32 -0300 Subject: [PATCH] implement number and trend into visualization v2 --- apps/api/src/python/visualizations-v2.ts | 19 +- .../visualizationV2/VisualizationView.tsx | 176 ++++++++++-------- .../customBlocks/visualizationV2/index.tsx | 56 +++++- 3 files changed, 148 insertions(+), 103 deletions(-) diff --git a/apps/api/src/python/visualizations-v2.ts b/apps/api/src/python/visualizations-v2.ts index f24b4560..55ab1d66 100644 --- a/apps/api/src/python/visualizations-v2.ts +++ b/apps/api/src/python/visualizations-v2.ts @@ -42,9 +42,9 @@ def _briefer_create_visualization(df, options): elif chartType == "histogram": raise ValueError("Histogram chart is not supported") elif chartType == "trend": - raise ValueError("Trend chart is not supported") + return "bar", False, False elif chartType == "number": - raise ValueError("Number chart is not supported") + return "bar", False, False def convert_value(column, value): if pd.api.types.is_numeric_dtype(column): @@ -182,7 +182,7 @@ def _briefer_create_visualization(df, options): serie = { "type": chart_type, "datasetIndex": dataset_index, - "z": i + "z": i, } if group: @@ -306,19 +306,6 @@ export async function createVisualizationV2( if (parsed.success) { switch (parsed.data.type) { case 'log': - console.log( - JSON.stringify( - { - workspaceId, - sessionId, - message: parsed.data.message, - input, - }, - null, - 2 - ), - 'createVisualizationV2 log' - ) logger().info( { workspaceId, diff --git a/apps/web/src/components/v2Editor/customBlocks/visualizationV2/VisualizationView.tsx b/apps/web/src/components/v2Editor/customBlocks/visualizationV2/VisualizationView.tsx index 0865187d..7d211a33 100644 --- a/apps/web/src/components/v2Editor/customBlocks/visualizationV2/VisualizationView.tsx +++ b/apps/web/src/components/v2Editor/customBlocks/visualizationV2/VisualizationView.tsx @@ -21,13 +21,17 @@ import useResettableState from '@/hooks/useResettableState' import { useEffect, useLayoutEffect, useRef, useState } from 'react' import debounce from 'lodash.debounce' import { findMaxFontSize, measureText } from '@/measureText' -import { VisualizationV2BlockOutputResult } from '@briefer/editor' +import { + VisualizationV2BlockInput, + VisualizationV2BlockOutputResult, +} from '@briefer/editor' +import { head, last } from 'ramda' const FONT_FAMILY = ['Inter', ...twFontFamiliy.sans].join(', ') interface Props { title: string - chartType: ChartType + input: VisualizationV2BlockInput result: VisualizationV2BlockOutputResult | null tooManyDataPointsHidden: boolean onHideTooManyDataPointsWarning: () => void @@ -68,7 +72,7 @@ function VisualizationViewV2(props: Props) { title={props.title} result={props.result} renderer={props.renderer} - chartType={props.chartType} + input={props.input} isDashboard={props.isDashboard} /> {props.loading && ( @@ -161,8 +165,8 @@ function VisualizationViewV2(props: Props) { )} {!props.isDashboard && - props.chartType !== 'number' && - props.chartType !== 'trend' && ( + props.input.chartType !== 'number' && + props.input.chartType !== 'trend' && (