TF-3226 Apply minInputLength on autocomplete capability to app

This commit is contained in:
dab246
2024-10-25 16:07:06 +07:00
committed by Dat H. Pham
parent b344062068
commit 2177082c97
18 changed files with 135 additions and 10 deletions
@@ -98,7 +98,6 @@ class AdvancedFilterController extends BaseController {
_memorySearchFilter = searchFilter;
}
@visibleForTesting
MailboxDashBoardController get mailboxDashBoardController => _mailboxDashBoardController;
void _updateMemorySearchFilter({
@@ -160,6 +160,7 @@ import 'package:tmail_ui_user/main/routes/navigation_router.dart';
import 'package:tmail_ui_user/main/routes/route_navigation.dart';
import 'package:tmail_ui_user/main/routes/route_utils.dart';
import 'package:tmail_ui_user/main/universal_import/html_stub.dart' as html;
import 'package:tmail_ui_user/main/utils/app_config.dart';
import 'package:tmail_ui_user/main/utils/email_receive_manager.dart';
import 'package:tmail_ui_user/main/utils/ios_notification_manager.dart';
import 'package:uuid/uuid.dart';
@@ -2556,6 +2557,10 @@ class MailboxDashBoardController extends ReloadableController with UserSettingPo
return <EmailAddress>[];
}
if (query.length < minInputLengthAutocomplete) {
return <EmailAddress>[];
}
final listEmailAddress = await _getAutoCompleteInteractor!
.execute(AutoCompletePattern(word: query, accountId: accountId.value!, limit: 2))
.then((value) => value.fold(
@@ -2908,6 +2913,15 @@ class MailboxDashBoardController extends ReloadableController with UserSettingPo
dispatchAction(ClearSearchFilterAppliedAction());
}
int get minInputLengthAutocomplete {
if (sessionCurrent == null || accountId.value == null) {
return AppConfig.defaultMinInputLengthAutocomplete;
}
return getMinInputLengthAutocomplete(
session: sessionCurrent!,
accountId: accountId.value!);
}
@override
void onClose() {
if (PlatformInfo.isWeb) {