TF-3759 Always show dot icon when open popup menu of more action in email item widget
Signed-off-by: dab246 <tdvu@linagora.com>
This commit is contained in:
+5
-5
@@ -1,5 +1,5 @@
|
||||
import 'package:flutter/material.dart';
|
||||
import 'package:model/email/email_action_type.dart';
|
||||
import 'package:model/email/email_action_type.dart';
|
||||
import 'package:model/email/presentation_email.dart';
|
||||
import 'package:model/extensions/presentation_mailbox_extension.dart';
|
||||
import 'package:tmail_ui_user/features/base/widget/popup_menu/popup_menu_item_action_widget.dart';
|
||||
@@ -10,7 +10,7 @@ import 'package:tmail_ui_user/main/localizations/app_localizations.dart';
|
||||
import 'package:tmail_ui_user/main/routes/route_navigation.dart';
|
||||
|
||||
extension HandleEmailMoreActionExtension on SearchEmailController {
|
||||
void handleEmailMoreAction(
|
||||
Future<void> handleEmailMoreAction(
|
||||
BuildContext context,
|
||||
PresentationEmail presentationEmail,
|
||||
RelativeRect? position,
|
||||
@@ -24,7 +24,7 @@ extension HandleEmailMoreActionExtension on SearchEmailController {
|
||||
if (!isDrafts) EmailActionType.editAsNewEmail,
|
||||
];
|
||||
|
||||
if (listEmailActions.isEmpty) return;
|
||||
if (listEmailActions.isEmpty) return Future.value();
|
||||
|
||||
if (position == null) {
|
||||
final contextMenuActions = listEmailActions
|
||||
@@ -35,7 +35,7 @@ extension HandleEmailMoreActionExtension on SearchEmailController {
|
||||
))
|
||||
.toList();
|
||||
|
||||
openBottomSheetContextMenuAction(
|
||||
return openBottomSheetContextMenuAction(
|
||||
context: context,
|
||||
itemActions: contextMenuActions,
|
||||
onContextMenuActionClick: (menuAction) {
|
||||
@@ -70,7 +70,7 @@ extension HandleEmailMoreActionExtension on SearchEmailController {
|
||||
);
|
||||
}).toList();
|
||||
|
||||
openPopupMenuAction(context, position, popupMenuItems);
|
||||
return openPopupMenuAction(context, position, popupMenuItems);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1,48 +0,0 @@
|
||||
import 'package:flutter/material.dart';
|
||||
import 'package:model/email/email_action_type.dart';
|
||||
import 'package:model/email/presentation_email.dart';
|
||||
import 'package:model/extensions/presentation_mailbox_extension.dart';
|
||||
import 'package:tmail_ui_user/features/base/widget/popup_menu/popup_menu_item_action_widget.dart';
|
||||
import 'package:tmail_ui_user/features/email/presentation/model/popup_menu_item_email_action.dart';
|
||||
import 'package:tmail_ui_user/features/search/email/presentation/search_email_controller.dart';
|
||||
import 'package:tmail_ui_user/main/localizations/app_localizations.dart';
|
||||
import 'package:tmail_ui_user/main/routes/route_navigation.dart';
|
||||
|
||||
extension HandleEmailActionExtension on SearchEmailController {
|
||||
void handleEmailMoreActionClick(
|
||||
BuildContext context,
|
||||
RelativeRect position,
|
||||
PresentationEmail presentationEmail,
|
||||
) {
|
||||
final mailboxContain = presentationEmail.mailboxContain;
|
||||
final isDrafts = mailboxContain?.isDrafts ?? false;
|
||||
final isSpam = mailboxContain?.isSpam ?? false;
|
||||
|
||||
final popupMenuItems = [
|
||||
isSpam ? EmailActionType.unSpam : EmailActionType.moveToSpam,
|
||||
if (isDrafts == false) EmailActionType.editAsNewEmail,
|
||||
].map((actionType) {
|
||||
return PopupMenuItem(
|
||||
padding: EdgeInsets.zero,
|
||||
child: PopupMenuItemActionWidget(
|
||||
menuAction: PopupMenuItemEmailAction(
|
||||
actionType,
|
||||
AppLocalizations.of(context),
|
||||
imagePaths,
|
||||
),
|
||||
menuActionClick: (menuAction) {
|
||||
popBack();
|
||||
pressEmailAction(
|
||||
context,
|
||||
menuAction.action,
|
||||
presentationEmail,
|
||||
mailboxContain: mailboxContain,
|
||||
);
|
||||
},
|
||||
),
|
||||
);
|
||||
}).toList();
|
||||
|
||||
openPopupMenuAction(context, position, popupMenuItems);
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user