TF-599 Preserve the state of the tree after performing actions with the mailbox
This commit is contained in:
@@ -263,12 +263,22 @@ class MailboxController extends BaseMailboxController {
|
|||||||
}
|
}
|
||||||
|
|
||||||
void _setUpMapMailboxIdDefault(List<PresentationMailbox> allMailbox, MailboxTree defaultTree, MailboxTree folderTree) {
|
void _setUpMapMailboxIdDefault(List<PresentationMailbox> allMailbox, MailboxTree defaultTree, MailboxTree folderTree) {
|
||||||
|
final mapDefaultMailboxId = {
|
||||||
|
for (var mailboxNode
|
||||||
|
in defaultTree.root.childrenItems ?? List<MailboxNode>.empty())
|
||||||
|
mailboxNode.item.role!: mailboxNode.item.id
|
||||||
|
};
|
||||||
|
|
||||||
final mapDefaultMailboxId = { for (var mailboxNode in defaultTree.root.childrenItems ?? List<MailboxNode>.empty()) mailboxNode.item.role! : mailboxNode.item.id };
|
final mapDefaultMailbox = {
|
||||||
|
for (var mailboxNode
|
||||||
|
in defaultTree.root.childrenItems ?? List<MailboxNode>.empty())
|
||||||
|
mailboxNode.item.role!: mailboxNode.item
|
||||||
|
};
|
||||||
|
|
||||||
final mapDefaultMailbox = { for (var mailboxNode in defaultTree.root.childrenItems ?? List<MailboxNode>.empty()) mailboxNode.item.role! : mailboxNode.item };
|
final mapMailbox = {
|
||||||
|
for (var presentationMailbox in allMailbox)
|
||||||
final mapMailbox = { for (var presentationMailbox in allMailbox) presentationMailbox.id : presentationMailbox };
|
presentationMailbox.id: presentationMailbox
|
||||||
|
};
|
||||||
|
|
||||||
mailboxDashBoardController.setMapDefaultMailboxId(mapDefaultMailboxId);
|
mailboxDashBoardController.setMapDefaultMailboxId(mapDefaultMailboxId);
|
||||||
|
|
||||||
@@ -434,8 +444,8 @@ class MailboxController extends BaseMailboxController {
|
|||||||
.map((mailbox) => mailbox.toSelectedPresentationMailbox(selectMode: SelectMode.INACTIVE))
|
.map((mailbox) => mailbox.toSelectedPresentationMailbox(selectMode: SelectMode.INACTIVE))
|
||||||
.toList();
|
.toList();
|
||||||
} else {
|
} else {
|
||||||
defaultMailboxTree.value.updateNodesUIMode(SelectMode.INACTIVE, ExpandMode.COLLAPSE);
|
defaultMailboxTree.value.updateNodesUIMode(selectMode: SelectMode.INACTIVE);
|
||||||
folderMailboxTree.value.updateNodesUIMode(SelectMode.INACTIVE, ExpandMode.COLLAPSE);
|
folderMailboxTree.value.updateNodesUIMode(selectMode: SelectMode.INACTIVE);
|
||||||
}
|
}
|
||||||
currentSelectMode.value = SelectMode.INACTIVE;
|
currentSelectMode.value = SelectMode.INACTIVE;
|
||||||
}
|
}
|
||||||
@@ -473,12 +483,16 @@ class MailboxController extends BaseMailboxController {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
void _openConfirmationDialogDeleteMailboxAction(BuildContext context, PresentationMailbox presentationMailbox) {
|
void _openConfirmationDialogDeleteMailboxAction(BuildContext context,
|
||||||
|
PresentationMailbox presentationMailbox) {
|
||||||
if (_responsiveUtils.isMobile(context)) {
|
if (_responsiveUtils.isMobile(context)) {
|
||||||
(ConfirmationDialogActionSheetBuilder(context)
|
(ConfirmationDialogActionSheetBuilder(context)
|
||||||
..messageText(AppLocalizations.of(context).message_confirmation_dialog_delete_mailbox(presentationMailbox.name?.name ?? ''))
|
..messageText(AppLocalizations.of(context)
|
||||||
..onCancelAction(AppLocalizations.of(context).cancel, () => popBack())
|
.message_confirmation_dialog_delete_mailbox(presentationMailbox.name?.name ?? ''))
|
||||||
..onConfirmAction(AppLocalizations.of(context).delete, () => _deleteMailboxAction(presentationMailbox)))
|
..onCancelAction(AppLocalizations.of(context).cancel, () =>
|
||||||
|
popBack())
|
||||||
|
..onConfirmAction(AppLocalizations.of(context).delete, () =>
|
||||||
|
_deleteMailboxAction(presentationMailbox)))
|
||||||
.show();
|
.show();
|
||||||
} else {
|
} else {
|
||||||
showDialog(
|
showDialog(
|
||||||
@@ -487,13 +501,20 @@ class MailboxController extends BaseMailboxController {
|
|||||||
builder: (BuildContext context) => PointerInterceptor(child: (ConfirmDialogBuilder(_imagePaths)
|
builder: (BuildContext context) => PointerInterceptor(child: (ConfirmDialogBuilder(_imagePaths)
|
||||||
..key(const Key('confirm_dialog_delete_mailbox'))
|
..key(const Key('confirm_dialog_delete_mailbox'))
|
||||||
..title(AppLocalizations.of(context).delete_mailboxes)
|
..title(AppLocalizations.of(context).delete_mailboxes)
|
||||||
..content(AppLocalizations.of(context).message_confirmation_dialog_delete_mailbox(presentationMailbox.name?.name ?? ''))
|
..content(AppLocalizations.of(context)
|
||||||
..addIcon(SvgPicture.asset(_imagePaths.icRemoveDialog, fit: BoxFit.fill))
|
.message_confirmation_dialog_delete_mailbox(presentationMailbox.name?.name ?? ''))
|
||||||
|
..addIcon(SvgPicture.asset(_imagePaths.icRemoveDialog,
|
||||||
|
fit: BoxFit.fill))
|
||||||
..colorConfirmButton(AppColor.colorConfirmActionDialog)
|
..colorConfirmButton(AppColor.colorConfirmActionDialog)
|
||||||
..styleTextConfirmButton(const TextStyle(fontSize: 17, fontWeight: FontWeight.w500, color: AppColor.colorActionDeleteConfirmDialog))
|
..styleTextConfirmButton(const TextStyle(
|
||||||
|
fontSize: 17,
|
||||||
|
fontWeight: FontWeight.w500,
|
||||||
|
color: AppColor.colorActionDeleteConfirmDialog))
|
||||||
..onCloseButtonAction(() => popBack())
|
..onCloseButtonAction(() => popBack())
|
||||||
..onConfirmButtonAction(AppLocalizations.of(context).delete, () => _deleteMailboxAction(presentationMailbox))
|
..onConfirmButtonAction(AppLocalizations.of(context).delete, () =>
|
||||||
..onCancelButtonAction(AppLocalizations.of(context).cancel, () => popBack()))
|
_deleteMailboxAction(presentationMailbox))
|
||||||
|
..onCancelButtonAction(AppLocalizations.of(context).cancel, () =>
|
||||||
|
popBack()))
|
||||||
.build()));
|
.build()));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -59,7 +59,7 @@ class MailboxTree with EquatableMixin {
|
|||||||
return matchedNode;
|
return matchedNode;
|
||||||
}
|
}
|
||||||
|
|
||||||
void updateNodesUIMode(SelectMode? selectMode, ExpandMode? expandMode) {
|
void updateNodesUIMode({SelectMode? selectMode, ExpandMode? expandMode}) {
|
||||||
if (selectMode == null && expandMode == null) {
|
if (selectMode == null && expandMode == null) {
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user