From 790fc8e940e3f5f9c0e6a6efa1597ae75864b9bc Mon Sep 17 00:00:00 2001 From: Francis Lachapelle Date: Wed, 30 Sep 2015 16:41:29 -0400 Subject: [PATCH] (js) Fix (sub)mailboxes state restore --- UI/WebServerResources/js/Mailer/Account.service.js | 14 ++++++++++---- 1 file changed, 10 insertions(+), 4 deletions(-) diff --git a/UI/WebServerResources/js/Mailer/Account.service.js b/UI/WebServerResources/js/Mailer/Account.service.js index e2c003170..009324438 100644 --- a/UI/WebServerResources/js/Mailer/Account.service.js +++ b/UI/WebServerResources/js/Mailer/Account.service.js @@ -108,7 +108,15 @@ // Set expanded folders from user's settings Account.$Preferences.ready().then(function() { - var expandedFolders; + var expandedFolders, + _visit = function(mailboxes) { + _.forEach(mailboxes, function(o) { + o.$expanded = (expandedFolders.indexOf('/' + o.id) >= 0); + if (o.children && o.children.length > 0) { + _visit(o.children); + } + }); + }; if (Account.$Preferences.settings.Mail.ExpandedFolders) { if (angular.isString(Account.$Preferences.settings.Mail.ExpandedFolders)) // Backward compatibility support @@ -116,9 +124,7 @@ else expandedFolders = Account.$Preferences.settings.Mail.ExpandedFolders; if (expandedFolders.length > 0) { - _.forEach(_this.$mailboxes, function(mailbox) { - mailbox.$expanded = (expandedFolders.indexOf('/' + mailbox.id) >= 0); - }); + _visit(_this.$mailboxes); } } _this.$flattenMailboxes({reload: true});