//@flow import React from "react"; import { translate } from "react-i18next"; import AddButton from "../../components/buttons/AddButton"; import InputField from "../../components/forms/InputField"; import { isMemberNameValid } from "./groupValidation"; type Props = { t: string => string, addMember: string => void }; type State = { memberToAdd: string, validationError: boolean }; class AddMemberField extends React.Component { constructor(props) { super(props); this.state = { memberToAdd: "", validationError: false }; } render() { const { t } = this.props; return (
); } addButtonClicked = (event: Event) => { event.preventDefault(); this.appendMember(); }; appendMember = () => { const { memberToAdd } = this.state; if (isMemberNameValid(memberToAdd)) { this.props.addMember(memberToAdd); this.setState({ ...this.state, memberToAdd: "" }); } }; handleAddMemberChange = (membername: string) => { this.setState({ ...this.state, memberToAdd: membername, validationError: membername.length > 0 && !isMemberNameValid(membername) }); }; } export default translate("groups")(AddMemberField);