TF-389 Fix can not see the attachment in EmailView

This commit is contained in:
dab246
2022-03-28 12:04:29 +07:00
committed by Dat H. Pham
parent f639fdc0d8
commit bab7619840
4 changed files with 10 additions and 7 deletions
@@ -19,7 +19,7 @@ class GetEmailContentInteractor {
if (email.emailContentList.isNotEmpty) {
final newEmailContents = await emailRepository.transformEmailContent(
email.emailContentList,
email.allAttachments.attachmentWithDispositionInlines,
email.allAttachments.listAttachmentsDisplayedInContent,
baseDownloadUrl,
accountId);
yield Right<Failure, Success>(GetEmailContentSuccess(newEmailContents, email.allAttachments));
@@ -384,7 +384,7 @@ class EmailView extends GetView with UserSettingPopupMenuMixin {
if (success is LoadingState) {
return AttachmentsPlaceHolderLoading(responsiveUtils: responsiveUtils);
} else {
final attachments = emailController.attachments.attachmentsWithDispositionAttachment;
final attachments = emailController.attachments.listAttachmentsDisplayedOutSide;
return attachments.isNotEmpty
? _buildAttachmentsBody(context, attachments)
: SizedBox.shrink();
+3 -1
View File
@@ -27,7 +27,9 @@ class Attachment with EquatableMixin {
this.disposition,
});
bool cidNotEmpty() => cid != null && cid!.isNotEmpty;
bool noCid() => cid == null || cid?.isEmpty == true;
bool hasCid() => cid != null && cid?.isNotEmpty == true;
String getDownloadUrl(String baseDownloadUrl, AccountId accountId) {
final downloadUriTemplate = UriTemplate('$baseDownloadUrl');
@@ -12,12 +12,13 @@ extension ListAttachmentExtension on List<Attachment> {
return totalSize;
}
List<Attachment> get attachmentsWithDispositionAttachment {
return where((attachment) => attachment.disposition == ContentDisposition.attachment).toList();
List<Attachment> get listAttachmentsDisplayedOutSide {
return where((attachment) => attachment.disposition == ContentDisposition.attachment || attachment.noCid())
.toList();
}
List<Attachment> get attachmentWithDispositionInlines {
return where((attachment) => attachment.disposition == ContentDisposition.inline && attachment.cidNotEmpty())
List<Attachment> get listAttachmentsDisplayedInContent {
return where((attachment) => attachment.hasCid())
.toList();
}
}