TF-2302 Rename GetAutocompleteWithDeviceContactInteractor to GetAllAutocompleteInteractor
Signed-off-by: dab246 <tdvu@linagora.com> (cherry picked from commit c90e7b2508c5ee5f1e04f2d5432624ced79b0f46)
This commit is contained in:
+9
-6
@@ -1,20 +1,23 @@
|
|||||||
|
|
||||||
import 'package:core/core.dart';
|
import 'package:core/presentation/state/failure.dart';
|
||||||
|
import 'package:core/presentation/state/success.dart';
|
||||||
import 'package:dartz/dartz.dart';
|
import 'package:dartz/dartz.dart';
|
||||||
import 'package:jmap_dart_client/jmap/mail/email/email_address.dart';
|
import 'package:jmap_dart_client/jmap/mail/email/email_address.dart';
|
||||||
import 'package:model/model.dart';
|
import 'package:model/autocomplete/auto_complete_pattern.dart';
|
||||||
|
import 'package:model/contact/contact.dart';
|
||||||
import 'package:tmail_ui_user/features/composer/domain/state/get_autocomplete_state.dart';
|
import 'package:tmail_ui_user/features/composer/domain/state/get_autocomplete_state.dart';
|
||||||
import 'package:tmail_ui_user/features/composer/domain/state/get_device_contact_suggestions_state.dart';
|
import 'package:tmail_ui_user/features/composer/domain/state/get_device_contact_suggestions_state.dart';
|
||||||
import 'package:tmail_ui_user/features/composer/domain/usecases/get_autocomplete_interactor.dart';
|
import 'package:tmail_ui_user/features/composer/domain/usecases/get_autocomplete_interactor.dart';
|
||||||
import 'package:tmail_ui_user/features/composer/domain/usecases/get_device_contact_suggestions_interactor.dart';
|
import 'package:tmail_ui_user/features/composer/domain/usecases/get_device_contact_suggestions_interactor.dart';
|
||||||
|
|
||||||
class GetAutoCompleteWithDeviceContactInteractor {
|
class GetAllAutoCompleteInteractor {
|
||||||
final GetAutoCompleteInteractor _getAutoCompleteInteractor;
|
final GetAutoCompleteInteractor _getAutoCompleteInteractor;
|
||||||
final GetDeviceContactSuggestionsInteractor _getDeviceContactSuggestionsInteractor;
|
final GetDeviceContactSuggestionsInteractor _getDeviceContactSuggestionsInteractor;
|
||||||
|
|
||||||
GetAutoCompleteWithDeviceContactInteractor(
|
GetAllAutoCompleteInteractor(
|
||||||
this._getAutoCompleteInteractor,
|
this._getAutoCompleteInteractor,
|
||||||
this._getDeviceContactSuggestionsInteractor);
|
this._getDeviceContactSuggestionsInteractor
|
||||||
|
);
|
||||||
|
|
||||||
Future<Either<Failure, Success>> execute(AutoCompletePattern autoCompletePattern) async {
|
Future<Either<Failure, Success>> execute(AutoCompletePattern autoCompletePattern) async {
|
||||||
try {
|
try {
|
||||||
@@ -18,9 +18,7 @@ import 'package:flutter_svg/flutter_svg.dart';
|
|||||||
import 'package:get/get.dart';
|
import 'package:get/get.dart';
|
||||||
import 'package:html_editor_enhanced/html_editor.dart' as web_html_editor;
|
import 'package:html_editor_enhanced/html_editor.dart' as web_html_editor;
|
||||||
import 'package:http_parser/http_parser.dart';
|
import 'package:http_parser/http_parser.dart';
|
||||||
import 'package:jmap_dart_client/jmap/account_id.dart';
|
|
||||||
import 'package:jmap_dart_client/jmap/core/id.dart';
|
import 'package:jmap_dart_client/jmap/core/id.dart';
|
||||||
import 'package:jmap_dart_client/jmap/core/session/session.dart';
|
|
||||||
import 'package:jmap_dart_client/jmap/identities/identity.dart';
|
import 'package:jmap_dart_client/jmap/identities/identity.dart';
|
||||||
import 'package:jmap_dart_client/jmap/mail/email/email.dart';
|
import 'package:jmap_dart_client/jmap/mail/email/email.dart';
|
||||||
import 'package:jmap_dart_client/jmap/mail/email/email_address.dart';
|
import 'package:jmap_dart_client/jmap/mail/email/email_address.dart';
|
||||||
@@ -44,7 +42,7 @@ import 'package:tmail_ui_user/features/composer/domain/state/save_email_as_draft
|
|||||||
import 'package:tmail_ui_user/features/composer/domain/state/update_email_drafts_state.dart';
|
import 'package:tmail_ui_user/features/composer/domain/state/update_email_drafts_state.dart';
|
||||||
import 'package:tmail_ui_user/features/composer/domain/usecases/download_image_as_base64_interactor.dart';
|
import 'package:tmail_ui_user/features/composer/domain/usecases/download_image_as_base64_interactor.dart';
|
||||||
import 'package:tmail_ui_user/features/composer/domain/usecases/get_autocomplete_interactor.dart';
|
import 'package:tmail_ui_user/features/composer/domain/usecases/get_autocomplete_interactor.dart';
|
||||||
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_all_autocomplete_interactor.dart';
|
||||||
import 'package:tmail_ui_user/features/composer/presentation/controller/rich_text_web_controller.dart';
|
import 'package:tmail_ui_user/features/composer/presentation/controller/rich_text_web_controller.dart';
|
||||||
import 'package:tmail_ui_user/features/composer/presentation/controller/rich_text_mobile_tablet_controller.dart';
|
import 'package:tmail_ui_user/features/composer/presentation/controller/rich_text_mobile_tablet_controller.dart';
|
||||||
import 'package:tmail_ui_user/features/composer/presentation/extensions/email_action_type_extension.dart';
|
import 'package:tmail_ui_user/features/composer/presentation/extensions/email_action_type_extension.dart';
|
||||||
@@ -129,7 +127,7 @@ class ComposerController extends BaseController {
|
|||||||
final DownloadImageAsBase64Interactor _downloadImageAsBase64Interactor;
|
final DownloadImageAsBase64Interactor _downloadImageAsBase64Interactor;
|
||||||
final TransformHtmlEmailContentInteractor _transformHtmlEmailContentInteractor;
|
final TransformHtmlEmailContentInteractor _transformHtmlEmailContentInteractor;
|
||||||
|
|
||||||
GetAutoCompleteWithDeviceContactInteractor? _getAutoCompleteWithDeviceContactInteractor;
|
GetAllAutoCompleteInteractor? _getAllAutoCompleteInteractor;
|
||||||
GetAutoCompleteInteractor? _getAutoCompleteInteractor;
|
GetAutoCompleteInteractor? _getAutoCompleteInteractor;
|
||||||
|
|
||||||
List<EmailAddress> listToEmailAddress = <EmailAddress>[];
|
List<EmailAddress> listToEmailAddress = <EmailAddress>[];
|
||||||
@@ -1029,34 +1027,19 @@ class ComposerController extends BaseController {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@override
|
|
||||||
void injectAutoCompleteBindings(Session? session, AccountId? accountId) {
|
|
||||||
try {
|
|
||||||
super.injectAutoCompleteBindings(session, accountId);
|
|
||||||
_getAutoCompleteWithDeviceContactInteractor = Get.find<GetAutoCompleteWithDeviceContactInteractor>();
|
|
||||||
_getAutoCompleteInteractor = Get.find<GetAutoCompleteInteractor>();
|
|
||||||
} catch (e) {
|
|
||||||
logError('ComposerController::injectAutoCompleteBindings(): $e');
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
Future<List<EmailAddress>> getAutoCompleteSuggestion(String word) async {
|
Future<List<EmailAddress>> getAutoCompleteSuggestion(String word) async {
|
||||||
log('ComposerController::getAutoCompleteSuggestion(): $word | $_contactSuggestionSource');
|
log('ComposerController::getAutoCompleteSuggestion(): $word | $_contactSuggestionSource');
|
||||||
try {
|
_getAllAutoCompleteInteractor = getBinding<GetAllAutoCompleteInteractor>();
|
||||||
_getAutoCompleteWithDeviceContactInteractor = Get.find<GetAutoCompleteWithDeviceContactInteractor>();
|
_getAutoCompleteInteractor = getBinding<GetAutoCompleteInteractor>();
|
||||||
_getAutoCompleteInteractor = Get.find<GetAutoCompleteInteractor>();
|
|
||||||
} catch (e) {
|
|
||||||
logError('ComposerController::getAutoCompleteSuggestion(): Exception $e');
|
|
||||||
}
|
|
||||||
|
|
||||||
final accountId = mailboxDashBoardController.accountId.value;
|
final accountId = mailboxDashBoardController.accountId.value;
|
||||||
|
|
||||||
if (_contactSuggestionSource == ContactSuggestionSource.all) {
|
if (_contactSuggestionSource == ContactSuggestionSource.all) {
|
||||||
if (_getAutoCompleteWithDeviceContactInteractor == null || _getAutoCompleteInteractor == null) {
|
if (_getAllAutoCompleteInteractor == null || _getAutoCompleteInteractor == null) {
|
||||||
return <EmailAddress>[];
|
return <EmailAddress>[];
|
||||||
}
|
}
|
||||||
|
|
||||||
final listEmailAddress = await _getAutoCompleteWithDeviceContactInteractor!
|
final listEmailAddress = await _getAllAutoCompleteInteractor!
|
||||||
.execute(AutoCompletePattern(word: word, accountId: accountId))
|
.execute(AutoCompletePattern(word: word, accountId: accountId))
|
||||||
.then((value) => value.fold(
|
.then((value) => value.fold(
|
||||||
(failure) => <EmailAddress>[],
|
(failure) => <EmailAddress>[],
|
||||||
|
|||||||
@@ -14,7 +14,7 @@ import 'package:tmail_ui_user/features/base/base_controller.dart';
|
|||||||
import 'package:tmail_ui_user/features/composer/domain/model/contact_suggestion_source.dart';
|
import 'package:tmail_ui_user/features/composer/domain/model/contact_suggestion_source.dart';
|
||||||
import 'package:tmail_ui_user/features/composer/domain/state/get_autocomplete_state.dart';
|
import 'package:tmail_ui_user/features/composer/domain/state/get_autocomplete_state.dart';
|
||||||
import 'package:tmail_ui_user/features/composer/domain/usecases/get_autocomplete_interactor.dart';
|
import 'package:tmail_ui_user/features/composer/domain/usecases/get_autocomplete_interactor.dart';
|
||||||
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_all_autocomplete_interactor.dart';
|
||||||
import 'package:tmail_ui_user/features/contact/presentation/model/contact_arguments.dart';
|
import 'package:tmail_ui_user/features/contact/presentation/model/contact_arguments.dart';
|
||||||
import 'package:tmail_ui_user/features/contact/presentation/widgets/contact_suggestion_box_item.dart';
|
import 'package:tmail_ui_user/features/contact/presentation/widgets/contact_suggestion_box_item.dart';
|
||||||
import 'package:tmail_ui_user/features/thread/domain/model/search_query.dart';
|
import 'package:tmail_ui_user/features/thread/domain/model/search_query.dart';
|
||||||
@@ -29,7 +29,7 @@ class ContactController extends BaseController {
|
|||||||
final searchQuery = SearchQuery.initial().obs;
|
final searchQuery = SearchQuery.initial().obs;
|
||||||
final listContactSearched = RxList<EmailAddress>();
|
final listContactSearched = RxList<EmailAddress>();
|
||||||
|
|
||||||
GetAutoCompleteWithDeviceContactInteractor? _getAutoCompleteWithDeviceContactInteractor;
|
GetAllAutoCompleteInteractor? _getAllAutoCompleteInteractor;
|
||||||
GetAutoCompleteInteractor? _getAutoCompleteInteractor;
|
GetAutoCompleteInteractor? _getAutoCompleteInteractor;
|
||||||
|
|
||||||
final Debouncer<String> _deBouncerTime = Debouncer<String>(const Duration(milliseconds: 500), initialValue: '');
|
final Debouncer<String> _deBouncerTime = Debouncer<String>(const Duration(milliseconds: 500), initialValue: '');
|
||||||
@@ -116,31 +116,16 @@ class ContactController extends BaseController {
|
|||||||
listContactSearched.value = listContact;
|
listContactSearched.value = listContact;
|
||||||
}
|
}
|
||||||
|
|
||||||
@override
|
|
||||||
void injectAutoCompleteBindings(Session? session, AccountId? accountId) {
|
|
||||||
try {
|
|
||||||
super.injectAutoCompleteBindings(session, accountId);
|
|
||||||
_getAutoCompleteWithDeviceContactInteractor = Get.find<GetAutoCompleteWithDeviceContactInteractor>();
|
|
||||||
_getAutoCompleteInteractor = Get.find<GetAutoCompleteInteractor>();
|
|
||||||
} catch (e) {
|
|
||||||
logError('ContactController::injectAutoCompleteBindings(): $e');
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
Future<List<EmailAddress>> _getAutoCompleteSuggestion(String query) async {
|
Future<List<EmailAddress>> _getAutoCompleteSuggestion(String query) async {
|
||||||
try {
|
_getAllAutoCompleteInteractor = getBinding<GetAllAutoCompleteInteractor>();
|
||||||
_getAutoCompleteWithDeviceContactInteractor = Get.find<GetAutoCompleteWithDeviceContactInteractor>();
|
_getAutoCompleteInteractor = getBinding<GetAutoCompleteInteractor>();
|
||||||
_getAutoCompleteInteractor = Get.find<GetAutoCompleteInteractor>();
|
|
||||||
} catch (e) {
|
|
||||||
logError('ContactController::getAutoCompleteSuggestion(): Exception $e');
|
|
||||||
}
|
|
||||||
|
|
||||||
if (_contactSuggestionSource == ContactSuggestionSource.all) {
|
if (_contactSuggestionSource == ContactSuggestionSource.all) {
|
||||||
if (_getAutoCompleteWithDeviceContactInteractor == null || _getAutoCompleteInteractor == null) {
|
if (_getAllAutoCompleteInteractor == null || _getAutoCompleteInteractor == null) {
|
||||||
return <EmailAddress>[];
|
return <EmailAddress>[];
|
||||||
}
|
}
|
||||||
|
|
||||||
final listEmailAddress = await _getAutoCompleteWithDeviceContactInteractor!
|
final listEmailAddress = await _getAllAutoCompleteInteractor!
|
||||||
.execute(AutoCompletePattern(word: query, limit: 30, accountId: _accountId))
|
.execute(AutoCompletePattern(word: query, limit: 30, accountId: _accountId))
|
||||||
.then((value) => value.fold(
|
.then((value) => value.fold(
|
||||||
(failure) => <EmailAddress>[],
|
(failure) => <EmailAddress>[],
|
||||||
|
|||||||
+4
-4
@@ -6,7 +6,7 @@ import 'package:tmail_ui_user/features/base/base_bindings.dart';
|
|||||||
import 'package:tmail_ui_user/features/composer/data/repository/auto_complete_repository_impl.dart';
|
import 'package:tmail_ui_user/features/composer/data/repository/auto_complete_repository_impl.dart';
|
||||||
import 'package:tmail_ui_user/features/composer/domain/repository/auto_complete_repository.dart';
|
import 'package:tmail_ui_user/features/composer/domain/repository/auto_complete_repository.dart';
|
||||||
import 'package:tmail_ui_user/features/composer/domain/usecases/get_autocomplete_interactor.dart';
|
import 'package:tmail_ui_user/features/composer/domain/usecases/get_autocomplete_interactor.dart';
|
||||||
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_all_autocomplete_interactor.dart';
|
||||||
import 'package:tmail_ui_user/features/composer/domain/usecases/get_device_contact_suggestions_interactor.dart';
|
import 'package:tmail_ui_user/features/composer/domain/usecases/get_device_contact_suggestions_interactor.dart';
|
||||||
|
|
||||||
class TMailAutoCompleteBindings extends BaseBindings {
|
class TMailAutoCompleteBindings extends BaseBindings {
|
||||||
@@ -25,9 +25,9 @@ class TMailAutoCompleteBindings extends BaseBindings {
|
|||||||
@override
|
@override
|
||||||
void bindingsInteractor() {
|
void bindingsInteractor() {
|
||||||
Get.put(GetAutoCompleteInteractor(Get.find<AutoCompleteRepository>()));
|
Get.put(GetAutoCompleteInteractor(Get.find<AutoCompleteRepository>()));
|
||||||
Get.put(GetAutoCompleteWithDeviceContactInteractor(
|
Get.put(GetAllAutoCompleteInteractor(
|
||||||
Get.find<GetAutoCompleteInteractor>(),
|
Get.find<GetAutoCompleteInteractor>(),
|
||||||
Get.find<GetDeviceContactSuggestionsInteractor>()
|
Get.find<GetDeviceContactSuggestionsInteractor>()
|
||||||
));
|
));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
+8
-27
@@ -3,8 +3,6 @@ import 'package:core/core.dart';
|
|||||||
import 'package:dartz/dartz.dart';
|
import 'package:dartz/dartz.dart';
|
||||||
import 'package:flutter/material.dart';
|
import 'package:flutter/material.dart';
|
||||||
import 'package:get/get.dart';
|
import 'package:get/get.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/mail/email/email_address.dart';
|
import 'package:jmap_dart_client/jmap/mail/email/email_address.dart';
|
||||||
import 'package:model/model.dart';
|
import 'package:model/model.dart';
|
||||||
import 'package:permission_handler/permission_handler.dart';
|
import 'package:permission_handler/permission_handler.dart';
|
||||||
@@ -13,7 +11,7 @@ import 'package:tmail_ui_user/features/base/base_controller.dart';
|
|||||||
import 'package:tmail_ui_user/features/composer/domain/model/contact_suggestion_source.dart';
|
import 'package:tmail_ui_user/features/composer/domain/model/contact_suggestion_source.dart';
|
||||||
import 'package:tmail_ui_user/features/composer/domain/state/get_autocomplete_state.dart';
|
import 'package:tmail_ui_user/features/composer/domain/state/get_autocomplete_state.dart';
|
||||||
import 'package:tmail_ui_user/features/composer/domain/usecases/get_autocomplete_interactor.dart';
|
import 'package:tmail_ui_user/features/composer/domain/usecases/get_autocomplete_interactor.dart';
|
||||||
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_all_autocomplete_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/extensions/presentation_mailbox_extension.dart';
|
import 'package:tmail_ui_user/features/mailbox/presentation/extensions/presentation_mailbox_extension.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';
|
||||||
@@ -33,7 +31,7 @@ import 'package:tmail_ui_user/main/routes/dialog_router.dart';
|
|||||||
import 'package:tmail_ui_user/main/routes/route_navigation.dart';
|
import 'package:tmail_ui_user/main/routes/route_navigation.dart';
|
||||||
|
|
||||||
class AdvancedFilterController extends BaseController {
|
class AdvancedFilterController extends BaseController {
|
||||||
GetAutoCompleteWithDeviceContactInteractor? _getAutoCompleteWithDeviceContactInteractor;
|
GetAllAutoCompleteInteractor? _getAllAutoCompleteInteractor;
|
||||||
GetAutoCompleteInteractor? _getAutoCompleteInteractor;
|
GetAutoCompleteInteractor? _getAutoCompleteInteractor;
|
||||||
|
|
||||||
final dateFilterSelectedFormAdvancedSearch = EmailReceiveTimeType.allTime.obs;
|
final dateFilterSelectedFormAdvancedSearch = EmailReceiveTimeType.allTime.obs;
|
||||||
@@ -190,35 +188,18 @@ class AdvancedFilterController extends BaseController {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@override
|
|
||||||
void injectAutoCompleteBindings(Session? session, AccountId? accountId) {
|
|
||||||
try {
|
|
||||||
super.injectAutoCompleteBindings(session, accountId);
|
|
||||||
_getAutoCompleteWithDeviceContactInteractor = Get.find<GetAutoCompleteWithDeviceContactInteractor>();
|
|
||||||
_getAutoCompleteInteractor = Get.find<GetAutoCompleteInteractor>();
|
|
||||||
} catch (e) {
|
|
||||||
logError('AdvancedFilterController::injectAutoCompleteBindings(): $e');
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
Future<List<EmailAddress>> getAutoCompleteSuggestion(String word) async {
|
Future<List<EmailAddress>> getAutoCompleteSuggestion(String word) async {
|
||||||
log('AdvancedFilterController::getAutoCompleteSuggestion(): $word | $_contactSuggestionSource');
|
log('AdvancedFilterController::getAutoCompleteSuggestion(): $word | $_contactSuggestionSource');
|
||||||
final accountId = _mailboxDashBoardController.accountId.value;
|
_getAllAutoCompleteInteractor = getBinding<GetAllAutoCompleteInteractor>();
|
||||||
|
_getAutoCompleteInteractor = getBinding<GetAutoCompleteInteractor>();
|
||||||
try {
|
|
||||||
_getAutoCompleteWithDeviceContactInteractor = Get.find<GetAutoCompleteWithDeviceContactInteractor>();
|
|
||||||
_getAutoCompleteInteractor = Get.find<GetAutoCompleteInteractor>();
|
|
||||||
} catch (e) {
|
|
||||||
logError('AdvancedFilterController::getAutoCompleteSuggestion(): Exception $e');
|
|
||||||
}
|
|
||||||
|
|
||||||
if (_contactSuggestionSource == ContactSuggestionSource.all) {
|
if (_contactSuggestionSource == ContactSuggestionSource.all) {
|
||||||
if (_getAutoCompleteWithDeviceContactInteractor == null || _getAutoCompleteInteractor == null) {
|
if (_getAllAutoCompleteInteractor == null || _getAutoCompleteInteractor == null) {
|
||||||
return <EmailAddress>[];
|
return <EmailAddress>[];
|
||||||
}
|
}
|
||||||
|
|
||||||
final listEmailAddress = await _getAutoCompleteWithDeviceContactInteractor!
|
final listEmailAddress = await _getAllAutoCompleteInteractor!
|
||||||
.execute(AutoCompletePattern(word: word, accountId: accountId))
|
.execute(AutoCompletePattern(word: word, accountId: _mailboxDashBoardController.accountId.value))
|
||||||
.then((value) => value.fold(
|
.then((value) => value.fold(
|
||||||
(failure) => <EmailAddress>[],
|
(failure) => <EmailAddress>[],
|
||||||
(success) => success is GetAutoCompleteSuccess
|
(success) => success is GetAutoCompleteSuccess
|
||||||
@@ -231,7 +212,7 @@ class AdvancedFilterController extends BaseController {
|
|||||||
}
|
}
|
||||||
|
|
||||||
final listEmailAddress = await _getAutoCompleteInteractor!
|
final listEmailAddress = await _getAutoCompleteInteractor!
|
||||||
.execute(AutoCompletePattern(word: word, accountId: accountId))
|
.execute(AutoCompletePattern(word: word, accountId: _mailboxDashBoardController.accountId.value))
|
||||||
.then((value) => value.fold(
|
.then((value) => value.fold(
|
||||||
(failure) => <EmailAddress>[],
|
(failure) => <EmailAddress>[],
|
||||||
(success) => success is GetAutoCompleteSuccess
|
(success) => success is GetAutoCompleteSuccess
|
||||||
|
|||||||
+9
-7
@@ -9,18 +9,19 @@ import 'package:jmap_dart_client/jmap/mail/email/email_address.dart';
|
|||||||
import 'package:model/autocomplete/auto_complete_pattern.dart';
|
import 'package:model/autocomplete/auto_complete_pattern.dart';
|
||||||
import 'package:tmail_ui_user/features/composer/domain/model/contact_suggestion_source.dart';
|
import 'package:tmail_ui_user/features/composer/domain/model/contact_suggestion_source.dart';
|
||||||
import 'package:tmail_ui_user/features/composer/domain/state/get_autocomplete_state.dart';
|
import 'package:tmail_ui_user/features/composer/domain/state/get_autocomplete_state.dart';
|
||||||
|
import 'package:tmail_ui_user/features/composer/domain/usecases/get_all_autocomplete_interactor.dart';
|
||||||
import 'package:tmail_ui_user/features/composer/domain/usecases/get_autocomplete_interactor.dart';
|
import 'package:tmail_ui_user/features/composer/domain/usecases/get_autocomplete_interactor.dart';
|
||||||
import 'package:tmail_ui_user/features/composer/domain/usecases/get_autocomplete_with_device_contact_interactor.dart';
|
|
||||||
import 'package:tmail_ui_user/features/mailbox_dashboard/presentation/bindings/contact_autocomplete_bindings.dart';
|
import 'package:tmail_ui_user/features/mailbox_dashboard/presentation/bindings/contact_autocomplete_bindings.dart';
|
||||||
import 'package:tmail_ui_user/features/mailbox_dashboard/presentation/bindings/tmail_autocomplete_bindings.dart';
|
import 'package:tmail_ui_user/features/mailbox_dashboard/presentation/bindings/tmail_autocomplete_bindings.dart';
|
||||||
import 'package:tmail_ui_user/main/error/capability_validator.dart';
|
import 'package:tmail_ui_user/main/error/capability_validator.dart';
|
||||||
|
import 'package:tmail_ui_user/main/routes/route_navigation.dart';
|
||||||
|
|
||||||
class ForwardRecipientController {
|
class ForwardRecipientController {
|
||||||
|
|
||||||
final ContactSuggestionSource _contactSuggestionSource = ContactSuggestionSource.tMailContact;
|
final ContactSuggestionSource _contactSuggestionSource = ContactSuggestionSource.tMailContact;
|
||||||
final TextEditingController inputRecipientController = TextEditingController();
|
final TextEditingController inputRecipientController = TextEditingController();
|
||||||
|
|
||||||
GetAutoCompleteWithDeviceContactInteractor? _getAutoCompleteWithDeviceContactInteractor;
|
GetAllAutoCompleteInteractor? _getAllAutoCompleteInteractor;
|
||||||
GetAutoCompleteInteractor? _getAutoCompleteInteractor;
|
GetAutoCompleteInteractor? _getAutoCompleteInteractor;
|
||||||
AccountId? _accountId;
|
AccountId? _accountId;
|
||||||
Session? _session;
|
Session? _session;
|
||||||
@@ -43,8 +44,6 @@ class ForwardRecipientController {
|
|||||||
ContactAutoCompleteBindings().dependencies();
|
ContactAutoCompleteBindings().dependencies();
|
||||||
requireCapability(session!, accountId!, [tmailContactCapabilityIdentifier]);
|
requireCapability(session!, accountId!, [tmailContactCapabilityIdentifier]);
|
||||||
TMailAutoCompleteBindings().dependencies();
|
TMailAutoCompleteBindings().dependencies();
|
||||||
_getAutoCompleteWithDeviceContactInteractor = Get.find<GetAutoCompleteWithDeviceContactInteractor>();
|
|
||||||
_getAutoCompleteInteractor = Get.find<GetAutoCompleteInteractor>();
|
|
||||||
} catch (e) {
|
} catch (e) {
|
||||||
logError('ForwardRecipientController::injectAutoCompleteBindings(): exception: $e');
|
logError('ForwardRecipientController::injectAutoCompleteBindings(): exception: $e');
|
||||||
}
|
}
|
||||||
@@ -52,12 +51,15 @@ class ForwardRecipientController {
|
|||||||
|
|
||||||
Future<List<EmailAddress>> getAutoCompleteSuggestion(String word) async {
|
Future<List<EmailAddress>> getAutoCompleteSuggestion(String word) async {
|
||||||
log('ForwardRecipientController::getAutoCompleteSuggestion(): $word');
|
log('ForwardRecipientController::getAutoCompleteSuggestion(): $word');
|
||||||
|
_getAllAutoCompleteInteractor = getBinding<GetAllAutoCompleteInteractor>();
|
||||||
|
_getAutoCompleteInteractor = getBinding<GetAutoCompleteInteractor>();
|
||||||
|
|
||||||
if (_contactSuggestionSource == ContactSuggestionSource.all) {
|
if (_contactSuggestionSource == ContactSuggestionSource.all) {
|
||||||
if (_getAutoCompleteWithDeviceContactInteractor == null || _getAutoCompleteInteractor == null) {
|
if (_getAllAutoCompleteInteractor == null || _getAutoCompleteInteractor == null) {
|
||||||
log('ForwardRecipientController::getAutoCompleteSuggestion(): _getAutoCompleteWithDeviceContactInteractor is NULL');
|
log('ForwardRecipientController::getAutoCompleteSuggestion(): _getAllAutoCompleteInteractor is NULL');
|
||||||
return <EmailAddress>[];
|
return <EmailAddress>[];
|
||||||
} else {
|
} else {
|
||||||
return await _getAutoCompleteWithDeviceContactInteractor!
|
return await _getAllAutoCompleteInteractor!
|
||||||
.execute(AutoCompletePattern(word: word, accountId: _accountId))
|
.execute(AutoCompletePattern(word: word, accountId: _accountId))
|
||||||
.then((value) => value.fold(
|
.then((value) => value.fold(
|
||||||
(failure) => <EmailAddress>[],
|
(failure) => <EmailAddress>[],
|
||||||
|
|||||||
Reference in New Issue
Block a user