TF-2520 Implement print email in email view

Signed-off-by: dab246 <tdvu@linagora.com>
This commit is contained in:
dab246
2024-02-28 17:13:53 +07:00
committed by Dat H. Pham
parent 4f206739aa
commit ab2c32154e
17 changed files with 330 additions and 8 deletions
@@ -23,7 +23,9 @@ import 'package:model/email/read_actions.dart';
import 'package:tmail_ui_user/features/composer/domain/model/email_request.dart';
import 'package:tmail_ui_user/features/email/data/datasource/email_datasource.dart';
import 'package:tmail_ui_user/features/email/data/datasource/html_datasource.dart';
import 'package:tmail_ui_user/features/email/data/datasource/print_file_datasource.dart';
import 'package:tmail_ui_user/features/email/domain/model/detailed_email.dart';
import 'package:tmail_ui_user/features/email/domain/model/email_print.dart';
import 'package:tmail_ui_user/features/email/domain/model/move_to_mailbox_request.dart';
import 'package:tmail_ui_user/features/email/domain/model/restore_deleted_message_request.dart';
import 'package:tmail_ui_user/features/email/domain/repository/email_repository.dart';
@@ -36,11 +38,13 @@ class EmailRepositoryImpl extends EmailRepository {
final Map<DataSourceType, EmailDataSource> emailDataSource;
final HtmlDataSource _htmlDataSource;
final StateDataSource _stateDataSource;
final PrintFileDataSource _printFileDataSource;
EmailRepositoryImpl(
this.emailDataSource,
this._htmlDataSource,
this._stateDataSource
this._stateDataSource,
this._printFileDataSource,
);
@override
@@ -228,4 +232,9 @@ class EmailRepositoryImpl extends EmailRepository {
Future<EmailRecoveryAction> getRestoredDeletedMessage(EmailRecoveryActionId emailRecoveryActionId) {
return emailDataSource[DataSourceType.network]!.getRestoredDeletedMessage(emailRecoveryActionId);
}
@override
Future<void> printEmail(EmailPrint emailPrint) {
return _printFileDataSource.printEmailToPDF(emailPrint);
}
}