import React, { useState } from 'react' import PropTypes from 'prop-types' import OptionGroup from '../OptionGroup' import { FormattedMessage } from 'react-intl' import RightIcon from '@material-ui/icons/KeyboardArrowRight' const PatternOptions = props => { const [expanded, setExpanded] = useState([]) const toggleGroup = group => { let shown = expanded.slice(0) let index = shown.indexOf(group) if (index === -1) shown.push(group) else shown.splice(index, 1) setExpanded(shown) } const renderGroup = group => { let open = true if (expanded.indexOf(group) === -1) open = false let output = [] let children = null if (expanded.indexOf(group) !== -1) children = ( ) output.push(
  • toggleGroup(group)}> {children}
  • ) return output } const children = [] for (let group in props.config.optionGroups) { if (props.data.settings.advanced || group !== 'advanced') { children.push(renderGroup(group)) } } return } PatternOptions.propTypes = { config: PropTypes.object.isRequired, raiseEvent: PropTypes.func } PatternOptions.defaultProps = {} export default PatternOptions