import { useState } from 'react' import PropTypes from 'prop-types' import { Flex, Alert, Card, Spin, Splitter, Button, Modal, Segmented } from 'antd' import { LoadingOutlined } from '@ant-design/icons' import ExclamationOctagonIcon from '../../Icons/ExclamationOctagonIcon.jsx' import CheckCircleIcon from '../../Icons/CheckCircleIcon.jsx' import ObjectProperty from '../common/ObjectProperty.jsx' import TemplatePreview from './TemplatePreview.jsx' import DataTree from './DataTree.jsx' const TemplateEditor = ({ objectData, loading, collapseState, isEditing, style }) => { const [testObjectOpen, setTestObjectOpen] = useState(false) const [testObjectViewMode, setTestObjectViewMode] = useState('Tree') const [previewMessage, setPreviewMessage] = useState('No issues found.') const [previewError, setPreviewError] = useState(false) const handlePreviewMessage = (message, isError) => { setPreviewMessage(message) setPreviewError(isError) } return ( <> {collapseState.preview == true && ( setTestObjectOpen(true)} onPreviewMessage={handlePreviewMessage} showTestObject={true} /> )} {collapseState.editor == true && ( }> ) : ( ) } type={previewError ? 'error' : 'success'} />
)}
{ setTestObjectOpen(false) }} > Close } >
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 } export default TemplateEditor