TF-1613 Implement handleSuccessViewState and handleFailureViewState for all controller
(cherry picked from commit 35e727e795bb3c44cc9c47e02542b5bdc3955fdd)
This commit is contained in:
@@ -357,7 +357,4 @@ class AdvancedFilterController extends BaseController {
|
||||
_unregisterWorkerListener();
|
||||
super.onClose();
|
||||
}
|
||||
|
||||
@override
|
||||
void onDone() {}
|
||||
}
|
||||
|
||||
+71
-89
@@ -80,7 +80,6 @@ import 'package:tmail_ui_user/features/manage_account/presentation/extensions/da
|
||||
import 'package:tmail_ui_user/features/manage_account/presentation/extensions/vacation_response_extension.dart';
|
||||
import 'package:tmail_ui_user/features/manage_account/presentation/model/account_menu_item.dart';
|
||||
import 'package:tmail_ui_user/features/manage_account/presentation/model/manage_account_arguments.dart';
|
||||
import 'package:tmail_ui_user/features/network_status_handle/presentation/network_connnection_controller.dart';
|
||||
import 'package:tmail_ui_user/features/push_notification/domain/state/get_email_state_to_refresh_state.dart';
|
||||
import 'package:tmail_ui_user/features/push_notification/domain/state/get_mailbox_state_to_refresh_state.dart';
|
||||
import 'package:tmail_ui_user/features/push_notification/domain/usecases/delete_email_state_to_refresh_interactor.dart';
|
||||
@@ -121,7 +120,6 @@ class MailboxDashBoardController extends ReloadableController {
|
||||
final EmailReceiveManager _emailReceiveManager = Get.find<EmailReceiveManager>();
|
||||
final SearchController searchController = Get.find<SearchController>();
|
||||
final DownloadController downloadController = Get.find<DownloadController>();
|
||||
final NetworkConnectionController networkConnectionController = Get.find<NetworkConnectionController>();
|
||||
final AppGridDashboardController appGridDashboardController = Get.find<AppGridDashboardController>();
|
||||
final SpamReportController spamReportController = Get.find<SpamReportController>();
|
||||
|
||||
@@ -252,97 +250,81 @@ class MailboxDashBoardController extends ReloadableController {
|
||||
}
|
||||
|
||||
@override
|
||||
void onData(Either<Failure, Success> newState) {
|
||||
super.onData(newState);
|
||||
viewState.value.fold(
|
||||
(failure) {
|
||||
log('MailboxDashBoardController::onData():failure $failure');
|
||||
},
|
||||
(success) {
|
||||
log('MailboxDashBoardController::onData():success $success');
|
||||
if (success is SendingEmailState) {
|
||||
if (currentOverlayContext != null && currentContext != null) {
|
||||
_appToast.showToastMessage(
|
||||
currentOverlayContext!,
|
||||
AppLocalizations.of(currentContext!).your_email_being_sent,
|
||||
leadingSVGIcon: _imagePaths.icSendToast
|
||||
);
|
||||
}
|
||||
} else if (success is GetEmailStateToRefreshSuccess) {
|
||||
dispatchEmailUIAction(RefreshChangeEmailAction(success.storedState));
|
||||
_deleteEmailStateToRefreshAction();
|
||||
} else if (success is GetMailboxStateToRefreshSuccess) {
|
||||
dispatchMailboxUIAction(RefreshChangeMailboxAction(success.storedState));
|
||||
_deleteMailboxStateToRefreshAction();
|
||||
}
|
||||
void handleSuccessViewState(Success success) {
|
||||
super.handleSuccessViewState(success);
|
||||
if (success is SendingEmailState) {
|
||||
if (currentOverlayContext != null && currentContext != null) {
|
||||
_appToast.showToastMessage(
|
||||
currentOverlayContext!,
|
||||
AppLocalizations.of(currentContext!).your_email_being_sent,
|
||||
leadingSVGIcon: _imagePaths.icSendToast);
|
||||
}
|
||||
);
|
||||
} else if (success is GetEmailStateToRefreshSuccess) {
|
||||
dispatchEmailUIAction(RefreshChangeEmailAction(success.storedState));
|
||||
_deleteEmailStateToRefreshAction();
|
||||
} else if (success is GetMailboxStateToRefreshSuccess) {
|
||||
dispatchMailboxUIAction(RefreshChangeMailboxAction(success.storedState));
|
||||
_deleteMailboxStateToRefreshAction();
|
||||
} else if (success is SendEmailSuccess) {
|
||||
if (currentOverlayContext != null && currentContext != null) {
|
||||
_appToast.showToastSuccessMessage(
|
||||
currentOverlayContext!,
|
||||
AppLocalizations.of(currentContext!).message_has_been_sent_successfully,
|
||||
leadingSVGIcon: _imagePaths.icSendSuccessToast);
|
||||
}
|
||||
} else if (success is SaveEmailAsDraftsSuccess) {
|
||||
_saveEmailAsDraftsSuccess(success);
|
||||
} else if (success is MoveToMailboxSuccess) {
|
||||
_moveToMailboxSuccess(success);
|
||||
} else if (success is DeleteEmailPermanentlySuccess) {
|
||||
_deleteEmailPermanentlySuccess(success);
|
||||
} else if (success is MarkAsMailboxReadAllSuccess ||
|
||||
success is MarkAsMailboxReadHasSomeEmailFailure) {
|
||||
_markAsReadMailboxSuccess(success);
|
||||
} else if (success is GetAllVacationSuccess) {
|
||||
if (success.listVacationResponse.isNotEmpty) {
|
||||
vacationResponse.value = success.listVacationResponse.first;
|
||||
}
|
||||
} else if (success is UpdateVacationSuccess) {
|
||||
_handleUpdateVacationSuccess(success);
|
||||
} else if (success is MarkAsMultipleEmailReadAllSuccess ||
|
||||
success is MarkAsMultipleEmailReadHasSomeEmailFailure) {
|
||||
_markAsReadSelectedMultipleEmailSuccess(success);
|
||||
} else if (success is MarkAsStarMultipleEmailAllSuccess ||
|
||||
success is MarkAsStarMultipleEmailHasSomeEmailFailure) {
|
||||
_markAsStarMultipleEmailSuccess(success);
|
||||
} else if (success is MoveMultipleEmailToMailboxAllSuccess ||
|
||||
success is MoveMultipleEmailToMailboxHasSomeEmailFailure) {
|
||||
_moveSelectedMultipleEmailToMailboxSuccess(success);
|
||||
} else if (success is EmptyTrashFolderSuccess) {
|
||||
_emptyTrashFolderSuccess(success);
|
||||
} else if (success is DeleteMultipleEmailsPermanentlyAllSuccess ||
|
||||
success is DeleteMultipleEmailsPermanentlyHasSomeEmailFailure) {
|
||||
_deleteMultipleEmailsPermanentlySuccess(success);
|
||||
} else if (success is GetAppDashboardConfigurationSuccess) {
|
||||
appGridDashboardController.handleShowAppDashboard(success.linagoraApplications);
|
||||
} else if(success is GetEmailByIdSuccess) {
|
||||
_moveToEmailDetailedView(success);
|
||||
}
|
||||
}
|
||||
|
||||
@override
|
||||
void onDone() {
|
||||
viewState.value.fold(
|
||||
(failure) {
|
||||
if (failure is SendEmailFailure) {
|
||||
_handleSendEmailFailure(failure);
|
||||
} else if (failure is SaveEmailAsDraftsFailure) {
|
||||
_handleSaveEmailAsDraftsFailure(failure);
|
||||
} else if (failure is UpdateEmailDraftsFailure) {
|
||||
_handleUpdateEmailAsDraftsFailure(failure);
|
||||
} else if (failure is RemoveEmailDraftsFailure) {
|
||||
clearState();
|
||||
} else if (failure is MarkAsMailboxReadAllFailure ||
|
||||
failure is MarkAsMailboxReadFailure) {
|
||||
_markAsReadMailboxFailure(failure);
|
||||
} else if (failure is GetEmailByIdFailure) {
|
||||
_handleGetEmailDetailedFailed(failure);
|
||||
}
|
||||
},
|
||||
(success) {
|
||||
if (success is SendEmailSuccess) {
|
||||
if (currentOverlayContext != null && currentContext != null) {
|
||||
_appToast.showToastSuccessMessage(
|
||||
currentOverlayContext!,
|
||||
AppLocalizations.of(currentContext!).message_has_been_sent_successfully,
|
||||
leadingSVGIcon: _imagePaths.icSendSuccessToast);
|
||||
}
|
||||
} else if (success is SaveEmailAsDraftsSuccess) {
|
||||
log('MailboxDashBoardController::onDone(): SaveEmailAsDraftsSuccess');
|
||||
_saveEmailAsDraftsSuccess(success);
|
||||
} else if (success is MoveToMailboxSuccess) {
|
||||
_moveToMailboxSuccess(success);
|
||||
} else if (success is DeleteEmailPermanentlySuccess) {
|
||||
_deleteEmailPermanentlySuccess(success);
|
||||
} else if (success is MarkAsMailboxReadAllSuccess ||
|
||||
success is MarkAsMailboxReadHasSomeEmailFailure) {
|
||||
_markAsReadMailboxSuccess(success);
|
||||
} else if (success is GetAllVacationSuccess) {
|
||||
if (success.listVacationResponse.isNotEmpty) {
|
||||
vacationResponse.value = success.listVacationResponse.first;
|
||||
}
|
||||
} else if (success is UpdateVacationSuccess) {
|
||||
_handleUpdateVacationSuccess(success);
|
||||
} else if (success is MarkAsMultipleEmailReadAllSuccess
|
||||
|| success is MarkAsMultipleEmailReadHasSomeEmailFailure) {
|
||||
_markAsReadSelectedMultipleEmailSuccess(success);
|
||||
} else if (success is MarkAsStarMultipleEmailAllSuccess
|
||||
|| success is MarkAsStarMultipleEmailHasSomeEmailFailure) {
|
||||
_markAsStarMultipleEmailSuccess(success);
|
||||
} else if (success is MoveMultipleEmailToMailboxAllSuccess
|
||||
|| success is MoveMultipleEmailToMailboxHasSomeEmailFailure) {
|
||||
_moveSelectedMultipleEmailToMailboxSuccess(success);
|
||||
} else if (success is EmptyTrashFolderSuccess) {
|
||||
_emptyTrashFolderSuccess(success);
|
||||
} else if (success is DeleteMultipleEmailsPermanentlyAllSuccess
|
||||
|| success is DeleteMultipleEmailsPermanentlyHasSomeEmailFailure) {
|
||||
_deleteMultipleEmailsPermanentlySuccess(success);
|
||||
} else if (success is GetAppDashboardConfigurationSuccess) {
|
||||
appGridDashboardController.handleShowAppDashboard(success.linagoraApplications);
|
||||
} else if(success is GetEmailByIdSuccess) {
|
||||
_moveToEmailDetailedView(success);
|
||||
}
|
||||
}
|
||||
);
|
||||
void handleFailureViewState(Failure failure) {
|
||||
super.handleFailureViewState(failure);
|
||||
if (failure is SendEmailFailure) {
|
||||
_handleSendEmailFailure(failure);
|
||||
} else if (failure is SaveEmailAsDraftsFailure) {
|
||||
_handleSaveEmailAsDraftsFailure(failure);
|
||||
} else if (failure is UpdateEmailDraftsFailure) {
|
||||
_handleUpdateEmailAsDraftsFailure(failure);
|
||||
} else if (failure is RemoveEmailDraftsFailure) {
|
||||
clearState();
|
||||
} else if (failure is MarkAsMailboxReadAllFailure ||
|
||||
failure is MarkAsMailboxReadFailure) {
|
||||
_markAsReadMailboxFailure(failure);
|
||||
} else if (failure is GetEmailByIdFailure) {
|
||||
_handleGetEmailDetailedFailed(failure);
|
||||
}
|
||||
}
|
||||
|
||||
void _registerPendingEmailAddress() {
|
||||
|
||||
@@ -303,9 +303,6 @@ class SearchController extends BaseController with DateRangePickerMixin {
|
||||
hideAdvancedSearchFormView();
|
||||
}
|
||||
|
||||
@override
|
||||
void onDone() {}
|
||||
|
||||
@override
|
||||
void onClose() {
|
||||
searchInputController.dispose();
|
||||
|
||||
+24
-22
@@ -1,3 +1,5 @@
|
||||
import 'package:core/presentation/state/failure.dart';
|
||||
import 'package:core/presentation/state/success.dart';
|
||||
import 'package:flutter/material.dart';
|
||||
import 'package:get/get.dart';
|
||||
import 'package:jmap_dart_client/jmap/account_id.dart';
|
||||
@@ -39,29 +41,29 @@ class SpamReportController extends BaseController {
|
||||
);
|
||||
|
||||
@override
|
||||
void onDone() {
|
||||
viewState.value.fold(
|
||||
(failure) {
|
||||
if (failure is GetUnreadSpamMailboxFailure || failure is GetSpamMailboxCachedFailure) {
|
||||
_presentationSpamMailbox.value = null;
|
||||
}
|
||||
},
|
||||
(success) {
|
||||
if (success is GetUnreadSpamMailboxSuccess){
|
||||
_presentationSpamMailbox.value = success.unreadSpamMailbox.toPresentationMailbox();
|
||||
} else if (success is StoreLastTimeDismissedSpamReportSuccess) {
|
||||
_presentationSpamMailbox.value = null;
|
||||
} else if (success is GetSpamReportStateSuccess) {
|
||||
_spamReportState.value = success.spamReportState;
|
||||
} else if (success is StoreSpamReportStateSuccess) {
|
||||
_spamReportState.value = success.spamReportState;
|
||||
} else if (success is GetSpamMailboxCachedSuccess) {
|
||||
_presentationSpamMailbox.value = success.spamMailbox.toPresentationMailbox();
|
||||
}
|
||||
},
|
||||
);
|
||||
void handleSuccessViewState(Success success) {
|
||||
super.handleSuccessViewState(success);
|
||||
if (success is GetUnreadSpamMailboxSuccess){
|
||||
_presentationSpamMailbox.value = success.unreadSpamMailbox.toPresentationMailbox();
|
||||
} else if (success is StoreLastTimeDismissedSpamReportSuccess) {
|
||||
_presentationSpamMailbox.value = null;
|
||||
} else if (success is GetSpamReportStateSuccess) {
|
||||
_spamReportState.value = success.spamReportState;
|
||||
} else if (success is StoreSpamReportStateSuccess) {
|
||||
_spamReportState.value = success.spamReportState;
|
||||
} else if (success is GetSpamMailboxCachedSuccess) {
|
||||
_presentationSpamMailbox.value = success.spamMailbox.toPresentationMailbox();
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@override
|
||||
void handleFailureViewState(Failure failure) {
|
||||
super.handleFailureViewState(failure);
|
||||
if (failure is GetUnreadSpamMailboxFailure || failure is GetSpamMailboxCachedFailure) {
|
||||
_presentationSpamMailbox.value = null;
|
||||
}
|
||||
}
|
||||
|
||||
void dismissSpamReportAction() {
|
||||
if (Get.isRegistered<MailboxDashBoardController>()) {
|
||||
final mailboxDashBoardController = Get.find<MailboxDashBoardController>();
|
||||
|
||||
Reference in New Issue
Block a user