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 = { createRepo: PropTypes.func.isRequired, toggleDialog: PropTypes.func.isRequired, }; class SysAdminCreateRepoDialog extends React.Component { constructor(props) { super(props); this.state = { repoName: '', ownerEmail: '', errMessage: '', isSubmitBtnActive: false }; } handleRepoNameChange = (e) => { const value = e.target.value; this.setState({ repoName: value, isSubmitBtnActive: value.trim() }); }; handleSubmit = () => { const { repoName, ownerEmail } = this.state; this.props.createRepo(repoName.trim(), ownerEmail); this.toggle(); }; handleSelectChange = (option) => { // option can be null this.setState({ ownerEmail: option ? option.email : '' }); }; handleKeyDown = (e) => { if (e.key === 'Enter') { this.handleSubmit(); e.preventDefault(); } }; toggle = () => { this.props.toggleDialog(); }; render() { return ( {gettext('New Library')}
{this.state.errMessage && {this.state.errMessage}}
); } } SysAdminCreateRepoDialog.propTypes = propTypes; export default SysAdminCreateRepoDialog;