From 38e201055f640463c0c31979572289fddec48366 Mon Sep 17 00:00:00 2001
From: Christoph Wurst <christoph@winzerhof-wurst.at>
Date: Tue, 12 Dec 2017 11:00:26 +0100
Subject: [PATCH] Fix draft message active state in UI

Signed-off-by: Christoph Wurst <christoph@winzerhof-wurst.at>
---
 js/controller/messagecontroller.js | 2 +-
 js/views/foldercontent.js          | 7 +++++--
 2 files changed, 6 insertions(+), 3 deletions(-)

diff --git a/js/controller/messagecontroller.js b/js/controller/messagecontroller.js
index deebb95a4..837decdea 100644
--- a/js/controller/messagecontroller.js
+++ b/js/controller/messagecontroller.js
@@ -80,7 +80,7 @@ define(function(require) {
 
 		Radio.message.request('entity', account, folder, message.get('id')).then(function(messageBody) {
 			if (draft) {
-				Radio.ui.trigger('composer:show', messageBody);
+				Radio.ui.trigger('composer:show', messageBody, true);
 			} else {
 				// TODO: ideally this should be handled in messageservice.js
 				require('cache').addMessage(account, folder, messageBody);
diff --git a/js/views/foldercontent.js b/js/views/foldercontent.js
index 18dd07623..74baf3d19 100644
--- a/js/views/foldercontent.js
+++ b/js/views/foldercontent.js
@@ -105,7 +105,8 @@ define(function(require) {
 			}));
 			this.detailView = DetailView.ERROR;
 		},
-		onShowComposer: function(data) {
+		onShowComposer: function(data, isDraft) {
+			isDraft = _.isUndefined(isDraft) ? false : isDraft;
 			$('.tooltip').remove();
 			$('#mail_new_message').prop('disabled', true);
 			$('#mail-message').removeClass('hidden-mobile');
@@ -134,7 +135,9 @@ define(function(require) {
 				this.composer.focusSubject();
 			}
 
-			Radio.ui.trigger('messagesview:message:setactive', null);
+			if (!isDraft) {
+				Radio.ui.trigger('messagesview:message:setactive', null);
+			}
 		},
 		onComposerLeave: function() {
 			// TODO: refactor 'composer:leave' as it's buggy
-- 
GitLab