TF-1613 Implement handleSuccessViewState and handleFailureViewState for all controller

(cherry picked from commit 35e727e795bb3c44cc9c47e02542b5bdc3955fdd)
This commit is contained in:
dab246
2023-04-04 19:55:18 +07:00
committed by Dat Vu
parent bee9ac37aa
commit 133b04b11c
42 changed files with 662 additions and 810 deletions
@@ -1,5 +1,6 @@
import 'package:core/presentation/extensions/color_extension.dart';
import 'package:core/presentation/resources/image_paths.dart';
import 'package:core/presentation/state/success.dart';
import 'package:core/presentation/utils/app_toast.dart';
import 'package:core/presentation/utils/responsive_utils.dart';
import 'package:core/presentation/views/bottom_popup/confirmation_dialog_action_sheet_builder.dart';
@@ -46,25 +47,6 @@ class EmailRulesController extends BaseController {
final listEmailRule = <TMailRule>[].obs;
EmailRulesController();
@override
void onDone() {
viewState.value.fold((failure) {}, (success) {
if (success is GetAllRulesSuccess) {
if (success.rules?.isNotEmpty == true) {
listEmailRule.addAll(success.rules!);
}
} else if (success is DeleteEmailRuleSuccess) {
_handleDeleteEmailRuleSuccess(success);
} else if (success is CreateNewRuleFilterSuccess) {
_createNewRuleFilterSuccess(success);
} else if (success is EditEmailRuleFilterSuccess) {
_editEmailRuleFilterSuccess(success);
}
});
}
@override
void onInit() {
super.onInit();
@@ -84,6 +66,22 @@ class EmailRulesController extends BaseController {
super.onReady();
}
@override
void handleSuccessViewState(Success success) {
super.handleSuccessViewState(success);
if (success is GetAllRulesSuccess) {
if (success.rules?.isNotEmpty == true) {
listEmailRule.addAll(success.rules!);
}
} else if (success is DeleteEmailRuleSuccess) {
_handleDeleteEmailRuleSuccess(success);
} else if (success is CreateNewRuleFilterSuccess) {
_createNewRuleFilterSuccess(success);
} else if (success is EditEmailRuleFilterSuccess) {
_editEmailRuleFilterSuccess(success);
}
}
void goToCreateNewRule(BuildContext context) async {
final accountId = _accountDashBoardController.accountId.value;
final session = _accountDashBoardController.sessionCurrent;
@@ -1,5 +1,7 @@
import 'package:core/presentation/extensions/color_extension.dart';
import 'package:core/presentation/resources/image_paths.dart';
import 'package:core/presentation/state/failure.dart';
import 'package:core/presentation/state/success.dart';
import 'package:core/presentation/utils/app_toast.dart';
import 'package:core/utils/app_logger.dart';
import 'package:flutter/material.dart';
@@ -75,34 +77,35 @@ class ForwardController extends BaseController {
super.onClose();
}
@override
void onDone() {
viewState.value.fold(
(failure) {
if (failure is DeleteRecipientInForwardingFailure) {
cancelSelectionMode();
}
},
(success) {
if (success is GetForwardSuccess) {
currentForward.value = success.forward;
listRecipientForward.value = currentForward.value!.listRecipientForward;
} else if (success is DeleteRecipientInForwardingSuccess) {
_handleDeleteRecipientSuccess(success);
} else if (success is AddRecipientsInForwardingSuccess) {
_handleAddRecipientsSuccess(success);
} else if (success is EditLocalCopyInForwardingSuccess) {
_handleEditLocalCopySuccess(success);
}
});
}
@override
void onReady() {
_getForward();
super.onReady();
}
@override
void handleSuccessViewState(Success success) {
super.handleSuccessViewState(success);
if (success is GetForwardSuccess) {
currentForward.value = success.forward;
listRecipientForward.value = currentForward.value!.listRecipientForward;
} else if (success is DeleteRecipientInForwardingSuccess) {
_handleDeleteRecipientSuccess(success);
} else if (success is AddRecipientsInForwardingSuccess) {
_handleAddRecipientsSuccess(success);
} else if (success is EditLocalCopyInForwardingSuccess) {
_handleEditLocalCopySuccess(success);
}
}
@override
void handleFailureViewState(Failure failure) {
super.handleFailureViewState(failure);
if (failure is DeleteRecipientInForwardingFailure) {
cancelSelectionMode();
}
}
void _getForward() {
if (_getForwardInteractor != null) {
consumeState(_getForwardInteractor!.execute(accountDashBoardController.accountId.value!));
@@ -1,6 +1,7 @@
import 'dart:ui';
import 'package:core/presentation/state/success.dart';
import 'package:core/utils/app_logger.dart';
import 'package:get/get.dart';
import 'package:tmail_ui_user/features/base/base_controller.dart';
@@ -25,14 +26,11 @@ class LanguageAndRegionController extends BaseController {
}
@override
void onDone() {
viewState.value.fold(
(failure) => null,
(success) {
if (success is SaveLanguageSuccess) {
LocalizationService.changeLocale(success.localeStored.languageCode);
}
});
void handleSuccessViewState(Success success) {
super.handleSuccessViewState(success);
if (success is SaveLanguageSuccess) {
LocalizationService.changeLocale(success.localeStored.languageCode);
}
}
void _setUpSupportedLanguages() {
@@ -1,6 +1,5 @@
import 'package:core/presentation/extensions/color_extension.dart';
import 'package:core/presentation/resources/image_paths.dart';
import 'package:core/presentation/state/failure.dart';
import 'package:core/presentation/state/success.dart';
import 'package:core/presentation/utils/app_toast.dart';
import 'package:core/utils/app_logger.dart';
@@ -66,30 +65,21 @@ class MailboxVisibilityController extends BaseMailboxController {
}
@override
void onData(Either<Failure, Success> newState) {
super.onData(newState);
newState.fold((failure) => null, (success) {
if (success is GetAllMailboxSuccess) {
currentMailboxState = success.currentMailboxState;
_handleBuildTree(success.mailboxList);
} else if (success is RefreshChangesAllMailboxSuccess) {
currentMailboxState = success.currentMailboxState;
refreshTree(success.mailboxList);
}
});
}
@override
void onDone() {
viewState.value.fold((failure) {}, (success) {
if (success is SubscribeMailboxSuccess) {
_subscribeMailboxSuccess(success);
} else if (success is SubscribeMultipleMailboxAllSuccess) {
_handleUnsubscribeMultipleMailboxAllSuccess(success);
} else if (success is SubscribeMultipleMailboxHasSomeSuccess) {
_handleUnsubscribeMultipleMailboxHasSomeSuccess(success);
}
});
void handleSuccessViewState(Success success) {
super.handleSuccessViewState(success);
if (success is GetAllMailboxSuccess) {
currentMailboxState = success.currentMailboxState;
_handleBuildTree(success.mailboxList);
} else if (success is RefreshChangesAllMailboxSuccess) {
currentMailboxState = success.currentMailboxState;
refreshTree(success.mailboxList);
} else if (success is SubscribeMailboxSuccess) {
_subscribeMailboxSuccess(success);
} else if (success is SubscribeMultipleMailboxAllSuccess) {
_handleUnsubscribeMultipleMailboxAllSuccess(success);
} else if (success is SubscribeMultipleMailboxHasSomeSuccess) {
_handleUnsubscribeMultipleMailboxHasSomeSuccess(success);
}
}
@override
@@ -77,21 +77,17 @@ class ManageAccountDashBoardController extends ReloadableController {
}
@override
void onDone() {
viewState.value.fold(
(failure) {},
(success) {
if (success is GetUserProfileSuccess) {
userProfile.value = success.userProfile;
} else if (success is GetAllVacationSuccess) {
if (success.listVacationResponse.isNotEmpty) {
vacationResponse.value = success.listVacationResponse.first;
}
} else if (success is UpdateVacationSuccess) {
_handleUpdateVacationSuccess(success);
}
void handleSuccessViewState(Success success) {
super.handleSuccessViewState(success);
if (success is GetUserProfileSuccess) {
userProfile.value = success.userProfile;
} else if (success is GetAllVacationSuccess) {
if (success.listVacationResponse.isNotEmpty) {
vacationResponse.value = success.listVacationResponse.first;
}
);
} else if (success is UpdateVacationSuccess) {
_handleUpdateVacationSuccess(success);
}
}
@override
@@ -1,6 +1,8 @@
import 'package:core/presentation/extensions/color_extension.dart';
import 'package:core/presentation/resources/image_paths.dart';
import 'package:core/presentation/state/failure.dart';
import 'package:core/presentation/state/success.dart';
import 'package:core/presentation/utils/app_toast.dart';
import 'package:core/presentation/utils/responsive_utils.dart';
import 'package:core/presentation/views/dialog/confirmation_dialog_builder.dart';
@@ -72,29 +74,29 @@ class IdentitiesController extends BaseController {
}
@override
void onDone() {
viewState.value.fold(
(failure) {
if (failure is DeleteIdentityFailure) {
_deleteIdentityFailure(failure);
}
},
(success) {
if (success is GetAllIdentitiesSuccess) {
_handleGetAllIdentitiesSuccess(success);
} else if (success is CreateNewIdentitySuccess) {
_createNewIdentitySuccess(success);
} else if (success is CreateNewDefaultIdentitySuccess) {
_createNewDefaultIdentitySuccess(success);
} else if (success is DeleteIdentitySuccess) {
_deleteIdentitySuccess(success);
} else if (success is EditIdentitySuccess) {
_editIdentitySuccess(success);
} else if (success is TransformHtmlSignatureSuccess) {
signatureSelected.value = success.signature;
}
}
);
void handleSuccessViewState(Success success) {
super.handleSuccessViewState(success);
if (success is GetAllIdentitiesSuccess) {
_handleGetAllIdentitiesSuccess(success);
} else if (success is CreateNewIdentitySuccess) {
_createNewIdentitySuccess(success);
} else if (success is CreateNewDefaultIdentitySuccess) {
_createNewDefaultIdentitySuccess(success);
} else if (success is DeleteIdentitySuccess) {
_deleteIdentitySuccess(success);
} else if (success is EditIdentitySuccess) {
_editIdentitySuccess(success);
} else if (success is TransformHtmlSignatureSuccess) {
signatureSelected.value = success.signature;
}
}
@override
void handleFailureViewState(Failure failure) {
super.handleFailureViewState(failure);
if (failure is DeleteIdentityFailure) {
_deleteIdentityFailure(failure);
}
}
void _registerObxStreamListener() {
@@ -75,17 +75,13 @@ class VacationController extends BaseController {
}
@override
void onDone() {
viewState.value.fold(
(failure) => null,
(success) {
if (success is GetAllVacationSuccess) {
_handleGetAllVacationSuccess(success);
} else if (success is UpdateVacationSuccess) {
_handleUpdateVacationSuccess(success);
}
}
);
void handleSuccessViewState(Success success) {
super.handleSuccessViewState(success);
if (success is GetAllVacationSuccess) {
_handleGetAllVacationSuccess(success);
} else if (success is UpdateVacationSuccess) {
_handleUpdateVacationSuccess(success);
}
}
void _initWorker() {