import React from 'react'; import PropTypes from 'prop-types'; import { Modal, ModalHeader, ModalBody, ModalFooter, Form, FormGroup, Label, Input, Alert, Button } from 'reactstrap'; import { gettext } from '../../utils/constants'; const propTypes = { onNewColumnCancel: PropTypes.func, onNewColumn: PropTypes.func, }; class NewCoumnDialog extends React.Component { constructor(props) { super(props); this.state = { columnType: 'text', columnName: '', errMessage: '', }; } handleChange = (event) => { let value = event.target.value.trim(); this.setState({columnName: value}); } onSelectChange = (event) => { let type = event.target.value; this.setState({columnType: type}); } toggle = () => { this.props.onNewColumnCancel(); } handleSubmit = () => { let { columnName, columnType } = this.state; if (!columnName) { this.setState({errMessage: gettext('Name is required.')}); return; } this.props.onNewColumn(columnName, columnType); } render() { return ( New Column
{this.newInput = input;}} onChange={this.handleChange} />
{this.state.errMessage && {this.state.errMessage}}
); } } NewCoumnDialog.propTypes = propTypes; export default NewCoumnDialog;