diff --git a/js/views/conversation_list_item_view.js b/js/views/conversation_list_item_view.js index 9192dd4a8..15e41b49a 100644 --- a/js/views/conversation_list_item_view.js +++ b/js/views/conversation_list_item_view.js @@ -8,7 +8,9 @@ // list of conversations, showing user/group and last message sent Whisper.ConversationListItemView = Whisper.View.extend({ tagName: 'div', - className: 'conversation-list-item contact', + className: function() { + return 'conversation-list-item contact ' + this.model.cid; + }, templateName: 'conversation-preview', events: { 'click': 'select' diff --git a/js/views/conversation_list_view.js b/js/views/conversation_list_view.js index a974489aa..1cd834f10 100644 --- a/js/views/conversation_list_view.js +++ b/js/views/conversation_list_view.js @@ -15,6 +15,12 @@ var target = $(e.target).closest('.contact'); target.siblings().removeClass('selected'); return false; + }, + moveToTop: function(conversation) { + var $el = this.$('.' + conversation.cid); + if ($el && $el.length > 0) { + $el.prependTo(this.el); + } } }); })(); diff --git a/js/views/inbox_view.js b/js/views/inbox_view.js index 0724fc4dd..d4ae0304e 100644 --- a/js/views/inbox_view.js +++ b/js/views/inbox_view.js @@ -92,7 +92,7 @@ collection : inboxCollection }).render(); - this.inboxView.listenTo(inboxCollection, 'sort', this.inboxView.render); + this.inboxView.listenTo(inboxCollection, 'change:active_at', this.inboxView.moveToTop); new SocketView().render().$el.appendTo(this.$('.socket-status'));