TF-1074 Handle go to path /destination_picker
This commit is contained in:
+27
-11
@@ -134,18 +134,34 @@ class AdvancedFilterController extends BaseController {
|
||||
);
|
||||
}
|
||||
|
||||
void selectedMailBox() async {
|
||||
final destinationMailbox = await push(
|
||||
AppRoutes.destinationPicker,
|
||||
arguments: DestinationPickerArguments(
|
||||
_mailboxDashBoardController.accountId.value!,
|
||||
MailboxActions.select,
|
||||
mailboxIdSelected: searchController.searchEmailFilter.value.mailbox?.id));
|
||||
void selectedMailBox(BuildContext context) async {
|
||||
final accountId = _mailboxDashBoardController.accountId.value;
|
||||
if (accountId != null) {
|
||||
final arguments = DestinationPickerArguments(
|
||||
accountId,
|
||||
MailboxActions.select,
|
||||
mailboxIdSelected: searchController.searchEmailFilter.value.mailbox?.id);
|
||||
|
||||
if (destinationMailbox is PresentationMailbox) {
|
||||
searchController.updateFilterEmail(mailbox: destinationMailbox);
|
||||
mailBoxFilterInputController.text =
|
||||
StringConvert.writeNullToEmpty(destinationMailbox.name?.name);
|
||||
if (BuildUtils.isWeb) {
|
||||
showDialogDestinationPicker(
|
||||
context: context,
|
||||
arguments: arguments,
|
||||
onSelectedMailbox: (destinationMailbox) {
|
||||
searchController.updateFilterEmail(mailbox: destinationMailbox);
|
||||
mailBoxFilterInputController.text =
|
||||
StringConvert.writeNullToEmpty(destinationMailbox.name?.name);
|
||||
});
|
||||
} else {
|
||||
final destinationMailbox = await push(
|
||||
AppRoutes.destinationPicker,
|
||||
arguments: arguments);
|
||||
|
||||
if (destinationMailbox is PresentationMailbox) {
|
||||
searchController.updateFilterEmail(mailbox: destinationMailbox);
|
||||
mailBoxFilterInputController.text =
|
||||
StringConvert.writeNullToEmpty(destinationMailbox.name?.name);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
+56
-4
@@ -611,13 +611,27 @@ class MailboxDashBoardController extends ReloadableController {
|
||||
}
|
||||
|
||||
void moveSelectedMultipleEmailToMailbox(
|
||||
BuildContext context,
|
||||
List<PresentationEmail> listEmails,
|
||||
PresentationMailbox mailboxCurrent
|
||||
PresentationMailbox currentMailbox
|
||||
) async {
|
||||
if (accountId.value != null) {
|
||||
final destinationMailbox = await push(
|
||||
AppRoutes.destinationPicker,
|
||||
arguments: DestinationPickerArguments(accountId.value!, MailboxActions.moveEmail));
|
||||
final arguments = DestinationPickerArguments(accountId.value!, MailboxActions.moveEmail);
|
||||
|
||||
if (BuildUtils.isWeb) {
|
||||
showDialogDestinationPicker(
|
||||
context: context,
|
||||
arguments: arguments,
|
||||
onSelectedMailbox: (destinationMailbox) {
|
||||
_dispatchMoveToMultipleAction(
|
||||
accountId.value!,
|
||||
listEmails.listEmailIds,
|
||||
currentMailbox, destinationMailbox);
|
||||
});
|
||||
} else {
|
||||
final destinationMailbox = await push(
|
||||
AppRoutes.destinationPicker,
|
||||
arguments: arguments);
|
||||
|
||||
if (destinationMailbox != null && destinationMailbox is PresentationMailbox) {
|
||||
if (destinationMailbox.isTrash) {
|
||||
@@ -644,6 +658,44 @@ class MailboxDashBoardController extends ReloadableController {
|
||||
destinationPath: destinationMailbox.mailboxPath));
|
||||
}
|
||||
}
|
||||
if (destinationMailbox != null && destinationMailbox is PresentationMailbox) {
|
||||
_dispatchMoveToMultipleAction(
|
||||
accountId.value!,
|
||||
listEmails.listEmailIds,
|
||||
currentMailbox, destinationMailbox);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
void _dispatchMoveToMultipleAction(
|
||||
AccountId accountId,
|
||||
List<EmailId> listEmailIds,
|
||||
PresentationMailbox currentMailbox,
|
||||
PresentationMailbox destinationMailbox
|
||||
) {
|
||||
if (destinationMailbox.isTrash) {
|
||||
_moveSelectedEmailMultipleToMailboxAction(accountId, MoveToMailboxRequest(
|
||||
listEmailIds,
|
||||
currentMailbox.id,
|
||||
destinationMailbox.id,
|
||||
MoveAction.moving,
|
||||
EmailActionType.moveToTrash));
|
||||
} else if (destinationMailbox.isSpam) {
|
||||
_moveSelectedEmailMultipleToMailboxAction(accountId, MoveToMailboxRequest(
|
||||
listEmailIds,
|
||||
currentMailbox.id,
|
||||
destinationMailbox.id,
|
||||
MoveAction.moving,
|
||||
EmailActionType.moveToSpam));
|
||||
} else {
|
||||
_moveSelectedEmailMultipleToMailboxAction(accountId, MoveToMailboxRequest(
|
||||
listEmailIds,
|
||||
currentMailbox.id,
|
||||
destinationMailbox.id,
|
||||
MoveAction.moving,
|
||||
EmailActionType.moveToMailbox,
|
||||
destinationPath: destinationMailbox.mailboxPath));
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user