TF-3479 Add OpenAndCloseComposerExtension to handle open & close composer
Signed-off-by: dab246 <tdvu@linagora.com>
This commit is contained in:
@@ -119,6 +119,7 @@ import 'package:tmail_ui_user/features/home/domain/extensions/session_extensions
|
||||
import 'package:tmail_ui_user/features/mailbox/presentation/action/mailbox_ui_action.dart';
|
||||
import 'package:tmail_ui_user/features/mailbox/presentation/model/mailbox_actions.dart';
|
||||
import 'package:tmail_ui_user/features/mailbox_dashboard/presentation/controller/mailbox_dashboard_controller.dart';
|
||||
import 'package:tmail_ui_user/features/mailbox_dashboard/presentation/extensions/open_and_close_composer_extension.dart';
|
||||
import 'package:tmail_ui_user/features/mailbox_dashboard/presentation/extensions/update_current_emails_flags_extension.dart';
|
||||
import 'package:tmail_ui_user/features/mailbox_dashboard/presentation/model/dashboard_routes.dart';
|
||||
import 'package:tmail_ui_user/features/mailbox_dashboard/presentation/model/download/download_task_state.dart';
|
||||
@@ -1462,7 +1463,7 @@ class SingleEmailController extends BaseController with AppLoaderMixin {
|
||||
|
||||
void composeEmailFromEmailAddress(EmailAddress emailAddress) {
|
||||
popBack();
|
||||
mailboxDashBoardController.goToComposer(ComposerArguments.fromEmailAddress(emailAddress));
|
||||
mailboxDashBoardController.openComposer(ComposerArguments.fromEmailAddress(emailAddress));
|
||||
}
|
||||
|
||||
Future<void> openMailToLink(Uri? uri) async {
|
||||
@@ -1472,7 +1473,7 @@ class SingleEmailController extends BaseController with AppLoaderMixin {
|
||||
log('SingleEmailController::openMailToLink(): ${uri.toString()}');
|
||||
if (!RouteUtils.canOpenComposerFromNavigationRouter(navigationRouter)) return;
|
||||
|
||||
mailboxDashBoardController.goToComposer(
|
||||
mailboxDashBoardController.openComposer(
|
||||
ComposerArguments.fromMailtoUri(
|
||||
listEmailAddress: navigationRouter.listEmailAddress,
|
||||
cc: navigationRouter.cc,
|
||||
@@ -1657,10 +1658,10 @@ class SingleEmailController extends BaseController with AppLoaderMixin {
|
||||
) {
|
||||
switch(emailActionType) {
|
||||
case EmailActionType.compose:
|
||||
mailboxDashBoardController.goToComposer(ComposerArguments());
|
||||
mailboxDashBoardController.openComposer(ComposerArguments());
|
||||
break;
|
||||
case EmailActionType.reply:
|
||||
mailboxDashBoardController.goToComposer(
|
||||
mailboxDashBoardController.openComposer(
|
||||
ComposerArguments.replyEmail(
|
||||
presentationEmail: presentationEmail,
|
||||
content: currentEmailLoaded.value?.htmlContent ?? '',
|
||||
@@ -1674,7 +1675,7 @@ class SingleEmailController extends BaseController with AppLoaderMixin {
|
||||
break;
|
||||
case EmailActionType.replyToList:
|
||||
log('SingleEmailController::pressEmailAction:replyToList');
|
||||
mailboxDashBoardController.goToComposer(
|
||||
mailboxDashBoardController.openComposer(
|
||||
ComposerArguments.replyToListEmail(
|
||||
presentationEmail: presentationEmail,
|
||||
content: currentEmailLoaded.value?.htmlContent ?? '',
|
||||
@@ -1687,7 +1688,7 @@ class SingleEmailController extends BaseController with AppLoaderMixin {
|
||||
);
|
||||
break;
|
||||
case EmailActionType.replyAll:
|
||||
mailboxDashBoardController.goToComposer(
|
||||
mailboxDashBoardController.openComposer(
|
||||
ComposerArguments.replyAllEmail(
|
||||
presentationEmail: presentationEmail,
|
||||
content: currentEmailLoaded.value?.htmlContent ?? '',
|
||||
@@ -1700,7 +1701,7 @@ class SingleEmailController extends BaseController with AppLoaderMixin {
|
||||
);
|
||||
break;
|
||||
case EmailActionType.forward:
|
||||
mailboxDashBoardController.goToComposer(
|
||||
mailboxDashBoardController.openComposer(
|
||||
ComposerArguments.forwardEmail(
|
||||
presentationEmail: presentationEmail,
|
||||
content: currentEmailLoaded.value?.htmlContent ?? '',
|
||||
@@ -1832,7 +1833,7 @@ class SingleEmailController extends BaseController with AppLoaderMixin {
|
||||
|
||||
void openNewComposerAction(String mailTo) {
|
||||
final emailAddress = EmailAddress(mailTo, mailTo);
|
||||
mailboxDashBoardController.goToComposer(ComposerArguments.fromEmailAddress(emailAddress));
|
||||
mailboxDashBoardController.openComposer(ComposerArguments.fromEmailAddress(emailAddress));
|
||||
}
|
||||
|
||||
void openAttachmentList(BuildContext context, List<Attachment> attachments) {
|
||||
@@ -1923,7 +1924,7 @@ class SingleEmailController extends BaseController with AppLoaderMixin {
|
||||
}) {
|
||||
log('SingleEmailController::_handleUnsubscribeMailByMailtoLink:mailtoLinks: $mailtoLinks');
|
||||
final navigationRouter = RouteUtils.generateNavigationRouterFromMailtoLink(mailtoLinks.first);
|
||||
mailboxDashBoardController.goToComposer(
|
||||
mailboxDashBoardController.openComposer(
|
||||
ComposerArguments.fromUnsubscribeMailtoLink(
|
||||
listEmailAddress: navigationRouter.listEmailAddress,
|
||||
subject: navigationRouter.subject,
|
||||
@@ -2148,7 +2149,7 @@ class SingleEmailController extends BaseController with AppLoaderMixin {
|
||||
void _editAsNewEmail(PresentationEmail presentationEmail) {
|
||||
if (accountId == null || session == null) return;
|
||||
|
||||
mailboxDashBoardController.goToComposer(
|
||||
mailboxDashBoardController.openComposer(
|
||||
ComposerArguments.editAsNewEmail(presentationEmail),
|
||||
);
|
||||
}
|
||||
@@ -2436,7 +2437,7 @@ class SingleEmailController extends BaseController with AppLoaderMixin {
|
||||
final currentUserEmail = mailboxDashBoardController.getOwnEmailAddress();
|
||||
final listEmailAddressMailTo = listEmailAddressAttendees.removeInvalidEmails(currentUserEmail);
|
||||
log('SingleEmailController::handleMailToAttendees: listEmailAddressMailTo = $listEmailAddressMailTo');
|
||||
mailboxDashBoardController.goToComposer(
|
||||
mailboxDashBoardController.openComposer(
|
||||
ComposerArguments.fromMailtoUri(listEmailAddress: listEmailAddressMailTo)
|
||||
);
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user