TF-1083: approve draft when searching email

This commit is contained in:
ManhNTX
2022-10-21 13:01:32 +07:00
committed by Dat H. Pham
parent 7904a97847
commit 42a93541c6
2 changed files with 43 additions and 25 deletions
@@ -654,31 +654,45 @@ class MailboxDashBoardController extends ReloadableController {
List<PresentationEmail> listEmails, List<PresentationEmail> listEmails,
PresentationMailbox destinationMailbox PresentationMailbox destinationMailbox
) async { ) async {
if (accountId.value != null && selectedMailbox.value != null) { for (final element in listEmails) {
if (destinationMailbox.isTrash) { final currentMailBox = searchController.isSearchEmailRunning
_moveSelectedEmailMultipleToMailboxAction(accountId.value!, MoveToMailboxRequest( ? element.findMailboxContain(mapMailboxById)
listEmails.listEmailIds, : selectedMailbox.value;
selectedMailbox.value!.id, if (accountId.value != null && currentMailBox != null) {
destinationMailbox.id, if (destinationMailbox.isTrash) {
MoveAction.moving, moveToMailbox(accountId.value!,
EmailActionType.moveToTrash)); MoveToMailboxRequest(
} else if (destinationMailbox.isSpam) { [element].listEmailIds,
_moveSelectedEmailMultipleToMailboxAction(accountId.value!, MoveToMailboxRequest( currentMailBox.id,
listEmails.listEmailIds, destinationMailbox.id,
selectedMailbox.value!.id, MoveAction.moving,
destinationMailbox.id, EmailActionType.moveToTrash,
MoveAction.moving, ),
EmailActionType.moveToSpam)); );
} else { } else if (destinationMailbox.isSpam) {
_moveSelectedEmailMultipleToMailboxAction(accountId.value!, MoveToMailboxRequest( moveToMailbox(accountId.value!,
listEmails.listEmailIds, MoveToMailboxRequest(
selectedMailbox.value!.id, [element].listEmailIds,
destinationMailbox.id, currentMailBox.id,
MoveAction.moving, destinationMailbox.id,
EmailActionType.moveToMailbox, MoveAction.moving,
destinationPath: destinationMailbox.mailboxPath)); EmailActionType.moveToSpam,
),
);
} else {
moveToMailbox(accountId.value!,
MoveToMailboxRequest(
[element].listEmailIds,
currentMailBox.id,
destinationMailbox.id,
MoveAction.moving,
EmailActionType.moveToMailbox,
destinationPath: destinationMailbox.mailboxPath,
),
);
}
}
} }
}
} }
void _moveSelectedEmailMultipleToMailboxAction( void _moveSelectedEmailMultipleToMailboxAction(
@@ -324,7 +324,11 @@ class ThreadController extends BaseController {
} else if (success is MarkAsMailboxReadHasSomeEmailFailure) { } else if (success is MarkAsMailboxReadHasSomeEmailFailure) {
_refreshEmailChanges(currentEmailState: success.currentEmailState); _refreshEmailChanges(currentEmailState: success.currentEmailState);
} else if (success is MoveMultipleEmailToMailboxAllSuccess) { } else if (success is MoveMultipleEmailToMailboxAllSuccess) {
_refreshEmailChanges(currentEmailState: success.currentEmailState); if(searchController.isSearchEmailRunning) {
mailboxDashBoardController.quickSearchEmails();
} else {
_refreshEmailChanges(currentEmailState: success.currentEmailState);
}
} }
}); });
} }