mirror of
https://github.com/scratchfoundation/scratch-www.git
synced 2025-05-29 22:14:07 -04:00
add unread
as a key/value on each message
This fixes #1545 by adding unread as a key/value on each message during the filtering process. This means the unread count is always applied to the list of full messages, and never to a subset (as was happening before to cause #1545).
This commit is contained in:
parent
5245123a4c
commit
8c631b40d9
2 changed files with 22 additions and 15 deletions
src/views/messages
|
@ -116,10 +116,20 @@ var Messages = React.createClass({
|
|||
)
|
||||
);
|
||||
},
|
||||
filterMessages: function (messages, typesAllowed) {
|
||||
filterMessages: function (messages, typesAllowed, unreadCount) {
|
||||
var filteredMessages = [];
|
||||
for (var i in messages) {
|
||||
if (typesAllowed.indexOf(messages[i].type) > -1) {
|
||||
// check to see if the position of the message in the list is earlier
|
||||
// than the unread count. If it is, then the message is totally unread.
|
||||
messages[i].unread = false;
|
||||
if (i < unreadCount) messages[i].unread = true;
|
||||
|
||||
if (typesAllowed.length > 0) {
|
||||
if (typesAllowed.indexOf(messages[i].type) > -1) {
|
||||
filteredMessages.push(messages[i]);
|
||||
}
|
||||
} else {
|
||||
// if empty, then we're looking at all messages, so just like add the message
|
||||
filteredMessages.push(messages[i]);
|
||||
}
|
||||
}
|
||||
|
@ -131,10 +141,11 @@ var Messages = React.createClass({
|
|||
loadMore = false;
|
||||
}
|
||||
|
||||
var messages = this.props.messages;
|
||||
if (this.state.filterValues.length > 0) {
|
||||
messages = this.filterMessages(messages, this.state.filterValues);
|
||||
}
|
||||
var messages = this.filterMessages(
|
||||
this.props.messages,
|
||||
this.state.filterValues,
|
||||
this.props.numNewMessages
|
||||
);
|
||||
|
||||
return(
|
||||
<MessagesPresentation
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue