TF-2134 Open composer from mailto uri
(cherry picked from commit 964013fb35ee6a7ab98f7d7c4a1146d87843dd81)
This commit is contained in:
@@ -470,6 +470,16 @@ class ComposerController extends BaseController {
|
||||
toAddressExpandMode.value = ExpandMode.COLLAPSE;
|
||||
_updateStatusEmailSendButton();
|
||||
break;
|
||||
case EmailActionType.composeFromMailtoURL:
|
||||
if (GetUtils.isEmail(arguments.uri ?? '')) {
|
||||
listToEmailAddress.add(EmailAddress(null, arguments.uri));
|
||||
} else {
|
||||
listToEmailAddress.add(EmailAddress(null, 'invalid'));
|
||||
}
|
||||
isInitialRecipient.value = true;
|
||||
toAddressExpandMode.value = ExpandMode.COLLAPSE;
|
||||
_updateStatusEmailSendButton();
|
||||
break;
|
||||
case EmailActionType.reply:
|
||||
case EmailActionType.replyAll:
|
||||
_initEmailAddress(
|
||||
|
||||
@@ -278,6 +278,7 @@ class ComposerView extends BaseComposerView {
|
||||
switch(argsComposer.emailActionType) {
|
||||
case EmailActionType.compose:
|
||||
case EmailActionType.composeFromEmailAddress:
|
||||
case EmailActionType.composeFromMailtoURL:
|
||||
case EmailActionType.composeFromFileShared:
|
||||
return _buildHtmlEditor(
|
||||
context,
|
||||
|
||||
@@ -387,6 +387,7 @@ class ComposerView extends BaseComposerView {
|
||||
switch(argsComposer.emailActionType) {
|
||||
case EmailActionType.compose:
|
||||
case EmailActionType.composeFromEmailAddress:
|
||||
case EmailActionType.composeFromMailtoURL:
|
||||
case EmailActionType.composeFromFileShared:
|
||||
return _buildHtmlEditor(
|
||||
context,
|
||||
|
||||
@@ -15,6 +15,7 @@ class ComposerArguments extends RouterArguments {
|
||||
final List<Attachment>? attachments;
|
||||
final Role? mailboxRole;
|
||||
final SendingEmail? sendingEmail;
|
||||
final String? uri;
|
||||
|
||||
ComposerArguments({
|
||||
this.emailActionType = EmailActionType.compose,
|
||||
@@ -24,7 +25,8 @@ class ComposerArguments extends RouterArguments {
|
||||
this.mailboxRole,
|
||||
this.emailAddress,
|
||||
this.listSharedMediaFile,
|
||||
this.sendingEmail
|
||||
this.sendingEmail,
|
||||
this.uri,
|
||||
});
|
||||
|
||||
factory ComposerArguments.fromSendingEmail(SendingEmail sendingEmail) =>
|
||||
@@ -51,6 +53,12 @@ class ComposerArguments extends RouterArguments {
|
||||
emailAddress: emailAddress
|
||||
);
|
||||
|
||||
factory ComposerArguments.fromMailtoURL(String? uri) =>
|
||||
ComposerArguments(
|
||||
emailActionType: EmailActionType.composeFromMailtoURL,
|
||||
uri: uri
|
||||
);
|
||||
|
||||
factory ComposerArguments.editDraftEmail(PresentationEmail presentationEmail) =>
|
||||
ComposerArguments(
|
||||
emailActionType: EmailActionType.editDraft,
|
||||
@@ -114,6 +122,7 @@ class ComposerArguments extends RouterArguments {
|
||||
mailboxRole,
|
||||
emailAddress,
|
||||
listSharedMediaFile,
|
||||
sendingEmail
|
||||
sendingEmail,
|
||||
uri,
|
||||
];
|
||||
}
|
||||
@@ -14,6 +14,7 @@ enum EmailActionType {
|
||||
composeFromContentShared,
|
||||
composeFromFileShared,
|
||||
composeFromEmailAddress,
|
||||
composeFromMailtoURL,
|
||||
reopenComposerBrowser,
|
||||
moveToTrash,
|
||||
deletePermanently,
|
||||
|
||||
Reference in New Issue
Block a user