import * as React from 'react'; import * as _ from 'lodash'; import LexSingleInput from './LexSingleInput'; import { Image, Input, Card, Button } from 'semantic-ui-react'; const { Box } = require('reflexbox'); const imageRoot = '/png/'; export class LexEdit extends React.Component { public render() { let li = this.props.lexItem; let lexFields = _.keys(this.props.fieldMetaMap).map(field => { let lens = this.props.fieldMetaMap[field].lens; let defaultText = _.get(li, lens, ''); let sh = (e: any) => { let eventData = {}; eventData[field] = e.target.value; this.handleOnChange(eventData); }; if (this.props.fieldMetaMap[field].type === 'text') { return ( ); } else if (this.props.fieldMetaMap[field].type === 'select') { let selOpts = _.get(this.props.selectionMeta, field, []); return ( ); } else if (this.props.fieldMetaMap[field].type === 'preview' && defaultText !== '') { let imageSrc = imageRoot + defaultText; return ( ); } else { return null; } }); return ( {_.get(li, 'label', '')} language: {_.get(li, '$.id', '')} {lexFields} ); } private handleOnChange(event: any) { this.setState(event); } private handleOnSave(event: any) { console.log('saving object', this.props.lexItem); } }