TF-2596 Support mail to with several recipients
Signed-off-by: dab246 <tdvu@linagora.com>
This commit is contained in:
@@ -456,7 +456,7 @@ class ComposerController extends BaseController {
|
||||
_addAttachmentFromFileShare(arguments.listSharedMediaFile!);
|
||||
break;
|
||||
case EmailActionType.composeFromEmailAddress:
|
||||
listToEmailAddress.add(arguments.emailAddress!);
|
||||
listToEmailAddress.addAll(arguments.listEmailAddress ?? []);
|
||||
isInitialRecipient.value = true;
|
||||
toAddressExpandMode.value = ExpandMode.COLLAPSE;
|
||||
_updateStatusEmailSendButton();
|
||||
@@ -466,8 +466,8 @@ class ComposerController extends BaseController {
|
||||
setSubjectEmail(arguments.subject!);
|
||||
subjectEmailInputController.text = arguments.subject!;
|
||||
}
|
||||
if (arguments.emailAddress != null) {
|
||||
listToEmailAddress.add(arguments.emailAddress!);
|
||||
if (arguments.listEmailAddress?.isNotEmpty == true) {
|
||||
listToEmailAddress.addAll(arguments.listEmailAddress!);
|
||||
isInitialRecipient.value = true;
|
||||
toAddressExpandMode.value = ExpandMode.COLLAPSE;
|
||||
}
|
||||
@@ -512,8 +512,8 @@ class ComposerController extends BaseController {
|
||||
setSubjectEmail(arguments.subject!);
|
||||
subjectEmailInputController.text = arguments.subject!;
|
||||
}
|
||||
if (arguments.emailAddress != null) {
|
||||
listToEmailAddress.add(arguments.emailAddress!);
|
||||
if (arguments.listEmailAddress?.isNotEmpty == true) {
|
||||
listToEmailAddress.addAll(arguments.listEmailAddress!);
|
||||
isInitialRecipient.value = true;
|
||||
toAddressExpandMode.value = ExpandMode.COLLAPSE;
|
||||
}
|
||||
|
||||
@@ -1476,7 +1476,7 @@ class SingleEmailController extends BaseController with AppLoaderMixin {
|
||||
final navigationRouter = RouteUtils.generateNavigationRouterFromMailtoLink(mailtoLinks.first);
|
||||
mailboxDashBoardController.goToComposer(
|
||||
ComposerArguments.fromUnsubscribeMailtoLink(
|
||||
emailAddress: navigationRouter.emailAddress,
|
||||
listEmailAddress: navigationRouter.listEmailAddress,
|
||||
subject: navigationRouter.subject,
|
||||
body: navigationRouter.body,
|
||||
previousEmailId: emailId,
|
||||
|
||||
@@ -13,7 +13,7 @@ class ComposerArguments extends RouterArguments {
|
||||
final PresentationEmail? presentationEmail;
|
||||
final String? emailContents;
|
||||
final List<SharedMediaFile>? listSharedMediaFile;
|
||||
final EmailAddress? emailAddress;
|
||||
final List<EmailAddress>? listEmailAddress;
|
||||
final List<Attachment>? attachments;
|
||||
final Role? mailboxRole;
|
||||
final SendingEmail? sendingEmail;
|
||||
@@ -29,7 +29,7 @@ class ComposerArguments extends RouterArguments {
|
||||
this.emailContents,
|
||||
this.attachments,
|
||||
this.mailboxRole,
|
||||
this.emailAddress,
|
||||
this.listEmailAddress,
|
||||
this.listSharedMediaFile,
|
||||
this.sendingEmail,
|
||||
this.subject,
|
||||
@@ -60,13 +60,13 @@ class ComposerArguments extends RouterArguments {
|
||||
factory ComposerArguments.fromEmailAddress(EmailAddress emailAddress) =>
|
||||
ComposerArguments(
|
||||
emailActionType: EmailActionType.composeFromEmailAddress,
|
||||
emailAddress: emailAddress
|
||||
listEmailAddress: [emailAddress]
|
||||
);
|
||||
|
||||
factory ComposerArguments.fromMailtoUri({EmailAddress? emailAddress, String? subject, String? body}) =>
|
||||
factory ComposerArguments.fromMailtoUri({List<EmailAddress>? listEmailAddress, String? subject, String? body}) =>
|
||||
ComposerArguments(
|
||||
emailActionType: EmailActionType.composeFromMailtoUri,
|
||||
emailAddress: emailAddress,
|
||||
listEmailAddress: listEmailAddress,
|
||||
subject: subject,
|
||||
body: body,
|
||||
);
|
||||
@@ -142,14 +142,14 @@ class ComposerArguments extends RouterArguments {
|
||||
: SendingEmailActionType.create;
|
||||
|
||||
factory ComposerArguments.fromUnsubscribeMailtoLink({
|
||||
EmailAddress? emailAddress,
|
||||
List<EmailAddress>? listEmailAddress,
|
||||
String? subject,
|
||||
String? body,
|
||||
EmailId? previousEmailId
|
||||
}) =>
|
||||
ComposerArguments(
|
||||
emailActionType: EmailActionType.composeFromUnsubscribeMailtoLink,
|
||||
emailAddress: emailAddress,
|
||||
listEmailAddress: listEmailAddress,
|
||||
subject: subject,
|
||||
body: body,
|
||||
previousEmailId: previousEmailId,
|
||||
@@ -163,7 +163,7 @@ class ComposerArguments extends RouterArguments {
|
||||
emailContents,
|
||||
attachments,
|
||||
mailboxRole,
|
||||
emailAddress,
|
||||
listEmailAddress,
|
||||
listSharedMediaFile,
|
||||
sendingEmail,
|
||||
subject,
|
||||
|
||||
@@ -225,7 +225,7 @@ class MailboxController extends BaseMailboxController with MailboxActionHandlerM
|
||||
}
|
||||
});
|
||||
|
||||
ever<Map<String, String?>?>(
|
||||
ever<Map<String, dynamic>?>(
|
||||
mailboxDashBoardController.routerParameters,
|
||||
_handleNavigationRouteParameters
|
||||
);
|
||||
@@ -436,7 +436,7 @@ class MailboxController extends BaseMailboxController with MailboxActionHandlerM
|
||||
if (_navigationRouter?.routeName == AppRoutes.mailtoURL) {
|
||||
mailboxDashBoardController.goToComposer(
|
||||
ComposerArguments.fromMailtoUri(
|
||||
emailAddress: _navigationRouter?.emailAddress,
|
||||
listEmailAddress: _navigationRouter?.listEmailAddress,
|
||||
subject: _navigationRouter?.subject,
|
||||
body: _navigationRouter?.body
|
||||
)
|
||||
@@ -967,7 +967,7 @@ class MailboxController extends BaseMailboxController with MailboxActionHandlerM
|
||||
curve: Curves.easeInToLinear);
|
||||
}
|
||||
|
||||
void _handleNavigationRouteParameters(Map<String, String?>? parameters) {
|
||||
void _handleNavigationRouteParameters(Map<String, dynamic>? parameters) {
|
||||
log('MailboxController::_handleNavigationRouteParameters(): parameters: $parameters');
|
||||
if (parameters != null) {
|
||||
final navigationRouter = RouteUtils.parsingRouteParametersToNavigationRouter(parameters);
|
||||
|
||||
+1
-1
@@ -211,7 +211,7 @@ class MailboxDashBoardController extends ReloadableController {
|
||||
final composerOverlayState = ComposerOverlayState.inActive.obs;
|
||||
final viewStateMarkAsReadMailbox = Rx<Either<Failure, Success>>(Right(UIState.idle));
|
||||
final vacationResponse = Rxn<VacationResponse>();
|
||||
final routerParameters = Rxn<Map<String, String?>>();
|
||||
final routerParameters = Rxn<Map<String, dynamic>>();
|
||||
final _isDraggingMailbox = RxBool(false);
|
||||
final searchMailboxActivated = RxBool(false);
|
||||
final listSendingEmails = RxList<SendingEmail>();
|
||||
|
||||
@@ -10,7 +10,7 @@ class MailtoArguments extends RouterArguments {
|
||||
|
||||
MailtoArguments({required this.session, this.mailtoUri});
|
||||
|
||||
Map<String, String?> toMapRouter() => RouteUtils.parseMapMailtoFromUri(mailtoUri);
|
||||
Map<String, dynamic> toMapRouter() => RouteUtils.parseMapMailtoFromUri(mailtoUri);
|
||||
|
||||
@override
|
||||
List<Object?> get props => [session, mailtoUri];
|
||||
|
||||
Reference in New Issue
Block a user