TF-2189 Edit sending email in Sending Queue on iOS

Signed-off-by: dab246 <tdvu@linagora.com>
(cherry picked from commit 79e1e2de5555973a5ba4a0c2b8fc3c091bcd63a3)
This commit is contained in:
dab246
2023-10-19 13:51:54 +07:00
committed by Dat H. Pham
parent a956685829
commit 3481e659df
11 changed files with 226 additions and 176 deletions
@@ -22,6 +22,20 @@ class SendingEmailArguments extends RouterArguments {
}
);
SendingEmailArguments copyWith({
Session? session,
AccountId? accountId,
EmailRequest? emailRequest,
CreateNewMailboxRequest? mailboxRequest,
ComposeActionMode? actionMode,
}) => SendingEmailArguments(
session ?? this.session,
accountId ?? this.accountId,
emailRequest ?? this.emailRequest,
mailboxRequest ?? this.mailboxRequest,
actionMode: actionMode ?? this.actionMode
);
@override
List<Object?> get props => [
session,
@@ -192,9 +192,7 @@ class SendingQueueController extends BaseController with MessageDialogActionMixi
_deleteListSendingEmailAction(context, listSendingEmails);
break;
case SendingEmailActionType.edit:
if (!isConnectedNetwork) {
_editSendingEmailAction(listSendingEmails.first);
}
_editSendingEmailAction(listSendingEmails.first);
break;
case SendingEmailActionType.create:
break;
@@ -94,7 +94,11 @@ class SendingQueueView extends GetWidget<SendingQueueController> with AppLoaderM
onLongPressAction: controller.handleOnLongPressAction,
onSelectLeadingAction: controller.toggleSelectionSendingEmail,
onTapAction: (actionType, sendingEmail) {
if (!controller.isConnectedNetwork && sendingEmail.isEditableSupported) {
if (PlatformInfo.isAndroid &&
!controller.isConnectedNetwork &&
sendingEmail.isEditableSupported) {
controller.handleSendingEmailActionType(context, actionType, [sendingEmail]);
} else if (PlatformInfo.isIOS && sendingEmail.isEditableSupported) {
controller.handleSendingEmailActionType(context, actionType, [sendingEmail]);
}
});
@@ -4,8 +4,6 @@ import 'package:flutter/cupertino.dart';
class SendingQueueUtils {
static EdgeInsets getMarginBannerMessageByResponsiveSize(double width) {
if (ResponsiveUtils.isMatchedMobileWidth(width)) {
return const EdgeInsets.only(top: 16, left: 16, right: 16);