TF-1437 Only show subscribed mailbox in destination picker
This commit is contained in:
@@ -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();
|
||||
}
|
||||
@@ -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';
|
||||
|
||||
Reference in New Issue
Block a user