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; return 0;
} }
} }
String get trimmed => trim();
} }
@@ -262,12 +262,6 @@ class MailboxController extends BaseMailboxController
_handleNavigationRouteParameters _handleNavigationRouteParameters
); );
ever(mailboxDashBoardController.dashBoardAction, (action) {
if (action is ClearSearchEmailAction) {
_switchBackToMailboxDefault();
}
});
ever(mailboxDashBoardController.mailboxUIAction, (action) { ever(mailboxDashBoardController.mailboxUIAction, (action) {
if (action is SelectMailboxDefaultAction) { if (action is SelectMailboxDefaultAction) {
_switchBackToMailboxDefault(); _switchBackToMailboxDefault();
@@ -58,8 +58,6 @@ class StartSearchEmailAction extends DashBoardAction {}
class EmptyTrashAction extends DashBoardAction {} class EmptyTrashAction extends DashBoardAction {}
class ClearSearchEmailAction extends DashBoardAction {}
class ClearAllFieldOfAdvancedSearchAction extends DashBoardAction {} class ClearAllFieldOfAdvancedSearchAction extends DashBoardAction {}
class OpenEmailInsideMailboxFromLocationBar extends DashBoardAction { class OpenEmailInsideMailboxFromLocationBar extends DashBoardAction {
@@ -998,11 +998,6 @@ class MailboxDashBoardController extends ReloadableController
&& dashboardRoute.value == DashboardRoutes.threadDetailed; && dashboardRoute.value == DashboardRoutes.threadDetailed;
} }
void clearSearchEmail() {
dispatchAction(ClearSearchEmailAction());
searchController.disableSimpleSearch();
}
void _unSelectedMailbox() { void _unSelectedMailbox() {
selectedMailbox.value = null; selectedMailbox.value = null;
} }
@@ -231,13 +231,6 @@ class SearchController extends BaseController with DateRangePickerMixin {
searchState.value = searchState.value.enableSearchState(); searchState.value = searchState.value.enableSearchState();
} }
void disableSimpleSearch() {
updateFilterEmail(textOption: Some(SearchQuery.initial()));
_clearAllTextInputSimpleSearch();
deactivateSimpleSearch();
hideSimpleSearchFormView();
}
void clearTextSearch() { void clearTextSearch() {
searchInputController.clear(); searchInputController.clear();
searchFocus.requestFocus(); searchFocus.requestFocus();
@@ -1,5 +1,6 @@
import 'package:core/presentation/extensions/color_extension.dart'; 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/resources/image_paths.dart';
import 'package:core/presentation/utils/responsive_utils.dart'; import 'package:core/presentation/utils/responsive_utils.dart';
import 'package:core/presentation/utils/theme_utils.dart'; import 'package:core/presentation/utils/theme_utils.dart';
@@ -160,21 +161,22 @@ class SearchInputFormWidget extends StatelessWidget with AppLoaderMixin {
void _invokeSearchEmailAction(String queryString) { void _invokeSearchEmailAction(String queryString) {
log('SearchInputFormWidget::_invokeSearchEmailAction:QueryString = $queryString'); log('SearchInputFormWidget::_invokeSearchEmailAction:QueryString = $queryString');
final trimmedQueryString = queryString.trimmed;
_searchController.searchFocus.unfocus(); _searchController.searchFocus.unfocus();
_searchController.enableSearch(); _searchController.enableSearch();
if (queryString.isNotEmpty) { if (trimmedQueryString.isNotEmpty) {
_saveRecentSearch(queryString); _saveRecentSearch(trimmedQueryString);
} }
if (queryString.isNotEmpty || _searchController.listFilterOnSuggestionForm.isNotEmpty) { if (_searchController.listFilterOnSuggestionForm.isNotEmpty) {
_searchController.applyFilterSuggestionToSearchFilter( _searchController.applyFilterSuggestionToSearchFilter(
_dashBoardController.ownEmailAddress.value, _dashBoardController.ownEmailAddress.value,
); );
_dashBoardController.searchEmailByQueryString(queryString);
} else {
_dashBoardController.clearSearchEmail();
} }
_dashBoardController.searchEmailByQueryString(trimmedQueryString);
} }
void _saveRecentSearch(String queryString) { void _saveRecentSearch(String queryString) {
@@ -189,7 +191,7 @@ class SearchInputFormWidget extends StatelessWidget with AppLoaderMixin {
_searchController.saveRecentSearch( _searchController.saveRecentSearch(
accountId, accountId,
userName, userName,
RecentSearch.now(queryString), RecentSearch.now(queryString.trimmed),
); );
} }