TF-1432 Close email view when mailbox disabled
This commit is contained in:
@@ -121,6 +121,8 @@ class MailboxController extends BaseMailboxController {
|
|||||||
|
|
||||||
PresentationMailbox? get selectedMailbox => mailboxDashBoardController.selectedMailbox.value;
|
PresentationMailbox? get selectedMailbox => mailboxDashBoardController.selectedMailbox.value;
|
||||||
|
|
||||||
|
PresentationEmail? get selectedEmail => mailboxDashBoardController.selectedEmail.value;
|
||||||
|
|
||||||
MailboxController(
|
MailboxController(
|
||||||
this._getAllMailboxInteractor,
|
this._getAllMailboxInteractor,
|
||||||
this._refreshAllMailboxInteractor,
|
this._refreshAllMailboxInteractor,
|
||||||
@@ -1278,6 +1280,7 @@ class MailboxController extends BaseMailboxController {
|
|||||||
|
|
||||||
if (success.mailboxId == selectedMailbox?.id) {
|
if (success.mailboxId == selectedMailbox?.id) {
|
||||||
_switchBackToMailboxDefault();
|
_switchBackToMailboxDefault();
|
||||||
|
_closeEmailViewIfMailboxDisabled([success.mailboxId]);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -1290,6 +1293,7 @@ class MailboxController extends BaseMailboxController {
|
|||||||
|
|
||||||
if (success.mailboxIdsSubscribe.contains(selectedMailbox?.id)) {
|
if (success.mailboxIdsSubscribe.contains(selectedMailbox?.id)) {
|
||||||
_switchBackToMailboxDefault();
|
_switchBackToMailboxDefault();
|
||||||
|
_closeEmailViewIfMailboxDisabled(success.mailboxIdsSubscribe);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -1302,12 +1306,25 @@ class MailboxController extends BaseMailboxController {
|
|||||||
|
|
||||||
if (success.mailboxIdsSubscribe.contains(selectedMailbox?.id)) {
|
if (success.mailboxIdsSubscribe.contains(selectedMailbox?.id)) {
|
||||||
_switchBackToMailboxDefault();
|
_switchBackToMailboxDefault();
|
||||||
|
_closeEmailViewIfMailboxDisabled(success.mailboxIdsSubscribe);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
refreshMailboxChanges(currentMailboxState: success.currentMailboxState);
|
refreshMailboxChanges(currentMailboxState: success.currentMailboxState);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
void _closeEmailViewIfMailboxDisabled(List<MailboxId> mailboxIdsDisabled) {
|
||||||
|
if (selectedEmail == null) {
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
final mailboxContain = selectedEmail!.findMailboxContain(mailboxDashBoardController.mapMailboxById);
|
||||||
|
if (mailboxContain != null && mailboxIdsDisabled.contains(mailboxContain.id)) {
|
||||||
|
mailboxDashBoardController.clearSelectedEmail();
|
||||||
|
mailboxDashBoardController.dispatchRoute(DashboardRoutes.thread);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
void _showToastSubscribeMailboxSuccess(MailboxId mailboxId) {
|
void _showToastSubscribeMailboxSuccess(MailboxId mailboxId) {
|
||||||
if (currentOverlayContext != null && currentContext != null) {
|
if (currentOverlayContext != null && currentContext != null) {
|
||||||
_appToast.showBottomToast(
|
_appToast.showBottomToast(
|
||||||
|
|||||||
Reference in New Issue
Block a user