mirror of
https://github.com/the-djmaze/snappymail.git
synced 2026-08-30 04:29:21 +03:00
Code refactoring
This commit is contained in:
parent
bf56821c2d
commit
31860420cb
32 changed files with 1342 additions and 1282 deletions
|
|
@ -10,7 +10,7 @@
|
|||
|
||||
Utils = require('Common/Utils'),
|
||||
|
||||
Data = require('Storage/User/Data'),
|
||||
MessageStore = require('Stores/User/Message'),
|
||||
|
||||
kn = require('Knoin/Knoin'),
|
||||
AbstractView = require('Knoin/AbstractView')
|
||||
|
|
@ -41,7 +41,7 @@
|
|||
var sSearch = this.buildSearchString();
|
||||
if ('' !== sSearch)
|
||||
{
|
||||
Data.mainMessageListSearch(sSearch);
|
||||
MessageStore.mainMessageListSearch(sSearch);
|
||||
}
|
||||
|
||||
this.cancelCommand();
|
||||
|
|
|
|||
|
|
@ -27,10 +27,10 @@
|
|||
AccountStore = require('Stores/User/Account'),
|
||||
FolderStore = require('Stores/User/Folder'),
|
||||
PgpStore = require('Stores/User/Pgp'),
|
||||
MessageStore = require('Stores/User/Message'),
|
||||
SocialStore = require('Stores/Social'),
|
||||
|
||||
Settings = require('Storage/Settings'),
|
||||
Data = require('Storage/User/Data'),
|
||||
Cache = require('Storage/User/Cache'),
|
||||
Remote = require('Storage/User/Remote'),
|
||||
|
||||
|
|
@ -87,7 +87,7 @@
|
|||
this.allowContacts = !!AppStore.contactsIsAllowed();
|
||||
|
||||
this.bSkipNextHide = false;
|
||||
this.composeInEdit = Data.composeInEdit;
|
||||
this.composeInEdit = AppStore.composeInEdit;
|
||||
this.editorDefaultType = SettingsStore.editorDefaultType;
|
||||
|
||||
this.capaOpenPGP = PgpStore.capaOpenPGP;
|
||||
|
|
@ -433,8 +433,6 @@
|
|||
|
||||
var self = this;
|
||||
|
||||
window.console.log(this.sLastFocusedField);
|
||||
|
||||
_.delay(function () {
|
||||
kn.showScreenPopup(require('View/Popup/Contacts'),
|
||||
[true, self.sLastFocusedField]);
|
||||
|
|
@ -578,7 +576,7 @@
|
|||
if ('' !== sDraftFolder)
|
||||
{
|
||||
Cache.setFolderHash(sDraftFolder, '');
|
||||
if (Data.currentFolderFullNameRaw() === sDraftFolder)
|
||||
if (FolderStore.currentFolderFullNameRaw() === sDraftFolder)
|
||||
{
|
||||
require('App/User').reloadMessageList(true);
|
||||
}
|
||||
|
|
@ -701,10 +699,10 @@
|
|||
|
||||
if (this.bFromDraft)
|
||||
{
|
||||
oMessage = Data.message();
|
||||
oMessage = MessageStore.message();
|
||||
if (oMessage && this.draftFolder() === oMessage.folderFullNameRaw && this.draftUid() === oMessage.uid)
|
||||
{
|
||||
Data.message(null);
|
||||
MessageStore.message(null);
|
||||
}
|
||||
}
|
||||
|
||||
|
|
@ -741,7 +739,7 @@
|
|||
|
||||
if (!this.bSkipNextHide)
|
||||
{
|
||||
this.composeInEdit(false);
|
||||
AppStore.composeInEdit(false);
|
||||
this.reset();
|
||||
}
|
||||
|
||||
|
|
@ -883,7 +881,7 @@
|
|||
|
||||
this.autosaveStart();
|
||||
|
||||
if (this.composeInEdit())
|
||||
if (AppStore.composeInEdit())
|
||||
{
|
||||
sType = sType || Enums.ComposeType.Empty;
|
||||
|
||||
|
|
@ -969,7 +967,7 @@
|
|||
ComposePopupView.prototype.initOnShow = function (sType, oMessageOrArray,
|
||||
aToEmails, aCcEmails, aBccEmails, sCustomSubject, sCustomPlainText)
|
||||
{
|
||||
this.composeInEdit(true);
|
||||
AppStore.composeInEdit(true);
|
||||
|
||||
var
|
||||
self = this,
|
||||
|
|
|
|||
|
|
@ -12,7 +12,6 @@
|
|||
Enums = require('Common/Enums'),
|
||||
Translator = require('Common/Translator'),
|
||||
|
||||
Data = require('Storage/User/Data'),
|
||||
PgpStore = require('Stores/User/Pgp'),
|
||||
|
||||
EmailModel = require('Model/Email'),
|
||||
|
|
@ -66,7 +65,7 @@
|
|||
|
||||
if (bResult && this.sign())
|
||||
{
|
||||
oPrivateKey = Data.findPrivateKeyByEmail(this.from(), this.password());
|
||||
oPrivateKey = PgpStore.findPrivateKeyByEmail(this.from(), this.password());
|
||||
if (!oPrivateKey)
|
||||
{
|
||||
this.notification(Translator.i18n('PGP_NOTIFICATIONS/NO_PRIVATE_KEY_FOUND_FOR', {
|
||||
|
|
@ -87,7 +86,7 @@
|
|||
{
|
||||
aPublicKeys = [];
|
||||
_.each(this.to(), function (sEmail) {
|
||||
var aKeys = Data.findPublicKeysByEmail(sEmail);
|
||||
var aKeys = PgpStore.findPublicKeysByEmail(sEmail);
|
||||
if (0 === aKeys.length && bResult)
|
||||
{
|
||||
self.notification(Translator.i18n('PGP_NOTIFICATIONS/NO_PUBLIC_KEYS_FOUND_FOR', {
|
||||
|
|
|
|||
|
|
@ -19,8 +19,8 @@
|
|||
Translator = require('Common/Translator'),
|
||||
|
||||
SettingsStore = require('Stores/User/Settings'),
|
||||
ContactStore = require('Stores/User/Contact'),
|
||||
|
||||
Data = require('Storage/User/Data'),
|
||||
Remote = require('Storage/User/Remote'),
|
||||
|
||||
EmailModel = require('Model/Email'),
|
||||
|
|
@ -52,13 +52,13 @@
|
|||
this.bBackToCompose = false;
|
||||
this.sLastComposeFocusedField = '';
|
||||
|
||||
this.allowContactsSync = Data.allowContactsSync;
|
||||
this.enableContactsSync = Data.enableContactsSync;
|
||||
this.allowContactsSync = ContactStore.allowContactsSync;
|
||||
this.enableContactsSync = ContactStore.enableContactsSync;
|
||||
this.allowExport = !Globals.bMobileDevice;
|
||||
|
||||
this.search = ko.observable('');
|
||||
this.contactsCount = ko.observable(0);
|
||||
this.contacts = Data.contacts;
|
||||
this.contacts = ContactStore.contacts;
|
||||
|
||||
this.currentContact = ko.observable(null);
|
||||
|
||||
|
|
|
|||
|
|
@ -12,9 +12,8 @@
|
|||
Utils = require('Common/Utils'),
|
||||
Translator = require('Common/Translator'),
|
||||
|
||||
Data = require('Storage/User/Data'),
|
||||
|
||||
FilterStore = require('Stores/User/Filter'),
|
||||
FolderStore = require('Stores/User/Folder'),
|
||||
|
||||
kn = require('Knoin/Knoin'),
|
||||
AbstractView = require('Knoin/AbstractView')
|
||||
|
|
@ -38,7 +37,7 @@
|
|||
this.allowMarkAsRead = ko.observable(false);
|
||||
|
||||
this.defautOptionsAfterRender = Utils.defautOptionsAfterRender;
|
||||
this.folderSelectList = Data.folderMenuForFilters;
|
||||
this.folderSelectList = FolderStore.folderMenuForFilters;
|
||||
this.selectedFolderValue = ko.observable('');
|
||||
|
||||
this.selectedFolderValue.subscribe(function() {
|
||||
|
|
|
|||
|
|
@ -11,7 +11,8 @@
|
|||
Utils = require('Common/Utils'),
|
||||
Translator = require('Common/Translator'),
|
||||
|
||||
Data = require('Storage/User/Data'),
|
||||
MessageStore = require('Stores/User/Message'),
|
||||
|
||||
Cache = require('Storage/User/Cache'),
|
||||
Remote = require('Storage/User/Remote'),
|
||||
|
||||
|
|
@ -56,8 +57,8 @@
|
|||
|
||||
if (oFolderToClear)
|
||||
{
|
||||
Data.message(null);
|
||||
Data.messageList([]);
|
||||
MessageStore.message(null);
|
||||
MessageStore.messageList([]);
|
||||
|
||||
this.clearingProcess(true);
|
||||
|
||||
|
|
|
|||
|
|
@ -13,7 +13,8 @@
|
|||
Utils = require('Common/Utils'),
|
||||
Translator = require('Common/Translator'),
|
||||
|
||||
Data = require('Storage/User/Data'),
|
||||
FolderStore = require('Stores/User/Folder'),
|
||||
|
||||
Remote = require('Storage/User/Remote'),
|
||||
|
||||
kn = require('Knoin/Knoin'),
|
||||
|
|
@ -43,7 +44,7 @@
|
|||
aTop = [],
|
||||
fDisableCallback = null,
|
||||
fVisibleCallback = null,
|
||||
aList = Data.folderList(),
|
||||
aList = FolderStore.folderList(),
|
||||
fRenameCallback = function (oItem) {
|
||||
return oItem ? (oItem.isSystemFolder() ? oItem.name() + ' ' + oItem.manageFolderSystemName() : oItem.name()) : '';
|
||||
}
|
||||
|
|
@ -51,11 +52,11 @@
|
|||
|
||||
aTop.push(['', this.sNoParentText]);
|
||||
|
||||
if ('' !== Data.namespace)
|
||||
if ('' !== FolderStore.namespace)
|
||||
{
|
||||
fDisableCallback = function (oItem)
|
||||
{
|
||||
return Data.namespace !== oItem.fullNameRaw.substr(0, Data.namespace.length);
|
||||
return FolderStore.namespace !== oItem.fullNameRaw.substr(0, FolderStore.namespace.length);
|
||||
};
|
||||
}
|
||||
|
||||
|
|
@ -70,22 +71,22 @@
|
|||
sParentFolderName = this.selectedParentValue()
|
||||
;
|
||||
|
||||
if ('' === sParentFolderName && 1 < Data.namespace.length)
|
||||
if ('' === sParentFolderName && 1 < FolderStore.namespace.length)
|
||||
{
|
||||
sParentFolderName = Data.namespace.substr(0, Data.namespace.length - 1);
|
||||
sParentFolderName = FolderStore.namespace.substr(0, FolderStore.namespace.length - 1);
|
||||
}
|
||||
|
||||
Data.foldersCreating(true);
|
||||
FolderStore.foldersCreating(true);
|
||||
Remote.folderCreate(function (sResult, oData) {
|
||||
|
||||
Data.foldersCreating(false);
|
||||
FolderStore.foldersCreating(false);
|
||||
if (Enums.StorageResultType.Success === sResult && oData && oData.Result)
|
||||
{
|
||||
require('App/User').folders();
|
||||
}
|
||||
else
|
||||
{
|
||||
Data.folderList.error(
|
||||
FolderStore.folderList.error(
|
||||
oData && oData.ErrorCode ? Translator.getNotification(oData.ErrorCode) : Translator.i18n('NOTIFICATIONS/CANT_CREATE_FOLDER'));
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -15,7 +15,6 @@
|
|||
FolderStore = require('Stores/User/Folder'),
|
||||
|
||||
Settings = require('Storage/Settings'),
|
||||
Data = require('Storage/User/Data'),
|
||||
Remote = require('Storage/User/Remote'),
|
||||
|
||||
kn = require('Knoin/Knoin'),
|
||||
|
|
@ -38,7 +37,7 @@
|
|||
this.notification = ko.observable('');
|
||||
|
||||
this.folderSelectList = ko.computed(function () {
|
||||
return Utils.folderListOptionsBuilder([], Data.folderList(), Data.folderListSystemNames(), [
|
||||
return Utils.folderListOptionsBuilder([], FolderStore.folderList(), FolderStore.folderListSystemNames(), [
|
||||
['', this.sChooseOnText],
|
||||
[Consts.Values.UnuseOptionValue, this.sUnuseText]
|
||||
], null, null, null, null, null, true);
|
||||
|
|
|
|||
|
|
@ -17,9 +17,10 @@
|
|||
|
||||
AppStore = require('Stores/User/App'),
|
||||
SettingsStore = require('Stores/User/Settings'),
|
||||
FolderStore = require('Stores/User/Folder'),
|
||||
MessageStore = require('Stores/User/Message'),
|
||||
|
||||
Cache = require('Storage/User/Cache'),
|
||||
Data = require('Storage/User/Data'),
|
||||
|
||||
kn = require('Knoin/Knoin'),
|
||||
AbstractView = require('Knoin/AbstractView')
|
||||
|
|
@ -36,14 +37,14 @@
|
|||
this.oContentVisible = null;
|
||||
this.oContentScrollable = null;
|
||||
|
||||
this.composeInEdit = Data.composeInEdit;
|
||||
this.composeInEdit = AppStore.composeInEdit;
|
||||
|
||||
this.messageList = Data.messageList;
|
||||
this.folderList = Data.folderList;
|
||||
this.folderListSystem = Data.folderListSystem;
|
||||
this.foldersChanging = Data.foldersChanging;
|
||||
this.messageList = MessageStore.messageList;
|
||||
this.folderList = FolderStore.folderList;
|
||||
this.folderListSystem = FolderStore.folderListSystem;
|
||||
this.foldersChanging = FolderStore.foldersChanging;
|
||||
|
||||
this.foldersListWithSingleInboxRootFolder = Data.foldersListWithSingleInboxRootFolder;
|
||||
this.foldersListWithSingleInboxRootFolder = FolderStore.foldersListWithSingleInboxRootFolder;
|
||||
|
||||
this.leftPanelDisabled = Globals.leftPanelDisabled;
|
||||
|
||||
|
|
@ -94,10 +95,10 @@
|
|||
{
|
||||
if (Enums.Layout.NoPreview === SettingsStore.layout())
|
||||
{
|
||||
Data.message(null);
|
||||
MessageStore.message(null);
|
||||
}
|
||||
|
||||
if (oFolder.fullNameRaw === Data.currentFolderFullNameRaw())
|
||||
if (oFolder.fullNameRaw === FolderStore.currentFolderFullNameRaw())
|
||||
{
|
||||
Cache.setFolderHash(oFolder.fullNameRaw, '');
|
||||
}
|
||||
|
|
@ -143,7 +144,7 @@
|
|||
var $items = $('.b-folders .e-item .e-link:not(.hidden).focused', oDom);
|
||||
if ($items.length && $items[0])
|
||||
{
|
||||
self.folderList.focused(false);
|
||||
FolderStore.folderList.focused(false);
|
||||
$items.click();
|
||||
}
|
||||
|
||||
|
|
@ -167,11 +168,11 @@
|
|||
});
|
||||
|
||||
key('esc, tab, shift+tab, right', Enums.KeyState.FolderList, function () {
|
||||
self.folderList.focused(false);
|
||||
FolderStore.folderList.focused(false);
|
||||
return false;
|
||||
});
|
||||
|
||||
self.folderList.focused.subscribe(function (bValue) {
|
||||
FolderStore.folderList.focused.subscribe(function (bValue) {
|
||||
$('.b-folders .e-item .e-link.focused', oDom).removeClass('focused');
|
||||
if (bValue)
|
||||
{
|
||||
|
|
|
|||
|
|
@ -23,10 +23,10 @@
|
|||
QuotaStore = require('Stores/User/Quota'),
|
||||
SettingsStore = require('Stores/User/Settings'),
|
||||
FolderStore = require('Stores/User/Folder'),
|
||||
MessageStore = require('Stores/User/Message'),
|
||||
|
||||
Settings = require('Storage/Settings'),
|
||||
Cache = require('Storage/User/Cache'),
|
||||
Data = require('Storage/User/Data'),
|
||||
Remote = require('Storage/User/Remote'),
|
||||
|
||||
kn = require('Knoin/Knoin'),
|
||||
|
|
@ -49,24 +49,24 @@
|
|||
|
||||
this.popupVisibility = Globals.popupVisibility;
|
||||
|
||||
this.message = Data.message;
|
||||
this.messageList = Data.messageList;
|
||||
this.folderList = Data.folderList;
|
||||
this.currentMessage = Data.currentMessage;
|
||||
this.isMessageSelected = Data.isMessageSelected;
|
||||
this.messageListSearch = Data.messageListSearch;
|
||||
this.messageListError = Data.messageListError;
|
||||
this.folderMenuForMove = Data.folderMenuForMove;
|
||||
this.message = MessageStore.message;
|
||||
this.messageList = MessageStore.messageList;
|
||||
this.folderList = FolderStore.folderList;
|
||||
this.currentMessage = MessageStore.currentMessage;
|
||||
this.isMessageSelected = MessageStore.isMessageSelected;
|
||||
this.messageListSearch = MessageStore.messageListSearch;
|
||||
this.messageListError = MessageStore.messageListError;
|
||||
this.folderMenuForMove = FolderStore.folderMenuForMove;
|
||||
|
||||
this.useCheckboxesInList = SettingsStore.useCheckboxesInList;
|
||||
|
||||
this.mainMessageListSearch = Data.mainMessageListSearch;
|
||||
this.messageListEndFolder = Data.messageListEndFolder;
|
||||
this.mainMessageListSearch = MessageStore.mainMessageListSearch;
|
||||
this.messageListEndFolder = MessageStore.messageListEndFolder;
|
||||
|
||||
this.messageListChecked = Data.messageListChecked;
|
||||
this.messageListCheckedOrSelected = Data.messageListCheckedOrSelected;
|
||||
this.messageListCheckedOrSelectedUidsWithSubMails = Data.messageListCheckedOrSelectedUidsWithSubMails;
|
||||
this.messageListCompleteLoadingThrottle = Data.messageListCompleteLoadingThrottle;
|
||||
this.messageListChecked = MessageStore.messageListChecked;
|
||||
this.messageListCheckedOrSelected = MessageStore.messageListCheckedOrSelected;
|
||||
this.messageListCheckedOrSelectedUidsWithSubMails = MessageStore.messageListCheckedOrSelectedUidsWithSubMails;
|
||||
this.messageListCompleteLoadingThrottle = MessageStore.messageListCompleteLoadingThrottle;
|
||||
|
||||
Translator.initOnStartOrLangChange(function () {
|
||||
this.emptySubjectValue = Translator.i18n('MESSAGE_LIST/EMPTY_SUBJECT_TEXT');
|
||||
|
|
@ -91,20 +91,21 @@
|
|||
});
|
||||
|
||||
this.messageListSearchDesc = ko.computed(function () {
|
||||
var sValue = Data.messageListEndSearch();
|
||||
var sValue = MessageStore.messageListEndSearch();
|
||||
return '' === sValue ? '' : Translator.i18n('MESSAGE_LIST/SEARCH_RESULT_FOR', {'SEARCH': sValue});
|
||||
});
|
||||
|
||||
this.messageListPagenator = ko.computed(Utils.computedPagenatorHelper(Data.messageListPage, Data.messageListPageCount));
|
||||
this.messageListPagenator = ko.computed(Utils.computedPagenatorHelper(
|
||||
MessageStore.messageListPage, MessageStore.messageListPageCount));
|
||||
|
||||
this.checkAll = ko.computed({
|
||||
'read': function () {
|
||||
return 0 < Data.messageListChecked().length;
|
||||
return 0 < MessageStore.messageListChecked().length;
|
||||
},
|
||||
|
||||
'write': function (bValue) {
|
||||
bValue = !!bValue;
|
||||
_.each(Data.messageList(), function (oMessage) {
|
||||
_.each(MessageStore.messageList(), function (oMessage) {
|
||||
oMessage.checked(bValue);
|
||||
});
|
||||
}
|
||||
|
|
@ -123,8 +124,8 @@
|
|||
|
||||
this.isIncompleteChecked = ko.computed(function () {
|
||||
var
|
||||
iM = Data.messageList().length,
|
||||
iC = Data.messageListChecked().length
|
||||
iM = MessageStore.messageList().length,
|
||||
iC = MessageStore.messageListChecked().length
|
||||
;
|
||||
return 0 < iM && 0 < iC && iM > iC;
|
||||
}, this);
|
||||
|
|
@ -173,48 +174,48 @@
|
|||
this.canBeMoved = this.hasCheckedOrSelectedLines;
|
||||
|
||||
this.clearCommand = Utils.createCommand(this, function () {
|
||||
kn.showScreenPopup(require('View/Popup/FolderClear'), [Data.currentFolder()]);
|
||||
kn.showScreenPopup(require('View/Popup/FolderClear'), [FolderStore.currentFolder()]);
|
||||
});
|
||||
|
||||
this.multyForwardCommand = Utils.createCommand(this, function () {
|
||||
kn.showScreenPopup(require('View/Popup/Compose'), [
|
||||
Enums.ComposeType.ForwardAsAttachment, Data.messageListCheckedOrSelected()]);
|
||||
Enums.ComposeType.ForwardAsAttachment, MessageStore.messageListCheckedOrSelected()]);
|
||||
}, this.canBeMoved);
|
||||
|
||||
this.deleteWithoutMoveCommand = Utils.createCommand(this, function () {
|
||||
require('App/User').deleteMessagesFromFolder(Enums.FolderType.Trash,
|
||||
Data.currentFolderFullNameRaw(),
|
||||
Data.messageListCheckedOrSelectedUidsWithSubMails(), false);
|
||||
FolderStore.currentFolderFullNameRaw(),
|
||||
MessageStore.messageListCheckedOrSelectedUidsWithSubMails(), false);
|
||||
}, this.canBeMoved);
|
||||
|
||||
this.deleteCommand = Utils.createCommand(this, function () {
|
||||
require('App/User').deleteMessagesFromFolder(Enums.FolderType.Trash,
|
||||
Data.currentFolderFullNameRaw(),
|
||||
Data.messageListCheckedOrSelectedUidsWithSubMails(), true);
|
||||
FolderStore.currentFolderFullNameRaw(),
|
||||
MessageStore.messageListCheckedOrSelectedUidsWithSubMails(), true);
|
||||
}, this.canBeMoved);
|
||||
|
||||
this.archiveCommand = Utils.createCommand(this, function () {
|
||||
require('App/User').deleteMessagesFromFolder(Enums.FolderType.Archive,
|
||||
Data.currentFolderFullNameRaw(),
|
||||
Data.messageListCheckedOrSelectedUidsWithSubMails(), true);
|
||||
FolderStore.currentFolderFullNameRaw(),
|
||||
MessageStore.messageListCheckedOrSelectedUidsWithSubMails(), true);
|
||||
}, this.canBeMoved);
|
||||
|
||||
this.spamCommand = Utils.createCommand(this, function () {
|
||||
require('App/User').deleteMessagesFromFolder(Enums.FolderType.Spam,
|
||||
Data.currentFolderFullNameRaw(),
|
||||
Data.messageListCheckedOrSelectedUidsWithSubMails(), true);
|
||||
FolderStore.currentFolderFullNameRaw(),
|
||||
MessageStore.messageListCheckedOrSelectedUidsWithSubMails(), true);
|
||||
}, this.canBeMoved);
|
||||
|
||||
this.notSpamCommand = Utils.createCommand(this, function () {
|
||||
require('App/User').deleteMessagesFromFolder(Enums.FolderType.NotSpam,
|
||||
Data.currentFolderFullNameRaw(),
|
||||
Data.messageListCheckedOrSelectedUidsWithSubMails(), true);
|
||||
FolderStore.currentFolderFullNameRaw(),
|
||||
MessageStore.messageListCheckedOrSelectedUidsWithSubMails(), true);
|
||||
}, this.canBeMoved);
|
||||
|
||||
this.moveCommand = Utils.createCommand(this, Utils.emptyFunction, this.canBeMoved);
|
||||
|
||||
this.reloadCommand = Utils.createCommand(this, function () {
|
||||
if (!Data.messageListCompleteLoadingThrottle())
|
||||
if (!MessageStore.messageListCompleteLoadingThrottle())
|
||||
{
|
||||
require('App/User').reloadMessageList(false, true);
|
||||
}
|
||||
|
|
@ -229,18 +230,19 @@
|
|||
this.selector.on('onItemSelect', _.bind(function (oMessage) {
|
||||
if (oMessage)
|
||||
{
|
||||
Data.message(Data.staticMessageList.populateByMessageListItem(oMessage));
|
||||
this.populateMessageBody(Data.message());
|
||||
MessageStore.message(MessageStore.staticMessage.populateByMessageListItem(oMessage));
|
||||
|
||||
this.populateMessageBody(MessageStore.message());
|
||||
|
||||
if (Enums.Layout.NoPreview === SettingsStore.layout())
|
||||
{
|
||||
kn.setHash(Links.messagePreview(), true);
|
||||
Data.message.focused(true);
|
||||
MessageStore.message.focused(true);
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
Data.message(null);
|
||||
MessageStore.message(null);
|
||||
}
|
||||
}, this));
|
||||
|
||||
|
|
@ -248,23 +250,14 @@
|
|||
return oMessage ? oMessage.generateUid() : '';
|
||||
});
|
||||
|
||||
Data.messageListEndHash.subscribe(function () {
|
||||
MessageStore.messageListEndHash.subscribe(function () {
|
||||
this.selector.scrollToTop();
|
||||
}, this);
|
||||
|
||||
Data.messageListEndFolder.subscribe(function (sFolder) {
|
||||
var oMessage = Data.message();
|
||||
if (oMessage && sFolder && sFolder !== oMessage.folderFullNameRaw)
|
||||
{
|
||||
Data.message(null);
|
||||
}
|
||||
}, this);
|
||||
|
||||
SettingsStore.layout.subscribe(function (mValue) {
|
||||
this.selector.autoSelect(Enums.Layout.NoPreview !== mValue);
|
||||
}, this);
|
||||
|
||||
|
||||
SettingsStore.layout.valueHasMutated();
|
||||
|
||||
Events
|
||||
|
|
@ -318,8 +311,8 @@
|
|||
if (this.canBeMoved())
|
||||
{
|
||||
require('App/User').moveMessagesToFolder(
|
||||
Data.currentFolderFullNameRaw(),
|
||||
Data.messageListCheckedOrSelectedUidsWithSubMails(), sToFolderFullNameRaw, bCopy);
|
||||
FolderStore.currentFolderFullNameRaw(),
|
||||
MessageStore.messageListCheckedOrSelectedUidsWithSubMails(), sToFolderFullNameRaw, bCopy);
|
||||
}
|
||||
|
||||
return false;
|
||||
|
|
@ -334,15 +327,15 @@
|
|||
|
||||
var
|
||||
oEl = Utils.draggablePlace(),
|
||||
aUids = Data.messageListCheckedOrSelectedUidsWithSubMails()
|
||||
aUids = MessageStore.messageListCheckedOrSelectedUidsWithSubMails()
|
||||
;
|
||||
|
||||
oEl.data('rl-folder', Data.currentFolderFullNameRaw());
|
||||
oEl.data('rl-folder', FolderStore.currentFolderFullNameRaw());
|
||||
oEl.data('rl-uids', aUids);
|
||||
oEl.find('.text').text('' + aUids.length);
|
||||
|
||||
_.defer(function () {
|
||||
var aUids = Data.messageListCheckedOrSelectedUidsWithSubMails();
|
||||
var aUids = MessageStore.messageListCheckedOrSelectedUidsWithSubMails();
|
||||
|
||||
oEl.data('rl-uids', aUids);
|
||||
oEl.find('.text').text('' + aUids.length);
|
||||
|
|
@ -358,22 +351,22 @@
|
|||
*/
|
||||
MessageListMailBoxUserView.prototype.onMessageResponse = function (sResult, oData, bCached)
|
||||
{
|
||||
Data.hideMessageBodies();
|
||||
Data.messageLoading(false);
|
||||
MessageStore.hideMessageBodies();
|
||||
MessageStore.messageLoading(false);
|
||||
|
||||
if (Enums.StorageResultType.Success === sResult && oData && oData.Result)
|
||||
{
|
||||
Data.setMessage(oData, bCached);
|
||||
MessageStore.setMessage(oData, bCached);
|
||||
}
|
||||
else if (Enums.StorageResultType.Unload === sResult)
|
||||
{
|
||||
Data.message(null);
|
||||
Data.messageError('');
|
||||
MessageStore.message(null);
|
||||
MessageStore.messageError('');
|
||||
}
|
||||
else if (Enums.StorageResultType.Abort !== sResult)
|
||||
{
|
||||
Data.message(null);
|
||||
Data.messageError((oData && oData.ErrorCode ?
|
||||
MessageStore.message(null);
|
||||
MessageStore.messageError((oData && oData.ErrorCode ?
|
||||
Translator.getNotification(oData.ErrorCode) :
|
||||
Translator.getNotification(Enums.Notification.UnknownError)));
|
||||
}
|
||||
|
|
@ -385,7 +378,7 @@
|
|||
{
|
||||
if (Remote.message(this.onMessageResponse, oMessage.folderFullNameRaw, oMessage.uid))
|
||||
{
|
||||
Data.messageLoading(true);
|
||||
MessageStore.messageLoading(true);
|
||||
}
|
||||
else
|
||||
{
|
||||
|
|
@ -409,7 +402,7 @@
|
|||
|
||||
if (Utils.isUnd(aMessages))
|
||||
{
|
||||
aMessages = Data.messageListChecked();
|
||||
aMessages = MessageStore.messageListChecked();
|
||||
}
|
||||
|
||||
aUids = _.map(aMessages, function (oMessage) {
|
||||
|
|
@ -484,7 +477,7 @@
|
|||
{
|
||||
var
|
||||
oFolder = null,
|
||||
aMessages = Data.messageList()
|
||||
aMessages = MessageStore.messageList()
|
||||
;
|
||||
|
||||
if ('' !== sFolderFullNameRaw)
|
||||
|
|
@ -530,27 +523,31 @@
|
|||
|
||||
MessageListMailBoxUserView.prototype.listSetSeen = function ()
|
||||
{
|
||||
this.setAction(Data.currentFolderFullNameRaw(), Enums.MessageSetAction.SetSeen, Data.messageListCheckedOrSelected());
|
||||
this.setAction(FolderStore.currentFolderFullNameRaw(), Enums.MessageSetAction.SetSeen,
|
||||
MessageStore.messageListCheckedOrSelected());
|
||||
};
|
||||
|
||||
MessageListMailBoxUserView.prototype.listSetAllSeen = function ()
|
||||
{
|
||||
this.setActionForAll(Data.currentFolderFullNameRaw(), Enums.MessageSetAction.SetSeen);
|
||||
this.setActionForAll(FolderStore.currentFolderFullNameRaw(), Enums.MessageSetAction.SetSeen);
|
||||
};
|
||||
|
||||
MessageListMailBoxUserView.prototype.listUnsetSeen = function ()
|
||||
{
|
||||
this.setAction(Data.currentFolderFullNameRaw(), Enums.MessageSetAction.UnsetSeen, Data.messageListCheckedOrSelected());
|
||||
this.setAction(FolderStore.currentFolderFullNameRaw(), Enums.MessageSetAction.UnsetSeen,
|
||||
MessageStore.messageListCheckedOrSelected());
|
||||
};
|
||||
|
||||
MessageListMailBoxUserView.prototype.listSetFlags = function ()
|
||||
{
|
||||
this.setAction(Data.currentFolderFullNameRaw(), Enums.MessageSetAction.SetFlag, Data.messageListCheckedOrSelected());
|
||||
this.setAction(FolderStore.currentFolderFullNameRaw(), Enums.MessageSetAction.SetFlag,
|
||||
MessageStore.messageListCheckedOrSelected());
|
||||
};
|
||||
|
||||
MessageListMailBoxUserView.prototype.listUnsetFlags = function ()
|
||||
{
|
||||
this.setAction(Data.currentFolderFullNameRaw(), Enums.MessageSetAction.UnsetFlag, Data.messageListCheckedOrSelected());
|
||||
this.setAction(FolderStore.currentFolderFullNameRaw(), Enums.MessageSetAction.UnsetFlag,
|
||||
MessageStore.messageListCheckedOrSelected());
|
||||
};
|
||||
|
||||
MessageListMailBoxUserView.prototype.flagMessages = function (oCurrentMessage)
|
||||
|
|
@ -649,9 +646,9 @@
|
|||
|
||||
if (oMessage && !oMessage.lastInCollapsedThreadLoading())
|
||||
{
|
||||
Data.messageListThreadFolder(oMessage.folderFullNameRaw);
|
||||
MessageStore.messageListThreadFolder(oMessage.folderFullNameRaw);
|
||||
|
||||
aList = Data.messageListThreadUids();
|
||||
aList = MessageStore.messageListThreadUids();
|
||||
|
||||
if (oMessage.lastInCollapsedThread())
|
||||
{
|
||||
|
|
@ -662,7 +659,7 @@
|
|||
aList = _.without(aList, 0 < oMessage.parentUid() ? oMessage.parentUid() : oMessage.uid);
|
||||
}
|
||||
|
||||
Data.messageListThreadUids(_.uniq(aList));
|
||||
MessageStore.messageListThreadUids(_.uniq(aList));
|
||||
|
||||
oMessage.lastInCollapsedThreadLoading(true);
|
||||
oMessage.lastInCollapsedThread(!oMessage.lastInCollapsedThread());
|
||||
|
|
@ -687,9 +684,9 @@
|
|||
if (oPage)
|
||||
{
|
||||
kn.setHash(Links.mailBox(
|
||||
Data.currentFolderFullNameHash(),
|
||||
FolderStore.currentFolderFullNameHash(),
|
||||
oPage.value,
|
||||
Data.messageListSearch()
|
||||
MessageStore.messageListSearch()
|
||||
));
|
||||
}
|
||||
})
|
||||
|
|
@ -733,7 +730,7 @@
|
|||
key('delete, shift+delete, shift+3', Enums.KeyState.MessageList, function (event, handler) {
|
||||
if (event)
|
||||
{
|
||||
if (0 < Data.messageListCheckedOrSelected().length)
|
||||
if (0 < MessageStore.messageListCheckedOrSelected().length)
|
||||
{
|
||||
if (handler && 'shift+delete' === handler.shortcut)
|
||||
{
|
||||
|
|
@ -815,7 +812,7 @@
|
|||
key('tab, shift+tab, left, right', Enums.KeyState.MessageList, function (event, handler) {
|
||||
if (event && handler && ('shift+tab' === handler.shortcut || 'left' === handler.shortcut))
|
||||
{
|
||||
self.folderList.focused(true);
|
||||
FolderStore.folderList.focused(true);
|
||||
}
|
||||
else if (self.message())
|
||||
{
|
||||
|
|
@ -904,7 +901,7 @@
|
|||
'disableFolderDragAndDrop': true,
|
||||
'hidden': {
|
||||
'Folder': function () {
|
||||
return Data.currentFolderFullNameRaw();
|
||||
return FolderStore.currentFolderFullNameRaw();
|
||||
}
|
||||
},
|
||||
'dragAndDropElement': this.dragOverArea(),
|
||||
|
|
@ -933,13 +930,15 @@
|
|||
this.dragOver(false);
|
||||
}, this))
|
||||
.on('onSelect', _.bind(function (sUid, oData) {
|
||||
|
||||
if (sUid && oData && 'message/rfc822' === oData['Type'])
|
||||
{
|
||||
Data.messageListLoading(true);
|
||||
MessageStore.messageListLoading(true);
|
||||
return true;
|
||||
}
|
||||
|
||||
return false;
|
||||
|
||||
}, this))
|
||||
.on('onComplete', _.bind(function () {
|
||||
require('App/User').reloadMessageList(true, true);
|
||||
|
|
|
|||
|
|
@ -22,10 +22,10 @@
|
|||
SettingsStore = require('Stores/User/Settings'),
|
||||
AccountStore = require('Stores/User/Account'),
|
||||
FolderStore = require('Stores/User/Folder'),
|
||||
MessageStore = require('Stores/User/Message'),
|
||||
|
||||
Local = require('Storage/Client'),
|
||||
Cache = require('Storage/User/Cache'),
|
||||
Data = require('Storage/User/Data'),
|
||||
Remote = require('Storage/User/Remote'),
|
||||
|
||||
kn = require('Knoin/Knoin'),
|
||||
|
|
@ -56,23 +56,23 @@
|
|||
|
||||
this.pswp = null;
|
||||
|
||||
this.message = Data.message;
|
||||
this.currentMessage = Data.currentMessage;
|
||||
this.messageListChecked = Data.messageListChecked;
|
||||
this.hasCheckedMessages = Data.hasCheckedMessages;
|
||||
this.messageListCheckedOrSelectedUidsWithSubMails = Data.messageListCheckedOrSelectedUidsWithSubMails;
|
||||
this.messageLoading = Data.messageLoading;
|
||||
this.messageLoadingThrottle = Data.messageLoadingThrottle;
|
||||
this.messagesBodiesDom = Data.messagesBodiesDom;
|
||||
this.message = MessageStore.message;
|
||||
this.currentMessage = MessageStore.currentMessage;
|
||||
this.messageListChecked = MessageStore.messageListChecked;
|
||||
this.hasCheckedMessages = MessageStore.hasCheckedMessages;
|
||||
this.messageListCheckedOrSelectedUidsWithSubMails = MessageStore.messageListCheckedOrSelectedUidsWithSubMails;
|
||||
this.messageLoading = MessageStore.messageLoading;
|
||||
this.messageLoadingThrottle = MessageStore.messageLoadingThrottle;
|
||||
this.messagesBodiesDom = MessageStore.messagesBodiesDom;
|
||||
this.useThreads = SettingsStore.useThreads;
|
||||
this.replySameFolder = SettingsStore.replySameFolder;
|
||||
this.layout = SettingsStore.layout;
|
||||
this.usePreviewPane = SettingsStore.usePreviewPane;
|
||||
this.isMessageSelected = Data.isMessageSelected;
|
||||
this.messageActiveDom = Data.messageActiveDom;
|
||||
this.messageError = Data.messageError;
|
||||
this.isMessageSelected = MessageStore.isMessageSelected;
|
||||
this.messageActiveDom = MessageStore.messageActiveDom;
|
||||
this.messageError = MessageStore.messageError;
|
||||
|
||||
this.fullScreenMode = Data.messageFullScreenMode;
|
||||
this.fullScreenMode = MessageStore.messageFullScreenMode;
|
||||
|
||||
this.lastReplyAction_ = ko.observable('');
|
||||
this.lastReplyAction = ko.computed({
|
||||
|
|
@ -113,7 +113,7 @@
|
|||
|
||||
// commands
|
||||
this.closeMessage = Utils.createCommand(this, function () {
|
||||
Data.message(null);
|
||||
MessageStore.message(null);
|
||||
});
|
||||
|
||||
this.replyCommand = createCommandHelper(Enums.ComposeType.Reply);
|
||||
|
|
@ -141,7 +141,7 @@
|
|||
if (this.message())
|
||||
{
|
||||
require('App/User').deleteMessagesFromFolder(Enums.FolderType.Trash,
|
||||
Data.currentFolderFullNameRaw(),
|
||||
FolderStore.currentFolderFullNameRaw(),
|
||||
[this.message().uid], false);
|
||||
}
|
||||
}, this.messageVisibility);
|
||||
|
|
@ -395,7 +395,7 @@
|
|||
*/
|
||||
MessageViewMailBoxUserView.prototype.replyOrforward = function (sType)
|
||||
{
|
||||
kn.showScreenPopup(require('View/Popup/Compose'), [sType, Data.message()]);
|
||||
kn.showScreenPopup(require('View/Popup/Compose'), [sType, MessageStore.message()]);
|
||||
};
|
||||
|
||||
MessageViewMailBoxUserView.prototype.onBuild = function (oDom)
|
||||
|
|
@ -619,7 +619,7 @@
|
|||
|
||||
// reply
|
||||
key('r', [Enums.KeyState.MessageList, Enums.KeyState.MessageView], function () {
|
||||
if (Data.message())
|
||||
if (MessageStore.message())
|
||||
{
|
||||
self.replyCommand();
|
||||
return false;
|
||||
|
|
@ -628,7 +628,7 @@
|
|||
|
||||
// replaAll
|
||||
key('a', [Enums.KeyState.MessageList, Enums.KeyState.MessageView], function () {
|
||||
if (Data.message())
|
||||
if (MessageStore.message())
|
||||
{
|
||||
self.replyAllCommand();
|
||||
return false;
|
||||
|
|
@ -637,7 +637,7 @@
|
|||
|
||||
// forward
|
||||
key('f', [Enums.KeyState.MessageList, Enums.KeyState.MessageView], function () {
|
||||
if (Data.message())
|
||||
if (MessageStore.message())
|
||||
{
|
||||
self.forwardCommand();
|
||||
return false;
|
||||
|
|
@ -646,7 +646,7 @@
|
|||
|
||||
// message information
|
||||
// key('i', [Enums.KeyState.MessageList, Enums.KeyState.MessageView], function () {
|
||||
// if (oData.message())
|
||||
// if (MessageStore.message())
|
||||
// {
|
||||
// self.showFullInfo(!self.showFullInfo());
|
||||
// return false;
|
||||
|
|
@ -655,9 +655,9 @@
|
|||
|
||||
// toggle message blockquotes
|
||||
key('b', [Enums.KeyState.MessageList, Enums.KeyState.MessageView], function () {
|
||||
if (Data.message() && Data.message().body)
|
||||
if (MessageStore.message() && MessageStore.message().body)
|
||||
{
|
||||
Data.message().body.find('.rlBlockquoteSwitcher').click();
|
||||
MessageStore.message().body.find('.rlBlockquoteSwitcher').click();
|
||||
return false;
|
||||
}
|
||||
});
|
||||
|
|
@ -731,7 +731,7 @@
|
|||
*/
|
||||
MessageViewMailBoxUserView.prototype.isDraftFolder = function ()
|
||||
{
|
||||
return Data.message() && FolderStore.draftFolder() === Data.message().folderFullNameRaw;
|
||||
return MessageStore.message() && FolderStore.draftFolder() === MessageStore.message().folderFullNameRaw;
|
||||
};
|
||||
|
||||
/**
|
||||
|
|
@ -739,7 +739,7 @@
|
|||
*/
|
||||
MessageViewMailBoxUserView.prototype.isSentFolder = function ()
|
||||
{
|
||||
return Data.message() && FolderStore.sentFolder() === Data.message().folderFullNameRaw;
|
||||
return MessageStore.message() && FolderStore.sentFolder() === MessageStore.message().folderFullNameRaw;
|
||||
};
|
||||
|
||||
/**
|
||||
|
|
@ -747,7 +747,7 @@
|
|||
*/
|
||||
MessageViewMailBoxUserView.prototype.isSpamFolder = function ()
|
||||
{
|
||||
return Data.message() && FolderStore.spamFolder() === Data.message().folderFullNameRaw;
|
||||
return MessageStore.message() && FolderStore.spamFolder() === MessageStore.message().folderFullNameRaw;
|
||||
};
|
||||
|
||||
/**
|
||||
|
|
@ -755,7 +755,7 @@
|
|||
*/
|
||||
MessageViewMailBoxUserView.prototype.isSpamDisabled = function ()
|
||||
{
|
||||
return Data.message() && FolderStore.spamFolder() === Consts.Values.UnuseOptionValue;
|
||||
return MessageStore.message() && FolderStore.spamFolder() === Consts.Values.UnuseOptionValue;
|
||||
};
|
||||
|
||||
/**
|
||||
|
|
@ -763,7 +763,7 @@
|
|||
*/
|
||||
MessageViewMailBoxUserView.prototype.isArchiveFolder = function ()
|
||||
{
|
||||
return Data.message() && FolderStore.archiveFolder() === Data.message().folderFullNameRaw;
|
||||
return MessageStore.message() && FolderStore.archiveFolder() === MessageStore.message().folderFullNameRaw;
|
||||
};
|
||||
|
||||
/**
|
||||
|
|
@ -771,7 +771,7 @@
|
|||
*/
|
||||
MessageViewMailBoxUserView.prototype.isArchiveDisabled = function ()
|
||||
{
|
||||
return Data.message() && FolderStore.archiveFolder() === Consts.Values.UnuseOptionValue;
|
||||
return MessageStore.message() && FolderStore.archiveFolder() === Consts.Values.UnuseOptionValue;
|
||||
};
|
||||
|
||||
/**
|
||||
|
|
@ -789,9 +789,9 @@
|
|||
|
||||
MessageViewMailBoxUserView.prototype.editMessage = function ()
|
||||
{
|
||||
if (Data.message())
|
||||
if (MessageStore.message())
|
||||
{
|
||||
kn.showScreenPopup(require('View/Popup/Compose'), [Enums.ComposeType.Draft, Data.message()]);
|
||||
kn.showScreenPopup(require('View/Popup/Compose'), [Enums.ComposeType.Draft, MessageStore.message()]);
|
||||
}
|
||||
};
|
||||
|
||||
|
|
|
|||
|
|
@ -6,11 +6,6 @@
|
|||
var
|
||||
_ = require('_'),
|
||||
|
||||
Links = require('Common/Links'),
|
||||
|
||||
Data = require('Storage/User/Data'),
|
||||
Cache = require('Storage/User/Cache'),
|
||||
|
||||
kn = require('Knoin/Knoin'),
|
||||
AbstractView = require('Knoin/AbstractView')
|
||||
;
|
||||
|
|
@ -31,12 +26,13 @@
|
|||
|
||||
PaneSettingsUserView.prototype.onShow = function ()
|
||||
{
|
||||
Data.message(null);
|
||||
require('Stores/User/Message').message(null);
|
||||
};
|
||||
|
||||
PaneSettingsUserView.prototype.backToMailBoxClick = function ()
|
||||
{
|
||||
kn.setHash(Links.inbox(Cache.getFolderInboxName()));
|
||||
kn.setHash(require('Common/Links').inbox(
|
||||
require('Storage/User/Cache').getFolderInboxName()));
|
||||
};
|
||||
|
||||
module.exports = PaneSettingsUserView;
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue