TF-3226 Parsing minInputLength from Autocomplete capability in session
This commit is contained in:
@@ -32,6 +32,7 @@ import 'package:tmail_ui_user/features/base/mixin/message_dialog_action_mixin.da
|
||||
import 'package:tmail_ui_user/features/base/mixin/popup_context_menu_action_mixin.dart';
|
||||
import 'package:tmail_ui_user/features/caching/caching_manager.dart';
|
||||
import 'package:tmail_ui_user/features/email/presentation/bindings/mdn_interactor_bindings.dart';
|
||||
import 'package:tmail_ui_user/features/home/domain/extensions/session_extensions.dart';
|
||||
import 'package:tmail_ui_user/features/login/data/network/interceptors/authorization_interceptors.dart';
|
||||
import 'package:tmail_ui_user/features/login/domain/usecases/delete_authority_oidc_interactor.dart';
|
||||
import 'package:tmail_ui_user/features/login/domain/usecases/delete_credential_interactor.dart';
|
||||
@@ -516,4 +517,12 @@ abstract class BaseController extends GetxController
|
||||
authorizationInterceptors.clear();
|
||||
await cachingManager.closeHive();
|
||||
}
|
||||
|
||||
int getMinInputLengthAutocomplete({
|
||||
required Session session,
|
||||
required AccountId accountId,
|
||||
}) {
|
||||
final minInputLength = session.getMinInputLengthAutocomplete(accountId);
|
||||
return minInputLength?.value.toInt() ?? AppConfig.defaultMinInputLengthAutocomplete;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1,12 +1,16 @@
|
||||
|
||||
import 'dart:convert';
|
||||
|
||||
import 'package:contact/contact/model/autocomplete_capability.dart';
|
||||
import 'package:contact/contact/model/capability_contact.dart';
|
||||
import 'package:core/presentation/extensions/uri_extension.dart';
|
||||
import 'package:core/utils/app_logger.dart';
|
||||
import 'package:get/get.dart';
|
||||
import 'package:jmap_dart_client/http/converter/state_converter.dart';
|
||||
import 'package:jmap_dart_client/http/converter/user_name_converter.dart';
|
||||
import 'package:jmap_dart_client/jmap/account_id.dart';
|
||||
import 'package:jmap_dart_client/jmap/core/session/session.dart';
|
||||
import 'package:jmap_dart_client/jmap/core/unsigned_int.dart';
|
||||
import 'package:model/model.dart';
|
||||
import 'package:tmail_ui_user/features/home/data/model/session_hive_obj.dart';
|
||||
import 'package:tmail_ui_user/features/home/domain/converter/session_account_converter.dart';
|
||||
@@ -61,4 +65,18 @@ extension SessionExtensions on Session {
|
||||
return '';
|
||||
}
|
||||
}
|
||||
|
||||
UnsignedInt? getMinInputLengthAutocomplete(AccountId accountId) {
|
||||
try {
|
||||
final autocompleteCapability = getCapabilityProperties<AutocompleteCapability>(
|
||||
accountId,
|
||||
tmailContactCapabilityIdentifier);
|
||||
final minInputLength = autocompleteCapability?.minInputLength;
|
||||
log('SessionExtensions::getMinInputLengthAutocomplete:minInputLength = $minInputLength');
|
||||
return minInputLength;
|
||||
} catch (e) {
|
||||
logError('SessionExtensions::getMinInputLengthAutocomplete():[Exception] $e');
|
||||
return null;
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -7,7 +7,7 @@ import 'package:tmail_ui_user/features/login/data/network/config/oidc_constant.d
|
||||
import 'package:tmail_ui_user/main/localizations/app_localizations.dart';
|
||||
|
||||
class AppConfig {
|
||||
static const int limitCharToStartSearch = 3;
|
||||
static const int defaultMinInputLengthAutocomplete = 3;
|
||||
static const int warningAttachmentFileSizeInMegabytes = 10;
|
||||
|
||||
static const String appDashboardConfigurationPath = "configurations/app_dashboard.json";
|
||||
|
||||
Reference in New Issue
Block a user