From 91b3f1a3e977225397a126af5079679be84fe0f1 Mon Sep 17 00:00:00 2001 From: RainLoop Team Date: Mon, 19 Jan 2015 00:55:37 +0400 Subject: [PATCH] Remember last reply action --- dev/Common/Enums.js | 3 ++- dev/View/User/MailBox/MessageView.js | 19 +++++++++++++++++ .../templates/Views/User/MailMessageView.html | 21 +++++++++---------- 3 files changed, 31 insertions(+), 12 deletions(-) diff --git a/dev/Common/Enums.js b/dev/Common/Enums.js index 9154664eb..8b11c76e0 100644 --- a/dev/Common/Enums.js +++ b/dev/Common/Enums.js @@ -155,7 +155,8 @@ 'MailBoxListSize': 2, 'ExpandedFolders': 3, 'FolderListSize': 4, - 'MessageListSize': 5 + 'MessageListSize': 5, + 'LastReplyAction': 6 }; /** diff --git a/dev/View/User/MailBox/MessageView.js b/dev/View/User/MailBox/MessageView.js index 89c829aa6..16f9177bd 100644 --- a/dev/View/User/MailBox/MessageView.js +++ b/dev/View/User/MailBox/MessageView.js @@ -18,6 +18,7 @@ Utils = require('Common/Utils'), Events = require('Common/Events'), + Local = require('Storage/Local'), Cache = require('Storage/User/Cache'), Data = require('Storage/User/Data'), Remote = require('Storage/User/Remote'), @@ -39,6 +40,7 @@ sLastEmail = '', createCommandHelper = function (sType) { return Utils.createCommand(self, function () { + this.lastReplyAction(sType); this.replyOrforward(sType); }, self.canBeRepliedOrForwarded); } @@ -67,6 +69,23 @@ this.fullScreenMode = Data.messageFullScreenMode; + this.lastReplyAction_ = ko.observable(''); + this.lastReplyAction = ko.computed({ + read: this.lastReplyAction_, + write: function (sValue) { + sValue = -1 === Utils.inArray(sValue, [ + Enums.ComposeType.Reply, Enums.ComposeType.ReplyAll, Enums.ComposeType.Forward + ]) ? Enums.ComposeType.Reply : sValue; + this.lastReplyAction_(sValue); + }, + owner: this + }); + + this.lastReplyAction(Local.get(Enums.ClientSideKeyName.LastReplyAction) || Enums.ComposeType.Reply); + this.lastReplyAction_.subscribe(function (sValue) { + Local.set(Enums.ClientSideKeyName.LastReplyAction, sValue); + }); + this.showFullInfo = ko.observable(false); this.moreDropdownTrigger = ko.observable(false); this.messageDomFocused = ko.observable(false).extend({'rateLimit': 0}); diff --git a/rainloop/v/0.0.0/app/templates/Views/User/MailMessageView.html b/rainloop/v/0.0.0/app/templates/Views/User/MailMessageView.html index 6cdbaa6e5..6aa8d0a7a 100644 --- a/rainloop/v/0.0.0/app/templates/Views/User/MailMessageView.html +++ b/rainloop/v/0.0.0/app/templates/Views/User/MailMessageView.html @@ -62,42 +62,41 @@