// @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, loading?: boolean }; class UserForm extends React.Component { constructor(props: Props) { super(props); this.state = { name: "", displayName: "", mail: "", password: "", admin: false, active: false }; } componentDidMount() { this.setState({ ...this.props.user }); } submit = (event: Event) => { event.preventDefault(); this.props.submitForm(this.state); }; render() { const user = this.state; if (user) { return (
); } else { return
Loading...
; } } 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;