Browse Source

Reset RoomChatForm when a message is sent.

pull/1/head
Titouan Rigoudy 9 years ago
parent
commit
0668a30d88
2 changed files with 15 additions and 7 deletions
  1. +1
    -1
      src/components/RoomChat.js
  2. +14
    -6
      src/components/RoomChatForm.js

+ 1
- 1
src/components/RoomChat.js View File

@ -71,7 +71,7 @@ class RoomChat extends React.Component {
messages={messages} messages={messages}
/> />
<RoomChatForm <RoomChatForm
name={name}
roomName={name}
sendMessage={roomActions.sendMessage} sendMessage={roomActions.sendMessage}
/> />
</div> </div>


+ 14
- 6
src/components/RoomChatForm.js View File

@ -2,16 +2,23 @@ import React, {PropTypes} from "react";
import {reduxForm} from "redux-form"; import {reduxForm} from "redux-form";
const RoomChatForm = (props) => { const RoomChatForm = (props) => {
const { fields: { message }, handleSubmit, name, sendMessage } = props;
const {
fields: { message },
handleSubmit,
resetForm,
roomName,
sendMessage
} = props;
const onSubmit = handleSubmit((values) => { const onSubmit = handleSubmit((values) => {
sendMessage(name, values.message);
sendMessage(roomName, values.message);
resetForm();
}); });
return ( return (
<div id="room-chat-form"> <div id="room-chat-form">
<form onSubmit={onSubmit}> <form onSubmit={onSubmit}>
<input type="text" defaultValue="Type a message..."
<input type="text" placeholder="Type a message..."
{...message} /> {...message} />
<button type="submit">Send</button> <button type="submit">Send</button>
</form> </form>
@ -21,10 +28,11 @@ const RoomChatForm = (props) => {
RoomChatForm.propTypes = { RoomChatForm.propTypes = {
fields: PropTypes.shape({ fields: PropTypes.shape({
message: PropTypes.string.isRequired
}),
message: PropTypes.object.isRequired
}).isRequired,
handleSubmit: PropTypes.func.isRequired, handleSubmit: PropTypes.func.isRequired,
name: PropTypes.string,
resetForm: PropTypes.func.isRequired,
roomName: PropTypes.string,
sendMessage: PropTypes.func.isRequired sendMessage: PropTypes.func.isRequired
}; };


Loading…
Cancel
Save