import { useState } from 'react' import { useSelector, useDispatch } from 'react-redux' import PropTypes from 'prop-types' import { Hidden, List, ListItem, ListItemText, MenuItem, TextField, TextareaAutosize } from '@material-ui/core' import { makeStyles } from '@material-ui/core/styles' import { setSchDescription } from '../../redux/saveSchematicSlice' import ComponentProperties from './ComponentProperties' import './Helper/SchematicEditor.css' const useStyles = makeStyles((theme) => ({ toolbar: { minHeight: '90px' }, pages: { margin: theme.spacing(0, 0.7) } })) const pageSize = [ { value: 'A1', label: 'A1' }, { value: 'A2', label: 'A2' }, { value: 'A3', label: 'A3' }, { value: 'A4', label: 'A4' }, { value: 'A5', label: 'A5' } ] const pageLayout = [ { value: 'P', label: 'Portrait' }, { value: 'L', label: 'Landscape' } ] // Display grid size and orientation function GridProperties ({ gridRef }) { const classes = useStyles() const [gridSize, setGridSize] = useState('A4') const [gridLayout, setGridLayout] = useState('L') const handleSizeChange = (event) => { setGridSize(event.target.value) gridRef.current.className = 'grid-container ' + event.target.value + '-' + gridLayout } const handleLayoutChange = (event) => { setGridLayout(event.target.value) gridRef.current.className = 'grid-container ' + gridSize + '-' + event.target.value } return ( <> {pageSize.map((option) => ( {option.label} ))} {pageLayout.map((option) => ( {option.label} ))} ) } GridProperties.propTypes = { gridRef: PropTypes.object.isRequired } export default function PropertiesSidebar ({ gridRef, outlineRef }) { const classes = useStyles() const isOpen = useSelector(state => state.componentProperties.isPropertiesWindowOpen) const description1 = useSelector(state => state.saveSchematic.description) const [description, setDescription] = useState(description1) const dispatch = useDispatch() const getInputValues = (evt) => { setDescription(`${evt.target.value}`) dispatch(setSchDescription(evt.target.value)) } const typography1 = process.env.REACT_APP_DIAGRAM_NAME + ' Description' const typography2 = 'Add ' + process.env.REACT_APP_DIAGRAM_NAME + ' Description' const typography3 = process.env.REACT_APP_BLOCKS_NAME + ' Position' return ( <>

Properties

{/* Display component position box */}
{/* Input form field for schematic description */}
) } PropertiesSidebar.propTypes = { gridRef: PropTypes.object.isRequired, outlineRef: PropTypes.object.isRequired }