import React, { useState } from "react" import Button from "@material-ui/core/Button" import Dialog from "@material-ui/core/Dialog" import DialogActions from "@material-ui/core/DialogActions" import DialogContent from "@material-ui/core/DialogContent" import { EditComponentProps } from "material-table" import { Type } from "../../types" import dynamic from "next/dynamic" // @ts-ignore import JSONInput from "react-json-editor-ajrm" // @ts-ignore import locale from "react-json-editor-ajrm/locale/en" import { DialogTitle } from "./DialogTitle" import { useTheme } from "@material-ui/core/styles" import jsonViewStyles from "@/utils/styles/jsonViewStyles" const DynamicReactJson = dynamic(import("react-json-view"), { ssr: false }) export default function EditColumns(props: EditComponentProps) { const theme = useTheme() const [open, setOpen] = useState(false) const [mode, setMode] = useState("tree") const jsonData = props.value ? JSON.parse(props.value) : [{ title: "Id", field: "id" }] const handleClickOpen = () => { setOpen(true) } const handleClose = () => { setOpen(false) } const handleJson = (data: any) => { props.onChange(JSON.stringify(data.updated_src)) } return (
Edit Columns {mode === "tree" && ( )} {mode === "code" && ( { if (!props.jsObject) return handleJson({ updated_src: props.jsObject }) }} style={{ outerBox: { width: "100%" }, container: { width: "100%", fontSize: 14 } }} colors={{ background: "rgba(143, 155, 179, 0.3)", default: theme.palette.primary.light }} /> )}
) }