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:jmap_dart_client/jmap/core/state.dart' as jmap;
|
||||||
import 'package:model/mailbox/expand_mode.dart';
|
import 'package:model/mailbox/expand_mode.dart';
|
||||||
import 'package:model/mailbox/presentation_mailbox.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/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_picker_arguments.dart';
|
||||||
import 'package:tmail_ui_user/features/destination_picker/presentation/model/destination_screen_type.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) {
|
newState.map((success) {
|
||||||
if (success is GetAllMailboxSuccess) {
|
if (success is GetAllMailboxSuccess) {
|
||||||
if (mailboxAction.value == MailboxActions.move && mailboxIdSelected != null) {
|
if (mailboxAction.value == MailboxActions.move && mailboxIdSelected != null) {
|
||||||
buildTree(success.mailboxList, mailboxIdSelected: mailboxIdSelected);
|
buildTree(
|
||||||
|
success.mailboxList.listSubscribedMailboxes,
|
||||||
|
mailboxIdSelected: mailboxIdSelected
|
||||||
|
);
|
||||||
} else {
|
} else {
|
||||||
buildTree(success.mailboxList);
|
buildTree(success.mailboxList.listSubscribedMailboxes);
|
||||||
}
|
}
|
||||||
} else if (success is RefreshChangesAllMailboxSuccess) {
|
} 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 {
|
void _buildMailboxTreeHasSubscribed(List<PresentationMailbox> mailboxList) async {
|
||||||
final _mailboxList = mailboxList.where((mailbox) => mailbox.isSubscribed?.value == true).toList();
|
final _mailboxList = mailboxList.listSubscribedMailboxes;
|
||||||
await buildTree(_mailboxList);
|
await buildTree(_mailboxList);
|
||||||
}
|
}
|
||||||
|
|
||||||
void _refreshMailboxTreeHasSubscribed(List<PresentationMailbox> mailboxList) async {
|
void _refreshMailboxTreeHasSubscribed(List<PresentationMailbox> mailboxList) async {
|
||||||
final _mailboxList = mailboxList.where((mailbox) => mailbox.isSubscribed?.value == true).toList();
|
final _mailboxList = mailboxList.listSubscribedMailboxes;
|
||||||
await refreshTree(_mailboxList);
|
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/email_filter_condition_extension.dart';
|
||||||
export 'extensions/list_email_header_extension.dart';
|
export 'extensions/list_email_header_extension.dart';
|
||||||
export 'extensions/account_extension.dart';
|
export 'extensions/account_extension.dart';
|
||||||
|
export 'extensions/list_presentation_mailbox_extension.dart';
|
||||||
// Identity
|
// Identity
|
||||||
export 'identity/identity_request_dto.dart';
|
export 'identity/identity_request_dto.dart';
|
||||||
export 'mailbox/expand_mode.dart';
|
export 'mailbox/expand_mode.dart';
|
||||||
|
|||||||
Reference in New Issue
Block a user