beta
This commit is contained in:
@@ -1,13 +1,21 @@
|
||||
import { create } from 'zustand';
|
||||
|
||||
export interface ChartSpec {
|
||||
chart_type: string;
|
||||
title: string;
|
||||
x_axis: string;
|
||||
y_axis: string;
|
||||
color?: string;
|
||||
description?: string;
|
||||
}
|
||||
|
||||
export interface VisualizationState {
|
||||
currentData: any[] | null;
|
||||
currentSQL: string | null;
|
||||
currentChartType: 'bar' | 'line';
|
||||
currentChartSpec: ChartSpec | null;
|
||||
isLoading: boolean;
|
||||
error: string | null;
|
||||
setVisualization: (data: any[], sql: string) => void;
|
||||
setChartType: (type: 'bar' | 'line') => void;
|
||||
setVisualization: (data: any[], sql: string, chartSpec?: ChartSpec | null) => void;
|
||||
setLoading: (loading: boolean) => void;
|
||||
setError: (error: string | null) => void;
|
||||
clearVisualization: () => void;
|
||||
@@ -16,12 +24,11 @@ export interface VisualizationState {
|
||||
export const useVisualizationStore = create<VisualizationState>((set) => ({
|
||||
currentData: null,
|
||||
currentSQL: null,
|
||||
currentChartType: 'bar',
|
||||
currentChartSpec: null,
|
||||
isLoading: false,
|
||||
error: null,
|
||||
setVisualization: (data, sql) => set({ currentData: data, currentSQL: sql, error: null }),
|
||||
setChartType: (type) => set({ currentChartType: type }),
|
||||
setVisualization: (data, sql, chartSpec = null) => set({ currentData: data, currentSQL: sql, currentChartSpec: chartSpec, error: null }),
|
||||
setLoading: (loading) => set({ isLoading: loading }),
|
||||
setError: (error) => set({ error, isLoading: false }),
|
||||
clearVisualization: () => set({ currentData: null, currentSQL: null, error: null }),
|
||||
clearVisualization: () => set({ currentData: null, currentSQL: null, currentChartSpec: null, error: null }),
|
||||
}));
|
||||
|
||||
Reference in New Issue
Block a user