From ac3bfede0e764aaf2571d00392c4ae7f5bb6db69 Mon Sep 17 00:00:00 2001 From: dab246 Date: Thu, 3 Nov 2022 12:32:41 +0700 Subject: [PATCH] TF-1063 Cancel selection email when search --- .../mailbox/presentation/mailbox_controller.dart | 10 ++++++---- .../search/presentation/search_email_controller.dart | 3 ++- .../thread/presentation/thread_controller.dart | 1 + 3 files changed, 9 insertions(+), 5 deletions(-) diff --git a/lib/features/mailbox/presentation/mailbox_controller.dart b/lib/features/mailbox/presentation/mailbox_controller.dart index ad352871f..b9b590ade 100644 --- a/lib/features/mailbox/presentation/mailbox_controller.dart +++ b/lib/features/mailbox/presentation/mailbox_controller.dart @@ -368,13 +368,15 @@ class MailboxController extends BaseMailboxController { ) { FocusScope.of(context).unfocus(); - mailboxDashBoardController.setSelectedMailbox(presentationMailboxSelected); mailboxDashBoardController.clearSelectedEmail(); - mailboxDashBoardController.clearFilterMessageOption(); - + if (presentationMailboxSelected.id != mailboxDashBoardController.selectedMailbox.value?.id) { + mailboxDashBoardController.clearFilterMessageOption(); + } _disableAllSearchEmail(); - if (_responsiveUtils.hasLeftMenuDrawerActive(context)) { + mailboxDashBoardController.setSelectedMailbox(presentationMailboxSelected); + + if (mailboxDashBoardController.isDrawerOpen) { mailboxDashBoardController.closeMailboxMenuDrawer(); } else { mailboxDashBoardController.dispatchRoute(DashboardRoutes.thread); diff --git a/lib/features/search/presentation/search_email_controller.dart b/lib/features/search/presentation/search_email_controller.dart index bd5aff42d..7041e52d8 100644 --- a/lib/features/search/presentation/search_email_controller.dart +++ b/lib/features/search/presentation/search_email_controller.dart @@ -1,8 +1,8 @@ -import 'package:core/core.dart'; import 'package:core/presentation/state/failure.dart'; import 'package:core/presentation/state/success.dart'; import 'package:core/utils/app_logger.dart'; +import 'package:core/utils/build_utils.dart'; import 'package:dartz/dartz.dart'; import 'package:debounce_throttle/debounce_throttle.dart'; import 'package:flutter/material.dart'; @@ -267,6 +267,7 @@ class SearchEmailController extends BaseController if (accountId != null) { searchIsRunning.value = true; + cancelSelectionMode(context); consumeState(_searchEmailInteractor.execute( accountId!, diff --git a/lib/features/thread/presentation/thread_controller.dart b/lib/features/thread/presentation/thread_controller.dart index 1473762a2..2a03516a5 100644 --- a/lib/features/thread/presentation/thread_controller.dart +++ b/lib/features/thread/presentation/thread_controller.dart @@ -291,6 +291,7 @@ class ThreadController extends BaseController { mailboxContain: mailboxContain); mailboxDashBoardController.clearDashBoardAction(); } else if (action is StartSearchEmailAction) { + cancelSelectEmail(); _searchEmail(); mailboxDashBoardController.clearDashBoardAction(); } else if (action is EmptyTrashAction) {