You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
42 lines
898 B
42 lines
898 B
module.exports = StreamMixin = { |
|
|
|
addPost: function(post) { |
|
|
|
var postid = post.getUsername() + ":post" + post.getId(); |
|
|
|
if (!this.state.postIdentifiers[postid]) { |
|
|
|
this.setStateSafe(function(previousState, currentProps) { |
|
|
|
previousState.postIdentifiers[postid] = true; |
|
|
|
var postdata = { |
|
username: post.getUsername(), |
|
id: post.getId(), |
|
timestamp: post.getTimestamp(), |
|
postid: postid |
|
} |
|
|
|
previousState.data.push(postdata) |
|
|
|
var compare = function (a,b) { |
|
if (a.timestamp < b.timestamp) |
|
return 1; |
|
if (a.timestamp > b.timestamp) |
|
return -1; |
|
return 0; |
|
} |
|
|
|
previousState.data.sort(compare); |
|
|
|
return {data: previousState.data, postIdentifiers: previousState.postIdentifiers }; |
|
}); |
|
|
|
} else { |
|
|
|
|
|
} |
|
|
|
} |
|
|
|
} |