TF-3766 Fix Mark as important, Request read receipt not selected after touch in composer
Signed-off-by: dab246 <tdvu@linagora.com>
This commit is contained in:
@@ -1,4 +1,5 @@
|
||||
import 'package:flutter/material.dart';
|
||||
import 'package:get/get.dart';
|
||||
import 'package:tmail_ui_user/features/base/widget/popup_menu/popup_menu_item_action_widget.dart';
|
||||
import 'package:tmail_ui_user/features/composer/presentation/composer_controller.dart';
|
||||
import 'package:tmail_ui_user/features/composer/presentation/extensions/mark_as_important_extension.dart';
|
||||
@@ -9,6 +10,13 @@ import 'package:tmail_ui_user/main/routes/route_navigation.dart';
|
||||
|
||||
extension HandleOpenContextMenuExtension on ComposerController {
|
||||
void handleOpenContextMenu(BuildContext context, RelativeRect position) {
|
||||
final listSelectedComposerActionType = [
|
||||
if (isMarkAsImportant.isTrue)
|
||||
ComposerActionType.markAsImportant,
|
||||
if (hasRequestReadReceipt.isTrue)
|
||||
ComposerActionType.requestReadReceipt,
|
||||
];
|
||||
|
||||
final popupMenuItems = ComposerActionType.values.map((actionType) {
|
||||
return PopupMenuItem(
|
||||
padding: EdgeInsets.zero,
|
||||
@@ -16,6 +24,7 @@ extension HandleOpenContextMenuExtension on ComposerController {
|
||||
key: actionType.getContextMenuItemKey(),
|
||||
menuAction: PopupMenuItemComposerTypeAction(
|
||||
actionType,
|
||||
listSelectedComposerActionType,
|
||||
AppLocalizations.of(context),
|
||||
imagePaths,
|
||||
),
|
||||
|
||||
@@ -5,12 +5,14 @@ import 'package:tmail_ui_user/features/composer/presentation/model/composer_acti
|
||||
import 'package:tmail_ui_user/main/localizations/app_localizations.dart';
|
||||
|
||||
class PopupMenuItemComposerTypeAction
|
||||
extends PopupMenuItemActionRequiredIcon<ComposerActionType> {
|
||||
extends PopupMenuItemActionRequiredIconWithMultipleSelected<
|
||||
ComposerActionType> {
|
||||
final AppLocalizations appLocalizations;
|
||||
final ImagePaths imagePaths;
|
||||
|
||||
PopupMenuItemComposerTypeAction(
|
||||
super.action,
|
||||
super.selectedActions,
|
||||
this.appLocalizations,
|
||||
this.imagePaths,
|
||||
);
|
||||
@@ -26,4 +28,7 @@ class PopupMenuItemComposerTypeAction
|
||||
|
||||
@override
|
||||
Color get actionNameColor => action.getContextMenuTitleColor();
|
||||
|
||||
@override
|
||||
String get selectedIcon => imagePaths.icFilterSelected;
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user