import React, { Component } from 'react' import { Table } from 'semantic-ui-react' import './DataTable.css' import Tables from '../../Models/Tables' import FocusTable from '../../Models/FocusTable' class DataTable extends Component { constructor (props) { super(props) this.tables = new Tables() this.focusTable = new FocusTable() this.state = { headers: [], tableData: [] } document.addEventListener('setSelectedTable', this.setFocusTable) } setFocusTable = () => { const focusTable = this.focusTable.table if (focusTable) { this.setState({ headers: focusTable.headers, tableData: focusTable.rows }) } } renderCellElements = data => { const { headers } = this.state const rowElements = headers.map(h => {data[h]}) return rowElements } renderTableHeaderElements = () => { const headers = this.state.headers const headerElements = headers.map(h => {h}) return headerElements } renderTableRowElements = () => { const { tableData } = this.state const tableRowElements = tableData.map(d => { this.renderCellElements(d) } ) return tableRowElements } render = () => { return (
{ this.renderTableHeaderElements() } { this.renderTableRowElements() }
) } } export default DataTable