TF-3939 Display minor action on menu in mobile search view

Signed-off-by: dab246 <tdvu@linagora.com>
This commit is contained in:
dab246
2025-08-05 13:39:44 +07:00
committed by Dat H. Pham
parent 6fcccfd09a
commit 6c069d69f6
13 changed files with 280 additions and 329 deletions
@@ -37,45 +37,31 @@ extension ListPresentationEmailExtension on List<PresentationEmail> {
return result;
}
bool isAllCanDeletePermanently(Map<MailboxId, PresentationMailbox> mapMailbox) {
final listMailboxContain = map((email) => email.findMailboxContain(mapMailbox))
.whereType<PresentationMailbox>()
.toList();
final stateDelete = listMailboxContain.every((mailbox) => mailbox.isTrash) ||
listMailboxContain.every((mailbox) => mailbox.isDrafts) ||
listMailboxContain.every((mailbox) => mailbox.isSpam);
return stateDelete;
bool isDeletePermanentlyDisabled(
Map<MailboxId, PresentationMailbox> mapMailbox,
) {
return any((email) {
final mailboxContain = email.findMailboxContain(mapMailbox);
return mailboxContain?.isDeletePermanentlyEnabled != true;
});
}
bool isAllCanSpamAndMove(Map<MailboxId, PresentationMailbox> mapMailbox) {
final listMailboxContain = map((email) => email.findMailboxContain(mapMailbox))
.whereType<PresentationMailbox>()
.toList();
return listMailboxContain.every((mailbox) => !mailbox.isDrafts) &&
isAllBelongToTheSameMailbox(mapMailbox);
bool isArchiveMessageEnabled(
Map<MailboxId, PresentationMailbox> mapMailbox,
) {
return any((email) {
final mailboxContain = email.findMailboxContain(mapMailbox);
return mailboxContain?.isArchive != true;
});
}
bool isAllSpam(Map<MailboxId, PresentationMailbox> mapMailbox) {
final listMailboxContain = map((email) => email.findMailboxContain(mapMailbox))
.whereType<PresentationMailbox>()
.toList();
return listMailboxContain.every((mailbox) => mailbox.isSpam);
}
bool isAllBelongToTheSameMailbox(Map<MailboxId, PresentationMailbox> mapMailbox) {
if (isEmpty) {
return false;
}
final firstEmail = first;
final firstMailboxContain = firstEmail.findMailboxContain(mapMailbox);
if (firstMailboxContain != null) {
return every((email) {
final mailboxContain = email.findMailboxContain(mapMailbox);
return mailboxContain?.id == firstMailboxContain.id;
});
} else {
return false;
}
bool isMarkAsSpamEnabled(
Map<MailboxId, PresentationMailbox> mapMailbox,
) {
return any((email) {
final mailboxContain = email.findMailboxContain(mapMailbox);
return mailboxContain?.isSpam != true;
});
}
PresentationMailbox? getCurrentMailboxContain(Map<MailboxId, PresentationMailbox> mapMailbox) {
@@ -85,7 +71,7 @@ extension ListPresentationEmailExtension on List<PresentationEmail> {
List<PresentationEmail> listEmailCanSpam(Map<MailboxId, PresentationMailbox> mapMailbox) {
final newListEmails = map((email) {
final mailboxContain = email.findMailboxContain(mapMailbox);
if (mailboxContain?.isSpam == false) {
if (mailboxContain?.isSpam != true) {
return email;
} else {
return null;