TF-3334 Remove resynchronisation when performing actions with emails

This commit is contained in:
dab246
2024-12-18 12:48:43 +07:00
committed by Dat H. Pham
parent 48a035edc9
commit d74951a1ac
3 changed files with 0 additions and 157 deletions
@@ -19,15 +19,7 @@ import 'package:pointer_interceptor/pointer_interceptor.dart';
import 'package:rxdart/transformers.dart';
import 'package:tmail_ui_user/features/base/base_mailbox_controller.dart';
import 'package:tmail_ui_user/features/base/mixin/mailbox_action_handler_mixin.dart';
import 'package:tmail_ui_user/features/composer/domain/state/save_email_as_drafts_state.dart';
import 'package:tmail_ui_user/features/composer/domain/state/send_email_state.dart';
import 'package:tmail_ui_user/features/composer/domain/state/update_email_drafts_state.dart';
import 'package:tmail_ui_user/features/email/domain/model/move_action.dart';
import 'package:tmail_ui_user/features/email/domain/state/delete_email_permanently_state.dart';
import 'package:tmail_ui_user/features/email/domain/state/delete_multiple_emails_permanently_state.dart';
import 'package:tmail_ui_user/features/email/domain/state/get_restored_deleted_message_state.dart';
import 'package:tmail_ui_user/features/email/domain/state/mark_as_email_read_state.dart';
import 'package:tmail_ui_user/features/email/domain/state/move_to_mailbox_state.dart';
import 'package:tmail_ui_user/features/email/presentation/model/composer_arguments.dart';
import 'package:tmail_ui_user/features/home/data/exceptions/session_exceptions.dart';
import 'package:tmail_ui_user/features/mailbox/domain/constants/mailbox_constants.dart';
@@ -44,7 +36,6 @@ import 'package:tmail_ui_user/features/mailbox/domain/state/create_default_mailb
import 'package:tmail_ui_user/features/mailbox/domain/state/create_new_mailbox_state.dart';
import 'package:tmail_ui_user/features/mailbox/domain/state/delete_multiple_mailbox_state.dart';
import 'package:tmail_ui_user/features/mailbox/domain/state/get_all_mailboxes_state.dart';
import 'package:tmail_ui_user/features/mailbox/domain/state/mark_as_mailbox_read_state.dart';
import 'package:tmail_ui_user/features/mailbox/domain/state/move_mailbox_state.dart';
import 'package:tmail_ui_user/features/mailbox/domain/state/refresh_all_mailboxes_state.dart';
import 'package:tmail_ui_user/features/mailbox/domain/state/refresh_changes_all_mailboxes_state.dart';
@@ -72,16 +63,11 @@ import 'package:tmail_ui_user/features/mailbox/presentation/utils/mailbox_utils.
import 'package:tmail_ui_user/features/mailbox_creator/domain/usecases/verify_name_interactor.dart';
import 'package:tmail_ui_user/features/mailbox_creator/presentation/model/mailbox_creator_arguments.dart';
import 'package:tmail_ui_user/features/mailbox_creator/presentation/model/new_mailbox_arguments.dart';
import 'package:tmail_ui_user/features/mailbox_dashboard/domain/state/remove_email_drafts_state.dart';
import 'package:tmail_ui_user/features/mailbox_dashboard/presentation/action/dashboard_action.dart';
import 'package:tmail_ui_user/features/mailbox_dashboard/presentation/controller/mailbox_dashboard_controller.dart';
import 'package:tmail_ui_user/features/mailbox_dashboard/presentation/model/dashboard_routes.dart';
import 'package:tmail_ui_user/features/search/mailbox/presentation/search_mailbox_bindings.dart';
import 'package:tmail_ui_user/features/thread/domain/model/search_query.dart';
import 'package:tmail_ui_user/features/thread/domain/state/empty_spam_folder_state.dart';
import 'package:tmail_ui_user/features/thread/domain/state/empty_trash_folder_state.dart';
import 'package:tmail_ui_user/features/thread/domain/state/mark_as_multiple_email_read_state.dart';
import 'package:tmail_ui_user/features/thread/domain/state/move_multiple_email_to_mailbox_state.dart';
import 'package:tmail_ui_user/main/localizations/app_localizations.dart';
import 'package:tmail_ui_user/main/routes/app_routes.dart';
import 'package:tmail_ui_user/main/routes/dialog_router.dart';
@@ -248,48 +234,6 @@ class MailboxController extends BaseMailboxController with MailboxActionHandlerM
_handleNavigationRouteParameters
);
ever(mailboxDashBoardController.viewState, (state) {
state.fold((failure) => null, (success) {
if (success is MarkAsMultipleEmailReadAllSuccess) {
_refreshMailboxChanges(currentMailboxState: success.currentMailboxState);
} else if (success is MarkAsMultipleEmailReadHasSomeEmailFailure) {
_refreshMailboxChanges(currentMailboxState: success.currentMailboxState);
} else if (success is MoveMultipleEmailToMailboxAllSuccess) {
_refreshMailboxChanges(currentMailboxState: success.currentMailboxState);
} else if (success is MoveMultipleEmailToMailboxHasSomeEmailFailure) {
_refreshMailboxChanges(currentMailboxState: success.currentMailboxState);
} else if (success is DeleteMultipleEmailsPermanentlyAllSuccess) {
_refreshMailboxChanges(currentMailboxState: success.currentMailboxState);
} else if (success is DeleteMultipleEmailsPermanentlyHasSomeEmailFailure) {
_refreshMailboxChanges(currentMailboxState: success.currentMailboxState);
} else if (success is EmptyTrashFolderSuccess) {
_refreshMailboxChanges(currentMailboxState: success.currentMailboxState);
} else if (success is MarkAsEmailReadSuccess) {
_refreshMailboxChanges(currentMailboxState: success.currentMailboxState);
} else if (success is MoveToMailboxSuccess) {
_refreshMailboxChanges(currentMailboxState: success.currentMailboxState);
} else if (success is DeleteEmailPermanentlySuccess) {
_refreshMailboxChanges(currentMailboxState: success.currentMailboxState);
} else if (success is SaveEmailAsDraftsSuccess) {
_refreshMailboxChanges(currentMailboxState: success.currentMailboxState);
} else if (success is RemoveEmailDraftsSuccess) {
_refreshMailboxChanges(currentMailboxState: success.currentMailboxState);
} else if (success is SendEmailSuccess) {
_refreshMailboxChanges(currentMailboxState: success.currentMailboxState);
} else if (success is MarkAsMailboxReadAllSuccess) {
_refreshMailboxChanges(currentMailboxState: success.currentMailboxState);
} else if (success is MarkAsMailboxReadHasSomeEmailFailure) {
_refreshMailboxChanges(currentMailboxState: success.currentMailboxState);
} else if (success is UpdateEmailDraftsSuccess) {
_refreshMailboxChanges(currentMailboxState: success.currentMailboxState);
} else if (success is EmptySpamFolderSuccess) {
_refreshMailboxChanges(currentMailboxState: success.currentMailboxState);
} else if (success is GetRestoredDeletedMessageSuccess) {
_refreshMailboxChanges(properties: MailboxConstants.propertiesDefault);
}
});
});
ever(mailboxDashBoardController.dashBoardAction, (action) {
if (action is ClearSearchEmailAction) {
_switchBackToMailboxDefault();
@@ -31,13 +31,6 @@ import 'package:tmail_ui_user/features/composer/presentation/extensions/prefix_e
import 'package:tmail_ui_user/features/contact/presentation/model/contact_arguments.dart';
import 'package:tmail_ui_user/features/destination_picker/presentation/model/destination_picker_arguments.dart';
import 'package:tmail_ui_user/features/email/domain/model/mark_read_action.dart';
import 'package:tmail_ui_user/features/email/domain/state/delete_email_permanently_state.dart';
import 'package:tmail_ui_user/features/email/domain/state/delete_multiple_emails_permanently_state.dart';
import 'package:tmail_ui_user/features/email/domain/state/mark_as_email_read_state.dart';
import 'package:tmail_ui_user/features/email/domain/state/mark_as_email_star_state.dart';
import 'package:tmail_ui_user/features/email/domain/state/move_to_mailbox_state.dart';
import 'package:tmail_ui_user/features/email/domain/state/store_event_attendance_status_state.dart';
import 'package:tmail_ui_user/features/email/domain/state/unsubscribe_email_state.dart';
import 'package:tmail_ui_user/features/email/presentation/utils/email_utils.dart';
import 'package:tmail_ui_user/features/home/data/exceptions/session_exceptions.dart';
import 'package:tmail_ui_user/features/mailbox/presentation/model/mailbox_actions.dart';
@@ -62,11 +55,6 @@ import 'package:tmail_ui_user/features/search/email/presentation/model/search_mo
import 'package:tmail_ui_user/features/search/email/presentation/search_email_bindings.dart';
import 'package:tmail_ui_user/features/thread/domain/constants/thread_constants.dart';
import 'package:tmail_ui_user/features/thread/domain/model/search_query.dart';
import 'package:tmail_ui_user/features/thread/domain/state/empty_spam_folder_state.dart';
import 'package:tmail_ui_user/features/thread/domain/state/empty_trash_folder_state.dart';
import 'package:tmail_ui_user/features/thread/domain/state/mark_as_multiple_email_read_state.dart';
import 'package:tmail_ui_user/features/thread/domain/state/mark_as_star_multiple_email_state.dart';
import 'package:tmail_ui_user/features/thread/domain/state/move_multiple_email_to_mailbox_state.dart';
import 'package:tmail_ui_user/features/thread/domain/state/search_email_state.dart';
import 'package:tmail_ui_user/features/thread/domain/state/search_more_email_state.dart';
import 'package:tmail_ui_user/features/thread/domain/usecases/search_email_interactor.dart';
@@ -246,30 +234,6 @@ class SearchEmailController extends BaseController
}
void _initWorkerListener() {
dashBoardViewStateWorker = ever(mailboxDashBoardController.viewState, (viewState) {
viewState.map((success) {
if (success is MarkAsEmailReadSuccess ||
success is MoveToMailboxSuccess ||
success is MarkAsStarEmailSuccess ||
success is DeleteEmailPermanentlySuccess ||
success is MarkAsMultipleEmailReadAllSuccess ||
success is MarkAsMultipleEmailReadHasSomeEmailFailure ||
success is MarkAsStarMultipleEmailAllSuccess ||
success is MarkAsStarMultipleEmailHasSomeEmailFailure ||
success is MoveMultipleEmailToMailboxAllSuccess ||
success is MoveMultipleEmailToMailboxHasSomeEmailFailure ||
success is EmptyTrashFolderSuccess ||
success is EmptySpamFolderSuccess ||
success is DeleteMultipleEmailsPermanentlyAllSuccess ||
success is DeleteMultipleEmailsPermanentlyHasSomeEmailFailure ||
success is UnsubscribeEmailSuccess ||
success is StoreEventAttendanceStatusSuccess
) {
_refreshEmailChanges();
}
});
});
dashBoardActionWorker = ever(
mailboxDashBoardController.dashBoardAction,
(action) {
@@ -18,22 +18,10 @@ import 'package:jmap_dart_client/jmap/mail/email/keyword_identifier.dart';
import 'package:jmap_dart_client/jmap/mail/mailbox/mailbox.dart';
import 'package:model/model.dart';
import 'package:tmail_ui_user/features/base/base_controller.dart';
import 'package:tmail_ui_user/features/composer/domain/state/save_email_as_drafts_state.dart';
import 'package:tmail_ui_user/features/composer/domain/state/send_email_state.dart';
import 'package:tmail_ui_user/features/composer/domain/state/update_email_drafts_state.dart';
import 'package:tmail_ui_user/features/email/domain/model/mark_read_action.dart';
import 'package:tmail_ui_user/features/email/domain/state/delete_email_permanently_state.dart';
import 'package:tmail_ui_user/features/email/domain/state/delete_multiple_emails_permanently_state.dart';
import 'package:tmail_ui_user/features/email/domain/state/mark_as_email_read_state.dart';
import 'package:tmail_ui_user/features/email/domain/state/mark_as_email_star_state.dart';
import 'package:tmail_ui_user/features/email/domain/state/move_to_mailbox_state.dart';
import 'package:tmail_ui_user/features/email/domain/state/store_event_attendance_status_state.dart';
import 'package:tmail_ui_user/features/email/domain/state/unsubscribe_email_state.dart';
import 'package:tmail_ui_user/features/email/presentation/action/email_ui_action.dart';
import 'package:tmail_ui_user/features/email/presentation/utils/email_utils.dart';
import 'package:tmail_ui_user/features/home/data/exceptions/session_exceptions.dart';
import 'package:tmail_ui_user/features/mailbox/domain/state/mark_as_mailbox_read_state.dart';
import 'package:tmail_ui_user/features/mailbox_dashboard/domain/state/remove_email_drafts_state.dart';
import 'package:tmail_ui_user/features/mailbox_dashboard/presentation/action/dashboard_action.dart';
import 'package:tmail_ui_user/features/mailbox_dashboard/presentation/controller/search_controller.dart' as search;
import 'package:tmail_ui_user/features/mailbox_dashboard/presentation/model/dashboard_routes.dart';
@@ -51,14 +39,9 @@ import 'package:tmail_ui_user/features/thread/domain/model/email_filter.dart';
import 'package:tmail_ui_user/features/thread/domain/model/filter_message_option.dart';
import 'package:tmail_ui_user/features/thread/domain/model/get_email_request.dart';
import 'package:tmail_ui_user/features/thread/domain/model/search_query.dart';
import 'package:tmail_ui_user/features/thread/domain/state/empty_spam_folder_state.dart';
import 'package:tmail_ui_user/features/thread/domain/state/empty_trash_folder_state.dart';
import 'package:tmail_ui_user/features/thread/domain/state/get_all_email_state.dart';
import 'package:tmail_ui_user/features/thread/domain/state/get_email_by_id_state.dart';
import 'package:tmail_ui_user/features/thread/domain/state/load_more_emails_state.dart';
import 'package:tmail_ui_user/features/thread/domain/state/mark_as_multiple_email_read_state.dart';
import 'package:tmail_ui_user/features/thread/domain/state/mark_as_star_multiple_email_state.dart';
import 'package:tmail_ui_user/features/thread/domain/state/move_multiple_email_to_mailbox_state.dart';
import 'package:tmail_ui_user/features/thread/domain/state/refresh_all_email_state.dart';
import 'package:tmail_ui_user/features/thread/domain/state/refresh_changes_all_email_state.dart';
import 'package:tmail_ui_user/features/thread/domain/state/search_email_state.dart';
@@ -342,54 +325,6 @@ class ThreadController extends BaseController with EmailActionController {
mailboxDashBoardController.clearEmailUIAction();
}
});
ever(mailboxDashBoardController.viewState, (viewState) {
viewState.map((success) {
if (success is MarkAsEmailReadSuccess) {
_refreshEmailChanges(currentEmailState: success.currentEmailState);
} else if (success is MoveToMailboxSuccess) {
_refreshEmailChanges(currentEmailState: success.currentEmailState);
} else if (success is MarkAsStarEmailSuccess) {
_refreshEmailChanges(currentEmailState: success.currentEmailState);
} else if (success is DeleteEmailPermanentlySuccess) {
_refreshEmailChanges(currentEmailState: success.currentEmailState);
} else if (success is SaveEmailAsDraftsSuccess) {
_refreshEmailChanges(currentEmailState: success.currentEmailState);
} else if (success is RemoveEmailDraftsSuccess) {
_refreshEmailChanges(currentEmailState: success.currentEmailState);
} else if (success is SendEmailSuccess) {
_refreshEmailChanges(currentEmailState: success.currentEmailState);
} else if (success is UpdateEmailDraftsSuccess) {
_refreshEmailChanges(currentEmailState: success.currentEmailState);
} else if (success is MarkAsMailboxReadAllSuccess) {
_refreshEmailChanges(currentEmailState: success.currentEmailState);
} else if (success is MarkAsMailboxReadHasSomeEmailFailure) {
_refreshEmailChanges(currentEmailState: success.currentEmailState);
} else if (success is MoveMultipleEmailToMailboxAllSuccess) {
_refreshEmailChanges(currentEmailState: success.currentEmailState);
} else if (success is MoveMultipleEmailToMailboxHasSomeEmailFailure) {
_refreshEmailChanges(currentEmailState: success.currentEmailState);
} else if (success is DeleteMultipleEmailsPermanentlyAllSuccess) {
_refreshEmailChanges(currentEmailState: success.currentEmailState);
} else if (success is DeleteMultipleEmailsPermanentlyHasSomeEmailFailure) {
_refreshEmailChanges(currentEmailState: success.currentEmailState);
} else if (success is MarkAsStarMultipleEmailAllSuccess) {
_refreshEmailChanges(currentEmailState: success.currentEmailState);
} else if (success is MarkAsStarMultipleEmailHasSomeEmailFailure) {
_refreshEmailChanges(currentEmailState: success.currentEmailState);
} else if (success is MarkAsMultipleEmailReadAllSuccess) {
_refreshEmailChanges(currentEmailState: success.currentEmailState);
} else if (success is MarkAsMultipleEmailReadHasSomeEmailFailure) {
_refreshEmailChanges(currentEmailState: success.currentEmailState);
} else if (success is EmptyTrashFolderSuccess || success is EmptySpamFolderSuccess) {
refreshAllEmail();
} else if (success is UnsubscribeEmailSuccess) {
_refreshEmailChanges(currentEmailState: success.currentEmailState);
} else if (success is StoreEventAttendanceStatusSuccess) {
_refreshEmailChanges(currentEmailState: success.currentEmailState);
}
});
});
}
void _registerBrowserResizeListener() {