TF-1611 Fix can not display correctly menu screen when open setting view

(cherry picked from commit 2ba04f782ef17dac3b93930dccd3723f13d6836d)
This commit is contained in:
dab246
2023-03-24 01:13:51 +07:00
committed by Dat Vu
parent bc01ab9b0f
commit fed514e40b
20 changed files with 174 additions and 274 deletions
@@ -21,8 +21,6 @@ import 'package:tmail_ui_user/features/manage_account/presentation/model/vacatio
import 'package:tmail_ui_user/features/manage_account/presentation/model/vacation/vacation_message_type.dart';
import 'package:tmail_ui_user/features/manage_account/presentation/model/vacation/vacation_presentation.dart';
import 'package:tmail_ui_user/features/manage_account/presentation/model/vacation/vacation_responder_status.dart';
import 'package:tmail_ui_user/features/manage_account/presentation/vacation/utils/vacation_utils.dart';
import 'package:tmail_ui_user/features/manage_account/presentation/vacation/vacation_controller_bindings.dart';
import 'package:tmail_ui_user/main/localizations/app_localizations.dart';
import 'package:tmail_ui_user/main/routes/route_navigation.dart';
@@ -31,11 +29,11 @@ class VacationController extends BaseController {
final _accountDashBoardController = Get.find<ManageAccountDashBoardController>();
final _appToast = Get.find<AppToast>();
final _settingController = Get.find<SettingsController>();
final _richTextControllerForWeb = Get.find<RichTextWebController>(tag: VacationUtils.vacationTagName);
final GetAllVacationInteractor _getAllVacationInteractor;
final UpdateVacationInteractor _updateVacationInteractor;
final VerifyNameInteractor _verifyNameInteractor;
final RichTextWebController _richTextControllerForWeb;
final vacationPresentation = VacationPresentation.initialize().obs;
final errorMessageBody = Rxn<String>();
@@ -51,14 +49,13 @@ class VacationController extends BaseController {
VacationResponse? currentVacation;
String? _vacationMessageHtmlText;
late Worker vacationWorker;
final ScrollController scrollController = ScrollController();
VacationController(
this._getAllVacationInteractor,
this._updateVacationInteractor,
this._verifyNameInteractor
this._verifyNameInteractor,
this._richTextControllerForWeb
);
String? get vacationMessageHtmlText => _vacationMessageHtmlText;
@@ -92,7 +89,7 @@ class VacationController extends BaseController {
}
void _initWorker() {
vacationWorker = ever(_accountDashBoardController.vacationResponse, (vacation) {
ever(_accountDashBoardController.vacationResponse, (vacation) {
if (vacation is VacationResponse) {
currentVacation = vacation;
final newVacationPresentation = currentVacation?.toVacationPresentation();
@@ -387,9 +384,7 @@ class VacationController extends BaseController {
messageTextController.dispose();
subjectTextController.dispose();
richTextControllerForMobile.dispose();
vacationWorker.dispose();
scrollController.dispose();
VacationControllerBindings().dispose();
super.onClose();
}
}
@@ -1,5 +1,4 @@
import 'package:get/get.dart';
import 'package:tmail_ui_user/features/base/base_bindings.dart';
import 'package:tmail_ui_user/features/composer/presentation/controller/rich_text_web_controller.dart';
import 'package:tmail_ui_user/features/mailbox_creator/domain/usecases/verify_name_interactor.dart';
import 'package:tmail_ui_user/features/manage_account/domain/usecases/get_all_vacation_interactor.dart';
@@ -7,39 +6,17 @@ import 'package:tmail_ui_user/features/manage_account/domain/usecases/update_vac
import 'package:tmail_ui_user/features/manage_account/presentation/vacation/utils/vacation_utils.dart';
import 'package:tmail_ui_user/features/manage_account/presentation/vacation/vacation_controller.dart';
class VacationControllerBindings extends BaseBindings {
class VacationControllerBindings extends Bindings {
@override
void bindingsController() {
Get.lazyPut(() => RichTextWebController(), tag: VacationUtils.vacationTagName);
Get.lazyPut(() => VacationController(
Get.find<GetAllVacationInteractor>(),
Get.find<UpdateVacationInteractor>(),
Get.find<VerifyNameInteractor>()));
}
@override
void bindingsDataSource() {
}
@override
void bindingsDataSourceImpl() {
}
@override
void bindingsInteractor() {
void dependencies() {
Get.lazyPut(() => VerifyNameInteractor());
}
@override
void bindingsRepository() {
}
@override
void bindingsRepositoryImpl() {
}
void dispose() {
Get.delete<RichTextWebController>(tag: VacationUtils.vacationTagName);
Get.lazyPut(() => RichTextWebController(), tag: VacationUtils.vacationTagName);
Get.put(VacationController(
Get.find<GetAllVacationInteractor>(),
Get.find<UpdateVacationInteractor>(),
Get.find<VerifyNameInteractor>(),
Get.find<RichTextWebController>(tag: VacationUtils.vacationTagName),
));
}
}