TF-80 Create pick destination screen

This commit is contained in:
dab246
2021-09-20 23:26:48 +07:00
committed by Dat H. Pham
parent 2463ce5298
commit c227df8df2
17 changed files with 621 additions and 85 deletions
@@ -11,6 +11,7 @@ import 'package:jmap_dart_client/jmap/mail/email/email.dart';
import 'package:model/model.dart';
import 'package:permission_handler/permission_handler.dart';
import 'package:tmail_ui_user/features/base/base_controller.dart';
import 'package:tmail_ui_user/features/destination_picker/presentation/model/destination_picker_arguments.dart';
import 'package:tmail_ui_user/features/email/domain/state/download_attachments_state.dart';
import 'package:tmail_ui_user/features/email/domain/state/export_attachment_state.dart';
import 'package:tmail_ui_user/features/email/domain/state/get_email_content_state.dart';
@@ -230,6 +231,18 @@ class EmailController extends BaseController {
}
}
void openDestinationPickerView(PresentationEmail email) {
final currentMailboxId = mailboxDashBoardController.selectedMailbox.value?.id;
final accountId = mailboxDashBoardController.accountId.value;
if (currentMailboxId != null && accountId != null) {
push(
AppRoutes.DESTINATION_PICKER,
arguments: DestinationPickerArguments(accountId, [email.id], currentMailboxId)
);
}
}
bool canComposeEmail() => mailboxDashBoardController.sessionCurrent != null
&& mailboxDashBoardController.userProfile.value != null
&& mailboxDashBoardController.mapMailboxId.containsKey(PresentationMailbox.roleOutbox)