8a2ea62987
TF-3715 Thread Detail refactor actions for expanded email view TF-3715 Thread Detail apply actions for collapsed email view TF-3715 Thread Detail fix unit tests TF-3715 Thread Detail add await for _getEmailContent in composer TF-3715 Thread Detail remove unused emailLoaded in ThreadDetailAppBar TF-3715 Thread Detail hide print action when isMobile TF-3715 Thread Detail allow mark as read in EmailActionReactor TF-3715 Thread Detail fix loadMoreThreadDetailEmails unit test TF-3715 Thread Detail fix action small tap region TF-3715 Thread Detail fix cannot permanent delete email TF-3715 Thread Detail prevent close when move email TF-3715 Thread Detail fix refresh when mark star selected collapsed email TF-3715 Thread Detail update print action display logic TF-3715 Thread Detail fix duplicate mark star in app bar TF-3715 Thread Detail create new transformer for reply forward empty content email TF-3715 Thread Detail fix email not load after open multiple times TF-3715 Thread Detail fix close when move expanded email TF-3715 Thread Detail fix duplicate and missing actions TF-3715 Thread Detail restore editAsNewEmail action to _getEmailContent in setupEmailContent TF-3715 Thread Detail update print action name TF-3715 Thread Detail handle move and delete email with 1 item in thread detail TF-3715 Thread Detail fix tap outside to close context menu TF-3715 Thread Detail fix create rule and compose from recipient info TF-3715 Thread Detail handle move and delete email with 1 item in thread detail TF-3715 Thread Detail Fix cannot create email rule TF-3715 Thread Detail Fix crash composer TF-3715 Thread Detail Fix cannot unsubscribe TF-3715 Thread Detail Fix duplicate actions on single email TF-3715 Thread Detail Fix refresh view when reply/forward TF-3715 Thread Detail Revert old logic to _getEmailContent TF-3715 Thread Detail Update specific cases for UpdatedEmailKeywordsAction TF-3715 Thread Detail Fix concurrent modification during iteration TF-3715 Thread Detail Fix unsubscribe for all thread detail emails TF-3715 Thread Detail Remove unnecessary Future in reactor TF-3715 Thread Detail Remove dependency from SingleEmailController TF-3715 Thread Detail Apply individual list post and unsubscribe header TF-3715 Thread Detail Fix unsubscribe collapsed email TF-3715 Thread Detail Conditionally inject rule filter interactor
72 lines
3.0 KiB
Dart
72 lines
3.0 KiB
Dart
import 'package:core/data/model/source_type/data_source_type.dart';
|
|
import 'package:get/get.dart';
|
|
import 'package:jmap_dart_client/http/http_client.dart';
|
|
import 'package:tmail_ui_user/features/base/base_bindings.dart';
|
|
import 'package:tmail_ui_user/features/email/domain/usecases/download_attachment_for_web_interactor.dart';
|
|
import 'package:tmail_ui_user/features/email/domain/usecases/get_email_content_interactor.dart';
|
|
import 'package:tmail_ui_user/features/email/domain/usecases/mark_as_email_read_interactor.dart';
|
|
import 'package:tmail_ui_user/features/email/domain/usecases/mark_as_star_email_interactor.dart';
|
|
import 'package:tmail_ui_user/features/email/domain/usecases/print_email_interactor.dart';
|
|
import 'package:tmail_ui_user/features/thread_detail/data/data_source/thread_detail_data_source.dart';
|
|
import 'package:tmail_ui_user/features/thread_detail/data/data_source/thread_detail_remote_data_source_impl.dart';
|
|
import 'package:tmail_ui_user/features/thread_detail/data/network/thread_detail_api.dart';
|
|
import 'package:tmail_ui_user/features/thread_detail/data/repository/thread_detail_repository_impl.dart';
|
|
import 'package:tmail_ui_user/features/thread_detail/domain/repository/thread_detail_repository.dart';
|
|
import 'package:tmail_ui_user/features/thread_detail/domain/usecases/get_emails_by_ids_interactor.dart';
|
|
import 'package:tmail_ui_user/features/thread_detail/domain/usecases/get_thread_by_id_interactor.dart';
|
|
import 'package:tmail_ui_user/features/thread_detail/presentation/thread_detail_controller.dart';
|
|
import 'package:tmail_ui_user/main/exceptions/remote_exception_thrower.dart';
|
|
|
|
class ThreadDetailBindings extends BaseBindings {
|
|
@override
|
|
void dependencies() {
|
|
Get.lazyPut(() => ThreadDetailApi(Get.find<HttpClient>()));
|
|
|
|
super.dependencies();
|
|
}
|
|
|
|
@override
|
|
void bindingsController() {
|
|
Get.put(ThreadDetailController(
|
|
Get.find<GetThreadByIdInteractor>(),
|
|
Get.find<GetEmailsByIdsInteractor>(),
|
|
Get.find<MarkAsEmailReadInteractor>(),
|
|
Get.find<MarkAsStarEmailInteractor>(),
|
|
Get.find<PrintEmailInteractor>(),
|
|
Get.find<GetEmailContentInteractor>(),
|
|
Get.find<DownloadAttachmentForWebInteractor>(),
|
|
));
|
|
}
|
|
|
|
@override
|
|
void bindingsDataSourceImpl() {
|
|
Get.lazyPut(() => ThreadDetailRemoteDataSourceImpl(
|
|
Get.find<ThreadDetailApi>(),
|
|
Get.find<RemoteExceptionThrower>(),
|
|
));
|
|
}
|
|
|
|
@override
|
|
void bindingsDataSource() {
|
|
Get.lazyPut<ThreadDetailDataSource>(() => Get.find<ThreadDetailRemoteDataSourceImpl>());
|
|
}
|
|
|
|
@override
|
|
void bindingsRepositoryImpl() {
|
|
Get.lazyPut(() => ThreadDetailRepositoryImpl({
|
|
DataSourceType.network: Get.find<ThreadDetailDataSource>(),
|
|
}));
|
|
}
|
|
|
|
@override
|
|
void bindingsRepository() {
|
|
Get.lazyPut<ThreadDetailRepository>(() => Get.find<ThreadDetailRepositoryImpl>());
|
|
}
|
|
|
|
@override
|
|
void bindingsInteractor() {
|
|
Get.lazyPut(() => GetThreadByIdInteractor(Get.find<ThreadDetailRepository>()));
|
|
Get.lazyPut(() => GetEmailsByIdsInteractor(Get.find<ThreadDetailRepository>()));
|
|
}
|
|
}
|