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];
}
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<Object?> get props => [presentationEmail];
@@ -189,8 +189,8 @@ class SearchInputFormWidget extends StatelessWidget with AppLoaderMixin {
EmailQuickSearchItemTileWidget(email, dashBoardController.selectedMailbox.value),
onSuggestionSelected: (presentationEmail) =>
dashBoardController.dispatchAction(
OpenEmailDetailedAction
(context,
OpenEmailDetailedFromSuggestionQuickSearchAction(
context,
presentationEmail))),
),
);
@@ -246,8 +246,8 @@ class SearchEmailController extends BaseController
.then((result) => result.fold(
(failure) => <PresentationEmail>[],
(success) => success is QuickSearchEmailSuccess
? success.emailList
: <PresentationEmail>[]));
? success.emailList
: <PresentationEmail>[]));
}
void saveRecentSearch(RecentSearch recentSearch) {
@@ -365,7 +365,16 @@ class SearchEmailView extends GetWidget<SearchEmailController>
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);
},
),
);
});
@@ -35,5 +35,6 @@ class ThreadConstants {
EmailProperty.sentAt,
EmailProperty.preview,
EmailProperty.hasAttachment,
EmailProperty.mailboxIds,
});
}
@@ -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();