TF-1857 Add headerCalendarEvent to PresentationEmail

(cherry picked from commit 4c8d47ecd6e4f399fbac828eb80e6f7360cb1822)
This commit is contained in:
dab246
2023-07-19 16:35:13 +07:00
committed by Dat Vu
parent c2a2e7efc4
commit 1fa7f49bb3
3 changed files with 31 additions and 15 deletions
+15 -7
View File
@@ -8,6 +8,7 @@ import 'package:jmap_dart_client/jmap/mail/email/email_address.dart';
import 'package:jmap_dart_client/jmap/mail/email/email_body_part.dart';
import 'package:jmap_dart_client/jmap/mail/email/email_body_value.dart';
import 'package:jmap_dart_client/jmap/mail/email/email_header.dart';
import 'package:jmap_dart_client/jmap/mail/email/individual_header_identifier.dart';
import 'package:jmap_dart_client/jmap/mail/email/keyword_identifier.dart';
import 'package:jmap_dart_client/jmap/mail/mailbox/mailbox.dart';
import 'package:model/email/email_content.dart';
@@ -38,6 +39,7 @@ class PresentationEmail with EquatableMixin {
final List<EmailHeader>? emailHeader;
final Set<EmailBodyPart>? htmlBody;
final Map<PartId, EmailBodyValue>? bodyValues;
final Map<IndividualHeaderIdentifier, String?>? headerCalendarEvent;
PresentationEmail({
this.id,
@@ -60,6 +62,7 @@ class PresentationEmail with EquatableMixin {
this.emailHeader,
this.htmlBody,
this.bodyValues,
this.headerCalendarEvent,
});
String getSenderName() {
@@ -99,6 +102,8 @@ class PresentationEmail with EquatableMixin {
bool get pushNotificationActivated => !isDraft && !hasRead;
bool get hasCalendarEvent => headerCalendarEvent?[IndividualHeaderIdentifier.headerCalendarEvent]?.isNotEmpty == true;
List<EmailContent> get emailContentList {
final newHtmlBody = htmlBody
?.where((emailBody) => emailBody.partId != null && emailBody.type != null)
@@ -116,22 +121,25 @@ class PresentationEmail with EquatableMixin {
@override
List<Object?> get props => [
id,
keywords,
size,
receivedAt,
hasAttachment,
preview,
subject,
sentAt,
from,
to,
cc,
bcc,
keywords,
size,
receivedAt,
sentAt,
replyTo,
preview,
hasAttachment,
mailboxIds,
selectMode,
routeWeb,
mailboxContain,
emailHeader
emailHeader,
htmlBody,
bodyValues,
headerCalendarEvent,
];
}
+4 -2
View File
@@ -76,7 +76,8 @@ extension EmailExtension on Email {
replyTo: replyTo,
mailboxIds: mailboxIds,
selectMode: selectMode,
emailHeader: headers?.toList()
emailHeader: headers?.toList(),
headerCalendarEvent: headerCalendarEvent
);
}
@@ -160,7 +161,8 @@ extension EmailExtension on Email {
selectMode: selectMode,
emailHeader: headers?.toList(),
bodyValues: bodyValues,
htmlBody: htmlBody
htmlBody: htmlBody,
headerCalendarEvent: headerCalendarEvent
);
}
}
@@ -52,7 +52,8 @@ extension PresentationEmailExtension on PresentationEmail {
mailboxIds: mailboxIds,
selectMode: selectMode == SelectMode.INACTIVE ? SelectMode.ACTIVE : SelectMode.INACTIVE,
routeWeb: routeWeb,
mailboxContain: mailboxContain
mailboxContain: mailboxContain,
headerCalendarEvent: headerCalendarEvent
);
}
@@ -74,7 +75,8 @@ extension PresentationEmailExtension on PresentationEmail {
mailboxIds: mailboxIds,
selectMode: selectMode,
routeWeb: routeWeb,
mailboxContain: mailboxContain
mailboxContain: mailboxContain,
headerCalendarEvent: headerCalendarEvent
);
}
@@ -150,7 +152,8 @@ extension PresentationEmailExtension on PresentationEmail {
mailboxIds: mailboxIds,
selectMode: selectMode,
routeWeb: routeWeb,
mailboxContain: matchedMailbox
mailboxContain: matchedMailbox,
headerCalendarEvent: headerCalendarEvent
);
}
@@ -185,7 +188,8 @@ extension PresentationEmailExtension on PresentationEmail {
mailboxIds: mailboxIds,
selectMode: selectMode,
routeWeb: routeWeb,
mailboxContain: mailboxContain
mailboxContain: mailboxContain,
headerCalendarEvent: headerCalendarEvent
);
}
@@ -207,7 +211,8 @@ extension PresentationEmailExtension on PresentationEmail {
mailboxIds: mailboxIds,
selectMode: selectMode,
routeWeb: routeWeb,
mailboxContain: mailboxContain
mailboxContain: mailboxContain,
headerCalendarEvent: headerCalendarEvent
);
}
@@ -229,7 +234,8 @@ extension PresentationEmailExtension on PresentationEmail {
mailboxIds: mailboxIds,
selectMode: selectMode,
routeWeb: routeWeb,
mailboxContain: mailboxContain
mailboxContain: mailboxContain,
headerCalendarEvent: headerCalendarEvent
);
}