TF-1437 Only show subscribed mailbox in destination picker

This commit is contained in:
dab246
2023-02-14 12:03:23 +07:00
committed by Dat Vu
parent 00734d9eac
commit f5c4c10072
4 changed files with 18 additions and 5 deletions
@@ -18,6 +18,7 @@ import 'package:jmap_dart_client/jmap/mail/mailbox/mailbox.dart';
import 'package:jmap_dart_client/jmap/core/state.dart' as jmap;
import 'package:model/mailbox/expand_mode.dart';
import 'package:model/mailbox/presentation_mailbox.dart';
import 'package:model/model.dart';
import 'package:tmail_ui_user/features/base/base_mailbox_controller.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_screen_type.dart';
@@ -124,12 +125,15 @@ class DestinationPickerController extends BaseMailboxController {
newState.map((success) {
if (success is GetAllMailboxSuccess) {
if (mailboxAction.value == MailboxActions.move && mailboxIdSelected != null) {
buildTree(success.mailboxList, mailboxIdSelected: mailboxIdSelected);
buildTree(
success.mailboxList.listSubscribedMailboxes,
mailboxIdSelected: mailboxIdSelected
);
} else {
buildTree(success.mailboxList);
buildTree(success.mailboxList.listSubscribedMailboxes);
}
} else if (success is RefreshChangesAllMailboxSuccess) {
refreshTree(success.mailboxList);
refreshTree(success.mailboxList.listSubscribedMailboxes);
}
});
}
@@ -981,12 +981,12 @@ class MailboxController extends BaseMailboxController with MailboxActionHandlerM
}
void _buildMailboxTreeHasSubscribed(List<PresentationMailbox> mailboxList) async {
final _mailboxList = mailboxList.where((mailbox) => mailbox.isSubscribed?.value == true).toList();
final _mailboxList = mailboxList.listSubscribedMailboxes;
await buildTree(_mailboxList);
}
void _refreshMailboxTreeHasSubscribed(List<PresentationMailbox> mailboxList) async {
final _mailboxList = mailboxList.where((mailbox) => mailbox.isSubscribed?.value == true).toList();
final _mailboxList = mailboxList.listSubscribedMailboxes;
await refreshTree(_mailboxList);
}
@@ -0,0 +1,8 @@
import 'package:model/mailbox/presentation_mailbox.dart';
extension ListPresentationMailboxExtension on List<PresentationMailbox> {
List<PresentationMailbox> get listSubscribedMailboxes =>
where((mailbox) => mailbox.supportedSubscribe).toList();
}
+1
View File
@@ -53,6 +53,7 @@ export 'extensions/utc_date_extension.dart';
export 'extensions/email_filter_condition_extension.dart';
export 'extensions/list_email_header_extension.dart';
export 'extensions/account_extension.dart';
export 'extensions/list_presentation_mailbox_extension.dart';
// Identity
export 'identity/identity_request_dto.dart';
export 'mailbox/expand_mode.dart';