diff options
| author | Georgios Andreadis <g.andreadis@student.tudelft.nl> | 2017-08-09 14:29:14 +0300 |
|---|---|---|
| committer | Georgios Andreadis <g.andreadis@student.tudelft.nl> | 2017-09-23 10:05:18 +0200 |
| commit | 67a771cbb02ec9da3c60704901f3150b46a7262b (patch) | |
| tree | f5e8e28cc0b7539196e7cdc2f4f4e7cc2c165fbd /src/components/modals/TextInputModal.js | |
| parent | d1194f0706789287b98996b629451042f62bf6eb (diff) | |
Create basic projects page with add-button
Diffstat (limited to 'src/components/modals/TextInputModal.js')
| -rw-r--r-- | src/components/modals/TextInputModal.js | 41 |
1 files changed, 41 insertions, 0 deletions
diff --git a/src/components/modals/TextInputModal.js b/src/components/modals/TextInputModal.js new file mode 100644 index 00000000..4acf25b3 --- /dev/null +++ b/src/components/modals/TextInputModal.js @@ -0,0 +1,41 @@ +import PropTypes from "prop-types"; +import React from "react"; +import Modal from "./Modal"; + +class TextInputModal extends React.Component { + static propTypes = { + title: PropTypes.string.isRequired, + label: PropTypes.string.isRequired, + show: PropTypes.bool.isRequired, + callback: PropTypes.func.isRequired, + initialValue: PropTypes.string, + }; + + onSubmit() { + this.props.callback(this.refs.textInput.value); + this.refs.textInput.value = ""; + } + + onCancel() { + this.props.callback(undefined); + this.refs.textInput.value = ""; + } + + render() { + return ( + <Modal title={this.props.title} + show={this.props.show} + onSubmit={this.onSubmit.bind(this)} + onCancel={this.onCancel.bind(this)}> + <form> + <div className="form-group"> + <label className="form-control-label">{this.props.label}:</label> + <input type="text" className="form-control" ref="textInput" value={this.props.initialValue}/> + </div> + </form> + </Modal> + ); + } +} + +export default TextInputModal; |
