import React from 'react'; import PropTypes from 'prop-types'; import { gettext } from '../../utils/constants'; import { seafileAPI } from '../../utils/seafile-api'; import { Modal, ModalHeader, ModalBody, ModalFooter, Input, Button } from 'reactstrap'; class CreateGroupDialog extends React.Component { constructor(props) { super(props); this.state = { groupName: '', errorMsg: '', }; } handleGroupChange = (event) => { let name = event.target.value.trim(); this.setState({ groupName: name }); if (this.state.errorMsg) { this.setState({ errorMsg: '' }) } } handleSubmitGroup = () => { let name = this.state.groupName.trim(); if (name) { let that = this; seafileAPI.createGroup(name).then((res)=> { that.props.onCreateGroup(); }).catch((error) => { let errorMsg = gettext(error.response.data.error_msg); this.setState({ errorMsg: errorMsg }); }); } this.setState({ groupName: '', }); } handleKeyDown = (e) => { if (e.keyCode === 13) { this.handleSubmitGroup(); } } render() { return( {gettext('New group')} {this.state.errorMsg} ); } } const CreateGroupDialogPropTypes = { toggleAddGroupModal: PropTypes.func.isRequired, onCreateGroup: PropTypes.func.isRequired, showAddGroupModal: PropTypes.bool.isRequired, }; CreateGroupDialog.propTypes = CreateGroupDialogPropTypes; export default CreateGroupDialog;