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({
|
Whisper.ConversationListView = Whisper.ListView.extend({
|
||||||
tagName: 'div',
|
tagName: 'div',
|
||||||
itemView: Whisper.ConversationListItemView,
|
itemView: Whisper.ConversationListItemView,
|
||||||
moveToTop: function(conversation) {
|
onChangeActiveAt: function(conversation) {
|
||||||
var $el = this.$('.' + conversation.cid);
|
var $el = this.$('.' + conversation.cid);
|
||||||
if ($el && $el.length > 0) {
|
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));
|
this.openConversation.bind(this, null));
|
||||||
|
|
||||||
var inboxCollection = bg.getInboxCollection();
|
var inboxCollection = bg.getInboxCollection();
|
||||||
this.inboxView = new Whisper.ConversationListView({
|
this.inboxListView = new Whisper.ConversationListView({
|
||||||
el : this.$('.conversations'),
|
el : this.$('.conversations'),
|
||||||
collection : inboxCollection
|
collection : inboxCollection
|
||||||
}).render();
|
}).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'));
|
new SocketView().render().$el.appendTo(this.$('.socket-status'));
|
||||||
|
|
||||||
extension.windows.beforeUnload(function() {
|
extension.windows.beforeUnload(function() {
|
||||||
this.inboxView.stopListening();
|
this.inboxListView.stopListening();
|
||||||
}.bind(this));
|
}.bind(this));
|
||||||
|
|
||||||
new Whisper.WindowControlsView({
|
new Whisper.WindowControlsView({
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue