TF-900 fix not correct search result when close search box

This commit is contained in:
sherlock
2022-10-31 17:13:51 +07:00
committed by Dat H. Pham
parent 1b4ff83326
commit 93afb42c1b
5 changed files with 31 additions and 4 deletions
@@ -94,6 +94,13 @@ class EmptyTrashAction extends DashBoardAction {
EmptyTrashAction(this.context);
@override
List<Object?> get props => [];
}
class ClearSearchEmailAction extends DashBoardAction {
ClearSearchEmailAction();
@override
List<Object?> get props => [];
}
@@ -422,6 +422,11 @@ class MailboxDashBoardController extends ReloadableController {
&& dashboardRoute.value == DashboardRoutes.emailDetailed;
}
void clearSearchEmail() {
dispatchAction(ClearSearchEmailAction());
searchController.disableSearch();
}
void _unSelectedMailbox() {
selectedMailbox.value = null;
}
@@ -157,7 +157,6 @@ class SearchController extends BaseController {
searchInputController.clear();
cleanSearchFilter();
searchFocus.unfocus();
searchState.value = searchState.value.disableSearchState();
}
});
}
@@ -17,12 +17,11 @@ import 'package:tmail_ui_user/features/mailbox_dashboard/presentation/widgets/re
import 'package:tmail_ui_user/main/localizations/app_localizations.dart';
class SearchInputFormWidget extends StatelessWidget with AppLoaderMixin {
final MailboxDashBoardController dashBoardController;
final ImagePaths imagePaths;
final double maxWidth;
const SearchInputFormWidget({
SearchInputFormWidget({
Key? key,
required this.dashBoardController,
required this.imagePaths,
@@ -65,6 +64,8 @@ class SearchInputFormWidget extends StatelessWidget with AppLoaderMixin {
if (query.isNotEmpty) {
controller.saveRecentSearch(RecentSearch.now(query));
dashBoardController.searchEmail(context, query);
} else {
dashBoardController.clearSearchEmail();
}
},
onChanged: controller.onChangeTextSearch,
@@ -92,6 +93,8 @@ class SearchInputFormWidget extends StatelessWidget with AppLoaderMixin {
if (keyword.isNotEmpty) {
controller.saveRecentSearch(RecentSearch.now(keyword));
dashBoardController.searchEmail(context, keyword);
} else {
dashBoardController.clearSearchEmail();
}
}),
clearTextButton: buildIconWeb(
@@ -150,7 +153,10 @@ class SearchInputFormWidget extends StatelessWidget with AppLoaderMixin {
if (query.isNotEmpty) {
controller.saveRecentSearch(RecentSearch.now(query));
dashBoardController.searchEmail(context, query);
} else {
dashBoardController.clearSearchEmail();
}
},
child: Padding(
padding: const EdgeInsets.all(12),