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;
|
toAddressExpandMode.value = ExpandMode.COLLAPSE;
|
||||||
_updateStatusEmailSendButton();
|
_updateStatusEmailSendButton();
|
||||||
break;
|
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.reply:
|
||||||
case EmailActionType.replyAll:
|
case EmailActionType.replyAll:
|
||||||
_initEmailAddress(
|
_initEmailAddress(
|
||||||
|
|||||||
@@ -278,6 +278,7 @@ class ComposerView extends BaseComposerView {
|
|||||||
switch(argsComposer.emailActionType) {
|
switch(argsComposer.emailActionType) {
|
||||||
case EmailActionType.compose:
|
case EmailActionType.compose:
|
||||||
case EmailActionType.composeFromEmailAddress:
|
case EmailActionType.composeFromEmailAddress:
|
||||||
|
case EmailActionType.composeFromMailtoURL:
|
||||||
case EmailActionType.composeFromFileShared:
|
case EmailActionType.composeFromFileShared:
|
||||||
return _buildHtmlEditor(
|
return _buildHtmlEditor(
|
||||||
context,
|
context,
|
||||||
|
|||||||
@@ -387,6 +387,7 @@ class ComposerView extends BaseComposerView {
|
|||||||
switch(argsComposer.emailActionType) {
|
switch(argsComposer.emailActionType) {
|
||||||
case EmailActionType.compose:
|
case EmailActionType.compose:
|
||||||
case EmailActionType.composeFromEmailAddress:
|
case EmailActionType.composeFromEmailAddress:
|
||||||
|
case EmailActionType.composeFromMailtoURL:
|
||||||
case EmailActionType.composeFromFileShared:
|
case EmailActionType.composeFromFileShared:
|
||||||
return _buildHtmlEditor(
|
return _buildHtmlEditor(
|
||||||
context,
|
context,
|
||||||
|
|||||||
@@ -15,6 +15,7 @@ class ComposerArguments extends RouterArguments {
|
|||||||
final List<Attachment>? attachments;
|
final List<Attachment>? attachments;
|
||||||
final Role? mailboxRole;
|
final Role? mailboxRole;
|
||||||
final SendingEmail? sendingEmail;
|
final SendingEmail? sendingEmail;
|
||||||
|
final String? uri;
|
||||||
|
|
||||||
ComposerArguments({
|
ComposerArguments({
|
||||||
this.emailActionType = EmailActionType.compose,
|
this.emailActionType = EmailActionType.compose,
|
||||||
@@ -24,7 +25,8 @@ class ComposerArguments extends RouterArguments {
|
|||||||
this.mailboxRole,
|
this.mailboxRole,
|
||||||
this.emailAddress,
|
this.emailAddress,
|
||||||
this.listSharedMediaFile,
|
this.listSharedMediaFile,
|
||||||
this.sendingEmail
|
this.sendingEmail,
|
||||||
|
this.uri,
|
||||||
});
|
});
|
||||||
|
|
||||||
factory ComposerArguments.fromSendingEmail(SendingEmail sendingEmail) =>
|
factory ComposerArguments.fromSendingEmail(SendingEmail sendingEmail) =>
|
||||||
@@ -51,6 +53,12 @@ class ComposerArguments extends RouterArguments {
|
|||||||
emailAddress: emailAddress
|
emailAddress: emailAddress
|
||||||
);
|
);
|
||||||
|
|
||||||
|
factory ComposerArguments.fromMailtoURL(String? uri) =>
|
||||||
|
ComposerArguments(
|
||||||
|
emailActionType: EmailActionType.composeFromMailtoURL,
|
||||||
|
uri: uri
|
||||||
|
);
|
||||||
|
|
||||||
factory ComposerArguments.editDraftEmail(PresentationEmail presentationEmail) =>
|
factory ComposerArguments.editDraftEmail(PresentationEmail presentationEmail) =>
|
||||||
ComposerArguments(
|
ComposerArguments(
|
||||||
emailActionType: EmailActionType.editDraft,
|
emailActionType: EmailActionType.editDraft,
|
||||||
@@ -114,6 +122,7 @@ class ComposerArguments extends RouterArguments {
|
|||||||
mailboxRole,
|
mailboxRole,
|
||||||
emailAddress,
|
emailAddress,
|
||||||
listSharedMediaFile,
|
listSharedMediaFile,
|
||||||
sendingEmail
|
sendingEmail,
|
||||||
|
uri,
|
||||||
];
|
];
|
||||||
}
|
}
|
||||||
@@ -14,6 +14,7 @@ enum EmailActionType {
|
|||||||
composeFromContentShared,
|
composeFromContentShared,
|
||||||
composeFromFileShared,
|
composeFromFileShared,
|
||||||
composeFromEmailAddress,
|
composeFromEmailAddress,
|
||||||
|
composeFromMailtoURL,
|
||||||
reopenComposerBrowser,
|
reopenComposerBrowser,
|
||||||
moveToTrash,
|
moveToTrash,
|
||||||
deletePermanently,
|
deletePermanently,
|
||||||
|
|||||||
Reference in New Issue
Block a user