TF-1043 Fix advanced search not working correctly
This commit is contained in:
+7
-3
@@ -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!,
|
||||
|
||||
Reference in New Issue
Block a user