TF-4056 Persist filter search when change quick search input text

This commit is contained in:
dab246
2025-09-24 16:36:52 +07:00
committed by Dat H. Pham
parent 9600b169cc
commit 8de66187b0
4 changed files with 10 additions and 21 deletions
@@ -968,7 +968,6 @@ class MailboxDashBoardController extends ReloadableController
void searchEmailByQueryString(String queryString) {
final isMailAddress = EmailUtils.isEmailAddressValid(queryString);
log('MailboxDashBoardController::searchEmailByQueryString():QueryString = $queryString | isMailAddress = $isMailAddress');
clearFilterMessageOption();
if (_searchInsideThreadDetailViewIsActive()) {
_closeEmailDetailedView();
}
@@ -143,17 +143,16 @@ class SearchController extends BaseController with DateRangePickerMixin {
void applyFilterSuggestionToSearchFilter(String currentUserEmail) {
final receiveTime = listFilterOnSuggestionForm.contains(QuickSearchFilter.last7Days)
? EmailReceiveTimeType.last7Days
: EmailReceiveTimeType.allTime;
: null;
final hasAttachment = listFilterOnSuggestionForm.contains(QuickSearchFilter.hasAttachment) ? true : false;
final hasAttachment = listFilterOnSuggestionForm.contains(QuickSearchFilter.hasAttachment)
? true
: null;
var listFromAddress = searchEmailFilter.value.from;
if (currentUserEmail.isNotEmpty) {
if (listFilterOnSuggestionForm.contains(QuickSearchFilter.fromMe)) {
listFromAddress.add(currentUserEmail);
} else {
listFromAddress.remove(currentUserEmail);
}
if (currentUserEmail.isNotEmpty &&
listFilterOnSuggestionForm.contains(QuickSearchFilter.fromMe)) {
listFromAddress.add(currentUserEmail);
}
final listHasKeyword = listFilterOnSuggestionForm.contains(QuickSearchFilter.starred)
@@ -161,10 +160,10 @@ class SearchController extends BaseController with DateRangePickerMixin {
: null;
updateFilterEmail(
emailReceiveTimeTypeOption: Some(receiveTime),
hasAttachmentOption: Some(hasAttachment),
emailReceiveTimeTypeOption: receiveTime != null ? Some(receiveTime) : null,
hasAttachmentOption: hasAttachment != null ? Some(hasAttachment) : null,
fromOption: Some(listFromAddress),
hasKeywordOption: optionOf(listHasKeyword),
hasKeywordOption: listHasKeyword != null ? Some(listHasKeyword) : null,
);
clearFilterSuggestion();
@@ -168,9 +168,6 @@ class SearchInputFormWidget extends StatelessWidget with AppLoaderMixin {
}
if (queryString.isNotEmpty || _searchController.listFilterOnSuggestionForm.isNotEmpty) {
_searchController.clearSearchFilter(
sortOrderType: _dashBoardController.currentSortOrder,
);
_searchController.applyFilterSuggestionToSearchFilter(
_dashBoardController.ownEmailAddress.value,
);
@@ -208,9 +205,6 @@ class SearchInputFormWidget extends StatelessWidget with AppLoaderMixin {
_searchController.searchInputController.text = recent.value;
_searchController.searchFocus.unfocus();
_searchController.enableSearch();
_searchController.clearSearchFilter(
sortOrderType: _dashBoardController.currentSortOrder,
);
_searchController.applyFilterSuggestionToSearchFilter(
_dashBoardController.ownEmailAddress.value,
);
@@ -603,9 +603,6 @@ class SearchEmailController extends BaseController
listResultSearch.clear();
emailReceiveTimeType.value = EmailReceiveTimeType.allTime;
emailSortOrderType.value = mailboxDashBoardController.currentSortOrder;
searchEmailFilter.value = SearchEmailFilter.withSortOrder(
emailSortOrderType.value,
);
searchIsRunning.value = false;
final isMailAddress = EmailUtils.isEmailAddressValid(queryString);
if (isMailAddress) {