From b9d1d6cc7be60518f0c0c90101c04d7d9180a794 Mon Sep 17 00:00:00 2001 From: dab246 Date: Mon, 19 Sep 2022 16:15:57 +0700 Subject: [PATCH] TF-933 Open email is draft in suggestion list quick search --- .../presentation/action/dashboard_action.dart | 4 ++-- .../widgets/search_input_form_widget.dart | 4 ++-- .../search/presentation/search_email_controller.dart | 4 ++-- .../search/presentation/search_email_view.dart | 11 ++++++++++- .../thread/domain/constants/thread_constants.dart | 1 + .../thread/presentation/thread_controller.dart | 10 ++++++++-- 6 files changed, 25 insertions(+), 9 deletions(-) diff --git a/lib/features/mailbox_dashboard/presentation/action/dashboard_action.dart b/lib/features/mailbox_dashboard/presentation/action/dashboard_action.dart index 11e1b8540..803db580f 100644 --- a/lib/features/mailbox_dashboard/presentation/action/dashboard_action.dart +++ b/lib/features/mailbox_dashboard/presentation/action/dashboard_action.dart @@ -61,12 +61,12 @@ class HandleEmailActionTypeAction extends DashBoardAction { List get props => [listEmailSelected, emailAction]; } -class OpenEmailDetailedAction extends DashBoardAction { +class OpenEmailDetailedFromSuggestionQuickSearchAction extends DashBoardAction { final BuildContext context; final PresentationEmail presentationEmail; - OpenEmailDetailedAction(this.context, this.presentationEmail); + OpenEmailDetailedFromSuggestionQuickSearchAction(this.context, this.presentationEmail); @override List get props => [presentationEmail]; diff --git a/lib/features/mailbox_dashboard/presentation/widgets/search_input_form_widget.dart b/lib/features/mailbox_dashboard/presentation/widgets/search_input_form_widget.dart index 49c139ef3..cdadf05c7 100644 --- a/lib/features/mailbox_dashboard/presentation/widgets/search_input_form_widget.dart +++ b/lib/features/mailbox_dashboard/presentation/widgets/search_input_form_widget.dart @@ -189,8 +189,8 @@ class SearchInputFormWidget extends StatelessWidget with AppLoaderMixin { EmailQuickSearchItemTileWidget(email, dashBoardController.selectedMailbox.value), onSuggestionSelected: (presentationEmail) => dashBoardController.dispatchAction( - OpenEmailDetailedAction - (context, + OpenEmailDetailedFromSuggestionQuickSearchAction( + context, presentationEmail))), ), ); diff --git a/lib/features/search/presentation/search_email_controller.dart b/lib/features/search/presentation/search_email_controller.dart index fd80f2218..1b264a51c 100644 --- a/lib/features/search/presentation/search_email_controller.dart +++ b/lib/features/search/presentation/search_email_controller.dart @@ -246,8 +246,8 @@ class SearchEmailController extends BaseController .then((result) => result.fold( (failure) => [], (success) => success is QuickSearchEmailSuccess - ? success.emailList - : [])); + ? success.emailList + : [])); } void saveRecentSearch(RecentSearch recentSearch) { diff --git a/lib/features/search/presentation/search_email_view.dart b/lib/features/search/presentation/search_email_view.dart index 60dd30eab..498fe8339 100644 --- a/lib/features/search/presentation/search_email_view.dart +++ b/lib/features/search/presentation/search_email_view.dart @@ -365,7 +365,16 @@ class SearchEmailView extends GetWidget listSuggestionSearch[index], controller.currentMailbox, contentPadding: SearchEmailUtils.getPaddingSearchSuggestionList(context, _responsiveUtils)), - onTap: () => controller.previewEmail(context, listSuggestionSearch[index]), + onTap: () { + final emailPreview = listSuggestionSearch[index]; + final mailboxContain = emailPreview + .findMailboxContain(controller.mailboxDashBoardController.mapMailbox); + controller.pressEmailAction( + context, + EmailActionType.preview, + emailPreview, + mailboxContain: mailboxContain); + }, ), ); }); diff --git a/lib/features/thread/domain/constants/thread_constants.dart b/lib/features/thread/domain/constants/thread_constants.dart index bd5dee42e..b7032044f 100644 --- a/lib/features/thread/domain/constants/thread_constants.dart +++ b/lib/features/thread/domain/constants/thread_constants.dart @@ -35,5 +35,6 @@ class ThreadConstants { EmailProperty.sentAt, EmailProperty.preview, EmailProperty.hasAttachment, + EmailProperty.mailboxIds, }); } \ No newline at end of file diff --git a/lib/features/thread/presentation/thread_controller.dart b/lib/features/thread/presentation/thread_controller.dart index fb906d56e..7e808170b 100644 --- a/lib/features/thread/presentation/thread_controller.dart +++ b/lib/features/thread/presentation/thread_controller.dart @@ -277,8 +277,14 @@ class ThreadController extends BaseController { } else if (action is HandleEmailActionTypeAction) { pressEmailSelectionAction(action.context, action.emailAction, action.listEmailSelected); mailboxDashBoardController.clearDashBoardAction(); - } else if (action is OpenEmailDetailedAction) { - pressEmailAction(action.context, EmailActionType.preview, action.presentationEmail); + } else if (action is OpenEmailDetailedFromSuggestionQuickSearchAction) { + final mailboxContain = action.presentationEmail + .findMailboxContain(mailboxDashBoardController.mapMailbox); + pressEmailAction( + action.context, + EmailActionType.preview, + action.presentationEmail, + mailboxContain: mailboxContain); mailboxDashBoardController.clearDashBoardAction(); } else if (action is DisableSearchEmailAction) { closeSearchEmailAction();