TF-750 Implement call autocomplete when use
This commit is contained in:
@@ -84,8 +84,6 @@ class ComposerController extends BaseController {
|
|||||||
final emailContentsViewState = Rx<Either<Failure, Success>>(Right(UIState.idle));
|
final emailContentsViewState = Rx<Either<Failure, Success>>(Right(UIState.idle));
|
||||||
|
|
||||||
final SendEmailInteractor _sendEmailInteractor;
|
final SendEmailInteractor _sendEmailInteractor;
|
||||||
final GetAutoCompleteInteractor _getAutoCompleteInteractor;
|
|
||||||
final GetAutoCompleteWithDeviceContactInteractor _getAutoCompleteWithDeviceContactInteractor;
|
|
||||||
final LocalFilePickerInteractor _localFilePickerInteractor;
|
final LocalFilePickerInteractor _localFilePickerInteractor;
|
||||||
final DeviceInfoPlugin _deviceInfoPlugin;
|
final DeviceInfoPlugin _deviceInfoPlugin;
|
||||||
final SaveEmailAsDraftsInteractor _saveEmailAsDraftsInteractor;
|
final SaveEmailAsDraftsInteractor _saveEmailAsDraftsInteractor;
|
||||||
@@ -98,6 +96,9 @@ class ComposerController extends BaseController {
|
|||||||
final RichTextWebController richTextWebController;
|
final RichTextWebController richTextWebController;
|
||||||
final DownloadImageAsBase64Interactor _downloadImageAsBase64Interactor;
|
final DownloadImageAsBase64Interactor _downloadImageAsBase64Interactor;
|
||||||
|
|
||||||
|
late GetAutoCompleteWithDeviceContactInteractor _getAutoCompleteWithDeviceContactInteractor;
|
||||||
|
late GetAutoCompleteInteractor _getAutoCompleteInteractor;
|
||||||
|
|
||||||
List<EmailAddress> listToEmailAddress = <EmailAddress>[];
|
List<EmailAddress> listToEmailAddress = <EmailAddress>[];
|
||||||
List<EmailAddress> listCcEmailAddress = <EmailAddress>[];
|
List<EmailAddress> listCcEmailAddress = <EmailAddress>[];
|
||||||
List<EmailAddress> listBccEmailAddress = <EmailAddress>[];
|
List<EmailAddress> listBccEmailAddress = <EmailAddress>[];
|
||||||
@@ -156,8 +157,6 @@ class ComposerController extends BaseController {
|
|||||||
|
|
||||||
ComposerController(
|
ComposerController(
|
||||||
this._sendEmailInteractor,
|
this._sendEmailInteractor,
|
||||||
this._getAutoCompleteInteractor,
|
|
||||||
this._getAutoCompleteWithDeviceContactInteractor,
|
|
||||||
this._deviceInfoPlugin,
|
this._deviceInfoPlugin,
|
||||||
this._localFilePickerInteractor,
|
this._localFilePickerInteractor,
|
||||||
this._saveEmailAsDraftsInteractor,
|
this._saveEmailAsDraftsInteractor,
|
||||||
@@ -700,6 +699,16 @@ class ComposerController extends BaseController {
|
|||||||
|
|
||||||
Future<List<EmailAddress>> getAutoCompleteSuggestion(
|
Future<List<EmailAddress>> getAutoCompleteSuggestion(
|
||||||
{required String word}) async {
|
{required String word}) async {
|
||||||
|
log('ComposerController::getAutoCompleteSuggestion(): $word | $_contactSuggestionSource');
|
||||||
|
|
||||||
|
if (!Get.isRegistered<GetAutoCompleteWithDeviceContactInteractor>() ||
|
||||||
|
!Get.isRegistered<GetAutoCompleteInteractor>()) {
|
||||||
|
mailboxDashBoardController.injectAutoCompleteBindings();
|
||||||
|
}
|
||||||
|
|
||||||
|
_getAutoCompleteWithDeviceContactInteractor = Get.find<GetAutoCompleteWithDeviceContactInteractor>();
|
||||||
|
_getAutoCompleteInteractor = Get.find<GetAutoCompleteInteractor>();
|
||||||
|
|
||||||
if (_contactSuggestionSource == ContactSuggestionSource.all) {
|
if (_contactSuggestionSource == ContactSuggestionSource.all) {
|
||||||
return await _getAutoCompleteWithDeviceContactInteractor
|
return await _getAutoCompleteWithDeviceContactInteractor
|
||||||
.execute(AutoCompletePattern(word: word, accountId: mailboxDashBoardController.accountId.value))
|
.execute(AutoCompletePattern(word: word, accountId: mailboxDashBoardController.accountId.value))
|
||||||
|
|||||||
+10
-10
@@ -11,7 +11,6 @@ import 'package:tmail_ui_user/features/composer/domain/usecases/get_autocomplete
|
|||||||
import 'package:tmail_ui_user/features/composer/domain/usecases/get_autocomplete_with_device_contact_interactor.dart';
|
import 'package:tmail_ui_user/features/composer/domain/usecases/get_autocomplete_with_device_contact_interactor.dart';
|
||||||
import 'package:tmail_ui_user/features/destination_picker/presentation/model/destination_picker_arguments.dart';
|
import 'package:tmail_ui_user/features/destination_picker/presentation/model/destination_picker_arguments.dart';
|
||||||
import 'package:tmail_ui_user/features/mailbox/presentation/model/mailbox_actions.dart';
|
import 'package:tmail_ui_user/features/mailbox/presentation/model/mailbox_actions.dart';
|
||||||
import 'package:tmail_ui_user/features/mailbox_dashboard/presentation/bindings/advanced_filter_bindings.dart';
|
|
||||||
import 'package:tmail_ui_user/features/mailbox_dashboard/presentation/controller/mailbox_dashboard_controller.dart';
|
import 'package:tmail_ui_user/features/mailbox_dashboard/presentation/controller/mailbox_dashboard_controller.dart';
|
||||||
import 'package:tmail_ui_user/features/mailbox_dashboard/presentation/controller/search_controller.dart';
|
import 'package:tmail_ui_user/features/mailbox_dashboard/presentation/controller/search_controller.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_receive_time_type.dart';
|
||||||
@@ -20,8 +19,7 @@ import 'package:tmail_ui_user/main/routes/app_routes.dart';
|
|||||||
import 'package:tmail_ui_user/main/routes/route_navigation.dart';
|
import 'package:tmail_ui_user/main/routes/route_navigation.dart';
|
||||||
|
|
||||||
class AdvancedFilterController extends GetxController {
|
class AdvancedFilterController extends GetxController {
|
||||||
late GetAutoCompleteWithDeviceContactInteractor
|
late GetAutoCompleteWithDeviceContactInteractor _getAutoCompleteWithDeviceContactInteractor;
|
||||||
_getAutoCompleteWithDeviceContactInteractor;
|
|
||||||
late GetAutoCompleteInteractor _getAutoCompleteInteractor;
|
late GetAutoCompleteInteractor _getAutoCompleteInteractor;
|
||||||
|
|
||||||
final dateFilterSelectedFormAdvancedSearch = EmailReceiveTimeType.allTime.obs;
|
final dateFilterSelectedFormAdvancedSearch = EmailReceiveTimeType.allTime.obs;
|
||||||
@@ -43,13 +41,6 @@ class AdvancedFilterController extends GetxController {
|
|||||||
final MailboxDashBoardController _mailboxDashBoardController =
|
final MailboxDashBoardController _mailboxDashBoardController =
|
||||||
Get.find<MailboxDashBoardController>();
|
Get.find<MailboxDashBoardController>();
|
||||||
|
|
||||||
AdvancedFilterController() {
|
|
||||||
AdvancedFilterBindings().dependencies();
|
|
||||||
_getAutoCompleteWithDeviceContactInteractor =
|
|
||||||
Get.find<GetAutoCompleteWithDeviceContactInteractor>();
|
|
||||||
_getAutoCompleteInteractor = Get.find<GetAutoCompleteInteractor>();
|
|
||||||
}
|
|
||||||
|
|
||||||
SearchEmailFilter get searchEmailFilter =>
|
SearchEmailFilter get searchEmailFilter =>
|
||||||
searchController.searchEmailFilter.value;
|
searchController.searchEmailFilter.value;
|
||||||
|
|
||||||
@@ -150,6 +141,15 @@ class AdvancedFilterController extends GetxController {
|
|||||||
|
|
||||||
Future<List<EmailAddress>> getAutoCompleteSuggestion(
|
Future<List<EmailAddress>> getAutoCompleteSuggestion(
|
||||||
{required String word}) async {
|
{required String word}) async {
|
||||||
|
|
||||||
|
if (!Get.isRegistered<GetAutoCompleteWithDeviceContactInteractor>() ||
|
||||||
|
!Get.isRegistered<GetAutoCompleteInteractor>()) {
|
||||||
|
_mailboxDashBoardController.injectAutoCompleteBindings();
|
||||||
|
}
|
||||||
|
|
||||||
|
_getAutoCompleteWithDeviceContactInteractor = Get.find<GetAutoCompleteWithDeviceContactInteractor>();
|
||||||
|
_getAutoCompleteInteractor = Get.find<GetAutoCompleteInteractor>();
|
||||||
|
|
||||||
if (_contactSuggestionSource == ContactSuggestionSource.all) {
|
if (_contactSuggestionSource == ContactSuggestionSource.all) {
|
||||||
return await _getAutoCompleteWithDeviceContactInteractor
|
return await _getAutoCompleteWithDeviceContactInteractor
|
||||||
.execute(AutoCompletePattern(
|
.execute(AutoCompletePattern(
|
||||||
|
|||||||
Reference in New Issue
Block a user