Immutable channelStore
This commit is contained in:
parent
11ea241b60
commit
17482ee253
9 changed files with 116 additions and 143 deletions
|
@ -52,7 +52,7 @@ var Chat = React.createClass({
|
|||
<div className={chatClass}>
|
||||
<ChatTitle />
|
||||
<Search />
|
||||
<MessageBox indent={window.messageIndent} />
|
||||
<MessageBox />
|
||||
<MessageInput />
|
||||
<UserList />
|
||||
</div>
|
||||
|
|
|
@ -18,7 +18,7 @@ var ChatTitle = React.createClass({
|
|||
var tab = selectedTabStore.getState();
|
||||
|
||||
return {
|
||||
usercount: channelStore.getUsers(tab.server, tab.channel).length,
|
||||
usercount: channelStore.getUsers(tab.server, tab.channel).size,
|
||||
selectedTab: tab
|
||||
};
|
||||
},
|
||||
|
@ -26,13 +26,13 @@ var ChatTitle = React.createClass({
|
|||
channelsChanged() {
|
||||
var tab = this.state.selectedTab;
|
||||
|
||||
this.setState({ usercount: channelStore.getUsers(tab.server, tab.channel).length });
|
||||
this.setState({ usercount: channelStore.getUsers(tab.server, tab.channel).size });
|
||||
},
|
||||
|
||||
selectedTabChanged(tab) {
|
||||
this.setState({
|
||||
selectedTab: tab,
|
||||
usercount: channelStore.getUsers(tab.server, tab.channel).length
|
||||
usercount: channelStore.getUsers(tab.server, tab.channel).size
|
||||
});
|
||||
},
|
||||
|
||||
|
|
|
@ -66,9 +66,6 @@ var MessageBox = React.createClass({
|
|||
var tab = this.state.selectedTab;
|
||||
var dest = tab.channel || tab.server;
|
||||
var lines = [];
|
||||
var innerStyle = {
|
||||
paddingLeft: this.props.indent + 'px'
|
||||
};
|
||||
|
||||
this.state.messages.forEach((message, j) => {
|
||||
var key = message.server + dest + j;
|
||||
|
|
|
@ -32,8 +32,8 @@ var TabList = React.createClass({
|
|||
},
|
||||
|
||||
render() {
|
||||
var tabs = _.map(this.state.channels, (server, address) => {
|
||||
var serverTabs = _.map(server, (channel, name) => {
|
||||
var tabs = this.state.channels.map((server, address) => {
|
||||
var serverTabs = server.map((channel, name) => {
|
||||
return (
|
||||
<TabListItem
|
||||
server={address}
|
||||
|
@ -41,7 +41,7 @@ var TabList = React.createClass({
|
|||
name={name}>
|
||||
</TabListItem>
|
||||
);
|
||||
});
|
||||
}).toArray();
|
||||
|
||||
_.each(this.state.privateChats[address], (chat, nick) => {
|
||||
serverTabs.push(
|
||||
|
|
|
@ -56,9 +56,9 @@ var UserList = React.createClass({
|
|||
if (!tab.channel || tab.channel[0] !== '#') {
|
||||
style.display = 'none';
|
||||
} else {
|
||||
users = _.map(this.state.users, (user) => {
|
||||
users = this.state.users.map(user => {
|
||||
return <UserListItem key={user.nick} user={user} />;
|
||||
});
|
||||
}).toArray(); // React Infinite uses .length
|
||||
}
|
||||
|
||||
if (users.length !== 1) {
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue