mirror of
https://github.com/the-djmaze/snappymail.git
synced 2026-08-29 03:59:21 +03:00
Improved reviveFromJson() for *Model
This commit is contained in:
parent
f4b2fddf5e
commit
76c4f62186
18 changed files with 226 additions and 341 deletions
|
|
@ -643,7 +643,7 @@ class ComposePopupView extends AbstractViewNext {
|
|||
|
||||
if (this.bFromDraft) {
|
||||
const message = MessageStore.message();
|
||||
if (message && this.draftFolder() === message.folderFullNameRaw && this.draftUid() === message.uid) {
|
||||
if (message && this.draftFolder() === message.folder && this.draftUid() === message.uid) {
|
||||
MessageStore.message(null);
|
||||
}
|
||||
}
|
||||
|
|
@ -905,7 +905,7 @@ class ComposePopupView extends AbstractViewNext {
|
|||
this.to(this.emailArrayToStringLineHelper(message.replyEmails(excludeEmail)));
|
||||
this.subject(replySubjectAdd('Re', sSubject));
|
||||
this.prepareMessageAttachments(message, lineComposeType);
|
||||
this.aDraftInfo = ['reply', message.uid, message.folderFullNameRaw];
|
||||
this.aDraftInfo = ['reply', message.uid, message.folder];
|
||||
this.sInReplyTo = message.sMessageId;
|
||||
this.sReferences = (this.sInReplyTo + ' ' + message.sReferences).trim();
|
||||
break;
|
||||
|
|
@ -916,15 +916,15 @@ class ComposePopupView extends AbstractViewNext {
|
|||
this.cc(this.emailArrayToStringLineHelper(resplyAllParts[1]));
|
||||
this.subject(replySubjectAdd('Re', sSubject));
|
||||
this.prepareMessageAttachments(message, lineComposeType);
|
||||
this.aDraftInfo = ['reply', message.uid, message.folderFullNameRaw];
|
||||
this.aDraftInfo = ['reply', message.uid, message.folder];
|
||||
this.sInReplyTo = message.sMessageId;
|
||||
this.sReferences = (this.sInReplyTo + ' ' + message.references()).trim();
|
||||
this.sReferences = (this.sInReplyTo + ' ' + message.references).trim();
|
||||
break;
|
||||
|
||||
case ComposeType.Forward:
|
||||
this.subject(replySubjectAdd('Fwd', sSubject));
|
||||
this.prepareMessageAttachments(message, lineComposeType);
|
||||
this.aDraftInfo = ['forward', message.uid, message.folderFullNameRaw];
|
||||
this.aDraftInfo = ['forward', message.uid, message.folder];
|
||||
this.sInReplyTo = message.sMessageId;
|
||||
this.sReferences = (this.sInReplyTo + ' ' + message.sReferences).trim();
|
||||
break;
|
||||
|
|
@ -932,7 +932,7 @@ class ComposePopupView extends AbstractViewNext {
|
|||
case ComposeType.ForwardAsAttachment:
|
||||
this.subject(replySubjectAdd('Fwd', sSubject));
|
||||
this.prepareMessageAttachments(message, lineComposeType);
|
||||
this.aDraftInfo = ['forward', message.uid, message.folderFullNameRaw];
|
||||
this.aDraftInfo = ['forward', message.uid, message.folder];
|
||||
this.sInReplyTo = message.sMessageId;
|
||||
this.sReferences = (this.sInReplyTo + ' ' + message.sReferences).trim();
|
||||
break;
|
||||
|
|
@ -945,7 +945,7 @@ class ComposePopupView extends AbstractViewNext {
|
|||
|
||||
this.bFromDraft = true;
|
||||
|
||||
this.draftFolder(message.folderFullNameRaw);
|
||||
this.draftFolder(message.folder);
|
||||
this.draftUid(message.uid);
|
||||
|
||||
this.subject(sSubject);
|
||||
|
|
|
|||
|
|
@ -230,7 +230,7 @@ class MessageListMailBoxUserView extends AbstractViewNext {
|
|||
const sFolder = e.detail.Folder, sUid = e.detail.Uid;
|
||||
|
||||
const message = this.messageList().find(
|
||||
item => item && sFolder === item.folderFullNameRaw && sUid === item.uid
|
||||
item => item && sFolder === item.folder && sUid === item.uid
|
||||
);
|
||||
|
||||
if ('INBOX' === sFolder) {
|
||||
|
|
@ -503,11 +503,11 @@ class MessageListMailBoxUserView extends AbstractViewNext {
|
|||
folder = getFolderFromCacheList(sFolderFullNameRaw);
|
||||
if (folder) {
|
||||
MessageStore.messageList().forEach(message => {
|
||||
if (message.unseen()) {
|
||||
if (message.isUnseen()) {
|
||||
++cnt;
|
||||
}
|
||||
|
||||
message.unseen(false);
|
||||
message.isUnseen(false);
|
||||
uids.push(message.uid);
|
||||
});
|
||||
|
||||
|
|
@ -529,11 +529,11 @@ class MessageListMailBoxUserView extends AbstractViewNext {
|
|||
folder = getFolderFromCacheList(sFolderFullNameRaw);
|
||||
if (folder) {
|
||||
MessageStore.messageList().forEach(message => {
|
||||
if (!message.unseen()) {
|
||||
if (!message.isUnseen()) {
|
||||
++cnt;
|
||||
}
|
||||
|
||||
message.unseen(true);
|
||||
message.isUnseen(true);
|
||||
uids.push(message.uid);
|
||||
});
|
||||
|
||||
|
|
@ -605,14 +605,14 @@ class MessageListMailBoxUserView extends AbstractViewNext {
|
|||
const checkedUids = checked.map(message => message.uid);
|
||||
if (checkedUids.includes(currentMessage.uid)) {
|
||||
this.setAction(
|
||||
currentMessage.folderFullNameRaw,
|
||||
currentMessage.flagged() ? MessageSetAction.UnsetFlag : MessageSetAction.SetFlag,
|
||||
currentMessage.folder,
|
||||
currentMessage.isFlagged() ? MessageSetAction.UnsetFlag : MessageSetAction.SetFlag,
|
||||
checked
|
||||
);
|
||||
} else {
|
||||
this.setAction(
|
||||
currentMessage.folderFullNameRaw,
|
||||
currentMessage.flagged() ? MessageSetAction.UnsetFlag : MessageSetAction.SetFlag,
|
||||
currentMessage.folder,
|
||||
currentMessage.isFlagged() ? MessageSetAction.UnsetFlag : MessageSetAction.SetFlag,
|
||||
[currentMessage]
|
||||
);
|
||||
}
|
||||
|
|
@ -623,15 +623,15 @@ class MessageListMailBoxUserView extends AbstractViewNext {
|
|||
const checked = this.messageListCheckedOrSelected();
|
||||
if (checked.length) {
|
||||
if (undefined === bFlag) {
|
||||
const flagged = checked.filter(message => message.flagged());
|
||||
const flagged = checked.filter(message => message.isFlagged());
|
||||
this.setAction(
|
||||
checked[0].folderFullNameRaw,
|
||||
checked[0].folder,
|
||||
checked.length === flagged.length ? MessageSetAction.UnsetFlag : MessageSetAction.SetFlag,
|
||||
checked
|
||||
);
|
||||
} else {
|
||||
this.setAction(
|
||||
checked[0].folderFullNameRaw,
|
||||
checked[0].folder,
|
||||
!bFlag ? MessageSetAction.UnsetFlag : MessageSetAction.SetFlag,
|
||||
checked
|
||||
);
|
||||
|
|
@ -643,15 +643,15 @@ class MessageListMailBoxUserView extends AbstractViewNext {
|
|||
const checked = this.messageListCheckedOrSelected();
|
||||
if (checked.length) {
|
||||
if (undefined === seen) {
|
||||
const unseen = checked.filter(message => message.unseen());
|
||||
const unseen = checked.filter(message => message.isUnseen());
|
||||
this.setAction(
|
||||
checked[0].folderFullNameRaw,
|
||||
checked[0].folder,
|
||||
unseen.length ? MessageSetAction.SetSeen : MessageSetAction.UnsetSeen,
|
||||
checked
|
||||
);
|
||||
} else {
|
||||
this.setAction(
|
||||
checked[0].folderFullNameRaw,
|
||||
checked[0].folder,
|
||||
seen ? MessageSetAction.SetSeen : MessageSetAction.UnsetSeen,
|
||||
checked
|
||||
);
|
||||
|
|
@ -875,12 +875,12 @@ class MessageListMailBoxUserView extends AbstractViewNext {
|
|||
prefetchNextTick() {
|
||||
if (ifvisible && !this.bPrefetch && !ifvisible.now() && this.viewModelVisible) {
|
||||
const message = this.messageList().find(
|
||||
item => item && !hasRequestedMessage(item.folderFullNameRaw, item.uid)
|
||||
item => item && !hasRequestedMessage(item.folder, item.uid)
|
||||
);
|
||||
if (message) {
|
||||
this.bPrefetch = true;
|
||||
|
||||
addRequestedMessage(message.folderFullNameRaw, message.uid);
|
||||
addRequestedMessage(message.folder, message.uid);
|
||||
|
||||
Remote.message(
|
||||
(result, data) => {
|
||||
|
|
@ -890,7 +890,7 @@ class MessageListMailBoxUserView extends AbstractViewNext {
|
|||
next && this.prefetchNextTick();
|
||||
}, 1000);
|
||||
},
|
||||
message.folderFullNameRaw,
|
||||
message.folder,
|
||||
message.uid
|
||||
);
|
||||
}
|
||||
|
|
|
|||
|
|
@ -60,7 +60,7 @@ class MessageViewMailBoxUserView extends AbstractViewNext {
|
|||
const message = this.message();
|
||||
if (message && this.allowMessageListActions) {
|
||||
this.message(null);
|
||||
rl.app.deleteMessagesFromFolder(folderType, message.folderFullNameRaw, [message.uid], useFolder);
|
||||
rl.app.deleteMessagesFromFolder(folderType, message.folder, [message.uid], useFolder);
|
||||
}
|
||||
}, this.messageVisibility);
|
||||
|
||||
|
|
@ -226,7 +226,7 @@ class MessageViewMailBoxUserView extends AbstractViewNext {
|
|||
this.scrollMessageToTop();
|
||||
}
|
||||
|
||||
this.viewFolder = message.folderFullNameRaw;
|
||||
this.viewFolder = message.folder;
|
||||
this.viewUid = message.uid;
|
||||
this.viewHash = message.hash;
|
||||
this.viewSubject(message.subject());
|
||||
|
|
@ -245,7 +245,7 @@ class MessageViewMailBoxUserView extends AbstractViewNext {
|
|||
this.viewUnsubscribeLink(message.getFirstUnsubsribeLink());
|
||||
this.viewDownloadLink(message.downloadLink());
|
||||
this.viewIsImportant(message.isImportant());
|
||||
this.viewIsFlagged(message.flagged());
|
||||
this.viewIsFlagged(message.isFlagged());
|
||||
} else {
|
||||
this.viewFolder = '';
|
||||
this.viewUid = '';
|
||||
|
|
@ -257,7 +257,7 @@ class MessageViewMailBoxUserView extends AbstractViewNext {
|
|||
|
||||
this.message.viewTrigger.subscribe(() => {
|
||||
const message = this.message();
|
||||
message ? this.viewIsFlagged(message.flagged()) : this.viewIsFlagged(false);
|
||||
message ? this.viewIsFlagged(message.isFlagged()) : this.viewIsFlagged(false);
|
||||
});
|
||||
|
||||
this.fullScreenMode.subscribe(value => $htmlCL.toggle('rl-message-fullscreen', value));
|
||||
|
|
@ -467,8 +467,8 @@ class MessageViewMailBoxUserView extends AbstractViewNext {
|
|||
// eslint-disable-line prefer-arrow-callback
|
||||
const message = this.message();
|
||||
message && rl.app.messageListAction(
|
||||
message.folderFullNameRaw,
|
||||
message.flagged() ? MessageSetAction.UnsetFlag : MessageSetAction.SetFlag,
|
||||
message.folder,
|
||||
message.isFlagged() ? MessageSetAction.UnsetFlag : MessageSetAction.SetFlag,
|
||||
[message]
|
||||
);
|
||||
}
|
||||
|
|
@ -479,7 +479,7 @@ class MessageViewMailBoxUserView extends AbstractViewNext {
|
|||
const message = ko.dataFor(el); // eslint-disable-line no-invalid-this
|
||||
message && message.folder && message.uid && rl.app.messageListAction(
|
||||
message.folder,
|
||||
message.flagged() ? MessageSetAction.UnsetFlag : MessageSetAction.SetFlag,
|
||||
message.isFlagged() ? MessageSetAction.UnsetFlag : MessageSetAction.SetFlag,
|
||||
[message]
|
||||
);
|
||||
|
||||
|
|
@ -639,21 +639,21 @@ class MessageViewMailBoxUserView extends AbstractViewNext {
|
|||
* @returns {boolean}
|
||||
*/
|
||||
isDraftFolder() {
|
||||
return MessageStore.message() && FolderStore.draftFolder() === MessageStore.message().folderFullNameRaw;
|
||||
return MessageStore.message() && FolderStore.draftFolder() === MessageStore.message().folder;
|
||||
}
|
||||
|
||||
/**
|
||||
* @returns {boolean}
|
||||
*/
|
||||
isSentFolder() {
|
||||
return MessageStore.message() && FolderStore.sentFolder() === MessageStore.message().folderFullNameRaw;
|
||||
return MessageStore.message() && FolderStore.sentFolder() === MessageStore.message().folder;
|
||||
}
|
||||
|
||||
/**
|
||||
* @returns {boolean}
|
||||
*/
|
||||
isSpamFolder() {
|
||||
return MessageStore.message() && FolderStore.spamFolder() === MessageStore.message().folderFullNameRaw;
|
||||
return MessageStore.message() && FolderStore.spamFolder() === MessageStore.message().folder;
|
||||
}
|
||||
|
||||
/**
|
||||
|
|
@ -667,7 +667,7 @@ class MessageViewMailBoxUserView extends AbstractViewNext {
|
|||
* @returns {boolean}
|
||||
*/
|
||||
isArchiveFolder() {
|
||||
return MessageStore.message() && FolderStore.archiveFolder() === MessageStore.message().folderFullNameRaw;
|
||||
return MessageStore.message() && FolderStore.archiveFolder() === MessageStore.message().folder;
|
||||
}
|
||||
|
||||
/**
|
||||
|
|
@ -762,7 +762,7 @@ class MessageViewMailBoxUserView extends AbstractViewNext {
|
|||
if (oMessage && oMessage.readReceipt()) {
|
||||
Remote.sendReadReceiptMessage(
|
||||
()=>{},
|
||||
oMessage.folderFullNameRaw,
|
||||
oMessage.folder,
|
||||
oMessage.uid,
|
||||
oMessage.readReceipt(),
|
||||
i18n('READ_RECEIPT/SUBJECT', { 'SUBJECT': oMessage.subject() }),
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue