From 75f66f3758d6f6c9ff6677cd14d85a7b52e2ac4b Mon Sep 17 00:00:00 2001 From: dab246 Date: Mon, 2 Dec 2024 13:21:46 +0700 Subject: [PATCH] fixup! TF-3296 Fix [SEARCH] Can't apply the "Starred" filter in search --- .../presentation/controller/mailbox_dashboard_controller.dart | 4 ++++ .../presentation/model/search/search_email_filter.dart | 3 +++ 2 files changed, 7 insertions(+) diff --git a/lib/features/mailbox_dashboard/presentation/controller/mailbox_dashboard_controller.dart b/lib/features/mailbox_dashboard/presentation/controller/mailbox_dashboard_controller.dart index 171cdac52..cf1548c37 100644 --- a/lib/features/mailbox_dashboard/presentation/controller/mailbox_dashboard_controller.dart +++ b/lib/features/mailbox_dashboard/presentation/controller/mailbox_dashboard_controller.dart @@ -794,6 +794,10 @@ class MailboxDashBoardController extends ReloadableController ? Some({queryString}) : null); + if (searchController.searchEmailFilter.value.isContainFlagged) { + filterMessageOption.value = FilterMessageOption.starred; + } + FocusManager.instance.primaryFocus?.unfocus(); dispatchAction(StartSearchEmailAction()); diff --git a/lib/features/mailbox_dashboard/presentation/model/search/search_email_filter.dart b/lib/features/mailbox_dashboard/presentation/model/search/search_email_filter.dart index 954729538..121c0abda 100644 --- a/lib/features/mailbox_dashboard/presentation/model/search/search_email_filter.dart +++ b/lib/features/mailbox_dashboard/presentation/model/search/search_email_filter.dart @@ -7,6 +7,7 @@ import 'package:jmap_dart_client/jmap/core/filter/filter_operator.dart'; import 'package:jmap_dart_client/jmap/core/filter/operator/logic_filter_operator.dart'; import 'package:jmap_dart_client/jmap/core/utc_date.dart'; import 'package:jmap_dart_client/jmap/mail/email/email_filter_condition.dart'; +import 'package:jmap_dart_client/jmap/mail/email/keyword_identifier.dart'; import 'package:model/email/prefix_email_address.dart'; import 'package:model/extensions/email_filter_condition_extension.dart'; import 'package:model/extensions/presentation_mailbox_extension.dart'; @@ -195,6 +196,8 @@ class SearchEmailFilter with EquatableMixin, OptionParamMixin { (mailbox != null && mailbox?.id != PresentationMailbox.unifiedMailbox.id) || hasAttachment; + bool get isContainFlagged => hasKeyword.contains(KeyWordIdentifier.emailFlagged.value); + @override List get props => [ from,