mirror of
https://github.com/the-djmaze/snappymail.git
synced 2026-08-29 20:19:22 +03:00
Small fixes
This commit is contained in:
parent
d3f8fa4308
commit
0e9cffd657
10 changed files with 150 additions and 89 deletions
|
|
@ -513,23 +513,26 @@ class MessageListMailBoxUserView extends AbstractViewNext
|
|||
|
||||
/**
|
||||
* @param {string} sFolderFullNameRaw
|
||||
* @param {string|bool} mUid
|
||||
* @param {number} iSetAction
|
||||
* @param {Array=} aMessages = null
|
||||
* @returns {void}
|
||||
*/
|
||||
setAction(sFolderFullNameRaw, mUid, iSetAction, aMessages) {
|
||||
getApp().messageListAction(sFolderFullNameRaw, mUid, iSetAction, aMessages);
|
||||
setAction(sFolderFullNameRaw, iSetAction, aMessages) {
|
||||
getApp().messageListAction(sFolderFullNameRaw, iSetAction, aMessages);
|
||||
}
|
||||
|
||||
/**
|
||||
* @param {string} sFolderFullNameRaw
|
||||
* @param {number} iSetAction
|
||||
* @param {string} sThreadUid = ''
|
||||
* @returns {void}
|
||||
*/
|
||||
setActionForAll(sFolderFullNameRaw, iSetAction) {
|
||||
setActionForAll(sFolderFullNameRaw, iSetAction, sThreadUid = '') {
|
||||
if ('' !== sFolderFullNameRaw)
|
||||
{
|
||||
let cnt = 0;
|
||||
const uids = [];
|
||||
|
||||
let folder = getFolderFromCacheList(sFolderFullNameRaw);
|
||||
if (folder)
|
||||
{
|
||||
|
|
@ -540,27 +543,64 @@ class MessageListMailBoxUserView extends AbstractViewNext
|
|||
if (folder)
|
||||
{
|
||||
_.each(MessageStore.messageList(), (message) => {
|
||||
if (message.unseen())
|
||||
{
|
||||
cnt++;
|
||||
}
|
||||
|
||||
message.unseen(false);
|
||||
uids.push(message.uid);
|
||||
});
|
||||
|
||||
folder.messageCountUnread(0);
|
||||
if (sThreadUid)
|
||||
{
|
||||
folder.messageCountUnread(folder.messageCountUnread() - cnt);
|
||||
if (0 > folder.messageCountUnread())
|
||||
{
|
||||
folder.messageCountUnread(0);
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
folder.messageCountUnread(0);
|
||||
}
|
||||
|
||||
clearMessageFlagsFromCacheByFolder(sFolderFullNameRaw);
|
||||
}
|
||||
|
||||
Remote.messageSetSeenToAll(noop, sFolderFullNameRaw, true);
|
||||
Remote.messageSetSeenToAll(noop, sFolderFullNameRaw, true, sThreadUid ? uids : null);
|
||||
break;
|
||||
case MessageSetAction.UnsetSeen:
|
||||
folder = getFolderFromCacheList(sFolderFullNameRaw);
|
||||
if (folder)
|
||||
{
|
||||
_.each(MessageStore.messageList(), (message) => {
|
||||
if (!message.unseen())
|
||||
{
|
||||
cnt++;
|
||||
}
|
||||
|
||||
message.unseen(true);
|
||||
uids.push(message.uid);
|
||||
});
|
||||
|
||||
folder.messageCountUnread(folder.messageCountAll());
|
||||
if (sThreadUid)
|
||||
{
|
||||
folder.messageCountUnread(folder.messageCountUnread() + cnt);
|
||||
if (folder.messageCountAll() < folder.messageCountUnread())
|
||||
{
|
||||
folder.messageCountUnread(folder.messageCountAll());
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
folder.messageCountUnread(folder.messageCountAll());
|
||||
}
|
||||
|
||||
clearMessageFlagsFromCacheByFolder(sFolderFullNameRaw);
|
||||
}
|
||||
Remote.messageSetSeenToAll(noop, sFolderFullNameRaw, false);
|
||||
|
||||
Remote.messageSetSeenToAll(noop, sFolderFullNameRaw, false, sThreadUid ? uids : null);
|
||||
break;
|
||||
// no default
|
||||
}
|
||||
|
|
@ -571,26 +611,26 @@ class MessageListMailBoxUserView extends AbstractViewNext
|
|||
}
|
||||
|
||||
listSetSeen() {
|
||||
this.setAction(FolderStore.currentFolderFullNameRaw(), true,
|
||||
this.setAction(FolderStore.currentFolderFullNameRaw(),
|
||||
MessageSetAction.SetSeen, MessageStore.messageListCheckedOrSelected());
|
||||
}
|
||||
|
||||
listSetAllSeen() {
|
||||
this.setActionForAll(FolderStore.currentFolderFullNameRaw(), MessageSetAction.SetSeen);
|
||||
this.setActionForAll(FolderStore.currentFolderFullNameRaw(), MessageSetAction.SetSeen, this.messageListEndThreadUid());
|
||||
}
|
||||
|
||||
listUnsetSeen() {
|
||||
this.setAction(FolderStore.currentFolderFullNameRaw(), true,
|
||||
this.setAction(FolderStore.currentFolderFullNameRaw(),
|
||||
MessageSetAction.UnsetSeen, MessageStore.messageListCheckedOrSelected());
|
||||
}
|
||||
|
||||
listSetFlags() {
|
||||
this.setAction(FolderStore.currentFolderFullNameRaw(), true,
|
||||
this.setAction(FolderStore.currentFolderFullNameRaw(),
|
||||
MessageSetAction.SetFlag, MessageStore.messageListCheckedOrSelected());
|
||||
}
|
||||
|
||||
listUnsetFlags() {
|
||||
this.setAction(FolderStore.currentFolderFullNameRaw(), true,
|
||||
this.setAction(FolderStore.currentFolderFullNameRaw(),
|
||||
MessageSetAction.UnsetFlag, MessageStore.messageListCheckedOrSelected());
|
||||
}
|
||||
|
||||
|
|
@ -601,12 +641,12 @@ class MessageListMailBoxUserView extends AbstractViewNext
|
|||
const checkedUids = _.map(checked, (message) => message.uid);
|
||||
if (0 < checkedUids.length && -1 < inArray(currentMessage.uid, checkedUids))
|
||||
{
|
||||
this.setAction(currentMessage.folderFullNameRaw, true, currentMessage.flagged() ?
|
||||
this.setAction(currentMessage.folderFullNameRaw, currentMessage.flagged() ?
|
||||
MessageSetAction.UnsetFlag : MessageSetAction.SetFlag, checked);
|
||||
}
|
||||
else
|
||||
{
|
||||
this.setAction(currentMessage.folderFullNameRaw, true, currentMessage.flagged() ?
|
||||
this.setAction(currentMessage.folderFullNameRaw, currentMessage.flagged() ?
|
||||
MessageSetAction.UnsetFlag : MessageSetAction.SetFlag, [currentMessage]);
|
||||
}
|
||||
}
|
||||
|
|
@ -619,12 +659,12 @@ class MessageListMailBoxUserView extends AbstractViewNext
|
|||
if (isUnd(bFlag))
|
||||
{
|
||||
const flagged = _.filter(checked, (message) => message.flagged());
|
||||
this.setAction(checked[0].folderFullNameRaw, true,
|
||||
this.setAction(checked[0].folderFullNameRaw,
|
||||
checked.length === flagged.length ? MessageSetAction.UnsetFlag : MessageSetAction.SetFlag, checked);
|
||||
}
|
||||
else
|
||||
{
|
||||
this.setAction(checked[0].folderFullNameRaw, true,
|
||||
this.setAction(checked[0].folderFullNameRaw,
|
||||
!bFlag ? MessageSetAction.UnsetFlag : MessageSetAction.SetFlag, checked);
|
||||
}
|
||||
}
|
||||
|
|
@ -637,12 +677,12 @@ class MessageListMailBoxUserView extends AbstractViewNext
|
|||
if (isUnd(seen))
|
||||
{
|
||||
const unseen = _.filter(checked, (message) => message.unseen());
|
||||
this.setAction(checked[0].folderFullNameRaw, true,
|
||||
this.setAction(checked[0].folderFullNameRaw,
|
||||
0 < unseen.length ? MessageSetAction.SetSeen : MessageSetAction.UnsetSeen, checked);
|
||||
}
|
||||
else
|
||||
{
|
||||
this.setAction(checked[0].folderFullNameRaw, true,
|
||||
this.setAction(checked[0].folderFullNameRaw,
|
||||
seen ? MessageSetAction.SetSeen : MessageSetAction.UnsetSeen, checked);
|
||||
}
|
||||
}
|
||||
|
|
@ -676,7 +716,7 @@ class MessageListMailBoxUserView extends AbstractViewNext
|
|||
|
||||
clearListIsVisible() {
|
||||
return '' === this.messageListSearchDesc() && '' === this.messageListError() &&
|
||||
'' === MessageStore.messageListEndThreadUid() &&
|
||||
'' === this.messageListEndThreadUid() &&
|
||||
0 < this.messageList().length && (this.isSpamFolder() || this.isTrashFolder());
|
||||
}
|
||||
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue