diff options
| author | Jules Laplace <julescarbon@gmail.com> | 2018-05-28 13:06:54 +0200 |
|---|---|---|
| committer | Jules Laplace <julescarbon@gmail.com> | 2018-05-28 13:06:54 +0200 |
| commit | 2664eb3e474f5d03d1782c15673b774d68fb2c58 (patch) | |
| tree | 1f1e58a6090f6befa75d8f6915388ddee30df04d /app/client/common/textInput.component.js | |
| parent | 3a8d99c5e4f64a9426585943c40635eb183b47ae (diff) | |
textInput/fileUpload
Diffstat (limited to 'app/client/common/textInput.component.js')
| -rw-r--r-- | app/client/common/textInput.component.js | 34 |
1 files changed, 34 insertions, 0 deletions
diff --git a/app/client/common/textInput.component.js b/app/client/common/textInput.component.js new file mode 100644 index 0000000..b3c4866 --- /dev/null +++ b/app/client/common/textInput.component.js @@ -0,0 +1,34 @@ +import { h, Component } from 'preact' + +class TextInput extends Component { + constructor(props){ + super(props) + this.handleInput = this.handleInput.bind(this) + this.handleKeydown = this.handleKeydown.bind(this) + } + handleInput(e){ + this.props.onInput && this.props.onInput(e.target.value) + } + handleKeydown(e){ + if (e.keyCode === 13) { + this.props.onSave && this.props.onSave(e.target.value) + } + } + render() { + return ( + <div className='textInput param'> + <label> + <span>{this.props.title}</span> + <input + type='text' + value={this.props.value} + onInput={this.handleInput} + onKeydown={this.handleKeydown} + /> + </label> + </div> + ) + } +} + +export default TextInput |
