TF-3911 Support keyboard shortcut actions ESC to unfocus search input on web
Signed-off-by: dab246 <tdvu@linagora.com>
This commit is contained in:
@@ -27,6 +27,7 @@ import 'package:tmail_ui_user/features/mailbox_dashboard/domain/state/quick_sear
|
||||
import 'package:tmail_ui_user/features/mailbox_dashboard/domain/usecases/get_all_recent_search_latest_interactor.dart';
|
||||
import 'package:tmail_ui_user/features/mailbox_dashboard/domain/usecases/quick_search_email_interactor.dart';
|
||||
import 'package:tmail_ui_user/features/mailbox_dashboard/domain/usecases/save_recent_search_interactor.dart';
|
||||
import 'package:tmail_ui_user/features/mailbox_dashboard/presentation/extensions/handle_keyboard_shortcut_actions_extension.dart';
|
||||
import 'package:tmail_ui_user/features/mailbox_dashboard/presentation/model/search/email_receive_time_type.dart';
|
||||
import 'package:tmail_ui_user/features/mailbox_dashboard/presentation/model/search/email_sort_order_type.dart';
|
||||
import 'package:tmail_ui_user/features/mailbox_dashboard/presentation/model/search/quick_search_filter.dart';
|
||||
@@ -52,6 +53,7 @@ class SearchController extends BaseController with DateRangePickerMixin {
|
||||
SearchQuery? get searchQuery => searchEmailFilter.value.text;
|
||||
|
||||
FocusNode searchFocus = FocusNode();
|
||||
FocusNode? keyboardFocusNode;
|
||||
String currentSearchText = '';
|
||||
|
||||
SearchController(
|
||||
@@ -64,11 +66,17 @@ class SearchController extends BaseController with DateRangePickerMixin {
|
||||
void onInit() {
|
||||
super.onInit();
|
||||
searchFocus.addListener(_onSearchFocusChanged);
|
||||
onKeyboardShortcutInit();
|
||||
}
|
||||
|
||||
void _onSearchFocusChanged() {
|
||||
log('SearchController::_onSearchFocusChanged: ${searchFocus.hasFocus}');
|
||||
isSearchInputFocused.value = searchFocus.hasFocus;
|
||||
if (searchFocus.hasFocus) {
|
||||
refocusKeyboardShortcutFocus();
|
||||
} else {
|
||||
clearKeyboardShortcutFocus();
|
||||
}
|
||||
}
|
||||
|
||||
void openAdvanceSearch() {
|
||||
@@ -336,6 +344,7 @@ class SearchController extends BaseController with DateRangePickerMixin {
|
||||
searchInputController.dispose();
|
||||
searchFocus.removeListener(_onSearchFocusChanged);
|
||||
searchFocus.dispose();
|
||||
onKeyboardShortcutDispose();
|
||||
super.onClose();
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user