tools/preview/ui/FormEditor.js (37 lines of code) (raw):

import React from 'react'; import TreeView from './TreeView'; import EditField from './EditField'; export default class FormEditor extends React.Component { state = { activeField: null, } _handleEditFieldClick = field => { this.setState({ activeField: field, }); } render() { const { config, registeredComponents, } = this.props; if (!config) { return null; } return ( <div> <TreeView config={config} onEditFieldClick={this._handleEditFieldClick} /> {this.state.activeField && <EditField onClose={() => { this.setState({ activeField: null, }); }} fieldConfig={this.state.activeField} /> } </div> ); } }