TF-2827 Only enable print button when email content loaded

This commit is contained in:
dab246
2024-05-31 18:38:32 +07:00
committed by Dat H. Pham
parent 98c848db9a
commit 9020fe0a62
5 changed files with 58 additions and 116 deletions
@@ -1,12 +1,6 @@
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;
@@ -45,30 +39,6 @@ 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,