import React, { Component } from 'react' import { Input, Grid, Button, Icon, List, Dropdown } from 'semantic-ui-react' import Tables from '../../Models/Tables' import './CreateNodule.css' class CreateTransformNoduleForm extends Component { constructor (props) { super(props) this.state = { structure: {}, tables: props.tables } this.tables = new Tables() this.initialKeyInput = React.createRef() this.newKeyInput = React.createRef() document.addEventListener('updateTables', this.updateTableList) } addStructureInput = () => { let { structure, keyValue } = this.state // const initialKey = this.initialKeyInput.current.inputRef.current.value const newKey = this.newKeyInput.current.inputRef.current.value if (keyValue && newKey) structure[keyValue] = newKey this.setState({ structure: structure }) } componentWillReceiveProps = nextProps => { this.setState({tables: nextProps.tables}) } getHeadersDropDownOptions = () => { const { tables } = this.state if (!tables || tables.length === 0) return [] const headers = tables.map(t => { const table = this.tables.getTableByLabel(t) return table.headers }).flat() const dropdownOptions = headers.map(h => { return { key: h, text: h, value: h } }) return dropdownOptions } getStructureProperties = () => { return this.state.structure } handleKeyChange = (e, value) => { this.setState({ keyValue: value.value }) } renderStructure = () => { const { structure } = this.state let initialKeyElements = [] let newKeyElements = [] for (let key in structure) { initialKeyElements.push({key}) newKeyElements.push({structure[key]}) } return { initialKeyElements, newKeyElements } } render = () => { const structureElements = this.renderStructure() return (
{ structureElements.initialKeyElements } {/* */} { structureElements.newKeyElements }
) } } export default CreateTransformNoduleForm