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) { void searchEmailByQueryString(String queryString) {
final isMailAddress = EmailUtils.isEmailAddressValid(queryString); final isMailAddress = EmailUtils.isEmailAddressValid(queryString);
log('MailboxDashBoardController::searchEmailByQueryString():QueryString = $queryString | isMailAddress = $isMailAddress'); log('MailboxDashBoardController::searchEmailByQueryString():QueryString = $queryString | isMailAddress = $isMailAddress');
clearFilterMessageOption();
if (_searchInsideThreadDetailViewIsActive()) { if (_searchInsideThreadDetailViewIsActive()) {
_closeEmailDetailedView(); _closeEmailDetailedView();
} }
@@ -143,17 +143,16 @@ class SearchController extends BaseController with DateRangePickerMixin {
void applyFilterSuggestionToSearchFilter(String currentUserEmail) { void applyFilterSuggestionToSearchFilter(String currentUserEmail) {
final receiveTime = listFilterOnSuggestionForm.contains(QuickSearchFilter.last7Days) final receiveTime = listFilterOnSuggestionForm.contains(QuickSearchFilter.last7Days)
? EmailReceiveTimeType.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; var listFromAddress = searchEmailFilter.value.from;
if (currentUserEmail.isNotEmpty) { if (currentUserEmail.isNotEmpty &&
if (listFilterOnSuggestionForm.contains(QuickSearchFilter.fromMe)) { listFilterOnSuggestionForm.contains(QuickSearchFilter.fromMe)) {
listFromAddress.add(currentUserEmail); listFromAddress.add(currentUserEmail);
} else {
listFromAddress.remove(currentUserEmail);
}
} }
final listHasKeyword = listFilterOnSuggestionForm.contains(QuickSearchFilter.starred) final listHasKeyword = listFilterOnSuggestionForm.contains(QuickSearchFilter.starred)
@@ -161,10 +160,10 @@ class SearchController extends BaseController with DateRangePickerMixin {
: null; : null;
updateFilterEmail( updateFilterEmail(
emailReceiveTimeTypeOption: Some(receiveTime), emailReceiveTimeTypeOption: receiveTime != null ? Some(receiveTime) : null,
hasAttachmentOption: Some(hasAttachment), hasAttachmentOption: hasAttachment != null ? Some(hasAttachment) : null,
fromOption: Some(listFromAddress), fromOption: Some(listFromAddress),
hasKeywordOption: optionOf(listHasKeyword), hasKeywordOption: listHasKeyword != null ? Some(listHasKeyword) : null,
); );
clearFilterSuggestion(); clearFilterSuggestion();
@@ -168,9 +168,6 @@ class SearchInputFormWidget extends StatelessWidget with AppLoaderMixin {
} }
if (queryString.isNotEmpty || _searchController.listFilterOnSuggestionForm.isNotEmpty) { if (queryString.isNotEmpty || _searchController.listFilterOnSuggestionForm.isNotEmpty) {
_searchController.clearSearchFilter(
sortOrderType: _dashBoardController.currentSortOrder,
);
_searchController.applyFilterSuggestionToSearchFilter( _searchController.applyFilterSuggestionToSearchFilter(
_dashBoardController.ownEmailAddress.value, _dashBoardController.ownEmailAddress.value,
); );
@@ -208,9 +205,6 @@ class SearchInputFormWidget extends StatelessWidget with AppLoaderMixin {
_searchController.searchInputController.text = recent.value; _searchController.searchInputController.text = recent.value;
_searchController.searchFocus.unfocus(); _searchController.searchFocus.unfocus();
_searchController.enableSearch(); _searchController.enableSearch();
_searchController.clearSearchFilter(
sortOrderType: _dashBoardController.currentSortOrder,
);
_searchController.applyFilterSuggestionToSearchFilter( _searchController.applyFilterSuggestionToSearchFilter(
_dashBoardController.ownEmailAddress.value, _dashBoardController.ownEmailAddress.value,
); );
@@ -603,9 +603,6 @@ class SearchEmailController extends BaseController
listResultSearch.clear(); listResultSearch.clear();
emailReceiveTimeType.value = EmailReceiveTimeType.allTime; emailReceiveTimeType.value = EmailReceiveTimeType.allTime;
emailSortOrderType.value = mailboxDashBoardController.currentSortOrder; emailSortOrderType.value = mailboxDashBoardController.currentSortOrder;
searchEmailFilter.value = SearchEmailFilter.withSortOrder(
emailSortOrderType.value,
);
searchIsRunning.value = false; searchIsRunning.value = false;
final isMailAddress = EmailUtils.isEmailAddressValid(queryString); final isMailAddress = EmailUtils.isEmailAddressValid(queryString);
if (isMailAddress) { if (isMailAddress) {