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:
parent
712cad352c
commit
a390e37abc
2 changed files with 9 additions and 5 deletions
|
@ -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();
|
||||
}
|
||||
}
|
||||
}
|
||||
});
|
||||
|
|
|
@ -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({
|
||||
|
|
Loading…
Reference in a new issue