import { useState } from "react"; import CommonDialog, { styleDialog } from "../Dialogs/CommonDialog"; const reader = new FileReader(); const layout_defaults = { overlaying: "y", side: "left", tickfont: { size: 12 }, tickpadding: 5, showgrid: false, showline: false, showticklabels: true, showlegend: true, zeroline: false, anchor: "x", type: "linear", autorange: true, }; export default function OverlayChartDialog({ open, close, setLoading, addOverlay, plotlyData, }: { open: boolean; close: () => void; setLoading: (loading: boolean) => void; addOverlay: (data: any) => void; plotlyData: any; }) { const [traceType, setTraceType] = useState("scatter"); const [traceColor, setTraceColor] = useState("#FFDD00"); const [increasingColor, setIncreasingColor] = useState("#00ACFF"); const [decreasingColor, setDecreasingColor] = useState("#FF0000"); const [traceName, setTraceName] = useState(""); const [csvData, setCsvData] = useState([]); const [csvColumns, setCsvColumns] = useState([]); const [yaxisOptions, setYaxisOptions] = useState({}); const optionIds = ["x", "open", "high", "low", "close"]; const traceTypes: any = { scatter: "Scatter (Line)", candlestick: "Candlestick", bar: "Bar", }; const [options, setOptions] = useState({}); function onClose() { close(); setTraceType("scatter"); setTraceName(""); setCsvData([]); setCsvColumns([]); setOptions({}); } function onSubmit() { if (csvData.length === 0) { document.getElementById("csv_file")?.focus(); document .getElementById("csv_file") ?.style.setProperty("border", "1px solid red"); document.getElementById("csv_file_warning")!.style.display = "block"; return; } const newPlotydata = CSVonSubmit({ csvData: csvData, plotlyData: plotlyData, yaxisOptions: yaxisOptions, traceType: traceType, traceColor: traceColor, traceName: traceName, options: options, increasingColor: increasingColor, decreasingColor: decreasingColor, }); addOverlay(newPlotydata); onClose(); } return (