TF-4056 Keep in search when user clear text to search with current filter

This commit is contained in:
dab246
2025-10-13 12:34:03 +07:00
committed by Dat H. Pham
parent 5584982294
commit 7ef7aae2ce
6 changed files with 11 additions and 27 deletions
@@ -98,4 +98,6 @@ extension StringExtension on String {
return 0;
}
}
String get trimmed => trim();
}
@@ -262,12 +262,6 @@ class MailboxController extends BaseMailboxController
_handleNavigationRouteParameters
);
ever(mailboxDashBoardController.dashBoardAction, (action) {
if (action is ClearSearchEmailAction) {
_switchBackToMailboxDefault();
}
});
ever(mailboxDashBoardController.mailboxUIAction, (action) {
if (action is SelectMailboxDefaultAction) {
_switchBackToMailboxDefault();
@@ -58,8 +58,6 @@ class StartSearchEmailAction extends DashBoardAction {}
class EmptyTrashAction extends DashBoardAction {}
class ClearSearchEmailAction extends DashBoardAction {}
class ClearAllFieldOfAdvancedSearchAction extends DashBoardAction {}
class OpenEmailInsideMailboxFromLocationBar extends DashBoardAction {
@@ -998,11 +998,6 @@ class MailboxDashBoardController extends ReloadableController
&& dashboardRoute.value == DashboardRoutes.threadDetailed;
}
void clearSearchEmail() {
dispatchAction(ClearSearchEmailAction());
searchController.disableSimpleSearch();
}
void _unSelectedMailbox() {
selectedMailbox.value = null;
}
@@ -231,13 +231,6 @@ class SearchController extends BaseController with DateRangePickerMixin {
searchState.value = searchState.value.enableSearchState();
}
void disableSimpleSearch() {
updateFilterEmail(textOption: Some(SearchQuery.initial()));
_clearAllTextInputSimpleSearch();
deactivateSimpleSearch();
hideSimpleSearchFormView();
}
void clearTextSearch() {
searchInputController.clear();
searchFocus.requestFocus();
@@ -1,5 +1,6 @@
import 'package:core/presentation/extensions/color_extension.dart';
import 'package:core/presentation/extensions/string_extension.dart';
import 'package:core/presentation/resources/image_paths.dart';
import 'package:core/presentation/utils/responsive_utils.dart';
import 'package:core/presentation/utils/theme_utils.dart';
@@ -160,21 +161,22 @@ class SearchInputFormWidget extends StatelessWidget with AppLoaderMixin {
void _invokeSearchEmailAction(String queryString) {
log('SearchInputFormWidget::_invokeSearchEmailAction:QueryString = $queryString');
final trimmedQueryString = queryString.trimmed;
_searchController.searchFocus.unfocus();
_searchController.enableSearch();
if (queryString.isNotEmpty) {
_saveRecentSearch(queryString);
if (trimmedQueryString.isNotEmpty) {
_saveRecentSearch(trimmedQueryString);
}
if (queryString.isNotEmpty || _searchController.listFilterOnSuggestionForm.isNotEmpty) {
if (_searchController.listFilterOnSuggestionForm.isNotEmpty) {
_searchController.applyFilterSuggestionToSearchFilter(
_dashBoardController.ownEmailAddress.value,
);
_dashBoardController.searchEmailByQueryString(queryString);
} else {
_dashBoardController.clearSearchEmail();
}
_dashBoardController.searchEmailByQueryString(trimmedQueryString);
}
void _saveRecentSearch(String queryString) {
@@ -189,7 +191,7 @@ class SearchInputFormWidget extends StatelessWidget with AppLoaderMixin {
_searchController.saveRecentSearch(
accountId,
userName,
RecentSearch.now(queryString),
RecentSearch.now(queryString.trimmed),
);
}