12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879 |
- // @flow
-
- import {
- ADD_MESSAGE,
- CLEAR_MESSAGES,
- SEND_MESSAGE,
- TOGGLE_CHAT
- } from './actionTypes';
-
- /**
- * Adds a chat message to the collection of messages.
- *
- * @param {Object} messageDetails - The chat message to save.
- * @param {string} messageDetails.displayName - The displayName of the
- * participant that authored the message.
- * @param {boolean} messageDetails.hasRead - Whether or not to immediately mark
- * the message as read.
- * @param {string} messageDetails.message - The received message to display.
- * @param {string} messageDetails.messageType - The kind of message, such as
- * "error" or "local" or "remote".
- * @param {string} messageDetails.timestamp - A timestamp to display for when
- * the message was received.
- * @returns {{
- * type: ADD_MESSAGE,
- * displayName: string,
- * hasRead: boolean,
- * message: string,
- * messageType: string,
- * timestamp: string,
- * }}
- */
- export function addMessage(messageDetails: Object) {
- return {
- type: ADD_MESSAGE,
- ...messageDetails
- };
- }
-
- /**
- * Clears the chat messages in Redux.
- *
- * @returns {{
- * type: CLEAR_MESSAGES
- * }}
- */
- export function clearMessages() {
- return {
- type: CLEAR_MESSAGES
- };
- }
-
- /**
- * Sends a chat message to everyone in the conference.
- *
- * @param {string} message - The chat message to send out.
- * @returns {{
- * type: SEND_MESSAGE,
- * message: string
- * }}
- */
- export function sendMessage(message: string) {
- return {
- type: SEND_MESSAGE,
- message
- };
- }
-
- /**
- * Toggles display of the chat side panel.
- *
- * @returns {{
- * type: TOGGLE_CHAT
- * }}
- */
- export function toggleChat() {
- return {
- type: TOGGLE_CHAT
- };
- }
|