/** * File: new-user.js * Author: Ricardo Hernandez-Montoya * Date: 02.05.2017 * * This file is part of VILLASweb. * * VILLASweb is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * * VILLASweb is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with VILLASweb. If not, see . ******************************************************************************/ import React, { Component, PropTypes } from 'react'; import { FormGroup, FormControl, ControlLabel } from 'react-bootstrap'; import Dialog from './dialog'; class NewUserDialog extends Component { static propTypes = { show: PropTypes.bool.isRequired, onClose: PropTypes.func.isRequired }; valid: false; constructor(props) { super(props); this.state = { username: '', mail: '', role: 'admin', password: '1234' }; } onClose(canceled) { if (canceled === false) { this.props.onClose(this.state); } else { this.props.onClose(); } } handleChange(e) { this.setState({ [e.target.id]: e.target.value }); } resetState() { this.setState({ username: '', mail: '', role: 'admin', password: '1234' }); } validateForm(target) { // check all controls var username = true; if (this.state.username === '') { username = false; } this.valid = username; // return state to control if (target === 'username') return username ? "success" : "error"; } render() { return ( this.onClose(c)} onReset={() => this.resetState()} valid={this.valid}>
Username this.handleChange(e)} /> E-mail this.handleChange(e)} /> Role this.handleChange(e)}>
); } } export default NewUserDialog;