TF-1857 Add headerCalendarEvent to PresentationEmail
(cherry picked from commit 4c8d47ecd6e4f399fbac828eb80e6f7360cb1822)
This commit is contained in:
@@ -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,
|
||||
];
|
||||
}
|
||||
@@ -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
|
||||
);
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user