mirror of
https://github.com/status-im/js-waku.git
synced 2025-02-21 17:38:14 +00:00
Enable using enter key to send message
This commit is contained in:
parent
79846ee196
commit
06d8c2aca6
@ -1,8 +1,9 @@
|
|||||||
import React, { ChangeEvent } from 'react';
|
import React, { ChangeEvent, KeyboardEvent } from 'react';
|
||||||
import { TextField } from '@material-ui/core';
|
import { TextField } from '@material-ui/core';
|
||||||
|
|
||||||
interface Props {
|
interface Props {
|
||||||
messageHandler: (msg: string) => void;
|
messageHandler: (msg: string) => void;
|
||||||
|
sendMessage: () => void;
|
||||||
}
|
}
|
||||||
|
|
||||||
interface State {
|
interface State {
|
||||||
@ -19,13 +20,22 @@ export default class MessageInput extends React.Component<Props, State> {
|
|||||||
}
|
}
|
||||||
|
|
||||||
messageHandler(event: ChangeEvent<HTMLInputElement>) {
|
messageHandler(event: ChangeEvent<HTMLInputElement>) {
|
||||||
|
this.setState({inputText: event.target.value})
|
||||||
this.props.messageHandler(event.target.value);
|
this.props.messageHandler(event.target.value);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
keyPressHandler(event: KeyboardEvent<HTMLInputElement>) {
|
||||||
|
if (event.key === 'Enter') {
|
||||||
|
this.props.sendMessage()
|
||||||
|
this.setState({inputText: ''})
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
render() {
|
render() {
|
||||||
return (
|
return (
|
||||||
<TextField variant='outlined'
|
<TextField variant='outlined'
|
||||||
label='Send a message'
|
label='Send a message'
|
||||||
|
value={this.state.inputText}
|
||||||
fullWidth
|
fullWidth
|
||||||
style={{ margin: 8 }}
|
style={{ margin: 8 }}
|
||||||
margin="normal"
|
margin="normal"
|
||||||
@ -33,6 +43,7 @@ export default class MessageInput extends React.Component<Props, State> {
|
|||||||
shrink: true,
|
shrink: true,
|
||||||
}}
|
}}
|
||||||
onChange={this.messageHandler.bind(this)}
|
onChange={this.messageHandler.bind(this)}
|
||||||
|
onKeyPress={this.keyPressHandler.bind(this)}
|
||||||
/>
|
/>
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
@ -49,7 +49,7 @@ export default function Room (props :Props) {
|
|||||||
<Grid item xs={12}>
|
<Grid item xs={12}>
|
||||||
<Grid container spacing={2} direction='row' alignItems='center'>
|
<Grid container spacing={2} direction='row' alignItems='center'>
|
||||||
<Grid item xs={11}>
|
<Grid item xs={11}>
|
||||||
<MessageInput messageHandler={messageHandler} />
|
<MessageInput messageHandler={messageHandler} sendMessage={sendMessage} />
|
||||||
</Grid>
|
</Grid>
|
||||||
<Grid item xs={1}>
|
<Grid item xs={1}>
|
||||||
<Send sendMessage={sendMessage} />
|
<Send sendMessage={sendMessage} />
|
||||||
|
Loading…
x
Reference in New Issue
Block a user