summaryrefslogtreecommitdiff
path: root/app/client/common/textInput.component.js
diff options
context:
space:
mode:
authorJules Laplace <julescarbon@gmail.com>2018-05-28 13:06:54 +0200
committerJules Laplace <julescarbon@gmail.com>2018-05-28 13:06:54 +0200
commit2664eb3e474f5d03d1782c15673b774d68fb2c58 (patch)
tree1f1e58a6090f6befa75d8f6915388ddee30df04d /app/client/common/textInput.component.js
parent3a8d99c5e4f64a9426585943c40635eb183b47ae (diff)
textInput/fileUpload
Diffstat (limited to 'app/client/common/textInput.component.js')
-rw-r--r--app/client/common/textInput.component.js34
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