TF-3515 Add save email as template feature

This commit is contained in:
DatDang
2025-02-25 16:10:20 +07:00
committed by Dat H. Pham
parent ef1f979c4b
commit 7f09f9ceb4
40 changed files with 1079 additions and 54 deletions
@@ -43,9 +43,15 @@ mixin EmailActionController {
mailboxDashBoardController.openComposer(ComposerArguments.editDraftEmail(presentationEmail));
}
void editAsNewEmail(PresentationEmail presentationEmail) {
void editAsNewEmail(
PresentationEmail presentationEmail, {
EmailId? savedEmailTemplateId,
}) {
mailboxDashBoardController.openComposer(
ComposerArguments.editAsNewEmail(presentationEmail),
ComposerArguments.editAsNewEmail(
presentationEmail,
savedEmailTemplateId: savedEmailTemplateId,
),
);
}
@@ -1176,7 +1176,7 @@ class ThreadController extends BaseController with EmailActionController {
if (mailboxContain?.isDrafts == true) {
editDraftEmail(selectedEmail);
} else if (mailboxContain?.isTemplates == true) {
editAsNewEmail(selectedEmail);
editAsNewEmail(selectedEmail, savedEmailTemplateId: selectedEmail.id);
} else {
previewEmail(selectedEmail);
}
@@ -724,7 +724,7 @@ class ThreadView extends GetWidget<ThreadController>
_markAsEmailSpamOrUnSpamContextMenuItemAction(context, email, mailboxContain),
if (mailboxContain?.isArchive == false)
_archiveMessageContextMenuItemAction(context, email),
if (mailboxContain?.isDrafts == false)
if (mailboxContain?.isDrafts == false && mailboxContain?.isTemplates == false)
_editAsNewEmailContextMenuItemAction(context, email),
];
}
@@ -846,7 +846,7 @@ class ThreadView extends GetWidget<ThreadController>
_buildMarkAsSpamPopupMenuItem(context, email, mailboxContain),
if (mailboxContain?.isArchive == false)
_buildArchiveMessagePopupMenuItem(context, email),
if (mailboxContain?.isDrafts == false)
if (mailboxContain?.isDrafts == false && mailboxContain?.isTemplates == false)
_buildEditAsNewEmailPopupMenuItem(AppLocalizations.of(context), email),
];
}