From 87d8ec723ad92706bb5065b0dccedcd965965551 Mon Sep 17 00:00:00 2001 From: Scott Nonnenberg Date: Tue, 21 Nov 2017 16:37:58 -0800 Subject: [PATCH] Remove conversation from left pane on 'delete messages' (#1807) --- js/models/conversations.js | 10 ++++++++-- js/views/conversation_list_view.js | 6 ++++++ js/views/inbox_view.js | 13 ++++++++++--- 3 files changed, 24 insertions(+), 5 deletions(-) diff --git a/js/models/conversations.js b/js/models/conversations.js index 4d98350c1..6a063ac31 100644 --- a/js/models/conversations.js +++ b/js/models/conversations.js @@ -984,8 +984,14 @@ }).then(function() { var models = this.messageCollection.models; this.messageCollection.reset([]); - _.each(models, function(message) { message.destroy(); }); - this.save({lastMessage: null, timestamp: null}); // archive + _.each(models, function(message) { + message.destroy(); + }); + this.save({ + lastMessage: null, + timestamp: null, + active_at: null, + }); }.bind(this)); }, diff --git a/js/views/conversation_list_view.js b/js/views/conversation_list_view.js index 07e01c8e7..283f1c9f3 100644 --- a/js/views/conversation_list_view.js +++ b/js/views/conversation_list_view.js @@ -28,6 +28,12 @@ $el.insertBefore(target); } } + }, + removeItem: function(conversation) { + var $el = this.$('.' + conversation.cid); + if ($el && $el.length > 0) { + $el.remove(); + } } }); })(); diff --git a/js/views/inbox_view.js b/js/views/inbox_view.js index bedccd633..aa92c1789 100644 --- a/js/views/inbox_view.js +++ b/js/views/inbox_view.js @@ -108,9 +108,16 @@ collection : inboxCollection }).render(); - this.inboxListView.listenTo(inboxCollection, - 'add change:timestamp change:name change:number', - this.inboxListView.updateLocation); + this.inboxListView.listenTo( + inboxCollection, + 'add change:timestamp change:name change:number', + this.inboxListView.updateLocation + ); + this.inboxListView.listenTo( + inboxCollection, + 'remove', + this.inboxListView.removeItem + ); this.searchView = new Whisper.ConversationSearchView({ el : this.$('.search-results'),