TF-3372 Use viewStateMailboxActionProgress to build progress bar for not only MarkAsRead but also Empty mailbox action
This commit is contained in:
committed by
Dat H. Pham
parent
da0a3a9da6
commit
06adc9e6a8
+21
-5
@@ -225,7 +225,7 @@ class MailboxDashBoardController extends ReloadableController
|
||||
final filterMessageOption = FilterMessageOption.all.obs;
|
||||
final listEmailSelected = <PresentationEmail>[].obs;
|
||||
final composerOverlayState = ComposerOverlayState.inActive.obs;
|
||||
final viewStateMarkAsReadMailbox = Rx<Either<Failure, Success>>(Right(UIState.idle));
|
||||
final viewStateMailboxActionProgress = Rx<Either<Failure, Success>>(Right(UIState.idle));
|
||||
final vacationResponse = Rxn<VacationResponse>();
|
||||
final routerParameters = Rxn<Map<String, dynamic>>();
|
||||
final _isDraggingMailbox = RxBool(false);
|
||||
@@ -559,7 +559,7 @@ class MailboxDashBoardController extends ReloadableController
|
||||
|
||||
void _registerStreamListener() {
|
||||
progressState.listen((state) {
|
||||
viewStateMarkAsReadMailbox.value = state;
|
||||
viewStateMailboxActionProgress.value = state;
|
||||
});
|
||||
|
||||
_refreshActionEventController.stream
|
||||
@@ -1395,6 +1395,8 @@ class MailboxDashBoardController extends ReloadableController
|
||||
}
|
||||
|
||||
void _emptyTrashFolderSuccess(EmptyTrashFolderSuccess success) {
|
||||
viewStateMailboxActionProgress.value = Right(UIState.idle);
|
||||
|
||||
if (currentOverlayContext != null && currentContext != null) {
|
||||
appToast.showToastSuccessMessage(
|
||||
currentOverlayContext!,
|
||||
@@ -1537,7 +1539,7 @@ class MailboxDashBoardController extends ReloadableController
|
||||
}
|
||||
|
||||
void _markAsReadMailboxSuccess(Success success) {
|
||||
viewStateMarkAsReadMailbox.value = Right(UIState.idle);
|
||||
viewStateMailboxActionProgress.value = Right(UIState.idle);
|
||||
|
||||
if (success is MarkAsMailboxReadAllSuccess) {
|
||||
if (currentContext != null && currentOverlayContext != null) {
|
||||
@@ -1557,7 +1559,7 @@ class MailboxDashBoardController extends ReloadableController
|
||||
}
|
||||
|
||||
void _markAsReadMailboxFailure(MarkAsMailboxReadFailure failure) {
|
||||
viewStateMarkAsReadMailbox.value = Right(UIState.idle);
|
||||
viewStateMailboxActionProgress.value = Right(UIState.idle);
|
||||
if (currentOverlayContext != null && currentContext != null) {
|
||||
appToast.showToastErrorMessage(
|
||||
currentOverlayContext!,
|
||||
@@ -1569,7 +1571,7 @@ class MailboxDashBoardController extends ReloadableController
|
||||
}
|
||||
|
||||
void _markAsReadMailboxAllFailure(MarkAsMailboxReadAllFailure failure) {
|
||||
viewStateMarkAsReadMailbox.value = Right(UIState.idle);
|
||||
viewStateMailboxActionProgress.value = Right(UIState.idle);
|
||||
if (currentOverlayContext != null && currentContext != null) {
|
||||
appToast.showToastErrorMessage(
|
||||
currentOverlayContext!,
|
||||
@@ -2392,6 +2394,8 @@ class MailboxDashBoardController extends ReloadableController
|
||||
}
|
||||
|
||||
void _emptySpamFolderSuccess(EmptySpamFolderSuccess success) {
|
||||
viewStateMailboxActionProgress.value = Right(UIState.idle);
|
||||
|
||||
if (currentOverlayContext != null && currentContext != null) {
|
||||
appToast.showToastSuccessMessage(
|
||||
currentOverlayContext!,
|
||||
@@ -2776,6 +2780,18 @@ class MailboxDashBoardController extends ReloadableController
|
||||
);
|
||||
}
|
||||
|
||||
void _handleEmptySpamFolderFailure(EmptySpamFolderFailure failure) {
|
||||
viewStateMailboxActionProgress.value = Right(UIState.idle);
|
||||
|
||||
toastManager.showMessageFailure(failure);
|
||||
}
|
||||
|
||||
void _handleEmptyTrashFolderFailure(EmptyTrashFolderFailure failure) {
|
||||
viewStateMailboxActionProgress.value = Right(UIState.idle);
|
||||
|
||||
toastManager.showMessageFailure(failure);
|
||||
}
|
||||
|
||||
void _handleGetRestoredDeletedMessageSuccess(GetRestoredDeletedMessageSuccess success) async {
|
||||
if (selectedMailbox.value != null && selectedMailbox.value!.isRecovered) {
|
||||
dispatchEmailUIAction(RefreshChangeEmailAction(null));
|
||||
|
||||
@@ -107,7 +107,7 @@ class MailboxDashBoardView extends BaseMailboxDashBoardView {
|
||||
responsiveUtils: controller.responsiveUtils,
|
||||
)),
|
||||
Obx(() => MarkMailboxAsReadLoadingBanner(
|
||||
viewState: controller.viewStateMarkAsReadMailbox.value,
|
||||
viewState: controller.viewStateMailboxActionProgress.value,
|
||||
)),
|
||||
const SpamReportBannerWebWidget(),
|
||||
QuotasBannerWidget(),
|
||||
|
||||
@@ -864,7 +864,7 @@ class ThreadView extends GetWidget<ThreadController>
|
||||
|
||||
Widget _buildMarkAsMailboxReadLoading(BuildContext context) {
|
||||
return Obx(() {
|
||||
final viewState = controller.mailboxDashBoardController.viewStateMarkAsReadMailbox.value;
|
||||
final viewState = controller.mailboxDashBoardController.viewStateMailboxActionProgress.value;
|
||||
return viewState.fold(
|
||||
(failure) => const SizedBox.shrink(),
|
||||
(success) {
|
||||
|
||||
Reference in New Issue
Block a user