Sha256: 829b093e36b2b158af6185f8d964f88e825a7b755b326a90dd20fd15771517aa
Contents?: true
Size: 1.17 KB
Versions: 2
Compression:
Stored size: 1.17 KB
Contents
import React, { Component } from 'react'; import store from '../store/Store'; import { connect } from 'react-redux'; import { actions } from '../actions/Index'; import Messages from '../components/Messages'; import ChatUtils from '../utils/ChatUtils'; @connect((state) => { return { messages: state.messages, conversation: state.conversation, } }) export default class MessagesContainer extends Component { constructor(props) { super(props); } componentDidMount() { let room = document.getElementById('denshobato-message-panel'); store.dispatch(actions.messages.fetch(room.dataset.room)); }; componentWillReceiveProps(nextProps) { if (nextProps.messages.length != this.props.messages.messages.length) { ChatUtils.scrollChat(); } } render() { const { messages, conversation } = this.props; return ( <div> {do { if (!messages.loaded) { <div className="loading"> <p>LOADING MESSAGES...</p> </div>; } else { <Messages messages={messages.messages} conversation={conversation} showAll={messages.showAll}/>; } }} </div> ); } }
Version data entries
2 entries across 2 versions & 1 rubygems
Version | Path |
---|---|
denshobato_chat_panel-0.0.2 | lib/react/containers/MessagesContainer.jsx |
denshobato_chat_panel-0.0.1 | lib/react/containers/MessagesContainer.jsx |