TF-3449 Display mark as important icon in email list
Signed-off-by: dab246 <tdvu@linagora.com>
This commit is contained in:
@@ -239,6 +239,7 @@ extension AppColor on Color {
|
|||||||
static const colorMobileSearchFilterButton = Color(0xFFEBEDF0);
|
static const colorMobileSearchFilterButton = Color(0xFFEBEDF0);
|
||||||
static const colorContactViewClearFilterButton = Color(0x001C3D0D);
|
static const colorContactViewClearFilterButton = Color(0x001C3D0D);
|
||||||
static const steelGrayA540 = Color(0xFF55687D);
|
static const steelGrayA540 = Color(0xFF55687D);
|
||||||
|
static const steelGray200 = Color(0xFFAEB7C2);
|
||||||
static const blue700 = Color(0xFF208BFF);
|
static const blue700 = Color(0xFF208BFF);
|
||||||
|
|
||||||
static const mapGradientColor = [
|
static const mapGradientColor = [
|
||||||
|
|||||||
@@ -8,13 +8,13 @@ import 'package:jmap_dart_client/jmap/mail/email/individual_header_identifier.da
|
|||||||
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_action_type.dart';
|
import 'package:model/email/email_action_type.dart';
|
||||||
|
import 'package:model/email/mail_priority_header.dart';
|
||||||
import 'package:model/extensions/email_address_extension.dart';
|
import 'package:model/extensions/email_address_extension.dart';
|
||||||
import 'package:model/extensions/session_extension.dart';
|
import 'package:model/extensions/session_extension.dart';
|
||||||
import 'package:model/mailbox/presentation_mailbox.dart';
|
import 'package:model/mailbox/presentation_mailbox.dart';
|
||||||
import 'package:tmail_ui_user/features/composer/domain/model/email_request.dart';
|
import 'package:tmail_ui_user/features/composer/domain/model/email_request.dart';
|
||||||
import 'package:tmail_ui_user/features/composer/presentation/extensions/identity_extension.dart';
|
import 'package:tmail_ui_user/features/composer/presentation/extensions/identity_extension.dart';
|
||||||
import 'package:tmail_ui_user/features/composer/presentation/model/create_email_request.dart';
|
import 'package:tmail_ui_user/features/composer/presentation/model/create_email_request.dart';
|
||||||
import 'package:tmail_ui_user/features/composer/presentation/model/mail_priority_header.dart';
|
|
||||||
import 'package:tmail_ui_user/features/email/domain/extensions/list_attachments_extension.dart';
|
import 'package:tmail_ui_user/features/email/domain/extensions/list_attachments_extension.dart';
|
||||||
import 'package:tmail_ui_user/features/mailbox/domain/model/create_new_mailbox_request.dart';
|
import 'package:tmail_ui_user/features/mailbox/domain/model/create_new_mailbox_request.dart';
|
||||||
import 'package:tmail_ui_user/features/sending_queue/domain/extensions/sending_email_extension.dart';
|
import 'package:tmail_ui_user/features/sending_queue/domain/extensions/sending_email_extension.dart';
|
||||||
@@ -159,13 +159,13 @@ extension CreateEmailRequestExtension on CreateEmailRequest {
|
|||||||
? {IndividualHeaderIdentifier.identityHeader: identity?.id?.id.value}
|
? {IndividualHeaderIdentifier.identityHeader: identity?.id?.id.value}
|
||||||
: null,
|
: null,
|
||||||
xPriorityHeader: isMarkAsImportant
|
xPriorityHeader: isMarkAsImportant
|
||||||
? {IndividualHeaderIdentifier.xPriorityHeader: MailPriorityHeader.asImportant().xPriority}
|
? {IndividualHeaderIdentifier.xPriorityHeader: MailPriorityHeader.firstXPriority}
|
||||||
: null,
|
: null,
|
||||||
importanceHeader: isMarkAsImportant
|
importanceHeader: isMarkAsImportant
|
||||||
? {IndividualHeaderIdentifier.importanceHeader: MailPriorityHeader.asImportant().importance}
|
? {IndividualHeaderIdentifier.importanceHeader: MailPriorityHeader.highImportance}
|
||||||
: null,
|
: null,
|
||||||
priorityHeader: isMarkAsImportant
|
priorityHeader: isMarkAsImportant
|
||||||
? {IndividualHeaderIdentifier.priorityHeader: MailPriorityHeader.asImportant().priority}
|
? {IndividualHeaderIdentifier.priorityHeader: MailPriorityHeader.urgentPriority}
|
||||||
: null,
|
: null,
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -36,6 +36,21 @@ extension EmailCacheExtension on EmailCache {
|
|||||||
? Map.fromIterables(headerCalendarEvent!.keys.map((value) => IndividualHeaderIdentifier(value)), headerCalendarEvent!.values)
|
? Map.fromIterables(headerCalendarEvent!.keys.map((value) => IndividualHeaderIdentifier(value)), headerCalendarEvent!.values)
|
||||||
: null,
|
: null,
|
||||||
blobId: blobId != null ? Id(blobId!) : null,
|
blobId: blobId != null ? Id(blobId!) : null,
|
||||||
|
xPriorityHeader: xPriorityHeader != null
|
||||||
|
? Map.fromIterables(
|
||||||
|
xPriorityHeader!.keys.map((value) => IndividualHeaderIdentifier(value)),
|
||||||
|
xPriorityHeader!.values)
|
||||||
|
: null,
|
||||||
|
importanceHeader: importanceHeader != null
|
||||||
|
? Map.fromIterables(
|
||||||
|
importanceHeader!.keys.map((value) => IndividualHeaderIdentifier(value)),
|
||||||
|
importanceHeader!.values)
|
||||||
|
: null,
|
||||||
|
priorityHeader: priorityHeader != null
|
||||||
|
? Map.fromIterables(
|
||||||
|
priorityHeader!.keys.map((value) => IndividualHeaderIdentifier(value)),
|
||||||
|
priorityHeader!.values)
|
||||||
|
: null,
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -26,6 +26,9 @@ extension EmailExtension on Email {
|
|||||||
mailboxIds: mailboxIds?.toMapString(),
|
mailboxIds: mailboxIds?.toMapString(),
|
||||||
headerCalendarEvent: headerCalendarEvent?.toMapString(),
|
headerCalendarEvent: headerCalendarEvent?.toMapString(),
|
||||||
blobId: blobId?.value,
|
blobId: blobId?.value,
|
||||||
|
xPriorityHeader: xPriorityHeader?.toMapString(),
|
||||||
|
importanceHeader: importanceHeader?.toMapString(),
|
||||||
|
priorityHeader: priorityHeader?.toMapString(),
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -57,6 +57,15 @@ class EmailCache extends HiveObject with EquatableMixin {
|
|||||||
@HiveField(15)
|
@HiveField(15)
|
||||||
final String? blobId;
|
final String? blobId;
|
||||||
|
|
||||||
|
@HiveField(16)
|
||||||
|
Map<String, String?>? xPriorityHeader;
|
||||||
|
|
||||||
|
@HiveField(17)
|
||||||
|
Map<String, String?>? importanceHeader;
|
||||||
|
|
||||||
|
@HiveField(18)
|
||||||
|
Map<String, String?>? priorityHeader;
|
||||||
|
|
||||||
EmailCache(
|
EmailCache(
|
||||||
this.id,
|
this.id,
|
||||||
{
|
{
|
||||||
@@ -75,6 +84,9 @@ class EmailCache extends HiveObject with EquatableMixin {
|
|||||||
this.mailboxIds,
|
this.mailboxIds,
|
||||||
this.headerCalendarEvent,
|
this.headerCalendarEvent,
|
||||||
this.blobId,
|
this.blobId,
|
||||||
|
this.xPriorityHeader,
|
||||||
|
this.importanceHeader,
|
||||||
|
this.priorityHeader,
|
||||||
}
|
}
|
||||||
);
|
);
|
||||||
|
|
||||||
@@ -96,5 +108,8 @@ class EmailCache extends HiveObject with EquatableMixin {
|
|||||||
mailboxIds,
|
mailboxIds,
|
||||||
headerCalendarEvent,
|
headerCalendarEvent,
|
||||||
blobId,
|
blobId,
|
||||||
|
xPriorityHeader,
|
||||||
|
importanceHeader,
|
||||||
|
priorityHeader,
|
||||||
];
|
];
|
||||||
}
|
}
|
||||||
@@ -22,6 +22,9 @@ class ThreadConstants {
|
|||||||
EmailProperty.hasAttachment,
|
EmailProperty.hasAttachment,
|
||||||
EmailProperty.replyTo,
|
EmailProperty.replyTo,
|
||||||
EmailProperty.mailboxIds,
|
EmailProperty.mailboxIds,
|
||||||
|
IndividualHeaderIdentifier.xPriorityHeader.value,
|
||||||
|
IndividualHeaderIdentifier.importanceHeader.value,
|
||||||
|
IndividualHeaderIdentifier.priorityHeader.value,
|
||||||
});
|
});
|
||||||
static final propertiesUpdatedDefault = Properties({
|
static final propertiesUpdatedDefault = Properties({
|
||||||
EmailProperty.keywords,
|
EmailProperty.keywords,
|
||||||
@@ -64,21 +67,7 @@ class ThreadConstants {
|
|||||||
});
|
});
|
||||||
|
|
||||||
static final propertiesCalendarEvent = Properties({
|
static final propertiesCalendarEvent = Properties({
|
||||||
EmailProperty.id,
|
...propertiesDefault.value,
|
||||||
EmailProperty.blobId,
|
|
||||||
EmailProperty.subject,
|
|
||||||
EmailProperty.from,
|
|
||||||
EmailProperty.to,
|
|
||||||
EmailProperty.cc,
|
|
||||||
EmailProperty.bcc,
|
|
||||||
EmailProperty.keywords,
|
|
||||||
EmailProperty.size,
|
|
||||||
EmailProperty.receivedAt,
|
|
||||||
EmailProperty.sentAt,
|
|
||||||
EmailProperty.preview,
|
|
||||||
EmailProperty.hasAttachment,
|
|
||||||
EmailProperty.replyTo,
|
|
||||||
EmailProperty.mailboxIds,
|
|
||||||
IndividualHeaderIdentifier.headerCalendarEvent.value,
|
IndividualHeaderIdentifier.headerCalendarEvent.value,
|
||||||
});
|
});
|
||||||
|
|
||||||
|
|||||||
@@ -34,6 +34,9 @@ class SearchEmail extends Email {
|
|||||||
super.headerUserAgent,
|
super.headerUserAgent,
|
||||||
super.headerMdn,
|
super.headerMdn,
|
||||||
super.headerCalendarEvent,
|
super.headerCalendarEvent,
|
||||||
|
super.xPriorityHeader,
|
||||||
|
super.importanceHeader,
|
||||||
|
super.priorityHeader,
|
||||||
super.sMimeStatusHeader,
|
super.sMimeStatusHeader,
|
||||||
super.identityHeader,
|
super.identityHeader,
|
||||||
required this.searchSnippetSubject,
|
required this.searchSnippetSubject,
|
||||||
@@ -82,6 +85,9 @@ class SearchEmail extends Email {
|
|||||||
headerUserAgent: email.headerUserAgent,
|
headerUserAgent: email.headerUserAgent,
|
||||||
headerMdn: email.headerMdn,
|
headerMdn: email.headerMdn,
|
||||||
headerCalendarEvent: email.headerCalendarEvent,
|
headerCalendarEvent: email.headerCalendarEvent,
|
||||||
|
xPriorityHeader: email.xPriorityHeader,
|
||||||
|
importanceHeader: email.importanceHeader,
|
||||||
|
priorityHeader: email.priorityHeader,
|
||||||
sMimeStatusHeader: email.sMimeStatusHeader,
|
sMimeStatusHeader: email.sMimeStatusHeader,
|
||||||
identityHeader: email.identityHeader,
|
identityHeader: email.identityHeader,
|
||||||
searchSnippetSubject: searchSnippetSubject,
|
searchSnippetSubject: searchSnippetSubject,
|
||||||
|
|||||||
@@ -354,4 +354,20 @@ mixin BaseEmailItemTile {
|
|||||||
),
|
),
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Widget buildMarkAsImportantIcon(BuildContext context) {
|
||||||
|
return Padding(
|
||||||
|
padding: ItemEmailTileStyles.getSpaceCalendarEventIcon(
|
||||||
|
context,
|
||||||
|
responsiveUtils,
|
||||||
|
),
|
||||||
|
child: SvgPicture.asset(
|
||||||
|
imagePaths.icMarkAsImportant,
|
||||||
|
width: 20,
|
||||||
|
height: 20,
|
||||||
|
fit: BoxFit.fill,
|
||||||
|
colorFilter: AppColor.steelGray200.asFilter(),
|
||||||
|
),
|
||||||
|
);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
@@ -104,6 +104,8 @@ class EmailTileBuilder extends StatelessWidget with BaseEmailItemTile {
|
|||||||
children: [
|
children: [
|
||||||
if (presentationEmail.hasCalendarEvent)
|
if (presentationEmail.hasCalendarEvent)
|
||||||
buildCalendarEventIcon(context: context, presentationEmail: presentationEmail),
|
buildCalendarEventIcon(context: context, presentationEmail: presentationEmail),
|
||||||
|
if (presentationEmail.isMarkAsImportant)
|
||||||
|
buildMarkAsImportantIcon(context),
|
||||||
Expanded(child: buildEmailTitle(
|
Expanded(child: buildEmailTitle(
|
||||||
context,
|
context,
|
||||||
presentationEmail,
|
presentationEmail,
|
||||||
|
|||||||
@@ -140,6 +140,8 @@ class _EmailTileBuilderState extends State<EmailTileBuilder> with BaseEmailItem
|
|||||||
context: context,
|
context: context,
|
||||||
presentationEmail: widget.presentationEmail
|
presentationEmail: widget.presentationEmail
|
||||||
),
|
),
|
||||||
|
if (widget.presentationEmail.isMarkAsImportant)
|
||||||
|
buildMarkAsImportantIcon(context),
|
||||||
Expanded(
|
Expanded(
|
||||||
child: buildEmailTitle(
|
child: buildEmailTitle(
|
||||||
context,
|
context,
|
||||||
@@ -257,6 +259,8 @@ class _EmailTileBuilderState extends State<EmailTileBuilder> with BaseEmailItem
|
|||||||
context: context,
|
context: context,
|
||||||
presentationEmail: widget.presentationEmail
|
presentationEmail: widget.presentationEmail
|
||||||
),
|
),
|
||||||
|
if (widget.presentationEmail.isMarkAsImportant)
|
||||||
|
buildMarkAsImportantIcon(context),
|
||||||
Expanded(
|
Expanded(
|
||||||
child: buildEmailTitle(
|
child: buildEmailTitle(
|
||||||
context,
|
context,
|
||||||
@@ -611,6 +615,8 @@ class _EmailTileBuilderState extends State<EmailTileBuilder> with BaseEmailItem
|
|||||||
return Row(children: [
|
return Row(children: [
|
||||||
if (widget.presentationEmail.hasCalendarEvent)
|
if (widget.presentationEmail.hasCalendarEvent)
|
||||||
buildCalendarEventIcon(context: context, presentationEmail: widget.presentationEmail),
|
buildCalendarEventIcon(context: context, presentationEmail: widget.presentationEmail),
|
||||||
|
if (widget.presentationEmail.isMarkAsImportant)
|
||||||
|
buildMarkAsImportantIcon(context),
|
||||||
if (widget.presentationEmail.getEmailTitle().isNotEmpty)
|
if (widget.presentationEmail.getEmailTitle().isNotEmpty)
|
||||||
Container(
|
Container(
|
||||||
constraints: BoxConstraints(maxWidth: constraints.maxWidth / 2),
|
constraints: BoxConstraints(maxWidth: constraints.maxWidth / 2),
|
||||||
|
|||||||
+4
-6
@@ -2,6 +2,10 @@
|
|||||||
import 'package:equatable/equatable.dart';
|
import 'package:equatable/equatable.dart';
|
||||||
|
|
||||||
class MailPriorityHeader with EquatableMixin {
|
class MailPriorityHeader with EquatableMixin {
|
||||||
|
static const String firstXPriority = '1';
|
||||||
|
static const String highImportance = 'high';
|
||||||
|
static const String urgentPriority = 'urgent';
|
||||||
|
|
||||||
final String? xPriority;
|
final String? xPriority;
|
||||||
final String? importance;
|
final String? importance;
|
||||||
final String? priority;
|
final String? priority;
|
||||||
@@ -12,12 +16,6 @@ class MailPriorityHeader with EquatableMixin {
|
|||||||
this.priority,
|
this.priority,
|
||||||
});
|
});
|
||||||
|
|
||||||
factory MailPriorityHeader.asImportant() => MailPriorityHeader(
|
|
||||||
xPriority: '1',
|
|
||||||
importance: 'high',
|
|
||||||
priority: 'urgent',
|
|
||||||
);
|
|
||||||
|
|
||||||
@override
|
@override
|
||||||
List<Object?> get props => [
|
List<Object?> get props => [
|
||||||
xPriority,
|
xPriority,
|
||||||
@@ -13,6 +13,7 @@ import 'package:jmap_dart_client/jmap/mail/email/individual_header_identifier.da
|
|||||||
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';
|
||||||
|
import 'package:model/email/mail_priority_header.dart';
|
||||||
import 'package:model/extensions/email_address_extension.dart';
|
import 'package:model/extensions/email_address_extension.dart';
|
||||||
import 'package:model/extensions/keyword_identifier_extension.dart';
|
import 'package:model/extensions/keyword_identifier_extension.dart';
|
||||||
import 'package:model/extensions/media_type_nullable_extension.dart';
|
import 'package:model/extensions/media_type_nullable_extension.dart';
|
||||||
@@ -44,6 +45,9 @@ class PresentationEmail with EquatableMixin, SearchSnippetMixin {
|
|||||||
final Set<EmailBodyPart>? htmlBody;
|
final Set<EmailBodyPart>? htmlBody;
|
||||||
final Map<PartId, EmailBodyValue>? bodyValues;
|
final Map<PartId, EmailBodyValue>? bodyValues;
|
||||||
final Map<IndividualHeaderIdentifier, String?>? headerCalendarEvent;
|
final Map<IndividualHeaderIdentifier, String?>? headerCalendarEvent;
|
||||||
|
final Map<IndividualHeaderIdentifier, String?>? xPriorityHeader;
|
||||||
|
final Map<IndividualHeaderIdentifier, String?>? importanceHeader;
|
||||||
|
final Map<IndividualHeaderIdentifier, String?>? priorityHeader;
|
||||||
|
|
||||||
PresentationEmail({
|
PresentationEmail({
|
||||||
this.id,
|
this.id,
|
||||||
@@ -68,6 +72,9 @@ class PresentationEmail with EquatableMixin, SearchSnippetMixin {
|
|||||||
this.htmlBody,
|
this.htmlBody,
|
||||||
this.bodyValues,
|
this.bodyValues,
|
||||||
this.headerCalendarEvent,
|
this.headerCalendarEvent,
|
||||||
|
this.xPriorityHeader,
|
||||||
|
this.importanceHeader,
|
||||||
|
this.priorityHeader,
|
||||||
});
|
});
|
||||||
|
|
||||||
String getSenderName() {
|
String getSenderName() {
|
||||||
@@ -135,6 +142,22 @@ class PresentationEmail with EquatableMixin, SearchSnippetMixin {
|
|||||||
|
|
||||||
bool get hasCalendarEvent => headerCalendarEvent?[IndividualHeaderIdentifier.headerCalendarEvent]?.isNotEmpty == true;
|
bool get hasCalendarEvent => headerCalendarEvent?[IndividualHeaderIdentifier.headerCalendarEvent]?.isNotEmpty == true;
|
||||||
|
|
||||||
|
bool get isMarkAsImportant {
|
||||||
|
final xPriority = xPriorityHeader?[IndividualHeaderIdentifier.xPriorityHeader]
|
||||||
|
?.trim()
|
||||||
|
.toLowerCase();
|
||||||
|
final importance = importanceHeader?[IndividualHeaderIdentifier.importanceHeader]
|
||||||
|
?.trim()
|
||||||
|
.toLowerCase();
|
||||||
|
final priority = priorityHeader?[IndividualHeaderIdentifier.priorityHeader]
|
||||||
|
?.trim()
|
||||||
|
.toLowerCase();
|
||||||
|
|
||||||
|
return xPriority == MailPriorityHeader.firstXPriority &&
|
||||||
|
importance == MailPriorityHeader.highImportance &&
|
||||||
|
priority == MailPriorityHeader.urgentPriority;
|
||||||
|
}
|
||||||
|
|
||||||
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)
|
||||||
@@ -175,6 +198,9 @@ class PresentationEmail with EquatableMixin, SearchSnippetMixin {
|
|||||||
headerCalendarEvent,
|
headerCalendarEvent,
|
||||||
searchSnippetSubject,
|
searchSnippetSubject,
|
||||||
searchSnippetPreview,
|
searchSnippetPreview,
|
||||||
|
xPriorityHeader,
|
||||||
|
importanceHeader,
|
||||||
|
priorityHeader,
|
||||||
];
|
];
|
||||||
|
|
||||||
PresentationEmail copyWith({
|
PresentationEmail copyWith({
|
||||||
@@ -200,6 +226,9 @@ class PresentationEmail with EquatableMixin, SearchSnippetMixin {
|
|||||||
Set<EmailBodyPart>? htmlBody,
|
Set<EmailBodyPart>? htmlBody,
|
||||||
Map<PartId, EmailBodyValue>? bodyValues,
|
Map<PartId, EmailBodyValue>? bodyValues,
|
||||||
Map<IndividualHeaderIdentifier, String?>? headerCalendarEvent,
|
Map<IndividualHeaderIdentifier, String?>? headerCalendarEvent,
|
||||||
|
Map<IndividualHeaderIdentifier, String?>? xPriorityHeader,
|
||||||
|
Map<IndividualHeaderIdentifier, String?>? importanceHeader,
|
||||||
|
Map<IndividualHeaderIdentifier, String?>? priorityHeader,
|
||||||
}) {
|
}) {
|
||||||
return PresentationEmail(
|
return PresentationEmail(
|
||||||
id: id ?? this.id,
|
id: id ?? this.id,
|
||||||
@@ -224,6 +253,9 @@ class PresentationEmail with EquatableMixin, SearchSnippetMixin {
|
|||||||
htmlBody: htmlBody ?? this.htmlBody,
|
htmlBody: htmlBody ?? this.htmlBody,
|
||||||
bodyValues: bodyValues ?? this.bodyValues,
|
bodyValues: bodyValues ?? this.bodyValues,
|
||||||
headerCalendarEvent: headerCalendarEvent ?? this.headerCalendarEvent,
|
headerCalendarEvent: headerCalendarEvent ?? this.headerCalendarEvent,
|
||||||
|
xPriorityHeader: xPriorityHeader ?? this.xPriorityHeader,
|
||||||
|
importanceHeader: importanceHeader ?? this.importanceHeader,
|
||||||
|
priorityHeader: priorityHeader ?? this.priorityHeader,
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -102,7 +102,10 @@ extension EmailExtension on Email {
|
|||||||
bodyValues: bodyValues,
|
bodyValues: bodyValues,
|
||||||
headerUserAgent: headerUserAgent,
|
headerUserAgent: headerUserAgent,
|
||||||
attachments: attachments,
|
attachments: attachments,
|
||||||
headerCalendarEvent: headerCalendarEvent
|
headerCalendarEvent: headerCalendarEvent,
|
||||||
|
xPriorityHeader: xPriorityHeader,
|
||||||
|
importanceHeader: importanceHeader,
|
||||||
|
priorityHeader: priorityHeader,
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -129,7 +132,10 @@ extension EmailExtension on Email {
|
|||||||
mailboxIds: mailboxIds,
|
mailboxIds: mailboxIds,
|
||||||
selectMode: selectMode,
|
selectMode: selectMode,
|
||||||
emailHeader: headers?.toList(),
|
emailHeader: headers?.toList(),
|
||||||
headerCalendarEvent: headerCalendarEvent
|
headerCalendarEvent: headerCalendarEvent,
|
||||||
|
xPriorityHeader: xPriorityHeader,
|
||||||
|
importanceHeader: importanceHeader,
|
||||||
|
priorityHeader: priorityHeader,
|
||||||
)
|
)
|
||||||
..searchSnippetSubject = searchSnippetSubject
|
..searchSnippetSubject = searchSnippetSubject
|
||||||
..searchSnippetPreview = searchSnippetPreview;
|
..searchSnippetPreview = searchSnippetPreview;
|
||||||
@@ -153,6 +159,15 @@ extension EmailExtension on Email {
|
|||||||
replyTo: updatedProperties.contain(EmailProperty.replyTo) ? newEmail.replyTo : replyTo,
|
replyTo: updatedProperties.contain(EmailProperty.replyTo) ? newEmail.replyTo : replyTo,
|
||||||
mailboxIds: updatedProperties.contain(EmailProperty.mailboxIds) ? newEmail.mailboxIds : mailboxIds,
|
mailboxIds: updatedProperties.contain(EmailProperty.mailboxIds) ? newEmail.mailboxIds : mailboxIds,
|
||||||
headerCalendarEvent: updatedProperties.contain(IndividualHeaderIdentifier.headerCalendarEvent.value) ? newEmail.headerCalendarEvent : headerCalendarEvent,
|
headerCalendarEvent: updatedProperties.contain(IndividualHeaderIdentifier.headerCalendarEvent.value) ? newEmail.headerCalendarEvent : headerCalendarEvent,
|
||||||
|
xPriorityHeader: updatedProperties.contain(IndividualHeaderIdentifier.xPriorityHeader.value)
|
||||||
|
? newEmail.xPriorityHeader
|
||||||
|
: xPriorityHeader,
|
||||||
|
importanceHeader: updatedProperties.contain(IndividualHeaderIdentifier.importanceHeader.value)
|
||||||
|
? newEmail.importanceHeader
|
||||||
|
: importanceHeader,
|
||||||
|
priorityHeader: updatedProperties.contain(IndividualHeaderIdentifier.priorityHeader.value)
|
||||||
|
? newEmail.priorityHeader
|
||||||
|
: priorityHeader,
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -213,7 +228,10 @@ extension EmailExtension on Email {
|
|||||||
emailHeader: headers?.toList(),
|
emailHeader: headers?.toList(),
|
||||||
bodyValues: bodyValues,
|
bodyValues: bodyValues,
|
||||||
htmlBody: htmlBody,
|
htmlBody: htmlBody,
|
||||||
headerCalendarEvent: headerCalendarEvent
|
headerCalendarEvent: headerCalendarEvent,
|
||||||
|
xPriorityHeader: xPriorityHeader,
|
||||||
|
importanceHeader: importanceHeader,
|
||||||
|
priorityHeader: priorityHeader,
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -250,6 +268,9 @@ extension EmailExtension on Email {
|
|||||||
headerUserAgent: headerUserAgent,
|
headerUserAgent: headerUserAgent,
|
||||||
headerMdn: value,
|
headerMdn: value,
|
||||||
headerCalendarEvent: headerCalendarEvent,
|
headerCalendarEvent: headerCalendarEvent,
|
||||||
|
xPriorityHeader: xPriorityHeader,
|
||||||
|
importanceHeader: importanceHeader,
|
||||||
|
priorityHeader: priorityHeader,
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -80,7 +80,10 @@ extension PresentationEmailExtension on PresentationEmail {
|
|||||||
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
|
headerCalendarEvent: headerCalendarEvent,
|
||||||
|
xPriorityHeader: xPriorityHeader,
|
||||||
|
importanceHeader: importanceHeader,
|
||||||
|
priorityHeader: priorityHeader,
|
||||||
)
|
)
|
||||||
..searchSnippetSubject = searchSnippetSubject
|
..searchSnippetSubject = searchSnippetSubject
|
||||||
..searchSnippetPreview = searchSnippetPreview;
|
..searchSnippetPreview = searchSnippetPreview;
|
||||||
@@ -106,7 +109,10 @@ extension PresentationEmailExtension on PresentationEmail {
|
|||||||
selectMode: selectMode,
|
selectMode: selectMode,
|
||||||
routeWeb: routeWeb,
|
routeWeb: routeWeb,
|
||||||
mailboxContain: mailboxContain,
|
mailboxContain: mailboxContain,
|
||||||
headerCalendarEvent: headerCalendarEvent
|
headerCalendarEvent: headerCalendarEvent,
|
||||||
|
xPriorityHeader: xPriorityHeader,
|
||||||
|
importanceHeader: importanceHeader,
|
||||||
|
priorityHeader: priorityHeader,
|
||||||
)
|
)
|
||||||
..searchSnippetSubject = searchSnippetSubject
|
..searchSnippetSubject = searchSnippetSubject
|
||||||
..searchSnippetPreview = searchSnippetPreview;
|
..searchSnippetPreview = searchSnippetPreview;
|
||||||
@@ -132,7 +138,10 @@ extension PresentationEmailExtension on PresentationEmail {
|
|||||||
bodyValues: bodyValues,
|
bodyValues: bodyValues,
|
||||||
mailboxIds: mailboxIds,
|
mailboxIds: mailboxIds,
|
||||||
headers: emailHeader?.toSet(),
|
headers: emailHeader?.toSet(),
|
||||||
headerCalendarEvent: headerCalendarEvent
|
headerCalendarEvent: headerCalendarEvent,
|
||||||
|
xPriorityHeader: xPriorityHeader,
|
||||||
|
importanceHeader: importanceHeader,
|
||||||
|
priorityHeader: priorityHeader,
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -165,7 +174,10 @@ extension PresentationEmailExtension on PresentationEmail {
|
|||||||
selectMode: selectMode,
|
selectMode: selectMode,
|
||||||
routeWeb: routeWeb,
|
routeWeb: routeWeb,
|
||||||
mailboxContain: matchedMailbox,
|
mailboxContain: matchedMailbox,
|
||||||
headerCalendarEvent: headerCalendarEvent
|
headerCalendarEvent: headerCalendarEvent,
|
||||||
|
xPriorityHeader: xPriorityHeader,
|
||||||
|
importanceHeader: importanceHeader,
|
||||||
|
priorityHeader: priorityHeader,
|
||||||
)
|
)
|
||||||
..searchSnippetSubject = searchSnippetSubject
|
..searchSnippetSubject = searchSnippetSubject
|
||||||
..searchSnippetPreview = searchSnippetPreview;
|
..searchSnippetPreview = searchSnippetPreview;
|
||||||
@@ -204,7 +216,10 @@ extension PresentationEmailExtension on PresentationEmail {
|
|||||||
selectMode: selectMode,
|
selectMode: selectMode,
|
||||||
routeWeb: routeWeb,
|
routeWeb: routeWeb,
|
||||||
mailboxContain: mailboxContain,
|
mailboxContain: mailboxContain,
|
||||||
headerCalendarEvent: headerCalendarEvent
|
headerCalendarEvent: headerCalendarEvent,
|
||||||
|
xPriorityHeader: xPriorityHeader,
|
||||||
|
importanceHeader: importanceHeader,
|
||||||
|
priorityHeader: priorityHeader,
|
||||||
)
|
)
|
||||||
..searchSnippetSubject = searchSnippetSubject
|
..searchSnippetSubject = searchSnippetSubject
|
||||||
..searchSnippetPreview = searchSnippetPreview;
|
..searchSnippetPreview = searchSnippetPreview;
|
||||||
@@ -233,7 +248,10 @@ extension PresentationEmailExtension on PresentationEmail {
|
|||||||
selectMode: selectMode,
|
selectMode: selectMode,
|
||||||
routeWeb: routeWeb,
|
routeWeb: routeWeb,
|
||||||
mailboxContain: mailboxContain,
|
mailboxContain: mailboxContain,
|
||||||
headerCalendarEvent: headerCalendarEvent
|
headerCalendarEvent: headerCalendarEvent,
|
||||||
|
xPriorityHeader: xPriorityHeader,
|
||||||
|
importanceHeader: importanceHeader,
|
||||||
|
priorityHeader: priorityHeader,
|
||||||
)
|
)
|
||||||
..searchSnippetSubject = searchSnippetSubject
|
..searchSnippetSubject = searchSnippetSubject
|
||||||
..searchSnippetPreview = searchSnippetPreview;
|
..searchSnippetPreview = searchSnippetPreview;
|
||||||
@@ -259,7 +277,10 @@ extension PresentationEmailExtension on PresentationEmail {
|
|||||||
selectMode: selectMode,
|
selectMode: selectMode,
|
||||||
routeWeb: routeWeb,
|
routeWeb: routeWeb,
|
||||||
mailboxContain: mailboxContain,
|
mailboxContain: mailboxContain,
|
||||||
headerCalendarEvent: headerCalendarEvent
|
headerCalendarEvent: headerCalendarEvent,
|
||||||
|
xPriorityHeader: xPriorityHeader,
|
||||||
|
importanceHeader: importanceHeader,
|
||||||
|
priorityHeader: priorityHeader,
|
||||||
)
|
)
|
||||||
..searchSnippetSubject = searchSnippetSubject
|
..searchSnippetSubject = searchSnippetSubject
|
||||||
..searchSnippetPreview = searchSnippetPreview;
|
..searchSnippetPreview = searchSnippetPreview;
|
||||||
|
|||||||
@@ -25,6 +25,7 @@ export 'email/prefix_email_address.dart';
|
|||||||
export 'email/presentation_email.dart';
|
export 'email/presentation_email.dart';
|
||||||
export 'email/presentation_email_address.dart';
|
export 'email/presentation_email_address.dart';
|
||||||
export 'email/read_actions.dart';
|
export 'email/read_actions.dart';
|
||||||
|
export 'email/mail_priority_header.dart';
|
||||||
export 'extensions/account_extension.dart';
|
export 'extensions/account_extension.dart';
|
||||||
export 'extensions/account_id_extensions.dart';
|
export 'extensions/account_id_extensions.dart';
|
||||||
export 'extensions/attachment_extension.dart';
|
export 'extensions/attachment_extension.dart';
|
||||||
|
|||||||
Reference in New Issue
Block a user