// @flow import React from "react"; import type { User } from "../types/User"; import InputField from "../../components/InputField"; import Checkbox from "../../components/Checkbox"; import SubmitButton from "../../components/SubmitButton"; type Props = { submitForm: User => void, user?: User }; class UserForm extends React.Component { constructor(props: Props) { super(props); this.state = { name: "", displayName: "", mail: "", password: "", admin: false, active: false }; } submit = (event: Event) => { event.preventDefault(); this.props.submitForm(this.state); }; componentWillReceiveProps() { this.setState(this.props.user); } render() { const user = this.state; return (
); } handleUsernameChange = (name: string) => { this.setState({ name }); }; handleDisplayNameChange = (displayName: string) => { this.setState({ displayName }); }; handleEmailChange = (mail: string) => { this.setState({ mail }); }; handlePasswordChange = (password: string) => { this.setState({ password }); }; handleAdminChange = (admin: boolean) => { this.setState({ admin }); }; handleActiveChange = (active: boolean) => { this.setState({ active }); }; } export default UserForm;