diff --git a/dev/External/User/ko.js b/dev/External/User/ko.js index d5897ed7a..e56815fe0 100644 --- a/dev/External/User/ko.js +++ b/dev/External/User/ko.js @@ -7,6 +7,7 @@ import { isArray } from 'Common/Utils'; import { EmailAddressesComponent } from 'Component/EmailAddresses'; import { ThemeStore } from 'Stores/Theme'; import { moveMessagesToFolder } from 'Common/Folders'; +import { setExpandedFolder } from 'Model/FolderCollection'; const rlContentType = 'snappymail/action', @@ -133,7 +134,7 @@ ko.bindingHandlers.dropmessages = { if (folder && folder.collapsed()) { dragTimer.start(() => { folder.collapsed(false); - rl.app.setExpandedFolder(folder.fullName, true); + setExpandedFolder(folder.fullName, true); }, 500); } } diff --git a/dev/Model/FolderCollection.js b/dev/Model/FolderCollection.js index a53c024f5..f513e7658 100644 --- a/dev/Model/FolderCollection.js +++ b/dev/Model/FolderCollection.js @@ -72,6 +72,25 @@ const }; export const + /** + * @param {string} sFullName + * @param {boolean} bExpanded + */ + setExpandedFolder = (sFullName, bExpanded) => { + let aExpandedList = Local.get(ClientSideKeyName.ExpandedFolders); + if (!isArray(aExpandedList)) { + aExpandedList = []; + } + + if (bExpanded) { + aExpandedList.includes(sFullName) || aExpandedList.push(sFullName); + } else { + aExpandedList = aExpandedList.filter(value => value !== sFullName); + } + + Local.set(ClientSideKeyName.ExpandedFolders, aExpandedList); + }, + /** * @param {?Function} fCallback */ diff --git a/dev/View/User/MailBox/FolderList.js b/dev/View/User/MailBox/FolderList.js index fc4166aff..da56f927f 100644 --- a/dev/View/User/MailBox/FolderList.js +++ b/dev/View/User/MailBox/FolderList.js @@ -19,31 +19,9 @@ import { showMessageComposer } from 'Common/UtilsUser'; import { FolderCreatePopupView } from 'View/Popup/FolderCreate'; import { ContactsPopupView } from 'View/Popup/Contacts'; -import { isArray } from 'Common/Utils'; -import { ClientSideKeyName } from 'Common/EnumsUser'; -import * as Local from 'Storage/Client'; - import { moveMessagesToFolder } from 'Common/Folders'; -/** - * @param {string} sFullName - * @param {boolean} bExpanded - */ -function setExpandedFolder(sFullName, bExpanded) { - let aExpandedList = Local.get(ClientSideKeyName.ExpandedFolders); - if (!isArray(aExpandedList)) { - aExpandedList = []; - } - - if (bExpanded) { - if (!aExpandedList.includes(sFullName)) - aExpandedList.push(sFullName); - } else { - aExpandedList = aExpandedList.filter(value => value !== sFullName); - } - - Local.set(ClientSideKeyName.ExpandedFolders, aExpandedList); -} +import { setExpandedFolder } from 'Model/FolderCollection'; export class MailFolderList extends AbstractViewLeft { constructor() {