TF-3939 Handle archive selection email on mobile view
Signed-off-by: dab246 <tdvu@linagora.com>
This commit is contained in:
@@ -9,7 +9,6 @@ class LoadingMoveMultipleEmailToMailboxAll extends UIState {}
|
||||
|
||||
class MoveMultipleEmailToMailboxAllSuccess extends UIState {
|
||||
final List<EmailId> movedListEmailId;
|
||||
final MailboxId currentMailboxId;
|
||||
final MailboxId destinationMailboxId;
|
||||
final MoveAction moveAction;
|
||||
final EmailActionType emailActionType;
|
||||
@@ -19,7 +18,6 @@ class MoveMultipleEmailToMailboxAllSuccess extends UIState {
|
||||
|
||||
MoveMultipleEmailToMailboxAllSuccess(
|
||||
this.movedListEmailId,
|
||||
this.currentMailboxId,
|
||||
this.destinationMailboxId,
|
||||
this.moveAction,
|
||||
this.emailActionType,
|
||||
@@ -33,7 +31,6 @@ class MoveMultipleEmailToMailboxAllSuccess extends UIState {
|
||||
@override
|
||||
List<Object?> get props => [
|
||||
movedListEmailId,
|
||||
currentMailboxId,
|
||||
destinationMailboxId,
|
||||
moveAction,
|
||||
emailActionType,
|
||||
@@ -55,7 +52,6 @@ class MoveMultipleEmailToMailboxAllFailure extends FeatureFailure {
|
||||
|
||||
class MoveMultipleEmailToMailboxHasSomeEmailFailure extends UIState {
|
||||
final List<EmailId> movedListEmailId;
|
||||
final MailboxId currentMailboxId;
|
||||
final MailboxId destinationMailboxId;
|
||||
final MoveAction moveAction;
|
||||
final EmailActionType emailActionType;
|
||||
@@ -65,7 +61,6 @@ class MoveMultipleEmailToMailboxHasSomeEmailFailure extends UIState {
|
||||
|
||||
MoveMultipleEmailToMailboxHasSomeEmailFailure(
|
||||
this.movedListEmailId,
|
||||
this.currentMailboxId,
|
||||
this.destinationMailboxId,
|
||||
this.moveAction,
|
||||
this.emailActionType,
|
||||
@@ -79,7 +74,6 @@ class MoveMultipleEmailToMailboxHasSomeEmailFailure extends UIState {
|
||||
@override
|
||||
List<Object?> get props => [
|
||||
movedListEmailId,
|
||||
currentMailboxId,
|
||||
destinationMailboxId,
|
||||
moveAction,
|
||||
emailActionType,
|
||||
|
||||
@@ -29,7 +29,6 @@ class MoveMultipleEmailToMailboxInteractor {
|
||||
if (moveRequest.totalEmails == result.emailIdsSuccess.length) {
|
||||
yield Right(MoveMultipleEmailToMailboxAllSuccess(
|
||||
result.emailIdsSuccess,
|
||||
moveRequest.currentMailboxes.keys.first,
|
||||
moveRequest.destinationMailboxId,
|
||||
moveRequest.moveAction,
|
||||
moveRequest.emailActionType,
|
||||
@@ -52,7 +51,6 @@ class MoveMultipleEmailToMailboxInteractor {
|
||||
.where((emailId, _) => result.emailIdsSuccess.contains(emailId));
|
||||
yield Right(MoveMultipleEmailToMailboxHasSomeEmailFailure(
|
||||
result.emailIdsSuccess,
|
||||
moveRequest.currentMailboxes.keys.first,
|
||||
moveRequest.destinationMailboxId,
|
||||
moveRequest.moveAction,
|
||||
moveRequest.emailActionType,
|
||||
|
||||
@@ -25,6 +25,7 @@ import 'package:tmail_ui_user/features/email/domain/model/move_to_mailbox_reques
|
||||
import 'package:tmail_ui_user/features/email/presentation/model/composer_arguments.dart';
|
||||
import 'package:tmail_ui_user/features/mailbox/presentation/model/mailbox_actions.dart';
|
||||
import 'package:tmail_ui_user/features/mailbox_dashboard/presentation/controller/mailbox_dashboard_controller.dart';
|
||||
import 'package:tmail_ui_user/features/mailbox_dashboard/presentation/extensions/handle_action_type_for_email_selection.dart';
|
||||
import 'package:tmail_ui_user/features/mailbox_dashboard/presentation/extensions/open_and_close_composer_extension.dart';
|
||||
import 'package:tmail_ui_user/features/thread/presentation/model/delete_action_type.dart';
|
||||
import 'package:tmail_ui_user/main/localizations/app_localizations.dart';
|
||||
@@ -290,21 +291,35 @@ mixin EmailActionController {
|
||||
mailboxDashBoardController.markAsStarSelectedMultipleEmail(listEmails, markStarAction);
|
||||
}
|
||||
|
||||
void moveSelectedMultipleEmailToMailbox(
|
||||
List<PresentationEmail> listEmails,
|
||||
PresentationMailbox mailboxCurrent
|
||||
) {
|
||||
mailboxDashBoardController.moveSelectedMultipleEmailToMailbox(
|
||||
void moveEmailsToMailbox(
|
||||
List<PresentationEmail> listEmails, {
|
||||
VoidCallback? onCallbackAction,
|
||||
}) {
|
||||
mailboxDashBoardController.moveEmailsToMailbox(
|
||||
listEmails,
|
||||
mailboxCurrent);
|
||||
onCallbackAction: onCallbackAction,
|
||||
);
|
||||
}
|
||||
|
||||
void moveSelectedMultipleEmailToTrash(List<PresentationEmail> listEmails, PresentationMailbox mailboxCurrent) {
|
||||
mailboxDashBoardController.moveSelectedMultipleEmailToTrash(listEmails, mailboxCurrent);
|
||||
void moveEmailsToTrash(List<PresentationEmail> listEmails) {
|
||||
mailboxDashBoardController.moveEmailsToFolder(
|
||||
listEmails,
|
||||
EmailActionType.moveToTrash,
|
||||
);
|
||||
}
|
||||
|
||||
void moveSelectedMultipleEmailToSpam(List<PresentationEmail> listEmails, PresentationMailbox mailboxCurrent) {
|
||||
mailboxDashBoardController.moveSelectedMultipleEmailToSpam(listEmails, mailboxCurrent);
|
||||
void moveEmailsToArchive(List<PresentationEmail> listEmails) {
|
||||
mailboxDashBoardController.moveEmailsToFolder(
|
||||
listEmails,
|
||||
EmailActionType.archiveMessage,
|
||||
);
|
||||
}
|
||||
|
||||
void moveEmailsToSpam(List<PresentationEmail> listEmails) {
|
||||
mailboxDashBoardController.moveEmailsToFolder(
|
||||
listEmails,
|
||||
EmailActionType.moveToSpam,
|
||||
);
|
||||
}
|
||||
|
||||
void unSpamSelectedMultipleEmail(List<PresentationEmail> listEmails) {
|
||||
|
||||
@@ -1109,22 +1109,11 @@ class ThreadController extends BaseController with EmailActionController {
|
||||
markAsStarSelectedMultipleEmail(selectionEmail, MarkStarAction.unMarkStar);
|
||||
break;
|
||||
case EmailActionType.moveToMailbox:
|
||||
cancelSelectEmail();
|
||||
final mailboxContainCurrent = searchController.isSearchEmailRunning
|
||||
? selectionEmail.getCurrentMailboxContain(mailboxDashBoardController.mapMailboxById)
|
||||
: selectedMailbox;
|
||||
if (mailboxContainCurrent != null) {
|
||||
moveSelectedMultipleEmailToMailbox(selectionEmail, mailboxContainCurrent);
|
||||
}
|
||||
moveEmailsToMailbox(selectionEmail, onCallbackAction: cancelSelectEmail);
|
||||
break;
|
||||
case EmailActionType.moveToTrash:
|
||||
cancelSelectEmail();
|
||||
final mailboxContainCurrent = searchController.isSearchEmailRunning
|
||||
? selectionEmail.getCurrentMailboxContain(mailboxDashBoardController.mapMailboxById)
|
||||
: selectedMailbox;
|
||||
if (mailboxContainCurrent != null) {
|
||||
moveSelectedMultipleEmailToTrash(selectionEmail, mailboxContainCurrent);
|
||||
}
|
||||
moveEmailsToTrash(selectionEmail);
|
||||
break;
|
||||
case EmailActionType.deletePermanently:
|
||||
final mailboxContainCurrent = searchController.isSearchEmailRunning
|
||||
@@ -1141,17 +1130,16 @@ class ThreadController extends BaseController with EmailActionController {
|
||||
break;
|
||||
case EmailActionType.moveToSpam:
|
||||
cancelSelectEmail();
|
||||
final mailboxContainCurrent = searchController.isSearchEmailRunning
|
||||
? selectionEmail.getCurrentMailboxContain(mailboxDashBoardController.mapMailboxById)
|
||||
: selectedMailbox;
|
||||
if (mailboxContainCurrent != null) {
|
||||
moveSelectedMultipleEmailToSpam(selectionEmail, mailboxContainCurrent);
|
||||
}
|
||||
moveEmailsToSpam(selectionEmail);
|
||||
break;
|
||||
case EmailActionType.unSpam:
|
||||
cancelSelectEmail();
|
||||
unSpamSelectedMultipleEmail(selectionEmail);
|
||||
break;
|
||||
case EmailActionType.archiveMessage:
|
||||
cancelSelectEmail();
|
||||
moveEmailsToArchive(selectionEmail);
|
||||
break;
|
||||
default:
|
||||
break;
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user