TF-1043 Fix advanced search not working correctly

This commit is contained in:
dab246
2022-10-06 16:21:48 +07:00
committed by Dat H. Pham
parent 09f5e3458e
commit 0787f63b51
5 changed files with 15 additions and 12 deletions
@@ -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;
@@ -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;
}
@@ -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,
);
}
@@ -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!,
+3 -3
View File
@@ -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: