import Button from '@material-ui/core/Button'; import Dialog from '@material-ui/core/Dialog'; import DialogActions from '@material-ui/core/DialogActions'; import DialogContent from '@material-ui/core/DialogContent'; import DialogTitle from '@material-ui/core/DialogTitle'; import FormControlLabel from '@material-ui/core/FormControlLabel'; import Switch from '@material-ui/core/Switch'; import TextField from '@material-ui/core/TextField'; import Tooltip from '@material-ui/core/Tooltip'; import React, {ChangeEvent, Component} from 'react'; interface IProps { name?: string; admin?: boolean; fClose: VoidFunction; fOnSubmit: (name: string, pass: string, admin: boolean) => void; isEdit?: boolean; } interface IState { name: string; pass: string; admin: boolean; } export default class AddEditDialog extends Component { public state = { name: this.props.name ?? '', pass: '', admin: this.props.admin ?? false, }; public render() { const {fClose, fOnSubmit, isEdit} = this.props; const {name, pass, admin} = this.state; const namePresent = this.state.name.length !== 0; const passPresent = this.state.pass.length !== 0 || isEdit; const submitAndClose = () => { fOnSubmit(name, pass, admin); fClose(); }; return ( {isEdit ? 'Edit ' + this.props.name : 'Add a user'} } label="has administrator rights" />
); } private handleChange(propertyName: string, event: ChangeEvent) { const state = this.state; state[propertyName] = event.target.value; this.setState(state); } private handleChecked(propertyName: string, event: ChangeEvent) { const state = this.state; state[propertyName] = event.target.checked; this.setState(state); } }