TF-3235 Create SeachSnippets for presentation emails and update at interactors

This commit is contained in:
DatDang
2024-11-01 10:42:14 +07:00
committed by Dat H. Pham
parent 659acd7b17
commit 9c1d991c74
12 changed files with 476 additions and 13 deletions
+4 -1
View File
@@ -18,8 +18,9 @@ import 'package:model/extensions/keyword_identifier_extension.dart';
import 'package:model/extensions/media_type_nullable_extension.dart';
import 'package:model/mailbox/presentation_mailbox.dart';
import 'package:model/mailbox/select_mode.dart';
import 'package:model/mixin/search_snippet_mixin.dart';
class PresentationEmail with EquatableMixin {
class PresentationEmail with EquatableMixin, SearchSnippetMixin {
final EmailId? id;
final Id? blobId;
@@ -172,5 +173,7 @@ class PresentationEmail with EquatableMixin {
htmlBody,
bodyValues,
headerCalendarEvent,
searchSnippetSubject,
searchSnippetPreview,
];
}
+8 -2
View File
@@ -94,7 +94,11 @@ extension EmailExtension on Email {
);
}
PresentationEmail toPresentationEmail({SelectMode selectMode = SelectMode.INACTIVE}) {
PresentationEmail toPresentationEmail({
SelectMode selectMode = SelectMode.INACTIVE,
String? searchSnippetSubject,
String? searchSnippetPreview,
}) {
return PresentationEmail(
id: id,
blobId: blobId,
@@ -114,7 +118,9 @@ extension EmailExtension on Email {
selectMode: selectMode,
emailHeader: headers?.toList(),
headerCalendarEvent: headerCalendarEvent
);
)
..searchSnippetSubject = searchSnippetSubject
..searchSnippetPreview = searchSnippetPreview;
}
Email combineEmail(Email newEmail, Properties updatedProperties) {
@@ -64,7 +64,9 @@ extension PresentationEmailExtension on PresentationEmail {
routeWeb: routeWeb,
mailboxContain: mailboxContain,
headerCalendarEvent: headerCalendarEvent
);
)
..searchSnippetSubject = searchSnippetSubject
..searchSnippetPreview = searchSnippetPreview;
}
PresentationEmail toSelectedEmail({required SelectMode selectMode}) {
@@ -88,7 +90,9 @@ extension PresentationEmailExtension on PresentationEmail {
routeWeb: routeWeb,
mailboxContain: mailboxContain,
headerCalendarEvent: headerCalendarEvent
);
)
..searchSnippetSubject = searchSnippetSubject
..searchSnippetPreview = searchSnippetPreview;
}
Email toEmail() {
@@ -169,7 +173,9 @@ extension PresentationEmailExtension on PresentationEmail {
routeWeb: routeWeb,
mailboxContain: matchedMailbox,
headerCalendarEvent: headerCalendarEvent
);
)
..searchSnippetSubject = searchSnippetSubject
..searchSnippetPreview = searchSnippetPreview;
}
PresentationMailbox? findMailboxContain(Map<MailboxId, PresentationMailbox> mapMailbox) {
@@ -206,7 +212,9 @@ extension PresentationEmailExtension on PresentationEmail {
routeWeb: routeWeb,
mailboxContain: mailboxContain,
headerCalendarEvent: headerCalendarEvent
);
)
..searchSnippetSubject = searchSnippetSubject
..searchSnippetPreview = searchSnippetPreview;
}
PresentationEmail updateKeywords(Map<KeyWordIdentifier, bool>? newKeywords) {
@@ -230,7 +238,9 @@ extension PresentationEmailExtension on PresentationEmail {
routeWeb: routeWeb,
mailboxContain: mailboxContain,
headerCalendarEvent: headerCalendarEvent
);
)
..searchSnippetSubject = searchSnippetSubject
..searchSnippetPreview = searchSnippetPreview;
}
PresentationEmail syncPresentationEmail({PresentationMailbox? mailboxContain, Uri? routeWeb}) {
@@ -254,7 +264,9 @@ extension PresentationEmailExtension on PresentationEmail {
routeWeb: routeWeb,
mailboxContain: mailboxContain,
headerCalendarEvent: headerCalendarEvent
);
)
..searchSnippetSubject = searchSnippetSubject
..searchSnippetPreview = searchSnippetPreview;
}
bool isBelongToOneOfTheMailboxes(List<MailboxId> mailboxIdsSource) {
@@ -0,0 +1,4 @@
mixin SearchSnippetMixin {
String? searchSnippetSubject;
String? searchSnippetPreview;
}