Fixup change:active_at handling when setting null

When a conversation goes from active to not active, it should be removed
the view rather than promoted.

// FREEBIE
This commit is contained in:
lilia 2015-09-14 16:28:27 -07:00
parent 712cad352c
commit a390e37abc
2 changed files with 9 additions and 5 deletions

View file

@ -8,10 +8,14 @@
Whisper.ConversationListView = Whisper.ListView.extend({
tagName: 'div',
itemView: Whisper.ConversationListItemView,
moveToTop: function(conversation) {
onChangeActiveAt: function(conversation) {
var $el = this.$('.' + conversation.cid);
if ($el && $el.length > 0) {
$el.prependTo(this.el);
if (conversation.get('active_at')) {
$el.prependTo(this.el);
} else {
$el.remove();
}
}
}
});

View file

@ -87,17 +87,17 @@
this.openConversation.bind(this, null));
var inboxCollection = bg.getInboxCollection();
this.inboxView = new Whisper.ConversationListView({
this.inboxListView = new Whisper.ConversationListView({
el : this.$('.conversations'),
collection : inboxCollection
}).render();
this.inboxView.listenTo(inboxCollection, 'change:active_at', this.inboxView.moveToTop);
this.inboxListView.listenTo(inboxCollection, 'change:active_at', this.inboxListView.onChangeActiveAt);
new SocketView().render().$el.appendTo(this.$('.socket-status'));
extension.windows.beforeUnload(function() {
this.inboxView.stopListening();
this.inboxListView.stopListening();
}.bind(this));
new Whisper.WindowControlsView({