TF-2785 Fix print feature empty when clicked too early
This commit is contained in:
@@ -1,6 +1,12 @@
|
||||
import 'package:equatable/equatable.dart';
|
||||
import 'package:flutter/material.dart';
|
||||
import 'package:jmap_dart_client/jmap/mail/email/email.dart';
|
||||
import 'package:model/email/attachment.dart';
|
||||
import 'package:model/extensions/list_email_address_extension.dart';
|
||||
import 'package:model/extensions/presentation_email_extension.dart';
|
||||
import 'package:tmail_ui_user/features/email/presentation/action/email_ui_action.dart';
|
||||
import 'package:tmail_ui_user/features/email/presentation/model/email_loaded.dart';
|
||||
import 'package:tmail_ui_user/main/localizations/app_localizations.dart';
|
||||
|
||||
class EmailPrint with EquatableMixin {
|
||||
final String appName;
|
||||
@@ -39,6 +45,30 @@ class EmailPrint with EquatableMixin {
|
||||
this.replyToAddress,
|
||||
});
|
||||
|
||||
factory EmailPrint.generate({
|
||||
required PrintEmailAction printEmailAction,
|
||||
required EmailLoaded emailLoaded
|
||||
}) {
|
||||
return EmailPrint(
|
||||
appName: AppLocalizations.of(printEmailAction.context).app_name,
|
||||
userName: printEmailAction.userEmail,
|
||||
emailInformation: printEmailAction.email.toEmail(),
|
||||
attachments: emailLoaded.attachments,
|
||||
emailContent: emailLoaded.htmlContent,
|
||||
locale: Localizations.localeOf(printEmailAction.context).toLanguageTag(),
|
||||
fromPrefix: AppLocalizations.of(printEmailAction.context).from_email_address_prefix,
|
||||
toPrefix: AppLocalizations.of(printEmailAction.context).to_email_address_prefix,
|
||||
ccPrefix: AppLocalizations.of(printEmailAction.context).cc_email_address_prefix,
|
||||
bccPrefix: AppLocalizations.of(printEmailAction.context).bcc_email_address_prefix,
|
||||
replyToPrefix: AppLocalizations.of(printEmailAction.context).replyToEmailAddressPrefix,
|
||||
titleAttachment: AppLocalizations.of(printEmailAction.context).attachments.toLowerCase(),
|
||||
toAddress: printEmailAction.email.to?.listEmailAddressToString(isFullEmailAddress: true),
|
||||
ccAddress: printEmailAction.email.cc?.listEmailAddressToString(isFullEmailAddress: true),
|
||||
bccAddress: printEmailAction.email.bcc?.listEmailAddressToString(isFullEmailAddress: true),
|
||||
replyToAddress: printEmailAction.email.replyTo?.listEmailAddressToString(isFullEmailAddress: true),
|
||||
);
|
||||
}
|
||||
|
||||
@override
|
||||
List<Object?> get props => [
|
||||
appName,
|
||||
|
||||
@@ -14,7 +14,6 @@ class PrintEmailInteractor {
|
||||
|
||||
Stream<Either<Failure, Success>> execute(EmailPrint emailPrint) async* {
|
||||
try {
|
||||
yield Right(PrintEmailLoading());
|
||||
final htmlContentTransformed = await _transformHtmlEmailContent(emailPrint.emailContent);
|
||||
final newEmailPrint = emailPrint.fromEmailContent(htmlContentTransformed);
|
||||
await emailRepository.printEmail(newEmailPrint);
|
||||
|
||||
Reference in New Issue
Block a user