ALL of the included samples use hardcoded messages and converstations.
I am struggling to get a real-life example on how to get the data from an array of converstations.messages to appear in the components.
Here is an example of getting the messages out and putting them in the MessageList.
This is the DOM to display the Chat Dialog (converstations are hardcoded for now, as I suspect the same method for getting them from an array would be simular to how it would be done for messages):
<MainContainer responsive>
<Sidebar position="left" scrollable={true}>
<ConversationList>
<Conversation>
<Conversation.Content>
<div>OMT<br/>58SAM</div>
</Conversation.Content>
<Conversation.Operations />
</Conversation>
<Conversation>
<Conversation.Content>
<div>MTR<br/>58PETER</div>
</Conversation.Content>
<Conversation.Operations />
</Conversation>
<Conversation>
<Conversation.Content>
<div>CTS<br/>58MARK</div>
</Conversation.Content>
<Conversation.Operations />
</Conversation>
</ConversationList>
</Sidebar>
<ChatContainer>
<ConversationHeader>
<ConversationHeader.Back />
<Avatar src={require('../../../components/layouts/icons/plus.svg')} name="Zoe" />
<ConversationHeader.Content userName="Zoe" info="Active 10 mins ago" />
</ConversationHeader>
**<ChatMessageList messages={this.props.conversations[selected].messages}/>**
<MessageInput attachButton={false} placeholder="Type message here" value={this.state.messageInputValue} onChange={val => this.setMessageInputValue(val)} onSend={this.setMessageSend}/>
</ChatContainer>
</MainContainer>
class ChatMessageList extends Component {
render() {
let messageItems;
if (this.props.messages) {
messageItems = this.props.messages.map((message, index) => {
return <ChatMessage
key={index}
isMyMessage={message.isMyMessage}
message={message} />;
});
}
return (
<div as={MessageList}>
{messageItems}
</div>
);
}
}
export default ChatMessageList;
import React, { Component } from 'react';
import { Message } from '@chatscope/chat-ui-kit-react';
class ChatMessage extends Component {
render() {
return (
<Message model={{
message:this.props.message,
sentTime: this.props.sentTime,
direction: this.props.direction,
sender: this.props.sender,
}}>
</Message>
);
}
}
export default ChatMessage;