From 0787f63b51dac600117d830ea20ea616f15ae284 Mon Sep 17 00:00:00 2001 From: dab246 Date: Thu, 6 Oct 2022 16:21:48 +0700 Subject: [PATCH] TF-1043 Fix advanced search not working correctly --- .../views/responsive/responsive_widget.dart | 2 -- .../controller/advanced_filter_controller.dart | 10 +++++++--- .../presentation/model/search/search_email_filter.dart | 6 ++++-- .../thread/presentation/thread_controller.dart | 3 +-- pubspec.lock | 6 +++--- 5 files changed, 15 insertions(+), 12 deletions(-) diff --git a/core/lib/presentation/views/responsive/responsive_widget.dart b/core/lib/presentation/views/responsive/responsive_widget.dart index 1affc871f..fbf0e737a 100644 --- a/core/lib/presentation/views/responsive/responsive_widget.dart +++ b/core/lib/presentation/views/responsive/responsive_widget.dart @@ -24,8 +24,6 @@ class ResponsiveWidget extends StatelessWidget { @override Widget build(BuildContext context) { - log('ResponsiveWidget::build(): WIDTH_SIZE: ${responsiveUtils.getDeviceWidth(context)}'); - if (BuildUtils.isWeb) { if (responsiveUtils.isMobile(context)) { return mobile; diff --git a/lib/features/mailbox_dashboard/presentation/controller/advanced_filter_controller.dart b/lib/features/mailbox_dashboard/presentation/controller/advanced_filter_controller.dart index 37292f792..0d0aace35 100644 --- a/lib/features/mailbox_dashboard/presentation/controller/advanced_filter_controller.dart +++ b/lib/features/mailbox_dashboard/presentation/controller/advanced_filter_controller.dart @@ -151,7 +151,11 @@ class AdvancedFilterController extends BaseController { void applyAdvancedSearchFilter(BuildContext context) { _updateFilterEmailFromAdvancedSearchView(); - searchController.isAdvancedSearchHasApply.value = _checkAdvancedSearchHasApply(); + searchController.isAdvancedSearchHasApply.value = isAdvancedSearchHasApplied; + if (!isAdvancedSearchHasApplied) { + final newSearchEmailFilter = searchController.searchEmailFilter.value.clearBeforeDate(); + searchController.searchEmailFilter.value = newSearchEmailFilter; + } searchController.isAdvancedSearchViewOpen.toggle(); _mailboxDashBoardController.searchEmail( context, StringConvert.writeNullToEmpty(searchEmailFilter.text?.value)); @@ -220,14 +224,14 @@ class AdvancedFilterController extends BaseController { } } - bool _checkAdvancedSearchHasApply() { + bool get isAdvancedSearchHasApplied { return searchEmailFilter.from.isNotEmpty || searchEmailFilter.to.isNotEmpty || subjectFilterInputController.text.isNotEmpty || hasKeyWordFilterInputController.text.isNotEmpty || notKeyWordFilterInputController.text.isNotEmpty || searchEmailFilter.emailReceiveTimeType != EmailReceiveTimeType.allTime || - searchEmailFilter.mailbox != _mailboxDashBoardController.selectedMailbox.value || + searchEmailFilter.mailbox != PresentationMailbox.unifiedMailbox || hasAttachment.isTrue; } 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 bb72df097..dc9557173 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 @@ -112,7 +112,7 @@ class SearchEmailFilter { extension SearchEmailFilterExtension on SearchEmailFilter { - SearchEmailFilter toSearchEmailFilter({UTCDate? newBefore}) { + SearchEmailFilter clearBeforeDate() { return SearchEmailFilter( from: from, to: to, @@ -122,7 +122,9 @@ extension SearchEmailFilterExtension on SearchEmailFilter { mailbox: mailbox, emailReceiveTimeType: emailReceiveTimeType, hasAttachment: hasAttachment, - before: newBefore, + before: null, + startDate: startDate, + endDate: endDate, ); } diff --git a/lib/features/thread/presentation/thread_controller.dart b/lib/features/thread/presentation/thread_controller.dart index 9308a4501..9efba872e 100644 --- a/lib/features/thread/presentation/thread_controller.dart +++ b/lib/features/thread/presentation/thread_controller.dart @@ -431,7 +431,7 @@ class ThreadController extends BaseController { final limit = emailList.isNotEmpty ? UnsignedInt(emailList.length) : ThreadConstants.defaultLimit; - searchController.searchEmailFilter.value = _searchEmailFilter.toSearchEmailFilter(newBefore: null); + searchController.searchEmailFilter.value = _searchEmailFilter.clearBeforeDate(); _searchEmail(limit: limit); } } else { @@ -456,7 +456,6 @@ class ThreadController extends BaseController { void loadMoreEmails() { log('ThreadController::loadMoreEmails()'); if (canLoadMore && _accountId != null) { - startFpsMeter(); consumeState(_loadMoreEmailsInMailboxInteractor.execute( GetEmailRequest( _accountId!, diff --git a/pubspec.lock b/pubspec.lock index 21d0eca62..a6595c728 100644 --- a/pubspec.lock +++ b/pubspec.lock @@ -802,7 +802,7 @@ packages: name: logging url: "https://pub.dartlang.org" source: hosted - version: "1.0.2" + version: "1.1.0" matcher: dependency: transitive description: @@ -1104,7 +1104,7 @@ packages: description: path: "." ref: master - resolved-ref: "45ed9a973331ac4209917e365792967d7ca7b5bb" + resolved-ref: "3dc2e65ee12bf6df9c341ccc229a5dfc9d16405f" url: "https://github.com/linagora/rich-text-composer.git" source: git version: "0.0.1" @@ -1252,7 +1252,7 @@ packages: name: stream_transform url: "https://pub.dartlang.org" source: hosted - version: "2.0.0" + version: "2.0.1" string_scanner: dependency: transitive description: