feat: Apply EmailMoreActionContextMenu mixin for ThreadView and SearchEmailView
This commit is contained in:
@@ -77,6 +77,7 @@ import 'package:tmail_ui_user/features/thread/domain/usecases/search_email_inter
|
||||
import 'package:tmail_ui_user/features/thread/domain/usecases/search_more_email_interactor.dart';
|
||||
import 'package:tmail_ui_user/features/thread/presentation/extensions/list_presentation_email_extensions.dart';
|
||||
import 'package:tmail_ui_user/features/thread/presentation/mixin/email_action_controller.dart';
|
||||
import 'package:tmail_ui_user/features/thread/presentation/mixin/email_more_action_context_menu_mixin.dart';
|
||||
import 'package:tmail_ui_user/features/thread/presentation/model/delete_action_type.dart';
|
||||
import 'package:tmail_ui_user/features/thread/presentation/model/mail_list_shortcut_action_view_event.dart';
|
||||
import 'package:tmail_ui_user/main/localizations/app_localizations.dart';
|
||||
@@ -90,7 +91,8 @@ class SearchEmailController extends BaseController
|
||||
with EmailActionController,
|
||||
DateRangePickerMixin,
|
||||
SearchLabelFilterModalMixin,
|
||||
LabelSubMenuMixin {
|
||||
LabelSubMenuMixin,
|
||||
EmailMoreActionContextMenu {
|
||||
|
||||
final networkConnectionController = Get.find<NetworkConnectionController>();
|
||||
|
||||
@@ -915,10 +917,9 @@ class SearchEmailController extends BaseController
|
||||
}
|
||||
|
||||
void pressEmailAction(
|
||||
BuildContext context,
|
||||
EmailActionType actionType,
|
||||
PresentationEmail selectedEmail,
|
||||
{required PresentationMailbox? mailboxContain}
|
||||
PresentationMailbox? mailboxContain,
|
||||
) {
|
||||
switch(actionType) {
|
||||
case EmailActionType.preview:
|
||||
@@ -929,7 +930,7 @@ class SearchEmailController extends BaseController
|
||||
}
|
||||
break;
|
||||
case EmailActionType.selection:
|
||||
selectEmail(context, selectedEmail);
|
||||
selectEmail(selectedEmail);
|
||||
break;
|
||||
case EmailActionType.markAsRead:
|
||||
markAsEmailRead(selectedEmail, ReadActions.markAsRead, MarkReadAction.tap);
|
||||
@@ -950,7 +951,11 @@ class SearchEmailController extends BaseController
|
||||
moveToTrash(selectedEmail, mailboxContain: mailboxContain);
|
||||
break;
|
||||
case EmailActionType.deletePermanently:
|
||||
deleteEmailPermanently(context, selectedEmail);
|
||||
if (currentContext != null) {
|
||||
deleteEmailPermanently(currentContext!, selectedEmail);
|
||||
} else {
|
||||
logWarning('SearchEmailController.pressEmailAction: currentContext is null');
|
||||
}
|
||||
break;
|
||||
case EmailActionType.moveToSpam:
|
||||
moveToSpam(selectedEmail, mailboxContain: mailboxContain);
|
||||
@@ -966,7 +971,7 @@ class SearchEmailController extends BaseController
|
||||
}
|
||||
}
|
||||
|
||||
void selectEmail(BuildContext context, PresentationEmail presentationEmailSelected) {
|
||||
void selectEmail(PresentationEmail presentationEmailSelected) {
|
||||
listResultSearch.value = listResultSearch
|
||||
.map((email) => email.id == presentationEmailSelected.id ? email.toggleSelect() : email)
|
||||
.toList();
|
||||
|
||||
Reference in New Issue
Block a user