import CommonDialog from "./CommonDialog"; import { useState } from "react"; const style = { padding: "5px 2px 2px 5px", margin: "2px 0", }; export default function TextChartDialog({ open, close, addAnnotation, deleteAnnotation, popupData, }: { plotlyData: any; open: boolean; close: () => void; addAnnotation: (annotation: any) => void; updateAnnotation: (annotation: any) => void; deleteAnnotation: (annotation: any) => void; popupData: any | null; }) { const defaultPopupData = { text: "", color: "#0088CC", size: 18, bordercolor: "#822661", yanchor: "above", }; const [popUpData, setPopUpData] = useState(defaultPopupData); const [newPopupData, setNewPopupData] = useState(defaultPopupData); if (popupData && popupData !== popUpData) { if (popupData.annotation) { popupData.annotation = popupData?.annotation || {}; setPopUpData(popupData); setNewPopupData(popupData); } } function onClose() { console.log("closing"); setPopUpData(defaultPopupData); setNewPopupData(defaultPopupData); close(); } function onChange(e: any) { console.log(e.target.id.replace("addtext_", ""), e.target.value); const name = e.target.id.replace("addtext_", ""); const value = e.target.type === "checkbox" ? e.target.checked ? 1 : 0 : e.target.value; setNewPopupData({ ...newPopupData, [name]: value }); } function onSubmit() { console.log("submitting", newPopupData); if (newPopupData.text !== "") { let above = ["above", 1].includes(newPopupData.yanchor); newPopupData.yanchor = above ? "above" : "below"; if (popUpData?.annotation) { setNewPopupData({ ...newPopupData, annotation: popUpData.annotation }); } addAnnotation(newPopupData); close(); } else { document.getElementById("popup_textarea_warning")!.style.display = "block"; document.getElementById("addtext_text")!.style.border = "1px solid red"; } } function onDelete() { deleteAnnotation(popUpData); onClose(); } return ( ); }