TF-3766 Remove MailboxDashboardController dependency in PopupContextMenuActionMixin
Signed-off-by: dab246 <tdvu@linagora.com>
This commit is contained in:
+46
@@ -0,0 +1,46 @@
|
||||
import 'package:core/utils/platform_info.dart';
|
||||
import 'package:flutter/material.dart';
|
||||
import 'package:tmail_ui_user/features/base/widget/context_menu/context_menu_item_action.dart';
|
||||
import 'package:tmail_ui_user/features/mailbox_dashboard/presentation/controller/mailbox_dashboard_controller.dart';
|
||||
|
||||
extension HandleOpenContextMenuExtension on MailboxDashBoardController {
|
||||
Future<void> openBottomSheetContextMenu({
|
||||
required BuildContext context,
|
||||
required List<ContextMenuItemAction> itemActions,
|
||||
required OnContextMenuActionClick onContextMenuActionClick,
|
||||
Key? key,
|
||||
}) {
|
||||
if (PlatformInfo.isWeb) {
|
||||
isContextMenuOpened.value = true;
|
||||
}
|
||||
return openBottomSheetContextMenuAction(
|
||||
context: context,
|
||||
itemActions: itemActions,
|
||||
onContextMenuActionClick: onContextMenuActionClick,
|
||||
key: key,
|
||||
).whenComplete(() {
|
||||
if (PlatformInfo.isWeb) {
|
||||
isContextMenuOpened.value = false;
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
Future<void> openPopupMenu(
|
||||
BuildContext context,
|
||||
RelativeRect position,
|
||||
List<PopupMenuEntry> popupMenuItems,
|
||||
) {
|
||||
if (PlatformInfo.isWeb) {
|
||||
isPopupMenuOpened.value = true;
|
||||
}
|
||||
return openPopupMenuAction(
|
||||
context,
|
||||
position,
|
||||
popupMenuItems,
|
||||
).whenComplete(() {
|
||||
if (PlatformInfo.isWeb) {
|
||||
isPopupMenuOpened.value = false;
|
||||
}
|
||||
});
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user