Immutable channelStore

This commit is contained in:
Ken-Håvard Lieng 2015-05-19 06:50:43 +02:00
parent 11ea241b60
commit 17482ee253
9 changed files with 116 additions and 143 deletions

View file

@ -52,7 +52,7 @@ var Chat = React.createClass({
<div className={chatClass}>
<ChatTitle />
<Search />
<MessageBox indent={window.messageIndent} />
<MessageBox />
<MessageInput />
<UserList />
</div>

View file

@ -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
});
},

View file

@ -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;

View file

@ -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(

View file

@ -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) {