TF-838 Use firstState to update RefreshChanges mailbox and email
This commit is contained in:
@@ -8,7 +8,7 @@ import 'package:flutter_svg/flutter_svg.dart';
|
|||||||
import 'package:get/get.dart';
|
import 'package:get/get.dart';
|
||||||
import 'package:jmap_dart_client/jmap/account_id.dart';
|
import 'package:jmap_dart_client/jmap/account_id.dart';
|
||||||
import 'package:jmap_dart_client/jmap/core/id.dart';
|
import 'package:jmap_dart_client/jmap/core/id.dart';
|
||||||
import 'package:jmap_dart_client/jmap/core/state.dart' as jmap_state;
|
import 'package:jmap_dart_client/jmap/core/state.dart' as jmap;
|
||||||
import 'package:jmap_dart_client/jmap/mail/mailbox/mailbox.dart';
|
import 'package:jmap_dart_client/jmap/mail/mailbox/mailbox.dart';
|
||||||
import 'package:model/model.dart';
|
import 'package:model/model.dart';
|
||||||
import 'package:pointer_interceptor/pointer_interceptor.dart';
|
import 'package:pointer_interceptor/pointer_interceptor.dart';
|
||||||
@@ -95,7 +95,7 @@ class MailboxController extends BaseMailboxController {
|
|||||||
final searchFocus = FocusNode();
|
final searchFocus = FocusNode();
|
||||||
final mailboxListScrollController = ScrollController();
|
final mailboxListScrollController = ScrollController();
|
||||||
|
|
||||||
jmap_state.State? currentMailboxState;
|
jmap.State? _currentMailboxState;
|
||||||
List<String> listMailboxNameAsStringExist = <String>[];
|
List<String> listMailboxNameAsStringExist = <String>[];
|
||||||
|
|
||||||
late Worker accountIdWorker, viewStateWorker;
|
late Worker accountIdWorker, viewStateWorker;
|
||||||
@@ -144,11 +144,11 @@ class MailboxController extends BaseMailboxController {
|
|||||||
super.onData(newState);
|
super.onData(newState);
|
||||||
newState.map((success) async {
|
newState.map((success) async {
|
||||||
if (success is GetAllMailboxSuccess) {
|
if (success is GetAllMailboxSuccess) {
|
||||||
currentMailboxState = success.currentMailboxState;
|
_currentMailboxState = success.currentMailboxState;
|
||||||
await buildTree(success.mailboxList);
|
await buildTree(success.mailboxList);
|
||||||
_setUpMapMailboxIdDefault(success.mailboxList, defaultMailboxTree.value, folderMailboxTree.value);
|
_setUpMapMailboxIdDefault(success.mailboxList, defaultMailboxTree.value, folderMailboxTree.value);
|
||||||
} else if (success is RefreshChangesAllMailboxSuccess) {
|
} else if (success is RefreshChangesAllMailboxSuccess) {
|
||||||
currentMailboxState = success.currentMailboxState;
|
_currentMailboxState = success.currentMailboxState;
|
||||||
await refreshTree(success.mailboxList);
|
await refreshTree(success.mailboxList);
|
||||||
_setUpMapMailboxIdDefault(success.mailboxList, defaultMailboxTree.value, folderMailboxTree.value);
|
_setUpMapMailboxIdDefault(success.mailboxList, defaultMailboxTree.value, folderMailboxTree.value);
|
||||||
}
|
}
|
||||||
@@ -177,7 +177,7 @@ class MailboxController extends BaseMailboxController {
|
|||||||
} else if ((success is GetAllMailboxSuccess || success is RefreshChangesAllMailboxSuccess) && isSearchActive()) {
|
} else if ((success is GetAllMailboxSuccess || success is RefreshChangesAllMailboxSuccess) && isSearchActive()) {
|
||||||
_searchMailboxAction(allMailboxes, searchQuery.value);
|
_searchMailboxAction(allMailboxes, searchQuery.value);
|
||||||
} else if (success is RenameMailboxSuccess) {
|
} else if (success is RenameMailboxSuccess) {
|
||||||
refreshMailboxChanges();
|
refreshMailboxChanges(currentMailboxState: success.currentMailboxState);
|
||||||
} else if (success is MoveMailboxSuccess) {
|
} else if (success is MoveMailboxSuccess) {
|
||||||
_moveMailboxSuccess(success);
|
_moveMailboxSuccess(success);
|
||||||
}
|
}
|
||||||
@@ -197,37 +197,46 @@ class MailboxController extends BaseMailboxController {
|
|||||||
|
|
||||||
viewStateWorker = ever(mailboxDashBoardController.viewState, (state) {
|
viewStateWorker = ever(mailboxDashBoardController.viewState, (state) {
|
||||||
if (state is Either) {
|
if (state is Either) {
|
||||||
state.fold((failure) {
|
state.fold((failure) => null, (success) {
|
||||||
if (failure is EmptyTrashFolderFailure) {
|
if (success is MarkAsMultipleEmailReadAllSuccess) {
|
||||||
mailboxDashBoardController.clearState();
|
mailboxDashBoardController.clearState();
|
||||||
refreshMailboxChanges();
|
refreshMailboxChanges(currentMailboxState: success.currentMailboxState);
|
||||||
}
|
} else if (success is MarkAsMultipleEmailReadHasSomeEmailFailure) {
|
||||||
}, (success) {
|
|
||||||
if (success is MarkAsMultipleEmailReadAllSuccess ||
|
|
||||||
success is MarkAsMultipleEmailReadHasSomeEmailFailure) {
|
|
||||||
mailboxDashBoardController.clearState();
|
mailboxDashBoardController.clearState();
|
||||||
refreshMailboxChanges();
|
refreshMailboxChanges(currentMailboxState: success.currentMailboxState);
|
||||||
} else if (success is MoveMultipleEmailToMailboxAllSuccess ||
|
} else if (success is MoveMultipleEmailToMailboxAllSuccess) {
|
||||||
success is MoveMultipleEmailToMailboxHasSomeEmailFailure) {
|
|
||||||
mailboxDashBoardController.clearState();
|
mailboxDashBoardController.clearState();
|
||||||
refreshMailboxChanges();
|
refreshMailboxChanges(currentMailboxState: success.currentMailboxState);
|
||||||
} else if (success is DeleteMultipleEmailsPermanentlyAllSuccess ||
|
} else if (success is MoveMultipleEmailToMailboxHasSomeEmailFailure) {
|
||||||
success is DeleteMultipleEmailsPermanentlyHasSomeEmailFailure) {
|
|
||||||
mailboxDashBoardController.clearState();
|
mailboxDashBoardController.clearState();
|
||||||
refreshMailboxChanges();
|
refreshMailboxChanges(currentMailboxState: success.currentMailboxState);
|
||||||
|
} else if (success is DeleteMultipleEmailsPermanentlyAllSuccess) {
|
||||||
|
mailboxDashBoardController.clearState();
|
||||||
|
refreshMailboxChanges(currentMailboxState: success.currentMailboxState);
|
||||||
|
} else if (success is DeleteMultipleEmailsPermanentlyHasSomeEmailFailure) {
|
||||||
|
mailboxDashBoardController.clearState();
|
||||||
|
refreshMailboxChanges(currentMailboxState: success.currentMailboxState);
|
||||||
} else if (success is EmptyTrashFolderSuccess) {
|
} else if (success is EmptyTrashFolderSuccess) {
|
||||||
mailboxDashBoardController.clearState();
|
mailboxDashBoardController.clearState();
|
||||||
refreshMailboxChanges();
|
refreshMailboxChanges(currentMailboxState: success.currentMailboxState);
|
||||||
} else if (success is MarkAsEmailReadSuccess ||
|
} else if (success is MarkAsEmailReadSuccess) {
|
||||||
success is MoveToMailboxSuccess ||
|
refreshMailboxChanges(currentMailboxState: success.currentMailboxState);
|
||||||
success is DeleteEmailPermanentlySuccess ||
|
} else if (success is MoveToMailboxSuccess) {
|
||||||
success is SaveEmailAsDraftsSuccess ||
|
refreshMailboxChanges(currentMailboxState: success.currentMailboxState);
|
||||||
success is RemoveEmailDraftsSuccess ||
|
} else if (success is DeleteEmailPermanentlySuccess) {
|
||||||
success is SendEmailSuccess ||
|
refreshMailboxChanges(currentMailboxState: success.currentMailboxState);
|
||||||
success is MarkAsMailboxReadAllSuccess ||
|
} else if (success is SaveEmailAsDraftsSuccess) {
|
||||||
success is MarkAsMailboxReadHasSomeEmailFailure ||
|
refreshMailboxChanges(currentMailboxState: success.currentMailboxState);
|
||||||
success is UpdateEmailDraftsSuccess) {
|
} else if (success is RemoveEmailDraftsSuccess) {
|
||||||
refreshMailboxChanges();
|
refreshMailboxChanges(currentMailboxState: success.currentMailboxState);
|
||||||
|
} else if (success is SendEmailSuccess) {
|
||||||
|
refreshMailboxChanges(currentMailboxState: success.currentMailboxState);
|
||||||
|
} else if (success is MarkAsMailboxReadAllSuccess) {
|
||||||
|
refreshMailboxChanges(currentMailboxState: success.currentMailboxState);
|
||||||
|
} else if (success is MarkAsMailboxReadHasSomeEmailFailure) {
|
||||||
|
refreshMailboxChanges(currentMailboxState: success.currentMailboxState);
|
||||||
|
} else if (success is UpdateEmailDraftsSuccess) {
|
||||||
|
refreshMailboxChanges(currentMailboxState: success.currentMailboxState);
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
@@ -276,11 +285,13 @@ class MailboxController extends BaseMailboxController {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
void refreshMailboxChanges() {
|
void refreshMailboxChanges({jmap.State? currentMailboxState}) {
|
||||||
log('MailboxController::refreshMailboxChanges():');
|
log('MailboxController::refreshMailboxChanges(): currentMailboxState: $currentMailboxState');
|
||||||
|
final newMailboxState = currentMailboxState ?? _currentMailboxState;
|
||||||
|
log('MailboxController::refreshMailboxChanges(): newMailboxState: $newMailboxState');
|
||||||
final accountId = mailboxDashBoardController.accountId.value;
|
final accountId = mailboxDashBoardController.accountId.value;
|
||||||
if (accountId != null && currentMailboxState != null) {
|
if (accountId != null && newMailboxState != null) {
|
||||||
consumeState(_refreshAllMailboxInteractor.execute(accountId, currentMailboxState!));
|
consumeState(_refreshAllMailboxInteractor.execute(accountId, newMailboxState));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -387,7 +398,7 @@ class MailboxController extends BaseMailboxController {
|
|||||||
icon: _imagePaths.icFolderMailbox);
|
icon: _imagePaths.icFolderMailbox);
|
||||||
}
|
}
|
||||||
|
|
||||||
refreshMailboxChanges();
|
refreshMailboxChanges(currentMailboxState: success.currentMailboxState);
|
||||||
}
|
}
|
||||||
|
|
||||||
void _createNewMailboxFailure(CreateNewMailboxFailure failure) {
|
void _createNewMailboxFailure(CreateNewMailboxFailure failure) {
|
||||||
@@ -581,7 +592,7 @@ class MailboxController extends BaseMailboxController {
|
|||||||
if (success.mailboxIdDeleted == mailboxDashBoardController.selectedMailbox.value?.id) {
|
if (success.mailboxIdDeleted == mailboxDashBoardController.selectedMailbox.value?.id) {
|
||||||
_switchBackToMailboxDefault();
|
_switchBackToMailboxDefault();
|
||||||
}
|
}
|
||||||
refreshMailboxChanges();
|
refreshMailboxChanges(currentMailboxState: success.currentMailboxState);
|
||||||
}
|
}
|
||||||
|
|
||||||
void _switchBackToMailboxDefault() {
|
void _switchBackToMailboxDefault() {
|
||||||
@@ -750,7 +761,7 @@ class MailboxController extends BaseMailboxController {
|
|||||||
maxWidth: _responsiveUtils.getMaxWidthToast(currentContext!));
|
maxWidth: _responsiveUtils.getMaxWidthToast(currentContext!));
|
||||||
}
|
}
|
||||||
|
|
||||||
refreshMailboxChanges();
|
refreshMailboxChanges(currentMailboxState: success.currentMailboxState);
|
||||||
}
|
}
|
||||||
|
|
||||||
void _undoMovingMailbox(MoveMailboxRequest newMoveRequest) {
|
void _undoMovingMailbox(MoveMailboxRequest newMoveRequest) {
|
||||||
|
|||||||
@@ -196,8 +196,6 @@ class ThreadController extends BaseController {
|
|||||||
} else if (failure is MarkAsStarMultipleEmailAllFailure
|
} else if (failure is MarkAsStarMultipleEmailAllFailure
|
||||||
|| failure is MarkAsStarMultipleEmailFailure) {
|
|| failure is MarkAsStarMultipleEmailFailure) {
|
||||||
_markAsStarMultipleEmailFailure(failure);
|
_markAsStarMultipleEmailFailure(failure);
|
||||||
} else if (failure is EmptyTrashFolderFailure) {
|
|
||||||
_emptyTrashFolderFailure(failure);
|
|
||||||
} else if (failure is LoadMoreEmailsFailure) {
|
} else if (failure is LoadMoreEmailsFailure) {
|
||||||
stopFpsMeter();
|
stopFpsMeter();
|
||||||
}
|
}
|
||||||
@@ -291,17 +289,26 @@ class ThreadController extends BaseController {
|
|||||||
if (success is SearchEmailNewQuery){
|
if (success is SearchEmailNewQuery){
|
||||||
mailboxDashBoardController.clearState();
|
mailboxDashBoardController.clearState();
|
||||||
_searchEmail();
|
_searchEmail();
|
||||||
} else if (success is MarkAsEmailReadSuccess
|
} else if (success is MarkAsEmailReadSuccess) {
|
||||||
|| success is MoveToMailboxSuccess
|
_refreshEmailChanges(currentEmailState: success.currentEmailState);
|
||||||
|| success is MarkAsStarEmailSuccess
|
} else if (success is MoveToMailboxSuccess) {
|
||||||
|| success is DeleteEmailPermanentlySuccess
|
_refreshEmailChanges(currentEmailState: success.currentEmailState);
|
||||||
|| success is SaveEmailAsDraftsSuccess
|
} else if (success is MarkAsStarEmailSuccess) {
|
||||||
|| success is RemoveEmailDraftsSuccess
|
_refreshEmailChanges(currentEmailState: success.currentEmailState);
|
||||||
|| success is SendEmailSuccess
|
} else if (success is DeleteEmailPermanentlySuccess) {
|
||||||
|| success is MarkAsMailboxReadAllSuccess
|
_refreshEmailChanges(currentEmailState: success.currentEmailState);
|
||||||
|| success is MarkAsMailboxReadHasSomeEmailFailure
|
} else if (success is SaveEmailAsDraftsSuccess) {
|
||||||
|| success is UpdateEmailDraftsSuccess) {
|
_refreshEmailChanges(currentEmailState: success.currentEmailState);
|
||||||
_refreshEmailChanges();
|
} else if (success is RemoveEmailDraftsSuccess) {
|
||||||
|
_refreshEmailChanges(currentEmailState: success.currentEmailState);
|
||||||
|
} else if (success is SendEmailSuccess) {
|
||||||
|
_refreshEmailChanges(currentEmailState: success.currentEmailState);
|
||||||
|
} else if (success is UpdateEmailDraftsSuccess) {
|
||||||
|
_refreshEmailChanges(currentEmailState: success.currentEmailState);
|
||||||
|
} else if (success is MarkAsMailboxReadAllSuccess) {
|
||||||
|
_refreshEmailChanges(currentEmailState: success.currentEmailState);
|
||||||
|
} else if (success is MarkAsMailboxReadHasSomeEmailFailure) {
|
||||||
|
_refreshEmailChanges(currentEmailState: success.currentEmailState);
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
@@ -405,7 +412,8 @@ class ThreadController extends BaseController {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
void _refreshEmailChanges() {
|
void _refreshEmailChanges({jmap.State? currentEmailState}) {
|
||||||
|
log('ThreadController::_refreshEmailChanges(): currentEmailState: $currentEmailState');
|
||||||
if (isSearchActive()) {
|
if (isSearchActive()) {
|
||||||
if (_accountId != null && searchQuery != null) {
|
if (_accountId != null && searchQuery != null) {
|
||||||
final limit = emailList.isNotEmpty
|
final limit = emailList.isNotEmpty
|
||||||
@@ -414,10 +422,12 @@ class ThreadController extends BaseController {
|
|||||||
_searchEmail(limit: limit);
|
_searchEmail(limit: limit);
|
||||||
}
|
}
|
||||||
} else {
|
} else {
|
||||||
if (_accountId != null && _currentEmailState != null) {
|
final newEmailState = currentEmailState ?? _currentEmailState;
|
||||||
|
log('ThreadController::_refreshEmailChanges(): newEmailState: $newEmailState');
|
||||||
|
if (_accountId != null && newEmailState != null) {
|
||||||
consumeState(_refreshChangesEmailsInMailboxInteractor.execute(
|
consumeState(_refreshChangesEmailsInMailboxInteractor.execute(
|
||||||
_accountId!,
|
_accountId!,
|
||||||
_currentEmailState!,
|
newEmailState,
|
||||||
sort: _sortOrder,
|
sort: _sortOrder,
|
||||||
propertiesCreated: ThreadConstants.propertiesDefault,
|
propertiesCreated: ThreadConstants.propertiesDefault,
|
||||||
propertiesUpdated: ThreadConstants.propertiesUpdatedDefault,
|
propertiesUpdated: ThreadConstants.propertiesUpdatedDefault,
|
||||||
@@ -517,11 +527,14 @@ class ThreadController extends BaseController {
|
|||||||
mailboxDashBoardController.dispatchState(Right(success));
|
mailboxDashBoardController.dispatchState(Right(success));
|
||||||
|
|
||||||
ReadActions? readActions;
|
ReadActions? readActions;
|
||||||
|
jmap.State? currentEmailState;
|
||||||
|
|
||||||
if (success is MarkAsMultipleEmailReadAllSuccess) {
|
if (success is MarkAsMultipleEmailReadAllSuccess) {
|
||||||
readActions = success.readActions;
|
readActions = success.readActions;
|
||||||
|
currentEmailState = success.currentEmailState;
|
||||||
} else if (success is MarkAsMultipleEmailReadHasSomeEmailFailure) {
|
} else if (success is MarkAsMultipleEmailReadHasSomeEmailFailure) {
|
||||||
readActions = success.readActions;
|
readActions = success.readActions;
|
||||||
|
currentEmailState = success.currentEmailState;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (currentContext != null && readActions != null && currentOverlayContext != null) {
|
if (currentContext != null && readActions != null && currentOverlayContext != null) {
|
||||||
@@ -533,7 +546,7 @@ class ThreadController extends BaseController {
|
|||||||
message: message,
|
message: message,
|
||||||
icon: readActions == ReadActions.markAsUnread ? _imagePaths.icUnreadToast : _imagePaths.icReadToast);
|
icon: readActions == ReadActions.markAsUnread ? _imagePaths.icUnreadToast : _imagePaths.icReadToast);
|
||||||
}
|
}
|
||||||
_refreshEmailChanges();
|
_refreshEmailChanges(currentEmailState: currentEmailState);
|
||||||
}
|
}
|
||||||
|
|
||||||
void _markAsReadSelectedMultipleEmailFailure(Failure failure) {
|
void _markAsReadSelectedMultipleEmailFailure(Failure failure) {
|
||||||
@@ -635,6 +648,7 @@ class ThreadController extends BaseController {
|
|||||||
MailboxId? destinationMailboxId;
|
MailboxId? destinationMailboxId;
|
||||||
MoveAction? moveAction;
|
MoveAction? moveAction;
|
||||||
EmailActionType? emailActionType;
|
EmailActionType? emailActionType;
|
||||||
|
jmap.State? currentEmailState;
|
||||||
|
|
||||||
if (success is MoveMultipleEmailToMailboxAllSuccess) {
|
if (success is MoveMultipleEmailToMailboxAllSuccess) {
|
||||||
destinationPath = success.destinationPath;
|
destinationPath = success.destinationPath;
|
||||||
@@ -643,6 +657,7 @@ class ThreadController extends BaseController {
|
|||||||
destinationMailboxId = success.destinationMailboxId;
|
destinationMailboxId = success.destinationMailboxId;
|
||||||
moveAction = success.moveAction;
|
moveAction = success.moveAction;
|
||||||
emailActionType = success.emailActionType;
|
emailActionType = success.emailActionType;
|
||||||
|
currentEmailState = success.currentEmailState;
|
||||||
} else if (success is MoveMultipleEmailToMailboxHasSomeEmailFailure) {
|
} else if (success is MoveMultipleEmailToMailboxHasSomeEmailFailure) {
|
||||||
destinationPath = success.destinationPath;
|
destinationPath = success.destinationPath;
|
||||||
movedEmailIds = success.movedListEmailId;
|
movedEmailIds = success.movedListEmailId;
|
||||||
@@ -650,6 +665,7 @@ class ThreadController extends BaseController {
|
|||||||
destinationMailboxId = success.destinationMailboxId;
|
destinationMailboxId = success.destinationMailboxId;
|
||||||
moveAction = success.moveAction;
|
moveAction = success.moveAction;
|
||||||
emailActionType = success.emailActionType;
|
emailActionType = success.emailActionType;
|
||||||
|
currentEmailState = success.currentEmailState;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (currentContext != null && currentOverlayContext != null
|
if (currentContext != null && currentOverlayContext != null
|
||||||
@@ -674,7 +690,7 @@ class ThreadController extends BaseController {
|
|||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
|
||||||
_refreshEmailChanges();
|
_refreshEmailChanges(currentEmailState: currentEmailState);
|
||||||
}
|
}
|
||||||
|
|
||||||
void moveSelectedMultipleEmailToTrash(List<PresentationEmail> listEmail) async {
|
void moveSelectedMultipleEmailToTrash(List<PresentationEmail> listEmail) async {
|
||||||
@@ -757,8 +773,8 @@ class ThreadController extends BaseController {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
void _markAsStarEmailSuccess(Success success) {
|
void _markAsStarEmailSuccess(MarkAsStarEmailSuccess success) {
|
||||||
_refreshEmailChanges();
|
_refreshEmailChanges(currentEmailState: success.currentEmailState);
|
||||||
}
|
}
|
||||||
|
|
||||||
void markAsStarSelectedMultipleEmail(List<PresentationEmail> listPresentationEmail) {
|
void markAsStarSelectedMultipleEmail(List<PresentationEmail> listPresentationEmail) {
|
||||||
@@ -773,13 +789,16 @@ class ThreadController extends BaseController {
|
|||||||
void _markAsStarMultipleEmailSuccess(Success success) {
|
void _markAsStarMultipleEmailSuccess(Success success) {
|
||||||
MarkStarAction? markStarAction;
|
MarkStarAction? markStarAction;
|
||||||
int countMarkStarSuccess = 0;
|
int countMarkStarSuccess = 0;
|
||||||
|
jmap.State? currentEmailState;
|
||||||
|
|
||||||
if (success is MarkAsStarMultipleEmailAllSuccess) {
|
if (success is MarkAsStarMultipleEmailAllSuccess) {
|
||||||
markStarAction = success.markStarAction;
|
markStarAction = success.markStarAction;
|
||||||
countMarkStarSuccess = success.countMarkStarSuccess;
|
countMarkStarSuccess = success.countMarkStarSuccess;
|
||||||
|
currentEmailState = success.currentEmailState;
|
||||||
} else if (success is MarkAsStarMultipleEmailHasSomeEmailFailure) {
|
} else if (success is MarkAsStarMultipleEmailHasSomeEmailFailure) {
|
||||||
markStarAction = success.markStarAction;
|
markStarAction = success.markStarAction;
|
||||||
countMarkStarSuccess = success.countMarkStarSuccess;
|
countMarkStarSuccess = success.countMarkStarSuccess;
|
||||||
|
currentEmailState = success.currentEmailState;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (currentContext != null && markStarAction != null && currentOverlayContext != null) {
|
if (currentContext != null && markStarAction != null && currentOverlayContext != null) {
|
||||||
@@ -792,7 +811,7 @@ class ThreadController extends BaseController {
|
|||||||
icon: markStarAction == MarkStarAction.unMarkStar ? _imagePaths.icUnStar : _imagePaths.icStar);
|
icon: markStarAction == MarkStarAction.unMarkStar ? _imagePaths.icUnStar : _imagePaths.icStar);
|
||||||
}
|
}
|
||||||
|
|
||||||
_refreshEmailChanges();
|
_refreshEmailChanges(currentEmailState: currentEmailState);
|
||||||
}
|
}
|
||||||
|
|
||||||
void _markAsStarMultipleEmailFailure(Failure failure) {
|
void _markAsStarMultipleEmailFailure(Failure failure) {
|
||||||
@@ -1176,11 +1195,14 @@ class ThreadController extends BaseController {
|
|||||||
void _deleteMultipleEmailsPermanentlySuccess(Success success) {
|
void _deleteMultipleEmailsPermanentlySuccess(Success success) {
|
||||||
mailboxDashBoardController.dispatchState(Right(success));
|
mailboxDashBoardController.dispatchState(Right(success));
|
||||||
|
|
||||||
|
jmap.State? currentEmailState;
|
||||||
List<EmailId> listEmailIdResult = <EmailId>[];
|
List<EmailId> listEmailIdResult = <EmailId>[];
|
||||||
if (success is DeleteMultipleEmailsPermanentlyAllSuccess) {
|
if (success is DeleteMultipleEmailsPermanentlyAllSuccess) {
|
||||||
listEmailIdResult = success.emailIds;
|
listEmailIdResult = success.emailIds;
|
||||||
|
currentEmailState = success.currentEmailState;
|
||||||
} else if (success is DeleteMultipleEmailsPermanentlyHasSomeEmailFailure) {
|
} else if (success is DeleteMultipleEmailsPermanentlyHasSomeEmailFailure) {
|
||||||
listEmailIdResult = success.emailIds;
|
listEmailIdResult = success.emailIds;
|
||||||
|
currentEmailState = success.currentEmailState;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (currentContext != null && currentOverlayContext != null && listEmailIdResult.isNotEmpty) {
|
if (currentContext != null && currentOverlayContext != null && listEmailIdResult.isNotEmpty) {
|
||||||
@@ -1191,7 +1213,7 @@ class ThreadController extends BaseController {
|
|||||||
icon: _imagePaths.icDeleteToast);
|
icon: _imagePaths.icDeleteToast);
|
||||||
}
|
}
|
||||||
|
|
||||||
_refreshEmailChanges();
|
_refreshEmailChanges(currentEmailState: currentEmailState);
|
||||||
}
|
}
|
||||||
|
|
||||||
void _emptyTrashFolderAction() {
|
void _emptyTrashFolderAction() {
|
||||||
@@ -1218,11 +1240,6 @@ class ThreadController extends BaseController {
|
|||||||
refreshAllEmail();
|
refreshAllEmail();
|
||||||
}
|
}
|
||||||
|
|
||||||
void _emptyTrashFolderFailure(EmptyTrashFolderFailure failure) {
|
|
||||||
mailboxDashBoardController.dispatchState(Left(failure));
|
|
||||||
refreshAllEmail();
|
|
||||||
}
|
|
||||||
|
|
||||||
void selectQuickSearchFilter(QuickSearchFilter filter) {
|
void selectQuickSearchFilter(QuickSearchFilter filter) {
|
||||||
mailboxDashBoardController.selectQuickSearchFilter(
|
mailboxDashBoardController.selectQuickSearchFilter(
|
||||||
quickSearchFilter: filter,
|
quickSearchFilter: filter,
|
||||||
|
|||||||
Reference in New Issue
Block a user