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
@@ -15,6 +15,7 @@ import 'package:jmap_dart_client/jmap/mail/email/email_filter_condition.dart';
import 'package:jmap_dart_client/jmap/mail/mailbox/mailbox.dart';
import 'package:model/model.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/mark_as_email_read_state.dart';
import 'package:tmail_ui_user/features/email/presentation/model/composer_arguments.dart';
import 'package:tmail_ui_user/features/mailbox_dashboard/presentation/mailbox_dashboard_controller.dart';
@@ -318,6 +319,19 @@ class ThreadController extends BaseController {
.build();
}
void moveSelectedMultipleEmailToMailboxAction(List<PresentationEmail> listEmail) {
final accountId = mailboxDashBoardController.accountId.value;
if (_currentMailboxId != null && accountId != null) {
popBack();
final listEmailIds = listEmail.map((email) => email.id).toList();
push(
AppRoutes.DESTINATION_PICKER,
arguments: DestinationPickerArguments(accountId, listEmailIds, _currentMailboxId!)
);
}
}
bool canComposeEmail() => mailboxDashBoardController.sessionCurrent != null
&& mailboxDashBoardController.userProfile.value != null
&& mailboxDashBoardController.mapMailboxId.containsKey(PresentationMailbox.roleOutbox);