mirror of
https://github.com/the-djmaze/snappymail.git
synced 2026-08-31 04:59:21 +03:00
Centralize current Folder checks to prevent bugs (which there were)
This commit is contained in:
parent
0c90875b61
commit
f451af2188
5 changed files with 46 additions and 80 deletions
|
|
@ -4,8 +4,6 @@ import { Scope } from 'Common/Enums';
|
|||
|
||||
import { ComposeType, FolderType, MessageSetAction } from 'Common/EnumsUser';
|
||||
|
||||
import { UNUSED_OPTION_VALUE } from 'Common/Consts';
|
||||
|
||||
import { doc, leftPanelDisabled, moveAction,
|
||||
Settings, SettingsCapa, SettingsGet,
|
||||
addEventsListeners,
|
||||
|
|
@ -70,6 +68,9 @@ export class MailMessageList extends AbstractViewRight {
|
|||
this.allowDangerousActions = SettingsCapa('DangerousActions');
|
||||
|
||||
this.messageList = MessagelistUserStore;
|
||||
this.archiveAllowed = MessagelistUserStore.archiveAllowed;
|
||||
this.isSpamAllowed = MessagelistUserStore.isSpamAllowed;
|
||||
this.isUnSpamAllowed = MessagelistUserStore.isUnSpamAllowed;
|
||||
|
||||
this.composeInEdit = AppUserStore.composeInEdit;
|
||||
|
||||
|
|
@ -135,25 +136,6 @@ export class MailMessageList extends AbstractViewRight {
|
|||
return c && MessagelistUserStore().length > c;
|
||||
},
|
||||
|
||||
isSpamFolder: () => (FolderUserStore.spamFolder() || 0) === MessagelistUserStore().Folder,
|
||||
|
||||
isTrashFolder: () => (FolderUserStore.trashFolder() || 0) === MessagelistUserStore().Folder,
|
||||
|
||||
isDraftFolder: () => (FolderUserStore.draftsFolder() || 0) === MessagelistUserStore().Folder,
|
||||
|
||||
archiveAllowed: () =>
|
||||
(FolderUserStore.archiveFolder() || 0) !== MessagelistUserStore().Folder
|
||||
&& UNUSED_OPTION_VALUE !== FolderUserStore.archiveFolder()
|
||||
&& !this.isDraftFolder(),
|
||||
|
||||
spamAllowed: () => UNUSED_OPTION_VALUE !== FolderUserStore.spamFolder()
|
||||
&& (FolderUserStore.sentFolder() || 0) !== MessagelistUserStore().Folder
|
||||
&& !this.isDraftFolder(),
|
||||
|
||||
isSpamVisible: () => !this.isSpamFolder() && this.spamAllowed(),
|
||||
|
||||
isUnSpamVisible: () => this.isSpamFolder() && this.spamAllowed(),
|
||||
|
||||
mobileCheckedStateShow: () => ThemeStore.isMobile() ? MessagelistUserStore.listChecked().length : 1,
|
||||
|
||||
mobileCheckedStateHide: () => ThemeStore.isMobile() ? !MessagelistUserStore.listChecked().length : 1,
|
||||
|
|
@ -596,7 +578,7 @@ export class MailMessageList extends AbstractViewRight {
|
|||
!MessagelistUserStore.error() &&
|
||||
!MessagelistUserStore.endThreadUid() &&
|
||||
MessagelistUserStore().length &&
|
||||
(this.isSpamFolder() || this.isTrashFolder())
|
||||
(MessagelistUserStore.isSpamFolder() || MessagelistUserStore.isTrashFolder())
|
||||
);
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -1,7 +1,4 @@
|
|||
import ko from 'ko';
|
||||
import { koComputable } from 'External/ko';
|
||||
|
||||
import { UNUSED_OPTION_VALUE } from 'Common/Consts';
|
||||
|
||||
import { Scope } from 'Common/Enums';
|
||||
|
||||
|
|
@ -74,10 +71,10 @@ export class MailMessageView extends AbstractViewRight {
|
|||
*/
|
||||
createCommand = (fExecute, fCanExecute) => {
|
||||
let fResult = () => {
|
||||
fResult.canExecute() && fExecute.call(null);
|
||||
fCanExecute() && fExecute.call(null);
|
||||
return false;
|
||||
};
|
||||
fResult.canExecute = koComputable(() => fCanExecute());
|
||||
fResult.canExecute = fCanExecute;
|
||||
return fResult;
|
||||
},
|
||||
|
||||
|
|
@ -114,8 +111,13 @@ export class MailMessageView extends AbstractViewRight {
|
|||
const attachmentsActions = Settings.app('attachmentsActions');
|
||||
this.attachmentsActions = ko.observableArray(arrayLength(attachmentsActions) ? attachmentsActions : []);
|
||||
|
||||
this.message = MessageUserStore.message;
|
||||
this.hasCheckedMessages = MessagelistUserStore.hasCheckedMessages;
|
||||
this.isDraftFolder = MessagelistUserStore.isDraftFolder;
|
||||
this.archiveAllowed = MessagelistUserStore.archiveAllowed;
|
||||
this.isSpamAllowed = MessagelistUserStore.isSpamAllowed;
|
||||
this.isUnSpamAllowed = MessagelistUserStore.isUnSpamAllowed;
|
||||
|
||||
this.message = MessageUserStore.message;
|
||||
this.messageLoadingThrottle = MessageUserStore.loading;
|
||||
this.messagesBodiesDom = MessageUserStore.bodiesDom;
|
||||
this.messageError = MessageUserStore.error;
|
||||
|
|
@ -142,7 +144,7 @@ export class MailMessageView extends AbstractViewRight {
|
|||
|
||||
messageVisibility: () => !MessageUserStore.loading() && !!currentMessage(),
|
||||
|
||||
canBeRepliedOrForwarded: () => !this.isDraftFolder() && this.messageVisibility(),
|
||||
canBeRepliedOrForwarded: () => !MessagelistUserStore.isDraftFolder() && this.messageVisibility(),
|
||||
|
||||
viewFromDkimVisibility: () => 'none' !== this.viewFromDkimData()[0],
|
||||
|
||||
|
|
@ -441,53 +443,11 @@ export class MailMessageView extends AbstractViewRight {
|
|||
});
|
||||
}
|
||||
|
||||
/**
|
||||
* @returns {boolean}
|
||||
*/
|
||||
isDraftFolder() {
|
||||
return currentMessage() && FolderUserStore.draftsFolder() === currentMessage().folder;
|
||||
}
|
||||
|
||||
/**
|
||||
* @returns {boolean}
|
||||
*/
|
||||
isSentFolder() {
|
||||
return currentMessage() && FolderUserStore.sentFolder() === currentMessage().folder;
|
||||
}
|
||||
|
||||
/**
|
||||
* @returns {boolean}
|
||||
*/
|
||||
isSpamFolder() {
|
||||
return currentMessage() && FolderUserStore.spamFolder() === currentMessage().folder;
|
||||
}
|
||||
|
||||
/**
|
||||
* @returns {boolean}
|
||||
*/
|
||||
isSpamDisabled() {
|
||||
return currentMessage() && FolderUserStore.spamFolder() === UNUSED_OPTION_VALUE;
|
||||
}
|
||||
|
||||
/**
|
||||
* @returns {boolean}
|
||||
*/
|
||||
isArchiveFolder() {
|
||||
return currentMessage() && FolderUserStore.archiveFolder() === currentMessage().folder;
|
||||
}
|
||||
|
||||
/**
|
||||
* @returns {boolean}
|
||||
*/
|
||||
isArchiveDisabled() {
|
||||
return currentMessage() && FolderUserStore.archiveFolder() === UNUSED_OPTION_VALUE;
|
||||
}
|
||||
|
||||
/**
|
||||
* @returns {boolean}
|
||||
*/
|
||||
isDraftOrSentFolder() {
|
||||
return this.isDraftFolder() || this.isSentFolder();
|
||||
return MessagelistUserStore.isDraftFolder() || MessagelistUserStore.isSentFolder();
|
||||
}
|
||||
|
||||
composeClick() {
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue