import React from 'react'; import PropTypes from 'prop-types'; import { Button, Modal, ModalHeader, Input, ModalBody, ModalFooter, Form, FormGroup, Label, Alert } from 'reactstrap'; import { gettext } from '../../../utils/constants'; import UserSelect from '../../user-select'; const propTypes = { createGroup: PropTypes.func.isRequired, toggleDialog: PropTypes.func.isRequired }; class SysAdminCreateGroupDialog extends React.Component { constructor(props) { super(props); this.state = { groupName: '', ownerEmail: '', errMessage: '', isSubmitBtnActive: false }; } handleRepoNameChange = (e) => { if (!e.target.value.trim()) { this.setState({ isSubmitBtnActive: false }); } else { this.setState({ isSubmitBtnActive: true }); } this.setState({ groupName: e.target.value }); }; handleSubmit = () => { let groupName = this.state.groupName.trim(); this.props.createGroup(groupName, this.state.ownerEmail); }; handleSelectChange = (option) => { // option can be `null`, `[{...}]`, or `[]` this.setState({ ownerEmail: option && option.length ? option[0].email : '' }); }; handleKeyDown = (e) => { if (e.key === 'Enter') { this.handleSubmit(); e.preventDefault(); } }; toggle = () => { this.props.toggleDialog(); }; render() { return ( {gettext('New Group')}
{this.state.errMessage && {this.state.errMessage}}
); } } SysAdminCreateGroupDialog.propTypes = propTypes; export default SysAdminCreateGroupDialog;