|
|
|
@ -1,10 +1,14 @@ |
|
|
|
import React, { PropTypes } from "react"; |
|
|
|
import { connect } from "react-redux"; |
|
|
|
import { bindActionCreators } from "redux"; |
|
|
|
|
|
|
|
import RoomList from "../components/RoomList"; |
|
|
|
import ControlRequest from "../utils/ControlRequest"; |
|
|
|
|
|
|
|
const ID = "rooms-pane"; |
|
|
|
import RoomChat from "../containers/RoomChat"; |
|
|
|
|
|
|
|
import roomActions from "../actions/roomActions"; |
|
|
|
|
|
|
|
import ControlRequest from "../utils/ControlRequest"; |
|
|
|
|
|
|
|
class RoomsPane extends React.Component { |
|
|
|
constructor(props) { |
|
|
|
@ -16,15 +20,17 @@ class RoomsPane extends React.Component { |
|
|
|
} |
|
|
|
|
|
|
|
render() { |
|
|
|
const onClick = (event) => { |
|
|
|
const refresh = () => { |
|
|
|
this.props.socketSend(ControlRequest.roomList()); |
|
|
|
event.preventDefault(); |
|
|
|
}; |
|
|
|
|
|
|
|
return ( |
|
|
|
<div id={ID}> |
|
|
|
<button onClick={onClick}>Refresh</button> |
|
|
|
<RoomList rooms={this.props.rooms} /> |
|
|
|
<div id="rooms-pane"> |
|
|
|
<RoomChat /> |
|
|
|
<RoomList |
|
|
|
rooms={this.props.rooms} |
|
|
|
refresh={refresh} |
|
|
|
roomActions={this.props.roomActions}/> |
|
|
|
</div> |
|
|
|
); |
|
|
|
} |
|
|
|
@ -32,9 +38,17 @@ class RoomsPane extends React.Component { |
|
|
|
|
|
|
|
RoomsPane.propTypes = { |
|
|
|
rooms: PropTypes.object.isRequired, |
|
|
|
roomActions: PropTypes.object.isRequired, |
|
|
|
socketSend: PropTypes.func.isRequired |
|
|
|
}; |
|
|
|
|
|
|
|
const mapStateToProps = (state) => state.rooms; |
|
|
|
|
|
|
|
const mapDispatchToProps = (dispatch) => ({ |
|
|
|
roomActions: bindActionCreators(roomActions, dispatch) |
|
|
|
}); |
|
|
|
|
|
|
|
export default connect( |
|
|
|
state => state.rooms |
|
|
|
mapStateToProps, |
|
|
|
mapDispatchToProps |
|
|
|
)(RoomsPane); |