TF-3766 Close bottom sheet after do any action: new folder, move, rename, hide folder, ... on mailbox view

Signed-off-by: dab246 <tdvu@linagora.com>
This commit is contained in:
dab246
2025-06-17 09:20:16 +07:00
committed by Dat H. Pham
parent ecc3cf81d4
commit ab03cfaf14
3 changed files with 18 additions and 12 deletions
@@ -39,11 +39,14 @@ extension HandleMailboxActionExtension on MailboxController {
openBottomSheetContextMenuAction( openBottomSheetContextMenuAction(
context: context, context: context,
itemActions: contextMenuActions, itemActions: contextMenuActions,
onContextMenuActionClick: (menuAction) => handleMailboxAction( onContextMenuActionClick: (menuAction) {
context, popBack();
menuAction.action, handleMailboxAction(
mailbox, context,
), menuAction.action,
mailbox,
);
},
); );
} }
@@ -283,11 +283,14 @@ class SearchMailboxView extends GetWidget<SearchMailboxController>
return controller.openBottomSheetContextMenuAction( return controller.openBottomSheetContextMenuAction(
context: context, context: context,
itemActions: contextMenuActions, itemActions: contextMenuActions,
onContextMenuActionClick: (menuAction) => controller.handleMailboxAction( onContextMenuActionClick: (menuAction) {
context, popBack();
menuAction.action, controller.handleMailboxAction(
mailbox, context,
), menuAction.action,
mailbox,
);
},
); );
} else { } else {
final popupMenuActions = getListPopupMenuItemAction( final popupMenuActions = getListPopupMenuItemAction(
@@ -253,13 +253,13 @@ class _MailboxSearchedItemBuilderState extends State<MailboxSearchedItemBuilder>
iconSize: 16, iconSize: 16,
padding: const EdgeInsetsDirectional.all(2), padding: const EdgeInsetsDirectional.all(2),
onTapActionAtPositionCallback: (position) { onTapActionAtPositionCallback: (position) {
if (!_responsiveUtils.isScreenWithShortestSide(context)) { if (PlatformInfo.isCanvasKit) {
_onPopupMenuVisibleChange(true); _onPopupMenuVisibleChange(true);
} }
widget.onClickOpenMenuMailboxAction widget.onClickOpenMenuMailboxAction
?.call(position, widget.presentationMailbox) ?.call(position, widget.presentationMailbox)
.whenComplete(() { .whenComplete(() {
if (context.mounted && !_responsiveUtils.isScreenWithShortestSide(context)) { if (context.mounted && PlatformInfo.isCanvasKit) {
_onPopupMenuVisibleChange(false); _onPopupMenuVisibleChange(false);
} }
}); });