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_part.dart';
|
||||||
import 'package:jmap_dart_client/jmap/mail/email/email_body_value.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/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/email/keyword_identifier.dart';
|
||||||
import 'package:jmap_dart_client/jmap/mail/mailbox/mailbox.dart';
|
import 'package:jmap_dart_client/jmap/mail/mailbox/mailbox.dart';
|
||||||
import 'package:model/email/email_content.dart';
|
import 'package:model/email/email_content.dart';
|
||||||
@@ -38,6 +39,7 @@ class PresentationEmail with EquatableMixin {
|
|||||||
final List<EmailHeader>? emailHeader;
|
final List<EmailHeader>? emailHeader;
|
||||||
final Set<EmailBodyPart>? htmlBody;
|
final Set<EmailBodyPart>? htmlBody;
|
||||||
final Map<PartId, EmailBodyValue>? bodyValues;
|
final Map<PartId, EmailBodyValue>? bodyValues;
|
||||||
|
final Map<IndividualHeaderIdentifier, String?>? headerCalendarEvent;
|
||||||
|
|
||||||
PresentationEmail({
|
PresentationEmail({
|
||||||
this.id,
|
this.id,
|
||||||
@@ -60,6 +62,7 @@ class PresentationEmail with EquatableMixin {
|
|||||||
this.emailHeader,
|
this.emailHeader,
|
||||||
this.htmlBody,
|
this.htmlBody,
|
||||||
this.bodyValues,
|
this.bodyValues,
|
||||||
|
this.headerCalendarEvent,
|
||||||
});
|
});
|
||||||
|
|
||||||
String getSenderName() {
|
String getSenderName() {
|
||||||
@@ -99,6 +102,8 @@ class PresentationEmail with EquatableMixin {
|
|||||||
|
|
||||||
bool get pushNotificationActivated => !isDraft && !hasRead;
|
bool get pushNotificationActivated => !isDraft && !hasRead;
|
||||||
|
|
||||||
|
bool get hasCalendarEvent => headerCalendarEvent?[IndividualHeaderIdentifier.headerCalendarEvent]?.isNotEmpty == true;
|
||||||
|
|
||||||
List<EmailContent> get emailContentList {
|
List<EmailContent> get emailContentList {
|
||||||
final newHtmlBody = htmlBody
|
final newHtmlBody = htmlBody
|
||||||
?.where((emailBody) => emailBody.partId != null && emailBody.type != null)
|
?.where((emailBody) => emailBody.partId != null && emailBody.type != null)
|
||||||
@@ -116,22 +121,25 @@ class PresentationEmail with EquatableMixin {
|
|||||||
@override
|
@override
|
||||||
List<Object?> get props => [
|
List<Object?> get props => [
|
||||||
id,
|
id,
|
||||||
|
keywords,
|
||||||
|
size,
|
||||||
|
receivedAt,
|
||||||
|
hasAttachment,
|
||||||
|
preview,
|
||||||
subject,
|
subject,
|
||||||
|
sentAt,
|
||||||
from,
|
from,
|
||||||
to,
|
to,
|
||||||
cc,
|
cc,
|
||||||
bcc,
|
bcc,
|
||||||
keywords,
|
|
||||||
size,
|
|
||||||
receivedAt,
|
|
||||||
sentAt,
|
|
||||||
replyTo,
|
replyTo,
|
||||||
preview,
|
|
||||||
hasAttachment,
|
|
||||||
mailboxIds,
|
mailboxIds,
|
||||||
selectMode,
|
selectMode,
|
||||||
routeWeb,
|
routeWeb,
|
||||||
mailboxContain,
|
mailboxContain,
|
||||||
emailHeader
|
emailHeader,
|
||||||
|
htmlBody,
|
||||||
|
bodyValues,
|
||||||
|
headerCalendarEvent,
|
||||||
];
|
];
|
||||||
}
|
}
|
||||||
@@ -76,7 +76,8 @@ extension EmailExtension on Email {
|
|||||||
replyTo: replyTo,
|
replyTo: replyTo,
|
||||||
mailboxIds: mailboxIds,
|
mailboxIds: mailboxIds,
|
||||||
selectMode: selectMode,
|
selectMode: selectMode,
|
||||||
emailHeader: headers?.toList()
|
emailHeader: headers?.toList(),
|
||||||
|
headerCalendarEvent: headerCalendarEvent
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -160,7 +161,8 @@ extension EmailExtension on Email {
|
|||||||
selectMode: selectMode,
|
selectMode: selectMode,
|
||||||
emailHeader: headers?.toList(),
|
emailHeader: headers?.toList(),
|
||||||
bodyValues: bodyValues,
|
bodyValues: bodyValues,
|
||||||
htmlBody: htmlBody
|
htmlBody: htmlBody,
|
||||||
|
headerCalendarEvent: headerCalendarEvent
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -52,7 +52,8 @@ extension PresentationEmailExtension on PresentationEmail {
|
|||||||
mailboxIds: mailboxIds,
|
mailboxIds: mailboxIds,
|
||||||
selectMode: selectMode == SelectMode.INACTIVE ? SelectMode.ACTIVE : SelectMode.INACTIVE,
|
selectMode: selectMode == SelectMode.INACTIVE ? SelectMode.ACTIVE : SelectMode.INACTIVE,
|
||||||
routeWeb: routeWeb,
|
routeWeb: routeWeb,
|
||||||
mailboxContain: mailboxContain
|
mailboxContain: mailboxContain,
|
||||||
|
headerCalendarEvent: headerCalendarEvent
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -74,7 +75,8 @@ extension PresentationEmailExtension on PresentationEmail {
|
|||||||
mailboxIds: mailboxIds,
|
mailboxIds: mailboxIds,
|
||||||
selectMode: selectMode,
|
selectMode: selectMode,
|
||||||
routeWeb: routeWeb,
|
routeWeb: routeWeb,
|
||||||
mailboxContain: mailboxContain
|
mailboxContain: mailboxContain,
|
||||||
|
headerCalendarEvent: headerCalendarEvent
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -150,7 +152,8 @@ extension PresentationEmailExtension on PresentationEmail {
|
|||||||
mailboxIds: mailboxIds,
|
mailboxIds: mailboxIds,
|
||||||
selectMode: selectMode,
|
selectMode: selectMode,
|
||||||
routeWeb: routeWeb,
|
routeWeb: routeWeb,
|
||||||
mailboxContain: matchedMailbox
|
mailboxContain: matchedMailbox,
|
||||||
|
headerCalendarEvent: headerCalendarEvent
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -185,7 +188,8 @@ extension PresentationEmailExtension on PresentationEmail {
|
|||||||
mailboxIds: mailboxIds,
|
mailboxIds: mailboxIds,
|
||||||
selectMode: selectMode,
|
selectMode: selectMode,
|
||||||
routeWeb: routeWeb,
|
routeWeb: routeWeb,
|
||||||
mailboxContain: mailboxContain
|
mailboxContain: mailboxContain,
|
||||||
|
headerCalendarEvent: headerCalendarEvent
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -207,7 +211,8 @@ extension PresentationEmailExtension on PresentationEmail {
|
|||||||
mailboxIds: mailboxIds,
|
mailboxIds: mailboxIds,
|
||||||
selectMode: selectMode,
|
selectMode: selectMode,
|
||||||
routeWeb: routeWeb,
|
routeWeb: routeWeb,
|
||||||
mailboxContain: mailboxContain
|
mailboxContain: mailboxContain,
|
||||||
|
headerCalendarEvent: headerCalendarEvent
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -229,7 +234,8 @@ extension PresentationEmailExtension on PresentationEmail {
|
|||||||
mailboxIds: mailboxIds,
|
mailboxIds: mailboxIds,
|
||||||
selectMode: selectMode,
|
selectMode: selectMode,
|
||||||
routeWeb: routeWeb,
|
routeWeb: routeWeb,
|
||||||
mailboxContain: mailboxContain
|
mailboxContain: mailboxContain,
|
||||||
|
headerCalendarEvent: headerCalendarEvent
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user