TF-933 Open email is draft in suggestion list quick search

This commit is contained in:
dab246
2022-09-19 16:15:57 +07:00
committed by Dat H. Pham
parent 79d47fbab3
commit b9d1d6cc7b
6 changed files with 25 additions and 9 deletions
@@ -61,12 +61,12 @@ class HandleEmailActionTypeAction extends DashBoardAction {
List<Object> get props => [listEmailSelected, emailAction]; List<Object> get props => [listEmailSelected, emailAction];
} }
class OpenEmailDetailedAction extends DashBoardAction { class OpenEmailDetailedFromSuggestionQuickSearchAction extends DashBoardAction {
final BuildContext context; final BuildContext context;
final PresentationEmail presentationEmail; final PresentationEmail presentationEmail;
OpenEmailDetailedAction(this.context, this.presentationEmail); OpenEmailDetailedFromSuggestionQuickSearchAction(this.context, this.presentationEmail);
@override @override
List<Object?> get props => [presentationEmail]; List<Object?> get props => [presentationEmail];
@@ -189,8 +189,8 @@ class SearchInputFormWidget extends StatelessWidget with AppLoaderMixin {
EmailQuickSearchItemTileWidget(email, dashBoardController.selectedMailbox.value), EmailQuickSearchItemTileWidget(email, dashBoardController.selectedMailbox.value),
onSuggestionSelected: (presentationEmail) => onSuggestionSelected: (presentationEmail) =>
dashBoardController.dispatchAction( dashBoardController.dispatchAction(
OpenEmailDetailedAction OpenEmailDetailedFromSuggestionQuickSearchAction(
(context, context,
presentationEmail))), presentationEmail))),
), ),
); );
@@ -246,8 +246,8 @@ class SearchEmailController extends BaseController
.then((result) => result.fold( .then((result) => result.fold(
(failure) => <PresentationEmail>[], (failure) => <PresentationEmail>[],
(success) => success is QuickSearchEmailSuccess (success) => success is QuickSearchEmailSuccess
? success.emailList ? success.emailList
: <PresentationEmail>[])); : <PresentationEmail>[]));
} }
void saveRecentSearch(RecentSearch recentSearch) { void saveRecentSearch(RecentSearch recentSearch) {
@@ -365,7 +365,16 @@ class SearchEmailView extends GetWidget<SearchEmailController>
listSuggestionSearch[index], listSuggestionSearch[index],
controller.currentMailbox, controller.currentMailbox,
contentPadding: SearchEmailUtils.getPaddingSearchSuggestionList(context, _responsiveUtils)), 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);
},
), ),
); );
}); });
@@ -35,5 +35,6 @@ class ThreadConstants {
EmailProperty.sentAt, EmailProperty.sentAt,
EmailProperty.preview, EmailProperty.preview,
EmailProperty.hasAttachment, EmailProperty.hasAttachment,
EmailProperty.mailboxIds,
}); });
} }
@@ -277,8 +277,14 @@ class ThreadController extends BaseController {
} else if (action is HandleEmailActionTypeAction) { } else if (action is HandleEmailActionTypeAction) {
pressEmailSelectionAction(action.context, action.emailAction, action.listEmailSelected); pressEmailSelectionAction(action.context, action.emailAction, action.listEmailSelected);
mailboxDashBoardController.clearDashBoardAction(); mailboxDashBoardController.clearDashBoardAction();
} else if (action is OpenEmailDetailedAction) { } else if (action is OpenEmailDetailedFromSuggestionQuickSearchAction) {
pressEmailAction(action.context, EmailActionType.preview, action.presentationEmail); final mailboxContain = action.presentationEmail
.findMailboxContain(mailboxDashBoardController.mapMailbox);
pressEmailAction(
action.context,
EmailActionType.preview,
action.presentationEmail,
mailboxContain: mailboxContain);
mailboxDashBoardController.clearDashBoardAction(); mailboxDashBoardController.clearDashBoardAction();
} else if (action is DisableSearchEmailAction) { } else if (action is DisableSearchEmailAction) {
closeSearchEmailAction(); closeSearchEmailAction();