TF-2771 Fix show list email when user changed filter or sort order on iOS

This commit is contained in:
dab246
2024-04-12 16:32:14 +07:00
committed by Dat H. Pham
parent cc814f4b89
commit 3c6dbe82d1
2 changed files with 14 additions and 5 deletions
@@ -189,11 +189,7 @@ class SearchEmailController extends BaseController
} }
void _initializeTextInputFocus() { void _initializeTextInputFocus() {
textInputSearchFocus.addListener(() { textInputSearchFocus.addListener(_onSearchTextInputListener);
if (textInputSearchFocus.hasFocus) {
searchIsRunning.value = false;
}
});
} }
void _initWorkerListener() { void _initWorkerListener() {
@@ -235,6 +231,12 @@ class SearchEmailController extends BaseController
); );
} }
void _onSearchTextInputListener() {
if (textInputSearchFocus.hasFocus) {
searchIsRunning.value = false;
}
}
void _refreshEmailChanges() { void _refreshEmailChanges() {
if (searchIsRunning.isTrue && session != null && accountId != null) { if (searchIsRunning.isTrue && session != null && accountId != null) {
final limit = listResultSearch.isNotEmpty final limit = listResultSearch.isNotEmpty
@@ -308,6 +310,7 @@ class SearchEmailController extends BaseController
void _searchEmailAction(BuildContext context) { void _searchEmailAction(BuildContext context) {
KeyboardUtils.hideKeyboard(context); KeyboardUtils.hideKeyboard(context);
textInputSearchFocus.unfocus();
if (session != null && accountId != null) { if (session != null && accountId != null) {
canSearchMore = true; canSearchMore = true;
@@ -888,7 +891,9 @@ class SearchEmailController extends BaseController
@override @override
void onClose() { void onClose() {
textInputSearchFocus.removeListener(_onSearchTextInputListener);
textInputSearchController.dispose(); textInputSearchController.dispose();
textInputSearchFocus.dispose();
resultSearchScrollController.dispose(); resultSearchScrollController.dispose();
_deBouncerTime.cancel(); _deBouncerTime.cancel();
dashBoardViewStateWorker.dispose(); dashBoardViewStateWorker.dispose();
@@ -180,6 +180,8 @@ class SearchEmailView extends GetWidget<SearchEmailController>
padding: const EdgeInsets.only(right: 8), padding: const EdgeInsets.only(right: 8),
child: InkWell( child: InkWell(
onTap: () { onTap: () {
FocusScope.of(context).unfocus();
if (filter == QuickSearchFilter.hasAttachment) { if (filter == QuickSearchFilter.hasAttachment) {
controller.selectQuickSearchFilter(context, filter); controller.selectQuickSearchFilter(context, filter);
} else if (controller.responsiveUtils.isMobile(context)) { } else if (controller.responsiveUtils.isMobile(context)) {
@@ -204,6 +206,8 @@ class SearchEmailView extends GetWidget<SearchEmailController>
}, },
onTapDown: (detail) { onTapDown: (detail) {
if (!controller.responsiveUtils.isMobile(context)) { if (!controller.responsiveUtils.isMobile(context)) {
FocusScope.of(context).unfocus();
final screenSize = MediaQuery.of(context).size; final screenSize = MediaQuery.of(context).size;
final offset = detail.globalPosition; final offset = detail.globalPosition;
final position = RelativeRect.fromLTRB( final position = RelativeRect.fromLTRB(