TF-3939 Replace email selection bottom actions to top actions
Signed-off-by: dab246 <tdvu@linagora.com>
This commit is contained in:
+32
@@ -0,0 +1,32 @@
|
||||
import 'package:model/email/email_action_type.dart';
|
||||
import 'package:tmail_ui_user/features/thread/presentation/model/email_selection_action_type.dart';
|
||||
|
||||
extension EmailSelectionActionTypeExtension on EmailSelectionActionType {
|
||||
EmailActionType? toEmailActionType() {
|
||||
switch (this) {
|
||||
case EmailSelectionActionType.markAsRead:
|
||||
return EmailActionType.markAsRead;
|
||||
case EmailSelectionActionType.markAsUnread:
|
||||
return EmailActionType.markAsUnread;
|
||||
case EmailSelectionActionType.markAsStarred:
|
||||
return EmailActionType.markAsStarred;
|
||||
case EmailSelectionActionType.unMarkAsStarred:
|
||||
return EmailActionType.unMarkAsStarred;
|
||||
case EmailSelectionActionType.moveToFolder:
|
||||
return EmailActionType.moveToMailbox;
|
||||
case EmailSelectionActionType.moveToTrash:
|
||||
return EmailActionType.moveToTrash;
|
||||
case EmailSelectionActionType.markAsSpam:
|
||||
return EmailActionType.moveToSpam;
|
||||
case EmailSelectionActionType.markAsNotSpam:
|
||||
return EmailActionType.unSpam;
|
||||
case EmailSelectionActionType.archiveMessage:
|
||||
return EmailActionType.archiveMessage;
|
||||
case EmailSelectionActionType.deletePermanently:
|
||||
return EmailActionType.deletePermanently;
|
||||
case EmailSelectionActionType.selectAll:
|
||||
case EmailSelectionActionType.moreAction:
|
||||
return null;
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,16 @@
|
||||
import 'package:model/email/presentation_email.dart';
|
||||
import 'package:tmail_ui_user/features/thread/presentation/extensions/email_selection_action_type_extension.dart';
|
||||
import 'package:tmail_ui_user/features/thread/presentation/model/email_selection_action_type.dart';
|
||||
import 'package:tmail_ui_user/features/thread/presentation/thread_controller.dart';
|
||||
|
||||
extension HandlePressEmailSelectionActionExtension on ThreadController {
|
||||
void handlePressEmailSelectionAction(
|
||||
EmailSelectionActionType type,
|
||||
List<PresentationEmail> emails,
|
||||
) {
|
||||
final emailActionType = type.toEmailActionType();
|
||||
if (emailActionType != null) {
|
||||
pressEmailSelectionAction(emailActionType, emails);
|
||||
}
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user