import { useState, useCallback, useContext } from 'react' import PropTypes from 'prop-types' import { Flex, Alert, Card, Spin, Splitter, Button, Modal, Segmented, Popover } from 'antd' import { LoadingOutlined, CaretDownOutlined } from '@ant-design/icons' import ExclamationOctagonIcon from '../../Icons/ExclamationOctagonIcon.jsx' import CheckCircleIcon from '../../Icons/CheckCircleIcon.jsx' import MagicWandIcon from '../../Icons/MagicWandIcon.jsx' import ObjectProperty from '../common/ObjectProperty.jsx' import TemplatePreview from './TemplatePreview.jsx' import DataTree from './DataTree.jsx' import { ApiServerContext } from '../context/ApiServerContext.jsx' //import { useMediaQuery } from 'react-responsive' const TemplateEditor = ({ objectData, loading, collapseState, isEditing, style, form, setObjectData }) => { const { fetchTemplateFormat } = useContext(ApiServerContext) const [testObjectOpen, setTestObjectOpen] = useState(false) const [testObjectViewMode, setTestObjectViewMode] = useState('Tree') const [previewMessage, setPreviewMessage] = useState('No issues found.') const [previewError, setPreviewError] = useState(false) const [formatLoading, setFormatLoading] = useState(false) //const isMobile = useMediaQuery({ maxWidth: 768 }) const handlePreviewMessage = useCallback((message, isError) => { if (isError) { setPreviewMessage( Compile error. } >
setTestObjectViewMode(value)} size='small' />
{testObjectViewMode == 'Code' && ( )} {testObjectViewMode == 'Tree' && ( )}
) } TemplateEditor.propTypes = { loading: PropTypes.bool, objectData: PropTypes.object, collapseState: PropTypes.object, isEditing: PropTypes.bool, style: PropTypes.object, form: PropTypes.object, setObjectData: PropTypes.func } export default TemplateEditor