TF-1877 Fix error TextEditingController was used after being disposed on some screen
(cherry picked from commit 50e4c6ec55eea21a45a5a8dd31cd239245248df3)
This commit is contained in:
+12
-22
@@ -25,6 +25,7 @@ import 'package:tmail_ui_user/features/manage_account/presentation/extensions/da
|
||||
import 'package:tmail_ui_user/features/thread/domain/model/search_query.dart';
|
||||
import 'package:tmail_ui_user/main/localizations/app_localizations.dart';
|
||||
import 'package:tmail_ui_user/main/routes/app_routes.dart';
|
||||
import 'package:tmail_ui_user/main/routes/dialog_router.dart';
|
||||
import 'package:tmail_ui_user/main/routes/route_navigation.dart';
|
||||
|
||||
class AdvancedFilterController extends BaseController {
|
||||
@@ -131,30 +132,19 @@ class AdvancedFilterController extends BaseController {
|
||||
final session = _mailboxDashBoardController.sessionCurrent;
|
||||
if (accountId != null) {
|
||||
final arguments = DestinationPickerArguments(
|
||||
accountId,
|
||||
MailboxActions.select,
|
||||
session,
|
||||
mailboxIdSelected: searchController.searchEmailFilter.value.mailbox?.id);
|
||||
accountId,
|
||||
MailboxActions.select,
|
||||
session,
|
||||
mailboxIdSelected: searchController.searchEmailFilter.value.mailbox?.id);
|
||||
|
||||
if (PlatformInfo.isWeb) {
|
||||
showDialogDestinationPicker(
|
||||
context: context,
|
||||
arguments: arguments,
|
||||
onSelectedMailbox: (destinationMailbox) {
|
||||
_destinationMailboxSelected = destinationMailbox;
|
||||
final mailboxName = destinationMailbox.name?.name;
|
||||
mailBoxFilterInputController.text = StringConvert.writeNullToEmpty(mailboxName);
|
||||
});
|
||||
} else {
|
||||
final destinationMailbox = await push(
|
||||
AppRoutes.destinationPicker,
|
||||
arguments: arguments);
|
||||
final destinationMailbox = PlatformInfo.isWeb
|
||||
? await DialogRouter.pushGeneralDialog(routeName: AppRoutes.destinationPicker, arguments: arguments)
|
||||
: await push(AppRoutes.destinationPicker, arguments: arguments);
|
||||
|
||||
if (destinationMailbox is PresentationMailbox) {
|
||||
_destinationMailboxSelected = destinationMailbox;
|
||||
final mailboxName = destinationMailbox.name?.name;
|
||||
mailBoxFilterInputController.text = StringConvert.writeNullToEmpty(mailboxName);
|
||||
}
|
||||
if (destinationMailbox is PresentationMailbox) {
|
||||
_destinationMailboxSelected = destinationMailbox;
|
||||
final mailboxName = destinationMailbox.name?.name;
|
||||
mailBoxFilterInputController.text = StringConvert.writeNullToEmpty(mailboxName);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
+16
-28
@@ -120,6 +120,7 @@ import 'package:tmail_ui_user/features/thread/domain/usecases/move_multiple_emai
|
||||
import 'package:tmail_ui_user/features/thread/presentation/model/delete_action_type.dart';
|
||||
import 'package:tmail_ui_user/main/localizations/app_localizations.dart';
|
||||
import 'package:tmail_ui_user/main/routes/app_routes.dart';
|
||||
import 'package:tmail_ui_user/main/routes/dialog_router.dart';
|
||||
import 'package:tmail_ui_user/main/routes/navigation_router.dart';
|
||||
import 'package:tmail_ui_user/main/routes/route_navigation.dart';
|
||||
import 'package:tmail_ui_user/main/routes/route_utils.dart';
|
||||
@@ -791,35 +792,22 @@ class MailboxDashBoardController extends ReloadableController {
|
||||
sessionCurrent,
|
||||
mailboxIdSelected: currentMailbox.mailboxId);
|
||||
|
||||
if (PlatformInfo.isWeb) {
|
||||
showDialogDestinationPicker(
|
||||
context: context,
|
||||
arguments: arguments,
|
||||
onSelectedMailbox: (destinationMailbox) {
|
||||
if (sessionCurrent != null) {
|
||||
_dispatchMoveToMultipleAction(
|
||||
accountId.value!,
|
||||
sessionCurrent!,
|
||||
listEmails.listEmailIds,
|
||||
currentMailbox,
|
||||
destinationMailbox);
|
||||
}
|
||||
});
|
||||
} else {
|
||||
final destinationMailbox = await push(
|
||||
AppRoutes.destinationPicker,
|
||||
arguments: arguments);
|
||||
final destinationMailbox = PlatformInfo.isWeb
|
||||
? await DialogRouter.pushGeneralDialog(routeName: AppRoutes.destinationPicker, arguments: arguments)
|
||||
: await push(AppRoutes.destinationPicker, arguments: arguments);
|
||||
|
||||
if (destinationMailbox != null &&
|
||||
destinationMailbox is PresentationMailbox &&
|
||||
sessionCurrent != null) {
|
||||
_dispatchMoveToMultipleAction(
|
||||
accountId.value!,
|
||||
sessionCurrent!,
|
||||
listEmails.listEmailIds,
|
||||
currentMailbox,
|
||||
destinationMailbox);
|
||||
}
|
||||
if (destinationMailbox != null &&
|
||||
destinationMailbox is PresentationMailbox &&
|
||||
sessionCurrent != null &&
|
||||
accountId.value != null
|
||||
) {
|
||||
_dispatchMoveToMultipleAction(
|
||||
accountId.value!,
|
||||
sessionCurrent!,
|
||||
listEmails.listEmailIds,
|
||||
currentMailbox,
|
||||
destinationMailbox
|
||||
);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user